cmd/golangorg: delete index support code

Now that search is turned off, all the index code can be deleted.
rsc committed 5 days ago commit 683c14f971aeccbf1f37183783ec524b8047f224
cmd/golangorg/Dockerfile.prod
@@ -3,9 +3,6 @@

 FROM golang:1.12 AS build

-RUN apt-get update && apt-get install -y \
-      zip # required for generate-index.bash
-
 # Check out the desired version of Go, both to build the golangorg binary and serve
 # as the goroot for content serving.
 ARG GO_REF
@@ -23,7 +20,6 @@
 COPY . /website

 WORKDIR /website/cmd/golangorg
-RUN GOLANGORG_DOCSET=/goroot ./generate-index.bash

 RUN go build -o /golangorg -tags=golangorg golang.org/x/website/cmd/golangorg

@@ -56,7 +52,4 @@
 COPY --from=build /goroot /goroot
 ENV GOROOT /goroot

-COPY --from=build /website/cmd/golangorg/index.split.* /app/
-ENV GOLANGORG_INDEX_GLOB index.split.*
-
 CMD ["/app/golangorg"]
cmd/golangorg/appinit.go
@@ -11,14 +11,12 @@
 // See README.md for details.

 import (
-	"archive/zip"
 	"context"
 	"go/build"
 	"io"
 	"log"
 	"net/http"
 	"os"
-	"path"
 	"regexp"
 	"runtime"
 	"strings"
@@ -26,7 +24,6 @@
 	"golang.org/x/tools/godoc"
 	"golang.org/x/tools/godoc/vfs"
 	"golang.org/x/tools/godoc/vfs/gatefs"
-	"golang.org/x/tools/godoc/vfs/zipfs"
 	"golang.org/x/website"
 	"golang.org/x/website/internal/dl"
 	"golang.org/x/website/internal/proxy"
@@ -40,40 +37,14 @@
 func main() {
 	log.SetFlags(log.Lshortfile | log.LstdFlags)

-	var (
-		// .zip filename
-		zipFilename = os.Getenv("GOLANGORG_ZIP")
-
-		// goroot directory in .zip file
-		zipGoroot = os.Getenv("GOLANGORG_ZIP_PREFIX")
-
-		// glob pattern describing search index files
-		// (if empty, the index is built at run-time)
-		indexFilenames = os.Getenv("GOLANGORG_INDEX_GLOB")
-	)
-
 	playEnabled = true

 	log.Println("initializing golang.org server ...")
-	log.Printf(".zip file   = %s", zipFilename)
-	log.Printf(".zip GOROOT = %s", zipGoroot)
-	log.Printf("index files = %s", indexFilenames)

 	fsGate := make(chan bool, 20)

-	if zipFilename != "" {
-		goroot := path.Join("/", zipGoroot) // fsHttp paths are relative to '/'
-		// read .zip file and set up file systems
-		rc, err := zip.OpenReader(zipFilename)
-		if err != nil {
-			log.Fatalf("%s: %s\n", zipFilename, err)
-		}
-		// rc is never closed (app running forever)
-		fs.Bind("/", zipfs.New(rc, zipFilename), goroot, vfs.BindReplace)
-	} else {
-		rootfs := gatefs.New(vfs.OS(runtime.GOROOT()), fsGate)
-		fs.Bind("/", rootfs, "/", vfs.BindReplace)
-	}
+	rootfs := gatefs.New(vfs.OS(runtime.GOROOT()), fsGate)
+	fs.Bind("/", rootfs, "/", vfs.BindReplace)

 	// Try serving files in /doc from a local copy before trying the main
 	// go repository. This lets us update some documentation outside the
@@ -88,18 +59,11 @@
 	corpus := godoc.NewCorpus(fs)
 	corpus.Verbose = false
 	corpus.MaxResults = 10000 // matches flag default in main.go
-	corpus.IndexEnabled = true
-	corpus.IndexFiles = indexFilenames
+	corpus.IndexEnabled = false
 	if err := corpus.Init(); err != nil {
 		log.Fatal(err)
 	}
-	corpus.IndexDirectory = indexDirectoryDefault
 	corpus.InitVersionInfo()
-	if indexFilenames != "" {
-		corpus.RunIndexer()
-	} else {
-		go corpus.RunIndexer()
-	}

 	pres = godoc.NewPresentation(corpus)
 	pres.ShowPlayground = true
cmd/golangorg/doc.go
@@ -21,30 +21,10 @@
 		verbose mode
 	-timestamps=true
 		show timestamps with directory listings
-	-index
-		enable identifier and full text search index
-		(no search box is shown if -index is not set)
-	-index_files=""
-		glob pattern specifying index files; if not empty,
-		the index is read from these files in sorted order
-	-index_throttle=0.75
-		index throttle value; a value of 0 means no time is allocated
-		to the indexer (the indexer will never finish), a value of 1.0
-		means that index creation is running at full throttle (other
-		goroutines may get no time while the index is built)
-	-index_interval=0
-		interval of indexing; a value of 0 sets it to 5 minutes, a
-		negative value indexes only once at startup
 	-play=false
 		enable playground
 	-links=true
 		link identifiers to their declarations
-	-write_index=false
-		write index to a file; the file name must be specified with
-		-index_files
-	-maxresults=10000
-		maximum number of full text search results shown
-		(no full text index is built if maxresults <= 0)
 	-notes="BUG"
 		regular expression matching note markers to show
 		(e.g., "BUG|TODO", ".*")
@@ -56,21 +36,11 @@
 		directory containing alternate template files; if set,
 		the directory may provide alternative template files
 		for the files in $GOROOT/lib/godoc
-	-zip=""
-		zip file providing the file system to serve; disabled if empty

 By default, godoc looks at the packages it finds via $GOROOT and $GOPATH (if set).
 This behavior can be altered by providing an alternative $GOROOT with the -goroot
 flag.

-When the -index flag is set, a search index is maintained.
-The index is created at startup.
-
-The index contains both identifier and full text search information (searchable
-via regular expressions). The maximum number of full text search results shown
-can be set with the -maxresults flag; if set to 0, no full text results are
-shown, and only an identifier index but no full text search index is created.
-
 By default, godoc uses the system's GOOS/GOARCH. You can provide the URL parameters
 "GOOS" and "GOARCH" to set the output on the web page for the target system.

@@ -85,18 +55,7 @@
 For instance, https://golang.org/pkg/math/big/?m=all shows the documentation
 for all (not just the exported) declarations of package big.

-By default, godoc serves files from the file system of the underlying OS.
-Instead, a .zip file may be provided via the -zip flag, which contains
-the file system to serve. The file paths stored in the .zip file must use
-slash ('/') as path separator; and they must be unrooted. $GOROOT (or -goroot)
-must be set to the .zip file directory path containing the Go root directory.
-For instance, for a .zip file created by the command:
-
-	zip -r go.zip $HOME/go
-
-one may run godoc as follows:
-
-	godoc -http=:6060 -zip=go.zip -goroot=$HOME/go
+Godoc serves files from the file system of the underlying OS.

 Godoc documentation is converted to HTML or to text using the go/doc package;
 see https://golang.org/pkg/go/doc/#ToHTML for the exact rules.
cmd/golangorg/generate-index.bash
@@ -1,72 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2011 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# This script creates a .zip file representing the $GOROOT file system
-# and computes the corresponding search index files.
-#
-# These are used in production (see app.prod.yaml)
-
-set -e -u -x
-
-ZIPFILE=golangorg.zip
-INDEXFILE=golangorg.index
-SPLITFILES=index.split.
-
-error() {
-	echo "error: $1"
-	exit 2
-}
-
-install() {
-	go install
-}
-
-getArgs() {
-	if [ ! -v GOLANGORG_DOCSET ]; then
-		GOLANGORG_DOCSET="$(go env GOROOT)"
-		echo "GOLANGORG_DOCSET not set explicitly, using GOROOT instead"
-	fi
-
-	# safety checks
-	if [ ! -d "$GOLANGORG_DOCSET" ]; then
-		error "$GOLANGORG_DOCSET is not a directory"
-	fi
-
-	# reporting
-	echo "GOLANGORG_DOCSET = $GOLANGORG_DOCSET"
-}
-
-makeZipfile() {
-	echo "*** make $ZIPFILE"
-	rm -f $ZIPFILE goroot
-	ln -s "$GOLANGORG_DOCSET" goroot
-	zip -q -r $ZIPFILE goroot/* # glob to ignore dotfiles (like .git)
-	rm goroot
-}
-
-makeIndexfile() {
-	echo "*** make $INDEXFILE"
-	golangorg=$(go env GOPATH)/bin/golangorg
-	# Run golangorg with GOPATH set to an empty directory, otherwise third-party packages will be in the index.
-	GOPATH=$(mktemp -d) $golangorg -write_index -goroot goroot -index_files=$INDEXFILE -zip=$ZIPFILE
-}
-
-splitIndexfile() {
-	echo "*** split $INDEXFILE"
-	rm -f $SPLITFILES*
-	split -b 8m -a 8 $INDEXFILE $SPLITFILES
-}
-
-cd $(dirname $0)
-
-install
-getArgs "$@"
-makeZipfile
-makeIndexfile
-splitIndexfile
-rm $INDEXFILE
-
-echo "*** setup complete"
cmd/golangorg/godoc_test.go
@@ -139,19 +139,11 @@

 // Basic integration test for godoc HTTP interface.
 func TestWeb(t *testing.T) {
-	testWeb(t, false)
+	testWeb(t)
 }

 // Basic integration test for godoc HTTP interface.
-func TestWebIndex(t *testing.T) {
-	if testing.Short() {
-		t.Skip("skipping test in -short mode")
-	}
-	testWeb(t, true)
-}
-
-// Basic integration test for godoc HTTP interface.
-func testWeb(t *testing.T, withIndex bool) {
+func testWeb(t *testing.T) {
 	if runtime.GOOS == "plan9" {
 		t.Skip("skipping on plan9; fails to start up quickly enough")
 	}
@@ -159,9 +151,6 @@
 	defer cleanup()
 	addr := serverAddress(t)
 	args := []string{fmt.Sprintf("-http=%s", addr)}
-	if withIndex {
-		args = append(args, "-index", "-index_interval=-1s")
-	}
 	cmd := exec.Command(bin, args...)
 	cmd.Stdout = os.Stderr
 	cmd.Stderr = os.Stderr
@@ -170,7 +159,7 @@
 	// Set GOPATH variable to non-existing path
 	// and GOPROXY=off to disable module fetches.
 	// We cannot just unset GOPATH variable because godoc would default it to ~/go.
-	// (We don't want the indexer looking at the local workspace during tests.)
+	// (We don't want the server looking at the local workspace during tests.)
 	cmd.Env = append(os.Environ(),
 		"GOPATH=does_not_exist",
 		"GOPROXY=off",
@@ -181,19 +170,14 @@
 	}
 	defer killAndWait(cmd)

-	if withIndex {
-		waitForSearchReady(t, addr)
-	} else {
-		waitForServerReady(t, addr)
-		waitUntilScanComplete(t, addr)
-	}
+	waitForServerReady(t, addr)
+	waitUntilScanComplete(t, addr)

 	tests := []struct {
 		path        string
 		contains    []string // substring
 		match       []string // regexp
 		notContains []string
-		needIndex   bool
 		releaseTag  string // optional release tag that must be in go/build.ReleaseTags
 	}{
 		{
@@ -235,16 +219,6 @@
 			},
 		},
 		{
-			path: "/search?q=ListenAndServe",
-			contains: []string{
-				"/src",
-			},
-			notContains: []string{
-				"/pkg/bootstrap",
-			},
-			needIndex: true,
-		},
-		{
 			path: "/pkg/strings/",
 			contains: []string{
 				`href="/src/strings/strings.go"`,
@@ -294,9 +268,6 @@
 		},
 	}
 	for _, test := range tests {
-		if test.needIndex && !withIndex {
-			continue
-		}
 		url := fmt.Sprintf("http://%s%s", addr, test.path)
 		resp, err := http.Get(url)
 		if err != nil {
cmd/golangorg/index.go
@@ -1,11 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "strings"
-
-func indexDirectoryDefault(dir string) bool {
-	return dir != "/pkg" && !strings.HasPrefix(dir, "/pkg/")
-}
cmd/golangorg/main.go
@@ -24,7 +24,6 @@
 package main

 import (
-	"archive/zip"
 	_ "expvar" // to serve /debug/vars
 	"flag"
 	"fmt"
@@ -40,20 +39,12 @@
 	"golang.org/x/tools/godoc"
 	"golang.org/x/tools/godoc/vfs"
 	"golang.org/x/tools/godoc/vfs/gatefs"
-	"golang.org/x/tools/godoc/vfs/zipfs"
 	"golang.org/x/website"
 )

 const defaultAddr = "localhost:6060" // default webserver address

 var (
-	// file system to serve
-	// (with e.g.: zip -r go.zip $GOROOT -i \*.go -i \*.html -i \*.css -i \*.js -i \*.txt -i \*.c -i \*.h -i \*.s -i \*.png -i \*.jpg -i \*.sh -i favicon.ico)
-	zipfile = flag.String("zip", "", "zip file providing the file system to serve; disabled if empty")
-
-	// file-based index
-	writeIndex = flag.Bool("write_index", false, "write index to a file; the file name must be specified with -index_files")
-
 	// network
 	httpAddr = flag.String("http", defaultAddr, "HTTP service address")

@@ -70,13 +61,6 @@
 	showPlayground = flag.Bool("play", false, "enable playground")
 	declLinks      = flag.Bool("links", true, "link identifiers to their declarations")

-	// search index
-	indexEnabled  = flag.Bool("index", false, "enable search index")
-	indexFiles    = flag.String("index_files", "", "glob pattern specifying index files; if not empty, the index is read from these files in sorted order")
-	indexInterval = flag.Duration("index_interval", 0, "interval of indexing; 0 for default (5m), negative to only index once at startup")
-	maxResults    = flag.Int("maxresults", 10000, "maximum number of full text search results shown")
-	indexThrottle = flag.Float64("index_throttle", 0.75, "index throttle value; 0.0 = no time allocated, 1.0 = full throttle")
-
 	// source code notes
 	notesRx = flag.String("notes", "BUG", "regular expression matching note markers to show")
 )
@@ -140,8 +124,8 @@
 		fmt.Fprintln(os.Stderr, "Unexpected arguments.")
 		usage()
 	}
-	if *httpAddr == "" && !*writeIndex {
-		fmt.Fprintln(os.Stderr, "At least one of -http or -write_index must be set to a non-zero value.")
+	if *httpAddr == "" {
+		fmt.Fprintln(os.Stderr, "-http must be set")
 		usage()
 	}

@@ -151,19 +135,8 @@
 	fsGate := make(chan bool, 20)

 	// Determine file system to use.
-	if *zipfile == "" {
-		// use file system of underlying OS
-		rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
-		fs.Bind("/", rootfs, "/", vfs.BindReplace)
-	} else {
-		// use file system specified via .zip file (path separator must be '/')
-		rc, err := zip.OpenReader(*zipfile)
-		if err != nil {
-			log.Fatalf("%s: %s\n", *zipfile, err)
-		}
-		defer rc.Close() // be nice (e.g., -writeIndex mode)
-		fs.Bind("/", zipfs.New(rc, *zipfile), *goroot, vfs.BindReplace)
-	}
+	rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
+	fs.Bind("/", rootfs, "/", vfs.BindReplace)
 	// Try serving files in /doc from a local copy before trying the main
 	// go repository. This lets us update some documentation outside the
 	// Go release cycle. This includes root.html, which redirects to "/".
@@ -187,22 +160,8 @@

 	corpus := godoc.NewCorpus(fs)
 	corpus.Verbose = *verbose
-	corpus.MaxResults = *maxResults
-	corpus.IndexEnabled = *indexEnabled
-	if *maxResults == 0 {
-		corpus.IndexFullText = false
-	}
-	corpus.IndexFiles = *indexFiles
-	corpus.IndexDirectory = indexDirectoryDefault
-	corpus.IndexThrottle = *indexThrottle
-	corpus.IndexInterval = *indexInterval
-	if *writeIndex {
-		corpus.IndexThrottle = 1.0
-		corpus.IndexEnabled = true
-		initCorpus(corpus)
-	} else {
-		go initCorpus(corpus)
-	}
+
+	go initCorpus(corpus)

 	// Initialize the version info before readTemplates, which saves
 	// the map value in a method value.
@@ -219,55 +178,16 @@
 	readTemplates(pres)
 	registerHandlers(pres)

-	if *writeIndex {
-		// Write search index and exit.
-		if *indexFiles == "" {
-			log.Fatal("no index file specified")
-		}
-
-		log.Println("initialize file systems")
-		*verbose = true // want to see what happens
-
-		corpus.UpdateIndex()
-
-		log.Println("writing index file", *indexFiles)
-		f, err := os.Create(*indexFiles)
-		if err != nil {
-			log.Fatal(err)
-		}
-		index, _ := corpus.CurrentIndex()
-		_, err = index.WriteTo(f)
-		if err != nil {
-			log.Fatal(err)
-		}
-
-		log.Println("done")
-		return
-	}
-
 	var handler http.Handler = http.DefaultServeMux
 	if *verbose {
 		log.Printf("golang.org server:")
 		log.Printf("\tversion = %s", runtime.Version())
 		log.Printf("\taddress = %s", *httpAddr)
 		log.Printf("\tgoroot = %s", *goroot)
-		switch {
-		case !*indexEnabled:
-			log.Print("\tsearch index disabled")
-		case *maxResults > 0:
-			log.Printf("\tfull text index enabled (maxresults = %d)", *maxResults)
-		default:
-			log.Print("\tidentifier search index enabled")
-		}
 		fs.Fprint(os.Stderr)
 		handler = loggingHandler(handler)
 	}

-	// Initialize search index.
-	if *indexEnabled {
-		go corpus.RunIndexer()
-	}
-
 	// Start http server.
 	fmt.Fprintf(os.Stderr, "serving http://%s\n", *httpAddr)
 	if err := http.ListenAndServe(*httpAddr, handler); err != nil {
cmd/golangorg: simplify local vs prod programs

There was too much duplicated code between main.go
and appinit.go and too many build-tagged-out files.

Make main.go the func main for both prod and local.
Introduce local.go, merging dl.go and play.go.
Introduce prod.go, holding the prod-specific bits of appinit.go
(the rest are in main.go).

Rename the build tag to prod instead of golangorg
(the whole program is golangorg; it's very confusing).
rsc committed 4 days ago commit f88bfa62c51e9d7669691fc805b01444cdadfd36
README.md
@@ -8,7 +8,7 @@

 To run the server to preview local content changes, use:

-	go run ./cmd/golangorg -a
+	go run ./cmd/golangorg

 The supporting programs cmd/admingolangorg and cmd/googlegolangorg
 are the servers for admin.golang.org and google.golang.org.
cmd/golangorg/Dockerfile.prod
@@ -21,7 +21,7 @@

 WORKDIR /website/cmd/golangorg

-RUN go build -o /golangorg -tags=golangorg golang.org/x/website/cmd/golangorg
+RUN go build -o /golangorg -tags=prod golang.org/x/website/cmd/golangorg

 # Clean up goroot for the final image.
 RUN cd /goroot && git clean -xdf
cmd/golangorg/README.md
@@ -18,8 +18,7 @@

 Build with the `golangorg` tag and run:

-	go build -tags golangorg
-	./golangorg
+	go run -tags prod .

 In production mode it serves on localhost:8080 (not 6060).
 The port is controlled by $PORT, as in:
cmd/golangorg/appinit.go
@@ -1,137 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build go1.16
-// +build golangorg
-
-package main
-
-// This file replaces main.go when running golangorg under App Engine.
-// See README.md for details.
-
-import (
-	"context"
-	"go/build"
-	"io"
-	"log"
-	"net/http"
-	"os"
-	"regexp"
-	"runtime"
-	"strings"
-
-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
-	"golang.org/x/tools/godoc/vfs/gatefs"
-	"golang.org/x/website"
-	"golang.org/x/website/internal/dl"
-	"golang.org/x/website/internal/proxy"
-	"golang.org/x/website/internal/redirect"
-	"golang.org/x/website/internal/short"
-
-	"cloud.google.com/go/datastore"
-	"golang.org/x/website/internal/memcache"
-)
-
-func main() {
-	log.SetFlags(log.Lshortfile | log.LstdFlags)
-
-	playEnabled = true
-
-	log.Println("initializing golang.org server ...")
-
-	fsGate := make(chan bool, 20)
-
-	rootfs := gatefs.New(vfs.OS(runtime.GOROOT()), fsGate)
-	fs.Bind("/", rootfs, "/", vfs.BindReplace)
-
-	// Try serving files in /doc from a local copy before trying the main
-	// go repository. This lets us update some documentation outside the
-	// Go release cycle. This includes root.html, which redirects to "/".
-	// See golang.org/issue/29206.
-	fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
-	fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
-
-	webroot := getFullPath("/src/golang.org/x/website")
-	fs.Bind("/favicon.ico", gatefs.New(vfs.OS(webroot), fsGate), "/favicon.ico", vfs.BindBefore)
-
-	corpus := godoc.NewCorpus(fs)
-	corpus.Verbose = false
-	corpus.MaxResults = 10000 // matches flag default in main.go
-	corpus.IndexEnabled = false
-	if err := corpus.Init(); err != nil {
-		log.Fatal(err)
-	}
-	corpus.InitVersionInfo()
-
-	pres = godoc.NewPresentation(corpus)
-	pres.ShowPlayground = true
-	pres.DeclLinks = true
-	pres.NotesRx = regexp.MustCompile("BUG")
-	pres.GoogleAnalytics = os.Getenv("GOLANGORG_ANALYTICS")
-
-	readTemplates(pres)
-
-	datastoreClient, memcacheClient := getClients()
-
-	// NOTE(cbro): registerHandlers registers itself against DefaultServeMux.
-	// The mux returned has host enforcement, so it's important to register
-	// against this mux and not DefaultServeMux.
-	mux := registerHandlers(pres)
-	dl.RegisterHandlers(mux, datastoreClient, memcacheClient)
-	short.RegisterHandlers(mux, datastoreClient, memcacheClient)
-
-	// Register /compile and /share handlers against the default serve mux
-	// so that other app modules can make plain HTTP requests to those
-	// hosts. (For reasons, HTTPS communication between modules is broken.)
-	proxy.RegisterHandlers(http.DefaultServeMux)
-
-	http.HandleFunc("/_ah/health", func(w http.ResponseWriter, r *http.Request) {
-		io.WriteString(w, "ok")
-	})
-
-	http.HandleFunc("/robots.txt", func(w http.ResponseWriter, r *http.Request) {
-		io.WriteString(w, "User-agent: *\nDisallow: /search\n")
-	})
-
-	if err := redirect.LoadChangeMap("hg-git-mapping.bin"); err != nil {
-		log.Fatalf("LoadChangeMap: %v", err)
-	}
-
-	log.Println("godoc initialization complete")
-
-	// TODO(cbro): add instrumentation via opencensus.
-	port := "8080"
-	if p := os.Getenv("PORT"); p != "" { // PORT is set by GAE flex.
-		port = p
-	}
-	log.Fatal(http.ListenAndServe(":"+port, nil))
-}
-
-func getFullPath(relPath string) string {
-	gopath := os.Getenv("GOPATH")
-	if gopath == "" {
-		gopath = build.Default.GOPATH
-	}
-	return gopath + relPath
-}
-
-func getClients() (*datastore.Client, *memcache.Client) {
-	ctx := context.Background()
-
-	datastoreClient, err := datastore.NewClient(ctx, "")
-	if err != nil {
-		if strings.Contains(err.Error(), "missing project") {
-			log.Fatalf("Missing datastore project. Set the DATASTORE_PROJECT_ID env variable. Use `gcloud beta emulators datastore` to start a local datastore.")
-		}
-		log.Fatalf("datastore.NewClient: %v.", err)
-	}
-
-	redisAddr := os.Getenv("GOLANGORG_REDIS_ADDR")
-	if redisAddr == "" {
-		log.Fatalf("Missing redis server for golangorg in production mode. set GOLANGORG_REDIS_ADDR environment variable.")
-	}
-	memcacheClient := memcache.New(redisAddr)
-	return datastoreClient, memcacheClient
-}
cmd/golangorg/dl.go
@@ -1,16 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build !golangorg
-
-package main
-
-import "net/http"
-
-// Register a redirect handler for /dl/ to the golang.org download page.
-// This file will not be included when deploying godoc to golang.org.
-
-func init() {
-	http.Handle("/dl/", http.RedirectHandler("https://golang.org/dl/", http.StatusFound))
-}
cmd/golangorg/godoc_test.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

+//go:build go1.16
 // +build go1.16

 package main_test
cmd/golangorg/goroot.go
@@ -1,74 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
-	"os"
-	"path/filepath"
-	"runtime"
-)
-
-// Copies of functions from src/cmd/go/internal/cfg/cfg.go for
-// finding the GOROOT.
-// Keep them in sync until support is moved to a common place, if ever.
-
-func findGOROOT() string {
-	if env := os.Getenv("GOROOT"); env != "" {
-		return filepath.Clean(env)
-	}
-	def := filepath.Clean(runtime.GOROOT())
-	if runtime.Compiler == "gccgo" {
-		// gccgo has no real GOROOT, and it certainly doesn't
-		// depend on the executable's location.
-		return def
-	}
-	exe, err := os.Executable()
-	if err == nil {
-		exe, err = filepath.Abs(exe)
-		if err == nil {
-			if dir := filepath.Join(exe, "../.."); isGOROOT(dir) {
-				// If def (runtime.GOROOT()) and dir are the same
-				// directory, prefer the spelling used in def.
-				if isSameDir(def, dir) {
-					return def
-				}
-				return dir
-			}
-			exe, err = filepath.EvalSymlinks(exe)
-			if err == nil {
-				if dir := filepath.Join(exe, "../.."); isGOROOT(dir) {
-					if isSameDir(def, dir) {
-						return def
-					}
-					return dir
-				}
-			}
-		}
-	}
-	return def
-}
-
-// isGOROOT reports whether path looks like a GOROOT.
-//
-// It does this by looking for the path/pkg/tool directory,
-// which is necessary for useful operation of the cmd/go tool,
-// and is not typically present in a GOPATH.
-func isGOROOT(path string) bool {
-	stat, err := os.Stat(filepath.Join(path, "pkg", "tool"))
-	if err != nil {
-		return false
-	}
-	return stat.IsDir()
-}
-
-// isSameDir reports whether dir1 and dir2 are the same directory.
-func isSameDir(dir1, dir2 string) bool {
-	if dir1 == dir2 {
-		return true
-	}
-	info1, err1 := os.Stat(dir1)
-	info2, err2 := os.Stat(dir2)
-	return err1 == nil && err2 == nil && os.SameFile(info1, info2)
-}
cmd/golangorg/local.go
@@ -0,0 +1,40 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !prod
+// +build !prod
+
+package main
+
+import (
+	"fmt"
+	"log"
+	"net/http"
+	"os"
+	"path/filepath"
+	"runtime"
+
+	// This package registers "/compile" and "/share" handlers
+	// that redirect to the golang.org playground.
+	_ "golang.org/x/tools/playground"
+)
+
+func earlySetup() {
+	_, file, _, ok := runtime.Caller(0)
+	if !ok {
+		fmt.Fprintln(os.Stderr, "runtime.Caller failed: cannot find templates for -a mode.")
+		os.Exit(2)
+	}
+	dir := filepath.Join(file, "../../../_content")
+	if _, err := os.Stat(filepath.Join(dir, "godoc.html")); err != nil {
+		log.Printf("warning: cannot find template dir; using embedded copy")
+		return
+	}
+	*templateDir = dir
+}
+
+func lateSetup(mux *http.ServeMux) {
+	// Register a redirect handler for /dl/ to the golang.org download page.
+	http.Handle("/dl/", http.RedirectHandler("https://golang.org/dl/", http.StatusFound))
+}
cmd/golangorg/main.go
@@ -15,22 +15,16 @@
 //				https://golang.org/pkg/compress/zlib)
 //

-// Some pages are being transitioned from $GOROOT to content/doc.
-// See golang.org/issue/29206 and golang.org/issue/33637.
-
-// +build go1.16
-// +build !golangorg
+//go:build go1.16 && !prod
+// +build go1.16,!prod

 package main

 import (
-	_ "expvar" // to serve /debug/vars
 	"flag"
 	"fmt"
-	"go/build"
 	"log"
 	"net/http"
-	_ "net/http/pprof" // to serve /debug/pprof/*
 	"os"
 	"path/filepath"
 	"regexp"
@@ -42,39 +36,19 @@
 	"golang.org/x/website"
 )

-const defaultAddr = "localhost:6060" // default webserver address
-
 var (
-	// network
-	httpAddr = flag.String("http", defaultAddr, "HTTP service address")
-
-	verbose = flag.Bool("v", false, "verbose mode")
-
-	// file system roots
-	// TODO(gri) consider the invariant that goroot always end in '/'
-	goroot = flag.String("goroot", findGOROOT(), "Go root directory")
-
-	// layout control
-	autoFlag       = flag.Bool("a", false, "update templates automatically")
+	httpAddr       = flag.String("http", "localhost:6060", "HTTP service address")
+	verbose        = flag.Bool("v", false, "verbose mode")
+	goroot         = flag.String("goroot", runtime.GOROOT(), "Go root directory")
 	showTimestamps = flag.Bool("timestamps", false, "show timestamps with directory listings")
 	templateDir    = flag.String("templates", "", "load templates/JS/CSS from disk in this directory (usually /path-to-website/content)")
-	showPlayground = flag.Bool("play", false, "enable playground")
+	showPlayground = flag.Bool("play", true, "enable playground")
 	declLinks      = flag.Bool("links", true, "link identifiers to their declarations")
-
-	// source code notes
-	notesRx = flag.String("notes", "BUG", "regular expression matching note markers to show")
+	notesRx        = flag.String("notes", "BUG", "regular expression matching note markers to show")
 )

-func getFullPath(relPath string) string {
-	gopath := os.Getenv("GOPATH")
-	if gopath == "" {
-		gopath = build.Default.GOPATH
-	}
-	return gopath + relPath
-}
-
 func usage() {
-	fmt.Fprintf(os.Stderr, "usage: golangorg -http="+defaultAddr+"\n")
+	fmt.Fprintf(os.Stderr, "usage: golangorg\n")
 	flag.PrintDefaults()
 	os.Exit(2)
 }
@@ -86,37 +60,12 @@
 	})
 }

-func initCorpus(corpus *godoc.Corpus) {
-	err := corpus.Init()
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
 func main() {
+	earlySetup()
+
 	flag.Usage = usage
 	flag.Parse()

-	// Find templates in -a mode.
-	if *autoFlag {
-		if *templateDir != "" {
-			fmt.Fprintln(os.Stderr, "Cannot use -a and -templates together.")
-			usage()
-		}
-		_, file, _, ok := runtime.Caller(0)
-		if !ok {
-			fmt.Fprintln(os.Stderr, "runtime.Caller failed: cannot find templates for -a mode.")
-			os.Exit(2)
-		}
-		dir := filepath.Join(file, "../../../_content")
-		if _, err := os.Stat(filepath.Join(dir, "godoc.html")); err != nil {
-			fmt.Fprintln(os.Stderr, err)
-			fmt.Fprintln(os.Stderr, "Cannot find templates for -a mode.")
-			os.Exit(2)
-		}
-		*templateDir = dir
-	}
-
 	playEnabled = *showPlayground

 	// Check usage.
@@ -129,14 +78,12 @@
 		usage()
 	}

-	// Set the resolved goroot.
-	vfs.GOROOT = *goroot
-
 	fsGate := make(chan bool, 20)

 	// Determine file system to use.
 	rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
 	fs.Bind("/", rootfs, "/", vfs.BindReplace)
+
 	// Try serving files in /doc from a local copy before trying the main
 	// go repository. This lets us update some documentation outside the
 	// Go release cycle. This includes root.html, which redirects to "/".
@@ -144,25 +91,22 @@
 	if *templateDir != "" {
 		fs.Bind("/doc", vfs.OS(*templateDir), "/doc", vfs.BindBefore)
 		fs.Bind("/lib/godoc", vfs.OS(*templateDir), "/", vfs.BindBefore)
+		root := filepath.Join(*templateDir, "..")
+		fs.Bind("/robots.txt", vfs.OS(root), "/robots.txt", vfs.BindBefore)
+		fs.Bind("/favicon.ico", vfs.OS(root), "/favicon.ico", vfs.BindBefore)
 	} else {
 		fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
 		fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
+		fs.Bind("/robots.txt", vfs.FromFS(website.Root), "/robots.txt", vfs.BindBefore)
+		fs.Bind("/favicon.ico", vfs.FromFS(website.Root), "/favicon.ico", vfs.BindBefore)
 	}

-	// Bind $GOPATH trees into Go root.
-	for _, p := range filepath.SplitList(build.Default.GOPATH) {
-		fs.Bind("/src", gatefs.New(vfs.OS(p), fsGate), "/src", vfs.BindAfter)
-	}
-
-	webroot := getFullPath("/src/golang.org/x/website")
-	fs.Bind("/robots.txt", gatefs.New(vfs.OS(webroot), fsGate), "/robots.txt", vfs.BindBefore)
-	fs.Bind("/favicon.ico", gatefs.New(vfs.OS(webroot), fsGate), "/favicon.ico", vfs.BindBefore)
-
 	corpus := godoc.NewCorpus(fs)
 	corpus.Verbose = *verbose
-
-	go initCorpus(corpus)
-
+	corpus.IndexEnabled = false
+	if err := corpus.Init(); err != nil {
+		log.Fatal(err)
+	}
 	// Initialize the version info before readTemplates, which saves
 	// the map value in a method value.
 	corpus.InitVersionInfo()
@@ -176,7 +120,8 @@
 	}

 	readTemplates(pres)
-	registerHandlers(pres)
+	mux := registerHandlers(pres)
+	lateSetup(mux)

 	var handler http.Handler = http.DefaultServeMux
 	if *verbose {
cmd/golangorg/play.go
@@ -1,11 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build !golangorg
-
-package main
-
-// This package registers "/compile" and "/share" handlers
-// that redirect to the golang.org playground.
-import _ "golang.org/x/tools/playground"
cmd/golangorg/prod.go
@@ -0,0 +1,83 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.16 && prod
+// +build go1.16,prod
+
+package main
+
+import (
+	"context"
+	"io"
+	"log"
+	"net/http"
+	"os"
+	"strings"
+
+	"golang.org/x/website/internal/dl"
+	"golang.org/x/website/internal/proxy"
+	"golang.org/x/website/internal/redirect"
+	"golang.org/x/website/internal/short"
+
+	"cloud.google.com/go/datastore"
+	"golang.org/x/website/internal/memcache"
+)
+
+func earlySetup() {
+	log.SetFlags(log.Lshortfile | log.LstdFlags)
+	log.Println("initializing golang.org server ...")
+
+	port := "8080"
+	if p := os.Getenv("PORT"); p != "" {
+		port = p
+	}
+	*httpAddr = ":" + port
+}
+
+func lateSetup(mux *http.ServeMux) {
+	pres.GoogleAnalytics = os.Getenv("GOLANGORG_ANALYTICS")
+
+	datastoreClient, memcacheClient := getClients()
+
+	dl.RegisterHandlers(mux, datastoreClient, memcacheClient)
+	short.RegisterHandlers(mux, datastoreClient, memcacheClient)
+
+	// Register /compile and /share handlers against the default serve mux
+	// so that other app modules can make plain HTTP requests to those
+	// hosts. (For reasons, HTTPS communication between modules is broken.)
+	proxy.RegisterHandlers(http.DefaultServeMux)
+
+	http.HandleFunc("/_ah/health", func(w http.ResponseWriter, r *http.Request) {
+		io.WriteString(w, "ok")
+	})
+
+	http.HandleFunc("/robots.txt", func(w http.ResponseWriter, r *http.Request) {
+		io.WriteString(w, "User-agent: *\nDisallow: /search\n")
+	})
+
+	if err := redirect.LoadChangeMap("hg-git-mapping.bin"); err != nil {
+		log.Fatalf("LoadChangeMap: %v", err)
+	}
+
+	log.Println("godoc initialization complete")
+}
+
+func getClients() (*datastore.Client, *memcache.Client) {
+	ctx := context.Background()
+
+	datastoreClient, err := datastore.NewClient(ctx, "")
+	if err != nil {
+		if strings.Contains(err.Error(), "missing project") {
+			log.Fatalf("Missing datastore project. Set the DATASTORE_PROJECT_ID env variable. Use `gcloud beta emulators datastore` to start a local datastore.")
+		}
+		log.Fatalf("datastore.NewClient: %v.", err)
+	}
+
+	redisAddr := os.Getenv("GOLANGORG_REDIS_ADDR")
+	if redisAddr == "" {
+		log.Fatalf("Missing redis server for golangorg in production mode. set GOLANGORG_REDIS_ADDR environment variable.")
+	}
+	memcacheClient := memcache.New(redisAddr)
+	return datastoreClient, memcacheClient
+}
content.go
@@ -1,9 +1,10 @@
+//go:build go1.16
+// +build go1.16
+
 // Copyright 2013 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

-// +build go1.16
-
 // Package website exports the static content as an embed.FS.
 package website

@@ -25,3 +26,7 @@
 	}
 	return s
 }
+
+// Root is the website root files: favicon.ico and robots.txt.
+//go:embed favicon.ico robots.txt
+var Root embed.FS
_content: create explicit lib/godoc tree

For historical reasons, files in _content/, like _content/play.js,
were served as https://golang.org/lib/godoc/play.js.
Remove some complex setup by moving them to names that
match the actual serving location, such as _content/lib/godoc/play.js.
rsc committed 4 days ago commit 653bb81201ab1f277f5412903389d42801b8123c
_content/analysis/call-eg.png

	
_content/analysis/call3.png

	
_content/analysis/callers1.png

	
_content/analysis/callers2.png

	
_content/analysis/chan1.png

	
_content/analysis/chan2a.png

	
_content/analysis/chan2b.png

	
_content/analysis/error1.png

	
_content/analysis/help.html
@@ -1,254 +0,0 @@
-<!--{
-        "Title": "Static analysis features of godoc"
-}-->
-
-<style>
-  span.err { 'font-size:120%; color:darkred; background-color: yellow; }
-  img.ss { margin-left: 1in; } /* screenshot */
-  img.dotted { border: thin dotted; }
-</style>
-
-<!-- Images were grabbed from Chrome/Linux at 150% zoom, and are
-     displayed at 66% of natural size.  This allows users to zoom a
-     little before seeing pixels. -->
-
-<p>
-  When invoked with the <code>-analysis</code> flag, godoc performs
-  static analysis on the Go packages it indexes and displays the
-  results in the source and package views.  This document provides a
-  brief tour of these features.
-</p>
-
-<h2>Type analysis features</h2>
-<p>
-  <code>godoc -analysis=type</code> performs static checking similar
-  to that done by a compiler: it detects ill-formed programs, resolves
-  each identifier to the entity it denotes, computes the type of each
-  expression and the method set of each type, and determines which
-  types are assignable to each interface type.
-
-  <b>Type analysis</b> is relatively quick, requiring about 10 seconds for
-  the &gt;200 packages of the standard library, for example.
-</p>
-
-<h3>Compiler errors</h3>
-<p>
-  If any source file contains a compilation error, the source view
-  will highlight the errant location in red.  Hovering over it
-  displays the error message.
-</p>
-<img class="ss" width='811' src='error1.png'><br/>
-
-<h3>Identifier resolution</h3>
-<p>
-  In the source view, every referring identifier is annotated with
-  information about the language entity it refers to: a package,
-  constant, variable, type, function or statement label.
-
-  Hovering over the identifier reveals the entity's kind and type
-  (e.g. <code>var x int</code> or <code>func f
-  func(int) string</code>).
-</p>
-<img class="ss" width='652' src='ident-field.png'><br/>
-<br/>
-<img class="ss" width='652' src='ident-func.png'>
-<p>
-  Clicking the link takes you to the entity's definition.
-</p>
-<img class="ss" width='652' src='ident-def.png'><br/>
-
-<h3>Type information: size/alignment, method set, interfaces</h3>
-<p>
-  Clicking on the identifier that defines a named type causes a panel
-  to appear, displaying information about the named type, including
-  its size and alignment in bytes, its
-  <a href='http://golang.org/ref/spec#Method_sets'>method set</a>, and its
-  <i>implements</i> relation: the set of types T that are assignable to
-  or from this type U where at least one of T or U is an interface.
-
-  This example shows information about <code>net/rpc.methodType</code>.
-</p>
-<img class="ss" width='470' src='typeinfo-src.png'>
-<p>
-  The method set includes not only the declared methods of the type,
-  but also any methods "promoted" from anonymous fields of structs,
-  such as <code>sync.Mutex</code> in this example.
-
-  In addition, the receiver type is displayed as <code>*T</code> or
-  <code>T</code> depending on whether it requires the address or just
-  a copy of the receiver value.
-</p>
-<p>
-  The method set and <i>implements</i> relation are also available
-  via the package view.
-</p>
-<img class="ss dotted" width='716' src='typeinfo-pkg.png'>
-
-<h2>Pointer analysis features</h2>
-<p>
-  <code>godoc -analysis=pointer</code> additionally performs a precise
-  whole-program <b>pointer analysis</b>.  In other words, it
-  approximates the set of memory locations to which each
-  reference&mdash;not just vars of kind <code>*T</code>, but also
-  <code>[]T</code>, <code>func</code>, <code>map</code>,
-  <code>chan</code>, and <code>interface</code>&mdash;may refer.  This
-  information reveals the possible destinations of each dynamic call
-  (via a <code>func</code> variable or interface method), and the
-  relationship between send and receive operations on the same
-  channel.
-</p>
-<p>
-  Compared to type analysis, pointer analysis requires more time and
-  memory, and is impractical for code bases exceeding a million lines.
-</p>
-
-<h3>Call graph navigation</h3>
-<p>
-  When pointer analysis is complete, the source view annotates the
-  code with <b>callers</b> and <b>callees</b> information: callers
-  information is associated with the <code>func</code> keyword that
-  declares a function, and callees information is associated with the
-  open paren '<span style="color: dark-blue"><code>(</code></span>' of
-  a function call.
-</p>
-<p>
-  In this example, hovering over the declaration of the
-  <code>rot13</code> function (defined in strings/strings_test.go)
-  reveals that it is called in exactly one place.
-</p>
-<img class="ss" width='612' src='callers1.png'>
-<p>
-  Clicking the link navigates to the sole caller.  (If there were
-  multiple callers, a list of choices would be displayed first.)
-</p>
-<img class="ss" width='680' src='callers2.png'>
-<p>
-  Notice that hovering over this call reveals that there are 19
-  possible callees at this site, of which our <code>rot13</code>
-  function was just one: this is a dynamic call through a variable of
-  type <code>func(rune) rune</code>.
-
-  Clicking on the call brings up the list of all 19 potential callees,
-  shown truncated.  Many of them are anonymous functions.
-</p>
-<img class="ss" width='564' src='call3.png'>
-<p>
-  Pointer analysis gives a very precise approximation of the call
-  graph compared to type-based techniques.
-
-  As a case in point, the next example shows the dynamic call inside
-  the <code>testing</code> package responsible for calling all
-  user-defined functions named <code>Example<i>XYZ</i></code>.
-</p>
-<img class="ss" width='361' src='call-eg.png'>
-<p>
-  Recall that all such functions have type <code>func()</code>,
-  i.e. no arguments and no results.  A type-based approximation could
-  only conclude that this call might dispatch to any function matching
-  that type&mdash;and these are very numerous in most
-  programs&mdash;but pointer analysis can track the flow of specific
-  <code>func</code> values through the testing package.
-
-  As an indication of its precision, the result contains only
-  functions whose name starts with <code>Example</code>.
-</p>
-
-<h3>Intra-package call graph</h3>
-<p>
-  The same call graph information is presented in a very different way
-  in the package view.  For each package, an interactive tree view
-  allows exploration of the call graph as it relates to just that
-  package; all functions from other packages are elided.
-
-  The roots of the tree are the external entry points of the package:
-  not only its exported functions, but also any unexported or
-  anonymous functions that are called (dynamically) from outside the
-  package.
-</p>
-<p>
-  This example shows the entry points of the
-  <code>path/filepath</code> package, with the call graph for
-  <code>Glob</code> expanded several levels
-</p>
-<img class="ss dotted" width='501' src='ipcg-pkg.png'>
-<p>
-  Notice that the nodes for Glob and Join appear multiple times: the
-  tree is a partial unrolling of a cyclic graph; the full unrolling
-  is in general infinite.
-</p>
-<p>
-  For each function documented in the package view, another
-  interactive tree view allows exploration of the same graph starting
-  at that function.
-
-  This is a portion of the internal graph of
-  <code>net/http.ListenAndServe</code>.
-</p>
-<img class="ss dotted" width='455' src='ipcg-func.png'>
-
-<h3>Channel peers (send ↔ receive)</h3>
-<p>
-  Because concurrent Go programs use channels to pass not just values
-  but also control between different goroutines, it is natural when
-  reading Go code to want to navigate from a channel send to the
-  corresponding receive so as to understand the sequence of events.
-</p>
-<p>
-  Godoc annotates every channel operation&mdash;make, send, range,
-  receive, close&mdash;with a link to a panel displaying information
-  about other operations that might alias the same channel.
-</p>
-<p>
-  This example, from the tests of <code>net/http</code>, shows a send
-  operation on a <code>chan bool</code>.
-</p>
-<img class="ss" width='811' src='chan1.png'>
-<p>
-  Clicking on the <code>&lt;-</code> send operator reveals that this
-  channel is made at a unique location (line 332) and that there are
-  three receive operations that might read this value.
-
-  It hardly needs pointing out that some channel element types are
-  very widely used (e.g. struct{}, bool, int, interface{}) and that a
-  typical Go program might contain dozens of receive operations on a
-  value of type <code>chan bool</code>; yet the pointer analysis is
-  able to distinguish operations on channels at a much finer precision
-  than based on their type alone.
-</p>
-<p>
-  Notice also that the send occurs in a different (anonymous) function
-  from the outer one containing the <code>make</code> and the receive
-  operations.
-</p>
-<p>
-  Here's another example of send on a different <code>chan
-  bool</code>, also in package <code>net/http</code>:
-</p>
-<img class="ss" width='774' src='chan2a.png'>
-<p>
-  The analysis finds just one receive operation that might receive
-  from this channel, in the test for this feature.
-</p>
-<img class="ss" width='737' src='chan2b.png'>
-
-<h2>Known issues</h2>
-<p>
-  All analysis results pertain to exactly
-  one configuration (e.g. amd64 linux).  Files that are conditionally
-  compiled based on different platforms or build tags are not visible
-  to the analysis.
-</p>
-<p>
-  Files that <code>import "C"</code> require
-  preprocessing by the cgo tool.  The file offsets after preprocessing
-  do not align with the unpreprocessed file, so markup is misaligned.
-</p>
-<p>
-  Files are not periodically re-analyzed.
-  If the files change underneath the running server, the displayed
-  markup is misaligned.
-</p>
-<p>
-  Additional issues are listed at
-  <a href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.
-</p>
_content/analysis/ident-def.png

	
_content/analysis/ident-field.png

	
_content/analysis/ident-func.png

	
_content/analysis/ipcg-func.png

	
_content/analysis/ipcg-pkg.png

	
_content/analysis/typeinfo-pkg.png

	
_content/analysis/typeinfo-src.png

	
_content/codewalk.html
@@ -1,56 +0,0 @@
-<!--
-	Copyright 2010 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<style type='text/css'>@import "/doc/codewalk/codewalk.css";</style>
-<script type="text/javascript" src="/doc/codewalk/codewalk.js"></script>
-
-<div id="codewalk-main">
-  <div class="left" id="code-column">
-    <div id='sizer'></div>
-    <div id="code-area">
-      <div id="code-header" align="center">
-        <a id="code-popout-link" href="" target="_blank">
-          <img title="View code in new window" alt="Pop Out Code" src="/doc/codewalk/popout.png" style="display: block; float: right;"/>
-        </a>
-        <select id="code-selector">
-          {{range .File}}
-          <option value="/doc/codewalk/?fileprint=/{{urlquery .}}">{{html .}}</option>
-          {{end}}
-        </select>
-      </div>
-      <div id="code">
-        <iframe class="code-display" name="code-display" id="code-display"></iframe>
-      </div>
-    </div>
-    <div id="code-options" class="setting">
-      <span>code on <a id="set-code-left" class="selected" href="#">left</a> &bull; <a id="set-code-right" href="#">right</a></span>
-      <span>code width <span id="code-column-width">70%</span></span>
-      <span>filepaths <a id="show-filepaths" class="selected" href="#">shown</a> &bull; <a id="hide-filepaths" href="#">hidden</a></span>
-    </div>
-  </div>
-  <div class="right" id="comment-column">
-    <div id="comment-area">
-      {{range .Step}}
-      <div class="comment first last">
-        <a class="comment-link" href="/doc/codewalk/?fileprint=/{{urlquery .File}}&amp;lo={{urlquery .Lo}}&amp;hi={{urlquery .Hi}}#mark" target="code-display"></a>
-        <div class="comment-title">{{html .Title}}</div>
-        <div class="comment-text">
-	{{with .Err}}
-	ERROR LOADING FILE: {{html .}}<br/><br/>
-	{{end}}
-        {{.XML}}
-        </div>
-        <div class="comment-text file-name"><span class="path-file">{{html .}}</span></div>
-      </div>
-      {{end}}
-    </div>
-    <div id="comment-options" class="setting">
-      <a id="prev-comment" href="#"><span class="hotkey">p</span>revious step</a>
-      &bull;
-      <a id="next-comment" href="#"><span class="hotkey">n</span>ext step</a>
-    </div>
-  </div>
-</div>
_content/codewalkdir.html
@@ -1,16 +0,0 @@
-<!--
-	Copyright 2010 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<table class="layout">
-{{range .}}
-<tr>
-	{{$name_html := html .Name}}
-	<td><a href="{{$name_html}}">{{$name_html}}</a></td>
-	<td width="25">&nbsp;</td>
-	<td>{{html .Title}}</td>
-</tr>
-{{end}}
-</table>
_content/dirlist.html
@@ -1,31 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<p>
-<table class="layout">
-<tr>
-	<th align="left">File</th>
-	<td width="25">&nbsp;</td>
-	<th align="right">Bytes</th>
-	<td width="25">&nbsp;</td>
-	<th align="left">Modified</th>
-</tr>
-<tr>
-	<td><a href="..">..</a></td>
-</tr>
-{{range .}}
-<tr>
-	{{$name_html := fileInfoName . | html}}
-	<td align="left"><a href="{{$name_html}}">{{$name_html}}</a></td>
-	<td></td>
-	<td align="right">{{html .Size}}</td>
-	<td></td>
-	<td align="left">{{fileInfoTime . | html}}</td>
-</tr>
-{{end}}
-
-</table>
-</p>
_content/error.html
@@ -1,9 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<p>
-<span class="alert" style="font-size:120%">{{html .}}</span>
-</p>
_content/example.html
@@ -1,30 +0,0 @@
-<div id="example_{{.Name}}" class="toggle">
-  <div class="collapsed">
-    <p class="exampleHeading toggleButton">▹ <span class="text">Example{{example_suffix .Name}}</span></p>
-  </div>
-  <div class="expanded">
-    <p class="exampleHeading toggleButton">▾ <span class="text">Example{{example_suffix .Name}}</span></p>
-    {{with .Doc}}<p>{{html .}}</p>{{end}}
-    {{$output := .Output}}
-    {{with .Play}}
-      <div class="play">
-        <div class="input"><textarea class="code" spellcheck="false">{{html .}}</textarea></div>
-        <div class="output"><pre>{{html $output}}</pre></div>
-        <div class="buttons">
-          <button class="Button Button--primary run" title="Run this code [shift-enter]">Run</button>
-          <button class="Button fmt" title="Format this code">Format</button>
-          {{if not $.GoogleCN}}
-            <button class="Button share" title="Share this code">Share</button>
-          {{end}}
-        </div>
-      </div>
-    {{else}}
-      <p>Code:</p>
-      <pre class="code">{{.Code}}</pre>
-      {{with .Output}}
-        <p>Output:</p>
-        <pre class="output">{{html .}}</pre>
-      {{end}}
-    {{end}}
-  </div>
-</div>
_content/favicon.ico

	
_content/godoc.html
@@ -1,118 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<meta charset="utf-8">
-<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta name="theme-color" content="#00ADD8">
-{{with .Tabtitle}}
-  <title>{{html .}} - The Go Programming Language</title>
-{{else}}
-  <title>The Go Programming Language</title>
-{{end}}
-<link href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700" rel="stylesheet">
-<link href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap" rel="stylesheet">
-<link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
-{{if .SearchBox}}
-<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="/opensearch.xml" />
-{{end}}
-<script>window.initFuncs = [];</script>
-{{with .GoogleAnalytics}}
-<script>
-var _gaq = _gaq || [];
-_gaq.push(["_setAccount", "{{.}}"]);
-window.trackPageview = function() {
-  _gaq.push(["_trackPageview", location.pathname+location.hash]);
-};
-window.trackPageview();
-window.trackEvent = function(category, action, opt_label, opt_value, opt_noninteraction) {
-  _gaq.push(["_trackEvent", category, action, opt_label, opt_value, opt_noninteraction]);
-};
-</script>
-{{end}}
-<script src="/lib/godoc/jquery.js" defer></script>
-
-{{if .Playground}}
-<script src="/lib/godoc/playground.js" defer></script>
-{{end}}
-{{with .Version}}<script>var goVersion = {{printf "%q" .}};</script>{{end}}
-<script src="/lib/godoc/godocs.js" defer></script>
-
-<body class="Site">
-<header class="Header js-header">
-  <div class="Header-banner">
-    Black Lives Matter.
-    <a href="https://support.eji.org/give/153413/#!/donation/checkout"
-       target="_blank"
-       rel="noopener">Support the Equal Justice Initiative.</a>
-  </div>
-  <nav class="Header-nav {{if .Title}}Header-nav--wide{{end}}">
-    <a href="/"><img class="Header-logo" src="/lib/godoc/images/go-logo-blue.svg" alt="Go"></a>
-    <button class="Header-menuButton js-headerMenuButton" aria-label="Main menu" aria-expanded="false">
-      <div class="Header-menuButtonInner"></div>
-    </button>
-    <ul class="Header-menu">
-      <li class="Header-menuItem"><a href="/doc/">Documents</a></li>
-      <li class="Header-menuItem"><a href="/pkg/">Packages</a></li>
-      <li class="Header-menuItem"><a href="/project/">The Project</a></li>
-      <li class="Header-menuItem"><a href="/help/">Help</a></li>
-      {{if not .GoogleCN}}
-        <li class="Header-menuItem"><a href="/blog/">Blog</a></li>
-        {{if .Playground}}
-          <li class="Header-menuItem"><a href="https://play.golang.org/">Play</a></li>
-        {{end}}
-      {{end}}
-    </ul>
-  </nav>
-</header>
-
-<main id="page" class="Site-content{{if .Title}} wide{{end}}">
-<div class="container">
-
-{{if or .Title .SrcPath}}
-  <h1>
-    {{html .Title}}
-    {{html .SrcPath | srcBreadcrumb}}
-  </h1>
-{{end}}
-
-{{with .Subtitle}}
-  <h2>{{html .}}</h2>
-{{end}}
-
-{{with .SrcPath}}
-  <h2>
-    Documentation: {{html . | srcToPkgLink}}
-  </h2>
-{{end}}
-
-{{/* The Table of Contents is automatically inserted in this <div>.
-     Do not delete this <div>. */}}
-<div id="nav"></div>
-
-{{/* Body is HTML-escaped elsewhere */}}
-{{printf "%s" .Body}}
-
-</div><!-- .container -->
-</main><!-- #page -->
-<footer>
-  <div class="Footer {{if .Title}}Footer--wide{{end}}">
-    <img class="Footer-gopher" src="/lib/godoc/images/footer-gopher.jpg" alt="The Go Gopher">
-    <ul class="Footer-links">
-      <li class="Footer-link"><a href="/doc/copyright.html">Copyright</a></li>
-      <li class="Footer-link"><a href="/doc/tos.html">Terms of Service</a></li>
-      <li class="Footer-link"><a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a></li>
-      <li class="Footer-link"><a href="http://golang.org/issues/new?title=x/website:" target="_blank" rel="noopener">Report a website issue</a></li>
-    </ul>
-    <a class="Footer-supportedBy" href="https://google.com">Supported by Google</a>
-  </div>
-</footer>
-{{if .GoogleAnalytics}}
-<script>
-(function() {
-  var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
-  ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
-  var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
-})();
-</script>
-{{end}}
-
_content/godocs.js
@@ -1,381 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/* A little code to ease navigation of these documents.
- *
- * On window load we:
- *  + Generate a table of contents (generateTOC)
- *  + Bind foldable sections (bindToggles)
- *  + Bind links to foldable sections (bindToggleLinks)
- */
-
-(function() {
-  'use strict';
-
-  var headerEl = document.querySelector('.js-header');
-  var menuButtonEl = document.querySelector('.js-headerMenuButton');
-  menuButtonEl.addEventListener('click', function(e) {
-    e.preventDefault();
-    headerEl.classList.toggle('is-active');
-    menuButtonEl.setAttribute(
-      'aria-expanded',
-      headerEl.classList.contains('is-active')
-    );
-  });
-
-  /* Generates a table of contents: looks for h2 and h3 elements and generates
-   * links. "Decorates" the element with id=="nav" with this table of contents.
-   */
-  function generateTOC() {
-    if ($('#manual-nav').length > 0) {
-      return;
-    }
-
-    // For search, we send the toc precomputed from server-side.
-    // TODO: Ideally, this should always be precomputed for all pages, but then
-    // we need to do HTML parsing on the server-side.
-    if (location.pathname === '/search') {
-      return;
-    }
-
-    var nav = $('#nav');
-    if (nav.length === 0) {
-      return;
-    }
-
-    var toc_items = [];
-    $(nav)
-      .nextAll('h2, h3')
-      .each(function() {
-        var node = this;
-        if (node.id == '') node.id = 'tmp_' + toc_items.length;
-        var link = $('<a/>')
-          .attr('href', '#' + node.id)
-          .text($(node).text());
-        var item;
-        if ($(node).is('h2')) {
-          item = $('<dt/>');
-        } else {
-          // h3
-          item = $('<dd class="indent"/>');
-        }
-        item.append(link);
-        toc_items.push(item);
-      });
-    if (toc_items.length <= 1) {
-      return;
-    }
-    var dl1 = $('<dl/>');
-    var dl2 = $('<dl/>');
-
-    var split_index = toc_items.length / 2 + 1;
-    if (split_index < 8) {
-      split_index = toc_items.length;
-    }
-    for (var i = 0; i < split_index; i++) {
-      dl1.append(toc_items[i]);
-    }
-    for (; /* keep using i */ i < toc_items.length; i++) {
-      dl2.append(toc_items[i]);
-    }
-
-    var tocTable = $('<table class="unruled"/>').appendTo(nav);
-    var tocBody = $('<tbody/>').appendTo(tocTable);
-    var tocRow = $('<tr/>').appendTo(tocBody);
-
-    // 1st column
-    $('<td class="first"/>')
-      .appendTo(tocRow)
-      .append(dl1);
-    // 2nd column
-    $('<td/>')
-      .appendTo(tocRow)
-      .append(dl2);
-  }
-
-  function bindToggle(el) {
-    $('.toggleButton', el).click(function() {
-      if ($(this).closest('.toggle, .toggleVisible')[0] != el) {
-        // Only trigger the closest toggle header.
-        return;
-      }
-
-      if ($(el).is('.toggle')) {
-        $(el)
-          .addClass('toggleVisible')
-          .removeClass('toggle');
-      } else {
-        $(el)
-          .addClass('toggle')
-          .removeClass('toggleVisible');
-      }
-    });
-  }
-
-  function bindToggles(selector) {
-    $(selector).each(function(i, el) {
-      bindToggle(el);
-    });
-  }
-
-  function bindToggleLink(el, prefix) {
-    $(el).click(function() {
-      var href = $(el).attr('href');
-      var i = href.indexOf('#' + prefix);
-      if (i < 0) {
-        return;
-      }
-      var id = '#' + prefix + href.slice(i + 1 + prefix.length);
-      if ($(id).is('.toggle')) {
-        $(id)
-          .find('.toggleButton')
-          .first()
-          .click();
-      }
-    });
-  }
-  function bindToggleLinks(selector, prefix) {
-    $(selector).each(function(i, el) {
-      bindToggleLink(el, prefix);
-    });
-  }
-
-  function setupInlinePlayground() {
-    'use strict';
-    // Set up playground when each element is toggled.
-    $('div.play').each(function(i, el) {
-      // Set up playground for this example.
-      var setup = function() {
-        var code = $('.code', el);
-        playground({
-          codeEl: code,
-          outputEl: $('.output', el),
-          runEl: $('.run', el),
-          fmtEl: $('.fmt', el),
-          shareEl: $('.share', el),
-          shareRedirect: '//play.golang.org/p/',
-        });
-
-        // Make the code textarea resize to fit content.
-        var resize = function() {
-          code.height(0);
-          var h = code[0].scrollHeight;
-          code.height(h + 20); // minimize bouncing.
-          code.closest('.input').height(h);
-        };
-        code.on('keydown', resize);
-        code.on('keyup', resize);
-        code.keyup(); // resize now.
-      };
-
-      // If example already visible, set up playground now.
-      if ($(el).is(':visible')) {
-        setup();
-        return;
-      }
-
-      // Otherwise, set up playground when example is expanded.
-      var built = false;
-      $(el)
-        .closest('.toggle')
-        .click(function() {
-          // Only set up once.
-          if (!built) {
-            setup();
-            built = true;
-          }
-        });
-    });
-  }
-
-  // fixFocus tries to put focus to #page so that keyboard navigation works.
-  function fixFocus() {
-    var page = $('#page');
-    var topbar = $('div#topbar');
-    page.css('outline', 0); // disable outline when focused
-    page.attr('tabindex', -1); // and set tabindex so that it is focusable
-    $(window)
-      .resize(function(evt) {
-        // only focus page when the topbar is at fixed position (that is, it's in
-        // front of page, and keyboard event will go to the former by default.)
-        // by focusing page, keyboard event will go to page so that up/down arrow,
-        // space, etc. will work as expected.
-        if (topbar.css('position') == 'fixed') page.focus();
-      })
-      .resize();
-  }
-
-  function toggleHash() {
-    var id = window.location.hash.substring(1);
-    // Open all of the toggles for a particular hash.
-    var els = $(
-      document.getElementById(id),
-      $('a[name]').filter(function() {
-        return $(this).attr('name') == id;
-      })
-    );
-
-    while (els.length) {
-      for (var i = 0; i < els.length; i++) {
-        var el = $(els[i]);
-        if (el.is('.toggle')) {
-          el.find('.toggleButton')
-            .first()
-            .click();
-        }
-      }
-      els = el.parent();
-    }
-  }
-
-  function personalizeInstallInstructions() {
-    var prefix = '?download=';
-    var s = window.location.search;
-    if (s.indexOf(prefix) != 0) {
-      // No 'download' query string; detect "test" instructions from User Agent.
-      if (navigator.platform.indexOf('Win') != -1) {
-        $('.testUnix').hide();
-        $('.testWindows').show();
-      } else {
-        $('.testUnix').show();
-        $('.testWindows').hide();
-      }
-      return;
-    }
-
-    var filename = s.substr(prefix.length);
-    var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/;
-    var m = filenameRE.exec(filename);
-    if (!m) {
-      // Can't interpret file name; bail.
-      return;
-    }
-    $('.downloadFilename').text(filename);
-    $('.hideFromDownload').hide();
-
-    var os = m[3];
-    var ext = m[6];
-    if (ext != 'tar.gz') {
-      $('#tarballInstructions').hide();
-    }
-    if (os != 'darwin' || ext != 'pkg') {
-      $('#darwinPackageInstructions').hide();
-    }
-    if (os != 'windows') {
-      $('#windowsInstructions').hide();
-      $('.testUnix').show();
-      $('.testWindows').hide();
-    } else {
-      if (ext != 'msi') {
-        $('#windowsInstallerInstructions').hide();
-      }
-      if (ext != 'zip') {
-        $('#windowsZipInstructions').hide();
-      }
-      $('.testUnix').hide();
-      $('.testWindows').show();
-    }
-
-    var download = '/dl/' + filename;
-
-    var message = $(
-      '<p class="downloading">' +
-        'Your download should begin shortly. ' +
-        'If it does not, click <a>this link</a>.</p>'
-    );
-    message.find('a').attr('href', download);
-    message.insertAfter('#nav');
-
-    window.location = download;
-  }
-
-  function updateVersionTags() {
-    var v = window.goVersion;
-    if (/^go[0-9.]+$/.test(v)) {
-      $('.versionTag')
-        .empty()
-        .text(v);
-      $('.whereTag').hide();
-    }
-  }
-
-  function addPermalinks() {
-    function addPermalink(source, parent) {
-      var id = source.attr('id');
-      if (id == '' || id.indexOf('tmp_') === 0) {
-        // Auto-generated permalink.
-        return;
-      }
-      if (parent.find('> .permalink').length) {
-        // Already attached.
-        return;
-      }
-      parent
-        .append(' ')
-        .append($("<a class='permalink'>&#xb6;</a>").attr('href', '#' + id));
-    }
-
-    $('#page .container')
-      .find('h2[id], h3[id]')
-      .each(function() {
-        var el = $(this);
-        addPermalink(el, el);
-      });
-
-    $('#page .container')
-      .find('dl[id]')
-      .each(function() {
-        var el = $(this);
-        // Add the anchor to the "dt" element.
-        addPermalink(el, el.find('> dt').first());
-      });
-  }
-
-  $('.js-expandAll').click(function() {
-    if ($(this).hasClass('collapsed')) {
-      toggleExamples('toggle');
-      $(this).text('(Collapse All)');
-    } else {
-      toggleExamples('toggleVisible');
-      $(this).text('(Expand All)');
-    }
-    $(this).toggleClass('collapsed');
-  });
-
-  function toggleExamples(className) {
-    // We need to explicitly iterate through divs starting with "example_"
-    // to avoid toggling Overview and Index collapsibles.
-    $("[id^='example_']").each(function() {
-      // Check for state and click it only if required.
-      if ($(this).hasClass(className)) {
-        $(this)
-          .find('.toggleButton')
-          .first()
-          .click();
-      }
-    });
-  }
-
-  $(document).ready(function() {
-    generateTOC();
-    addPermalinks();
-    bindToggles('.toggle');
-    bindToggles('.toggleVisible');
-    bindToggleLinks('.exampleLink', 'example_');
-    bindToggleLinks('.overviewLink', '');
-    bindToggleLinks('.examplesLink', '');
-    bindToggleLinks('.indexLink', '');
-    setupInlinePlayground();
-    fixFocus();
-    toggleHash();
-    personalizeInstallInstructions();
-    updateVersionTags();
-
-    // godoc.html defines window.initFuncs in the <head> tag, and root.html and
-    // codewalk.js push their on-page-ready functions to the list.
-    // We execute those functions here, to avoid loading jQuery until the page
-    // content is loaded.
-    for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i]();
-  });
-})();
_content/images/cloud-download.svg
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="#202224" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zm-5.55-8h-2.9v3H8l4 4 4-4h-2.55z"/></svg>
_content/images/footer-gopher.jpg

	
_content/images/go-logo-blue.svg
@@ -1,1 +0,0 @@
-<svg height="78" viewBox="0 0 207 78" width="207" xmlns="http://www.w3.org/2000/svg"><g fill="#00acd7" fill-rule="evenodd"><path d="m16.2 24.1c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h35.7c.4 0 .5.3.3.6l-1.7 2.6c-.2.3-.7.6-1 .6z"/><path d="m1.1 33.3c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h45.6c.4 0 .6.3.5.6l-.8 2.4c-.1.4-.5.6-.9.6z"/><path d="m25.3 42.5c-.4 0-.5-.3-.3-.6l1.4-2.5c.2-.3.6-.6 1-.6h20c.4 0 .6.3.6.7l-.2 2.4c0 .4-.4.7-.7.7z"/><g transform="translate(55)"><path d="m74.1 22.3c-6.3 1.6-10.6 2.8-16.8 4.4-1.5.4-1.6.5-2.9-1-1.5-1.7-2.6-2.8-4.7-3.8-6.3-3.1-12.4-2.2-18.1 1.5-6.8 4.4-10.3 10.9-10.2 19 .1 8 5.6 14.6 13.5 15.7 6.8.9 12.5-1.5 17-6.6.9-1.1 1.7-2.3 2.7-3.7-3.6 0-8.1 0-19.3 0-2.1 0-2.6-1.3-1.9-3 1.3-3.1 3.7-8.3 5.1-10.9.3-.6 1-1.6 2.5-1.6h36.4c-.2 2.7-.2 5.4-.6 8.1-1.1 7.2-3.8 13.8-8.2 19.6-7.2 9.5-16.6 15.4-28.5 17-9.8 1.3-18.9-.6-26.9-6.6-7.4-5.6-11.6-13-12.7-22.2-1.3-10.9 1.9-20.7 8.5-29.3 7.1-9.3 16.5-15.2 28-17.3 9.4-1.7 18.4-.6 26.5 4.9 5.3 3.5 9.1 8.3 11.6 14.1.6.9.2 1.4-1 1.7z"/><path d="m107.2 77.6c-9.1-.2-17.4-2.8-24.4-8.8-5.9-5.1-9.6-11.6-10.8-19.3-1.8-11.3 1.3-21.3 8.1-30.2 7.3-9.6 16.1-14.6 28-16.7 10.2-1.8 19.8-.8 28.5 5.1 7.9 5.4 12.8 12.7 14.1 22.3 1.7 13.5-2.2 24.5-11.5 33.9-6.6 6.7-14.7 10.9-24 12.8-2.7.5-5.4.6-8 .9zm23.8-40.4c-.1-1.3-.1-2.3-.3-3.3-1.8-9.9-10.9-15.5-20.4-13.3-9.3 2.1-15.3 8-17.5 17.4-1.8 7.8 2 15.7 9.2 18.9 5.5 2.4 11 2.1 16.3-.6 7.9-4.1 12.2-10.5 12.7-19.1z" fill-rule="nonzero"/></g></g></svg>
\ No newline at end of file
_content/images/home-gopher.png

	
_content/images/minus.gif

	
_content/images/play-link.svg
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="#00758d" d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"/></svg>
_content/images/plus.gif

	
_content/images/treeview-black-line.gif

	
_content/images/treeview-black.gif

	
_content/images/treeview-default-line.gif

	
_content/images/treeview-default.gif

	
_content/images/treeview-gray-line.gif

	
_content/images/treeview-gray.gif

	
_content/jquery.js
@@ -1,2 +0,0 @@
-/*! jQuery v1.8.2 jquery.com | jquery.org/license */
-(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
\ No newline at end of file
_content/lib/godoc/analysis/call-eg.png

	
_content/lib/godoc/analysis/call3.png

	
_content/lib/godoc/analysis/callers1.png

	
_content/lib/godoc/analysis/callers2.png

	
_content/lib/godoc/analysis/chan1.png

	
_content/lib/godoc/analysis/chan2a.png

	
_content/lib/godoc/analysis/chan2b.png

	
_content/lib/godoc/analysis/error1.png

	
_content/lib/godoc/analysis/help.html
@@ -0,0 +1,254 @@
+<!--{
+        "Title": "Static analysis features of godoc"
+}-->
+
+<style>
+  span.err { 'font-size:120%; color:darkred; background-color: yellow; }
+  img.ss { margin-left: 1in; } /* screenshot */
+  img.dotted { border: thin dotted; }
+</style>
+
+<!-- Images were grabbed from Chrome/Linux at 150% zoom, and are
+     displayed at 66% of natural size.  This allows users to zoom a
+     little before seeing pixels. -->
+
+<p>
+  When invoked with the <code>-analysis</code> flag, godoc performs
+  static analysis on the Go packages it indexes and displays the
+  results in the source and package views.  This document provides a
+  brief tour of these features.
+</p>
+
+<h2>Type analysis features</h2>
+<p>
+  <code>godoc -analysis=type</code> performs static checking similar
+  to that done by a compiler: it detects ill-formed programs, resolves
+  each identifier to the entity it denotes, computes the type of each
+  expression and the method set of each type, and determines which
+  types are assignable to each interface type.
+
+  <b>Type analysis</b> is relatively quick, requiring about 10 seconds for
+  the &gt;200 packages of the standard library, for example.
+</p>
+
+<h3>Compiler errors</h3>
+<p>
+  If any source file contains a compilation error, the source view
+  will highlight the errant location in red.  Hovering over it
+  displays the error message.
+</p>
+<img class="ss" width='811' src='error1.png'><br/>
+
+<h3>Identifier resolution</h3>
+<p>
+  In the source view, every referring identifier is annotated with
+  information about the language entity it refers to: a package,
+  constant, variable, type, function or statement label.
+
+  Hovering over the identifier reveals the entity's kind and type
+  (e.g. <code>var x int</code> or <code>func f
+  func(int) string</code>).
+</p>
+<img class="ss" width='652' src='ident-field.png'><br/>
+<br/>
+<img class="ss" width='652' src='ident-func.png'>
+<p>
+  Clicking the link takes you to the entity's definition.
+</p>
+<img class="ss" width='652' src='ident-def.png'><br/>
+
+<h3>Type information: size/alignment, method set, interfaces</h3>
+<p>
+  Clicking on the identifier that defines a named type causes a panel
+  to appear, displaying information about the named type, including
+  its size and alignment in bytes, its
+  <a href='http://golang.org/ref/spec#Method_sets'>method set</a>, and its
+  <i>implements</i> relation: the set of types T that are assignable to
+  or from this type U where at least one of T or U is an interface.
+
+  This example shows information about <code>net/rpc.methodType</code>.
+</p>
+<img class="ss" width='470' src='typeinfo-src.png'>
+<p>
+  The method set includes not only the declared methods of the type,
+  but also any methods "promoted" from anonymous fields of structs,
+  such as <code>sync.Mutex</code> in this example.
+
+  In addition, the receiver type is displayed as <code>*T</code> or
+  <code>T</code> depending on whether it requires the address or just
+  a copy of the receiver value.
+</p>
+<p>
+  The method set and <i>implements</i> relation are also available
+  via the package view.
+</p>
+<img class="ss dotted" width='716' src='typeinfo-pkg.png'>
+
+<h2>Pointer analysis features</h2>
+<p>
+  <code>godoc -analysis=pointer</code> additionally performs a precise
+  whole-program <b>pointer analysis</b>.  In other words, it
+  approximates the set of memory locations to which each
+  reference&mdash;not just vars of kind <code>*T</code>, but also
+  <code>[]T</code>, <code>func</code>, <code>map</code>,
+  <code>chan</code>, and <code>interface</code>&mdash;may refer.  This
+  information reveals the possible destinations of each dynamic call
+  (via a <code>func</code> variable or interface method), and the
+  relationship between send and receive operations on the same
+  channel.
+</p>
+<p>
+  Compared to type analysis, pointer analysis requires more time and
+  memory, and is impractical for code bases exceeding a million lines.
+</p>
+
+<h3>Call graph navigation</h3>
+<p>
+  When pointer analysis is complete, the source view annotates the
+  code with <b>callers</b> and <b>callees</b> information: callers
+  information is associated with the <code>func</code> keyword that
+  declares a function, and callees information is associated with the
+  open paren '<span style="color: dark-blue"><code>(</code></span>' of
+  a function call.
+</p>
+<p>
+  In this example, hovering over the declaration of the
+  <code>rot13</code> function (defined in strings/strings_test.go)
+  reveals that it is called in exactly one place.
+</p>
+<img class="ss" width='612' src='callers1.png'>
+<p>
+  Clicking the link navigates to the sole caller.  (If there were
+  multiple callers, a list of choices would be displayed first.)
+</p>
+<img class="ss" width='680' src='callers2.png'>
+<p>
+  Notice that hovering over this call reveals that there are 19
+  possible callees at this site, of which our <code>rot13</code>
+  function was just one: this is a dynamic call through a variable of
+  type <code>func(rune) rune</code>.
+
+  Clicking on the call brings up the list of all 19 potential callees,
+  shown truncated.  Many of them are anonymous functions.
+</p>
+<img class="ss" width='564' src='call3.png'>
+<p>
+  Pointer analysis gives a very precise approximation of the call
+  graph compared to type-based techniques.
+
+  As a case in point, the next example shows the dynamic call inside
+  the <code>testing</code> package responsible for calling all
+  user-defined functions named <code>Example<i>XYZ</i></code>.
+</p>
+<img class="ss" width='361' src='call-eg.png'>
+<p>
+  Recall that all such functions have type <code>func()</code>,
+  i.e. no arguments and no results.  A type-based approximation could
+  only conclude that this call might dispatch to any function matching
+  that type&mdash;and these are very numerous in most
+  programs&mdash;but pointer analysis can track the flow of specific
+  <code>func</code> values through the testing package.
+
+  As an indication of its precision, the result contains only
+  functions whose name starts with <code>Example</code>.
+</p>
+
+<h3>Intra-package call graph</h3>
+<p>
+  The same call graph information is presented in a very different way
+  in the package view.  For each package, an interactive tree view
+  allows exploration of the call graph as it relates to just that
+  package; all functions from other packages are elided.
+
+  The roots of the tree are the external entry points of the package:
+  not only its exported functions, but also any unexported or
+  anonymous functions that are called (dynamically) from outside the
+  package.
+</p>
+<p>
+  This example shows the entry points of the
+  <code>path/filepath</code> package, with the call graph for
+  <code>Glob</code> expanded several levels
+</p>
+<img class="ss dotted" width='501' src='ipcg-pkg.png'>
+<p>
+  Notice that the nodes for Glob and Join appear multiple times: the
+  tree is a partial unrolling of a cyclic graph; the full unrolling
+  is in general infinite.
+</p>
+<p>
+  For each function documented in the package view, another
+  interactive tree view allows exploration of the same graph starting
+  at that function.
+
+  This is a portion of the internal graph of
+  <code>net/http.ListenAndServe</code>.
+</p>
+<img class="ss dotted" width='455' src='ipcg-func.png'>
+
+<h3>Channel peers (send ↔ receive)</h3>
+<p>
+  Because concurrent Go programs use channels to pass not just values
+  but also control between different goroutines, it is natural when
+  reading Go code to want to navigate from a channel send to the
+  corresponding receive so as to understand the sequence of events.
+</p>
+<p>
+  Godoc annotates every channel operation&mdash;make, send, range,
+  receive, close&mdash;with a link to a panel displaying information
+  about other operations that might alias the same channel.
+</p>
+<p>
+  This example, from the tests of <code>net/http</code>, shows a send
+  operation on a <code>chan bool</code>.
+</p>
+<img class="ss" width='811' src='chan1.png'>
+<p>
+  Clicking on the <code>&lt;-</code> send operator reveals that this
+  channel is made at a unique location (line 332) and that there are
+  three receive operations that might read this value.
+
+  It hardly needs pointing out that some channel element types are
+  very widely used (e.g. struct{}, bool, int, interface{}) and that a
+  typical Go program might contain dozens of receive operations on a
+  value of type <code>chan bool</code>; yet the pointer analysis is
+  able to distinguish operations on channels at a much finer precision
+  than based on their type alone.
+</p>
+<p>
+  Notice also that the send occurs in a different (anonymous) function
+  from the outer one containing the <code>make</code> and the receive
+  operations.
+</p>
+<p>
+  Here's another example of send on a different <code>chan
+  bool</code>, also in package <code>net/http</code>:
+</p>
+<img class="ss" width='774' src='chan2a.png'>
+<p>
+  The analysis finds just one receive operation that might receive
+  from this channel, in the test for this feature.
+</p>
+<img class="ss" width='737' src='chan2b.png'>
+
+<h2>Known issues</h2>
+<p>
+  All analysis results pertain to exactly
+  one configuration (e.g. amd64 linux).  Files that are conditionally
+  compiled based on different platforms or build tags are not visible
+  to the analysis.
+</p>
+<p>
+  Files that <code>import "C"</code> require
+  preprocessing by the cgo tool.  The file offsets after preprocessing
+  do not align with the unpreprocessed file, so markup is misaligned.
+</p>
+<p>
+  Files are not periodically re-analyzed.
+  If the files change underneath the running server, the displayed
+  markup is misaligned.
+</p>
+<p>
+  Additional issues are listed at
+  <a href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.
+</p>
_content/lib/godoc/analysis/ident-def.png

	
_content/lib/godoc/analysis/ident-field.png

	
_content/lib/godoc/analysis/ident-func.png

	
_content/lib/godoc/analysis/ipcg-func.png

	
_content/lib/godoc/analysis/ipcg-pkg.png

	
_content/lib/godoc/analysis/typeinfo-pkg.png

	
_content/lib/godoc/analysis/typeinfo-src.png

	
_content/lib/godoc/codewalk.html
@@ -0,0 +1,56 @@
+<!--
+	Copyright 2010 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<style type='text/css'>@import "/doc/codewalk/codewalk.css";</style>
+<script type="text/javascript" src="/doc/codewalk/codewalk.js"></script>
+
+<div id="codewalk-main">
+  <div class="left" id="code-column">
+    <div id='sizer'></div>
+    <div id="code-area">
+      <div id="code-header" align="center">
+        <a id="code-popout-link" href="" target="_blank">
+          <img title="View code in new window" alt="Pop Out Code" src="/doc/codewalk/popout.png" style="display: block; float: right;"/>
+        </a>
+        <select id="code-selector">
+          {{range .File}}
+          <option value="/doc/codewalk/?fileprint=/{{urlquery .}}">{{html .}}</option>
+          {{end}}
+        </select>
+      </div>
+      <div id="code">
+        <iframe class="code-display" name="code-display" id="code-display"></iframe>
+      </div>
+    </div>
+    <div id="code-options" class="setting">
+      <span>code on <a id="set-code-left" class="selected" href="#">left</a> &bull; <a id="set-code-right" href="#">right</a></span>
+      <span>code width <span id="code-column-width">70%</span></span>
+      <span>filepaths <a id="show-filepaths" class="selected" href="#">shown</a> &bull; <a id="hide-filepaths" href="#">hidden</a></span>
+    </div>
+  </div>
+  <div class="right" id="comment-column">
+    <div id="comment-area">
+      {{range .Step}}
+      <div class="comment first last">
+        <a class="comment-link" href="/doc/codewalk/?fileprint=/{{urlquery .File}}&amp;lo={{urlquery .Lo}}&amp;hi={{urlquery .Hi}}#mark" target="code-display"></a>
+        <div class="comment-title">{{html .Title}}</div>
+        <div class="comment-text">
+	{{with .Err}}
+	ERROR LOADING FILE: {{html .}}<br/><br/>
+	{{end}}
+        {{.XML}}
+        </div>
+        <div class="comment-text file-name"><span class="path-file">{{html .}}</span></div>
+      </div>
+      {{end}}
+    </div>
+    <div id="comment-options" class="setting">
+      <a id="prev-comment" href="#"><span class="hotkey">p</span>revious step</a>
+      &bull;
+      <a id="next-comment" href="#"><span class="hotkey">n</span>ext step</a>
+    </div>
+  </div>
+</div>
_content/lib/godoc/codewalkdir.html
@@ -0,0 +1,16 @@
+<!--
+	Copyright 2010 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<table class="layout">
+{{range .}}
+<tr>
+	{{$name_html := html .Name}}
+	<td><a href="{{$name_html}}">{{$name_html}}</a></td>
+	<td width="25">&nbsp;</td>
+	<td>{{html .Title}}</td>
+</tr>
+{{end}}
+</table>
_content/lib/godoc/dirlist.html
@@ -0,0 +1,31 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<p>
+<table class="layout">
+<tr>
+	<th align="left">File</th>
+	<td width="25">&nbsp;</td>
+	<th align="right">Bytes</th>
+	<td width="25">&nbsp;</td>
+	<th align="left">Modified</th>
+</tr>
+<tr>
+	<td><a href="..">..</a></td>
+</tr>
+{{range .}}
+<tr>
+	{{$name_html := fileInfoName . | html}}
+	<td align="left"><a href="{{$name_html}}">{{$name_html}}</a></td>
+	<td></td>
+	<td align="right">{{html .Size}}</td>
+	<td></td>
+	<td align="left">{{fileInfoTime . | html}}</td>
+</tr>
+{{end}}
+
+</table>
+</p>
_content/lib/godoc/error.html
@@ -0,0 +1,9 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<p>
+<span class="alert" style="font-size:120%">{{html .}}</span>
+</p>
_content/lib/godoc/example.html
@@ -0,0 +1,30 @@
+<div id="example_{{.Name}}" class="toggle">
+  <div class="collapsed">
+    <p class="exampleHeading toggleButton">▹ <span class="text">Example{{example_suffix .Name}}</span></p>
+  </div>
+  <div class="expanded">
+    <p class="exampleHeading toggleButton">▾ <span class="text">Example{{example_suffix .Name}}</span></p>
+    {{with .Doc}}<p>{{html .}}</p>{{end}}
+    {{$output := .Output}}
+    {{with .Play}}
+      <div class="play">
+        <div class="input"><textarea class="code" spellcheck="false">{{html .}}</textarea></div>
+        <div class="output"><pre>{{html $output}}</pre></div>
+        <div class="buttons">
+          <button class="Button Button--primary run" title="Run this code [shift-enter]">Run</button>
+          <button class="Button fmt" title="Format this code">Format</button>
+          {{if not $.GoogleCN}}
+            <button class="Button share" title="Share this code">Share</button>
+          {{end}}
+        </div>
+      </div>
+    {{else}}
+      <p>Code:</p>
+      <pre class="code">{{.Code}}</pre>
+      {{with .Output}}
+        <p>Output:</p>
+        <pre class="output">{{html .}}</pre>
+      {{end}}
+    {{end}}
+  </div>
+</div>
_content/lib/godoc/godoc.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="utf-8">
+<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="theme-color" content="#00ADD8">
+{{with .Tabtitle}}
+  <title>{{html .}} - The Go Programming Language</title>
+{{else}}
+  <title>The Go Programming Language</title>
+{{end}}
+<link href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700" rel="stylesheet">
+<link href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap" rel="stylesheet">
+<link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
+{{if .SearchBox}}
+<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="/opensearch.xml" />
+{{end}}
+<script>window.initFuncs = [];</script>
+{{with .GoogleAnalytics}}
+<script>
+var _gaq = _gaq || [];
+_gaq.push(["_setAccount", "{{.}}"]);
+window.trackPageview = function() {
+  _gaq.push(["_trackPageview", location.pathname+location.hash]);
+};
+window.trackPageview();
+window.trackEvent = function(category, action, opt_label, opt_value, opt_noninteraction) {
+  _gaq.push(["_trackEvent", category, action, opt_label, opt_value, opt_noninteraction]);
+};
+</script>
+{{end}}
+<script src="/lib/godoc/jquery.js" defer></script>
+
+{{if .Playground}}
+<script src="/lib/godoc/playground.js" defer></script>
+{{end}}
+{{with .Version}}<script>var goVersion = {{printf "%q" .}};</script>{{end}}
+<script src="/lib/godoc/godocs.js" defer></script>
+
+<body class="Site">
+<header class="Header js-header">
+  <div class="Header-banner">
+    Black Lives Matter.
+    <a href="https://support.eji.org/give/153413/#!/donation/checkout"
+       target="_blank"
+       rel="noopener">Support the Equal Justice Initiative.</a>
+  </div>
+  <nav class="Header-nav {{if .Title}}Header-nav--wide{{end}}">
+    <a href="/"><img class="Header-logo" src="/lib/godoc/images/go-logo-blue.svg" alt="Go"></a>
+    <button class="Header-menuButton js-headerMenuButton" aria-label="Main menu" aria-expanded="false">
+      <div class="Header-menuButtonInner"></div>
+    </button>
+    <ul class="Header-menu">
+      <li class="Header-menuItem"><a href="/doc/">Documents</a></li>
+      <li class="Header-menuItem"><a href="/pkg/">Packages</a></li>
+      <li class="Header-menuItem"><a href="/project/">The Project</a></li>
+      <li class="Header-menuItem"><a href="/help/">Help</a></li>
+      {{if not .GoogleCN}}
+        <li class="Header-menuItem"><a href="/blog/">Blog</a></li>
+        {{if .Playground}}
+          <li class="Header-menuItem"><a href="https://play.golang.org/">Play</a></li>
+        {{end}}
+      {{end}}
+    </ul>
+  </nav>
+</header>
+
+<main id="page" class="Site-content{{if .Title}} wide{{end}}">
+<div class="container">
+
+{{if or .Title .SrcPath}}
+  <h1>
+    {{html .Title}}
+    {{html .SrcPath | srcBreadcrumb}}
+  </h1>
+{{end}}
+
+{{with .Subtitle}}
+  <h2>{{html .}}</h2>
+{{end}}
+
+{{with .SrcPath}}
+  <h2>
+    Documentation: {{html . | srcToPkgLink}}
+  </h2>
+{{end}}
+
+{{/* The Table of Contents is automatically inserted in this <div>.
+     Do not delete this <div>. */}}
+<div id="nav"></div>
+
+{{/* Body is HTML-escaped elsewhere */}}
+{{printf "%s" .Body}}
+
+</div><!-- .container -->
+</main><!-- #page -->
+<footer>
+  <div class="Footer {{if .Title}}Footer--wide{{end}}">
+    <img class="Footer-gopher" src="/lib/godoc/images/footer-gopher.jpg" alt="The Go Gopher">
+    <ul class="Footer-links">
+      <li class="Footer-link"><a href="/doc/copyright.html">Copyright</a></li>
+      <li class="Footer-link"><a href="/doc/tos.html">Terms of Service</a></li>
+      <li class="Footer-link"><a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a></li>
+      <li class="Footer-link"><a href="http://golang.org/issues/new?title=x/website:" target="_blank" rel="noopener">Report a website issue</a></li>
+    </ul>
+    <a class="Footer-supportedBy" href="https://google.com">Supported by Google</a>
+  </div>
+</footer>
+{{if .GoogleAnalytics}}
+<script>
+(function() {
+  var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
+  ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
+  var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+{{end}}
+
_content/lib/godoc/godocs.js
@@ -0,0 +1,381 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+/* A little code to ease navigation of these documents.
+ *
+ * On window load we:
+ *  + Generate a table of contents (generateTOC)
+ *  + Bind foldable sections (bindToggles)
+ *  + Bind links to foldable sections (bindToggleLinks)
+ */
+
+(function() {
+  'use strict';
+
+  var headerEl = document.querySelector('.js-header');
+  var menuButtonEl = document.querySelector('.js-headerMenuButton');
+  menuButtonEl.addEventListener('click', function(e) {
+    e.preventDefault();
+    headerEl.classList.toggle('is-active');
+    menuButtonEl.setAttribute(
+      'aria-expanded',
+      headerEl.classList.contains('is-active')
+    );
+  });
+
+  /* Generates a table of contents: looks for h2 and h3 elements and generates
+   * links. "Decorates" the element with id=="nav" with this table of contents.
+   */
+  function generateTOC() {
+    if ($('#manual-nav').length > 0) {
+      return;
+    }
+
+    // For search, we send the toc precomputed from server-side.
+    // TODO: Ideally, this should always be precomputed for all pages, but then
+    // we need to do HTML parsing on the server-side.
+    if (location.pathname === '/search') {
+      return;
+    }
+
+    var nav = $('#nav');
+    if (nav.length === 0) {
+      return;
+    }
+
+    var toc_items = [];
+    $(nav)
+      .nextAll('h2, h3')
+      .each(function() {
+        var node = this;
+        if (node.id == '') node.id = 'tmp_' + toc_items.length;
+        var link = $('<a/>')
+          .attr('href', '#' + node.id)
+          .text($(node).text());
+        var item;
+        if ($(node).is('h2')) {
+          item = $('<dt/>');
+        } else {
+          // h3
+          item = $('<dd class="indent"/>');
+        }
+        item.append(link);
+        toc_items.push(item);
+      });
+    if (toc_items.length <= 1) {
+      return;
+    }
+    var dl1 = $('<dl/>');
+    var dl2 = $('<dl/>');
+
+    var split_index = toc_items.length / 2 + 1;
+    if (split_index < 8) {
+      split_index = toc_items.length;
+    }
+    for (var i = 0; i < split_index; i++) {
+      dl1.append(toc_items[i]);
+    }
+    for (; /* keep using i */ i < toc_items.length; i++) {
+      dl2.append(toc_items[i]);
+    }
+
+    var tocTable = $('<table class="unruled"/>').appendTo(nav);
+    var tocBody = $('<tbody/>').appendTo(tocTable);
+    var tocRow = $('<tr/>').appendTo(tocBody);
+
+    // 1st column
+    $('<td class="first"/>')
+      .appendTo(tocRow)
+      .append(dl1);
+    // 2nd column
+    $('<td/>')
+      .appendTo(tocRow)
+      .append(dl2);
+  }
+
+  function bindToggle(el) {
+    $('.toggleButton', el).click(function() {
+      if ($(this).closest('.toggle, .toggleVisible')[0] != el) {
+        // Only trigger the closest toggle header.
+        return;
+      }
+
+      if ($(el).is('.toggle')) {
+        $(el)
+          .addClass('toggleVisible')
+          .removeClass('toggle');
+      } else {
+        $(el)
+          .addClass('toggle')
+          .removeClass('toggleVisible');
+      }
+    });
+  }
+
+  function bindToggles(selector) {
+    $(selector).each(function(i, el) {
+      bindToggle(el);
+    });
+  }
+
+  function bindToggleLink(el, prefix) {
+    $(el).click(function() {
+      var href = $(el).attr('href');
+      var i = href.indexOf('#' + prefix);
+      if (i < 0) {
+        return;
+      }
+      var id = '#' + prefix + href.slice(i + 1 + prefix.length);
+      if ($(id).is('.toggle')) {
+        $(id)
+          .find('.toggleButton')
+          .first()
+          .click();
+      }
+    });
+  }
+  function bindToggleLinks(selector, prefix) {
+    $(selector).each(function(i, el) {
+      bindToggleLink(el, prefix);
+    });
+  }
+
+  function setupInlinePlayground() {
+    'use strict';
+    // Set up playground when each element is toggled.
+    $('div.play').each(function(i, el) {
+      // Set up playground for this example.
+      var setup = function() {
+        var code = $('.code', el);
+        playground({
+          codeEl: code,
+          outputEl: $('.output', el),
+          runEl: $('.run', el),
+          fmtEl: $('.fmt', el),
+          shareEl: $('.share', el),
+          shareRedirect: '//play.golang.org/p/',
+        });
+
+        // Make the code textarea resize to fit content.
+        var resize = function() {
+          code.height(0);
+          var h = code[0].scrollHeight;
+          code.height(h + 20); // minimize bouncing.
+          code.closest('.input').height(h);
+        };
+        code.on('keydown', resize);
+        code.on('keyup', resize);
+        code.keyup(); // resize now.
+      };
+
+      // If example already visible, set up playground now.
+      if ($(el).is(':visible')) {
+        setup();
+        return;
+      }
+
+      // Otherwise, set up playground when example is expanded.
+      var built = false;
+      $(el)
+        .closest('.toggle')
+        .click(function() {
+          // Only set up once.
+          if (!built) {
+            setup();
+            built = true;
+          }
+        });
+    });
+  }
+
+  // fixFocus tries to put focus to #page so that keyboard navigation works.
+  function fixFocus() {
+    var page = $('#page');
+    var topbar = $('div#topbar');
+    page.css('outline', 0); // disable outline when focused
+    page.attr('tabindex', -1); // and set tabindex so that it is focusable
+    $(window)
+      .resize(function(evt) {
+        // only focus page when the topbar is at fixed position (that is, it's in
+        // front of page, and keyboard event will go to the former by default.)
+        // by focusing page, keyboard event will go to page so that up/down arrow,
+        // space, etc. will work as expected.
+        if (topbar.css('position') == 'fixed') page.focus();
+      })
+      .resize();
+  }
+
+  function toggleHash() {
+    var id = window.location.hash.substring(1);
+    // Open all of the toggles for a particular hash.
+    var els = $(
+      document.getElementById(id),
+      $('a[name]').filter(function() {
+        return $(this).attr('name') == id;
+      })
+    );
+
+    while (els.length) {
+      for (var i = 0; i < els.length; i++) {
+        var el = $(els[i]);
+        if (el.is('.toggle')) {
+          el.find('.toggleButton')
+            .first()
+            .click();
+        }
+      }
+      els = el.parent();
+    }
+  }
+
+  function personalizeInstallInstructions() {
+    var prefix = '?download=';
+    var s = window.location.search;
+    if (s.indexOf(prefix) != 0) {
+      // No 'download' query string; detect "test" instructions from User Agent.
+      if (navigator.platform.indexOf('Win') != -1) {
+        $('.testUnix').hide();
+        $('.testWindows').show();
+      } else {
+        $('.testUnix').show();
+        $('.testWindows').hide();
+      }
+      return;
+    }
+
+    var filename = s.substr(prefix.length);
+    var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/;
+    var m = filenameRE.exec(filename);
+    if (!m) {
+      // Can't interpret file name; bail.
+      return;
+    }
+    $('.downloadFilename').text(filename);
+    $('.hideFromDownload').hide();
+
+    var os = m[3];
+    var ext = m[6];
+    if (ext != 'tar.gz') {
+      $('#tarballInstructions').hide();
+    }
+    if (os != 'darwin' || ext != 'pkg') {
+      $('#darwinPackageInstructions').hide();
+    }
+    if (os != 'windows') {
+      $('#windowsInstructions').hide();
+      $('.testUnix').show();
+      $('.testWindows').hide();
+    } else {
+      if (ext != 'msi') {
+        $('#windowsInstallerInstructions').hide();
+      }
+      if (ext != 'zip') {
+        $('#windowsZipInstructions').hide();
+      }
+      $('.testUnix').hide();
+      $('.testWindows').show();
+    }
+
+    var download = '/dl/' + filename;
+
+    var message = $(
+      '<p class="downloading">' +
+        'Your download should begin shortly. ' +
+        'If it does not, click <a>this link</a>.</p>'
+    );
+    message.find('a').attr('href', download);
+    message.insertAfter('#nav');
+
+    window.location = download;
+  }
+
+  function updateVersionTags() {
+    var v = window.goVersion;
+    if (/^go[0-9.]+$/.test(v)) {
+      $('.versionTag')
+        .empty()
+        .text(v);
+      $('.whereTag').hide();
+    }
+  }
+
+  function addPermalinks() {
+    function addPermalink(source, parent) {
+      var id = source.attr('id');
+      if (id == '' || id.indexOf('tmp_') === 0) {
+        // Auto-generated permalink.
+        return;
+      }
+      if (parent.find('> .permalink').length) {
+        // Already attached.
+        return;
+      }
+      parent
+        .append(' ')
+        .append($("<a class='permalink'>&#xb6;</a>").attr('href', '#' + id));
+    }
+
+    $('#page .container')
+      .find('h2[id], h3[id]')
+      .each(function() {
+        var el = $(this);
+        addPermalink(el, el);
+      });
+
+    $('#page .container')
+      .find('dl[id]')
+      .each(function() {
+        var el = $(this);
+        // Add the anchor to the "dt" element.
+        addPermalink(el, el.find('> dt').first());
+      });
+  }
+
+  $('.js-expandAll').click(function() {
+    if ($(this).hasClass('collapsed')) {
+      toggleExamples('toggle');
+      $(this).text('(Collapse All)');
+    } else {
+      toggleExamples('toggleVisible');
+      $(this).text('(Expand All)');
+    }
+    $(this).toggleClass('collapsed');
+  });
+
+  function toggleExamples(className) {
+    // We need to explicitly iterate through divs starting with "example_"
+    // to avoid toggling Overview and Index collapsibles.
+    $("[id^='example_']").each(function() {
+      // Check for state and click it only if required.
+      if ($(this).hasClass(className)) {
+        $(this)
+          .find('.toggleButton')
+          .first()
+          .click();
+      }
+    });
+  }
+
+  $(document).ready(function() {
+    generateTOC();
+    addPermalinks();
+    bindToggles('.toggle');
+    bindToggles('.toggleVisible');
+    bindToggleLinks('.exampleLink', 'example_');
+    bindToggleLinks('.overviewLink', '');
+    bindToggleLinks('.examplesLink', '');
+    bindToggleLinks('.indexLink', '');
+    setupInlinePlayground();
+    fixFocus();
+    toggleHash();
+    personalizeInstallInstructions();
+    updateVersionTags();
+
+    // godoc.html defines window.initFuncs in the <head> tag, and root.html and
+    // codewalk.js push their on-page-ready functions to the list.
+    // We execute those functions here, to avoid loading jQuery until the page
+    // content is loaded.
+    for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i]();
+  });
+})();
_content/lib/godoc/images/cloud-download.svg
@@ -0,0 +1,1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="#202224" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zm-5.55-8h-2.9v3H8l4 4 4-4h-2.55z"/></svg>
_content/lib/godoc/images/footer-gopher.jpg

	
_content/lib/godoc/images/go-logo-blue.svg
@@ -0,0 +1,1 @@
+<svg height="78" viewBox="0 0 207 78" width="207" xmlns="http://www.w3.org/2000/svg"><g fill="#00acd7" fill-rule="evenodd"><path d="m16.2 24.1c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h35.7c.4 0 .5.3.3.6l-1.7 2.6c-.2.3-.7.6-1 .6z"/><path d="m1.1 33.3c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h45.6c.4 0 .6.3.5.6l-.8 2.4c-.1.4-.5.6-.9.6z"/><path d="m25.3 42.5c-.4 0-.5-.3-.3-.6l1.4-2.5c.2-.3.6-.6 1-.6h20c.4 0 .6.3.6.7l-.2 2.4c0 .4-.4.7-.7.7z"/><g transform="translate(55)"><path d="m74.1 22.3c-6.3 1.6-10.6 2.8-16.8 4.4-1.5.4-1.6.5-2.9-1-1.5-1.7-2.6-2.8-4.7-3.8-6.3-3.1-12.4-2.2-18.1 1.5-6.8 4.4-10.3 10.9-10.2 19 .1 8 5.6 14.6 13.5 15.7 6.8.9 12.5-1.5 17-6.6.9-1.1 1.7-2.3 2.7-3.7-3.6 0-8.1 0-19.3 0-2.1 0-2.6-1.3-1.9-3 1.3-3.1 3.7-8.3 5.1-10.9.3-.6 1-1.6 2.5-1.6h36.4c-.2 2.7-.2 5.4-.6 8.1-1.1 7.2-3.8 13.8-8.2 19.6-7.2 9.5-16.6 15.4-28.5 17-9.8 1.3-18.9-.6-26.9-6.6-7.4-5.6-11.6-13-12.7-22.2-1.3-10.9 1.9-20.7 8.5-29.3 7.1-9.3 16.5-15.2 28-17.3 9.4-1.7 18.4-.6 26.5 4.9 5.3 3.5 9.1 8.3 11.6 14.1.6.9.2 1.4-1 1.7z"/><path d="m107.2 77.6c-9.1-.2-17.4-2.8-24.4-8.8-5.9-5.1-9.6-11.6-10.8-19.3-1.8-11.3 1.3-21.3 8.1-30.2 7.3-9.6 16.1-14.6 28-16.7 10.2-1.8 19.8-.8 28.5 5.1 7.9 5.4 12.8 12.7 14.1 22.3 1.7 13.5-2.2 24.5-11.5 33.9-6.6 6.7-14.7 10.9-24 12.8-2.7.5-5.4.6-8 .9zm23.8-40.4c-.1-1.3-.1-2.3-.3-3.3-1.8-9.9-10.9-15.5-20.4-13.3-9.3 2.1-15.3 8-17.5 17.4-1.8 7.8 2 15.7 9.2 18.9 5.5 2.4 11 2.1 16.3-.6 7.9-4.1 12.2-10.5 12.7-19.1z" fill-rule="nonzero"/></g></g></svg>
\ No newline at end of file
_content/lib/godoc/images/home-gopher.png

	
_content/lib/godoc/images/minus.gif

	
_content/lib/godoc/images/play-link.svg
@@ -0,0 +1,1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="#00758d" d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"/></svg>
_content/lib/godoc/images/plus.gif

	
_content/lib/godoc/images/treeview-black-line.gif

	
_content/lib/godoc/images/treeview-black.gif

	
_content/lib/godoc/images/treeview-default-line.gif

	
_content/lib/godoc/images/treeview-default.gif

	
_content/lib/godoc/images/treeview-gray-line.gif

	
_content/lib/godoc/images/treeview-gray.gif

	
_content/lib/godoc/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v1.8.2 jquery.com | jquery.org/license */
+(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
\ No newline at end of file
_content/lib/godoc/opensearch.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
+  <ShortName>godoc</ShortName>
+  <Description>The Go Programming Language</Description>
+  <Tags>go golang</Tags>
+  <Contact />
+  <Url type="text/html" template="{{.BaseURL}}/search?q={searchTerms}" />
+  <Image height="15" width="16" type="image/x-icon">/favicon.ico</Image>
+  <OutputEncoding>UTF-8</OutputEncoding>
+  <InputEncoding>UTF-8</InputEncoding>
+</OpenSearchDescription>
_content/lib/godoc/package.html
@@ -0,0 +1,243 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+<!--
+	Note: Static (i.e., not template-generated) href and id
+	attributes start with "pkg-" to make it impossible for
+	them to conflict with generated attributes (some of which
+	correspond to Go identifiers).
+-->
+{{with .PDoc}}
+	{{if $.IsMain}}
+		{{/* command documentation */}}
+		{{comment_html .Doc}}
+	{{else}}
+		{{/* package documentation */}}
+		<div id="short-nav">
+			<dl>
+			<dd><code>import "{{html .ImportPath}}"</code></dd>
+			</dl>
+			<dl>
+			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
+			<dd><a href="#pkg-index" class="indexLink">Index</a></dd>
+			{{if $.Examples}}
+				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
+			{{end}}
+			{{if $.Dirs}}
+				<dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
+			{{end}}
+			</dl>
+		</div>
+		<!-- The package's Name is printed as title by the top-level template -->
+		<div id="pkg-overview" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
+				{{comment_html .Doc}}
+				{{example_html $ ""}}
+			</div>
+		</div>
+
+		<div id="pkg-index" class="toggleVisible">
+		<div class="collapsed">
+			<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
+		</div>
+		<div class="expanded">
+			<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
+
+		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
+			<div id="manual-nav">
+			<dl>
+			{{if .Consts}}
+				<dd><a href="#pkg-constants">Constants</a></dd>
+			{{end}}
+			{{if .Vars}}
+				<dd><a href="#pkg-variables">Variables</a></dd>
+			{{end}}
+			{{range .Funcs}}
+				{{$name_html := html .Name}}
+				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+			{{end}}
+			{{range .Types}}
+				{{$tname_html := html .Name}}
+				<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
+				{{range .Funcs}}
+					{{$name_html := html .Name}}
+					<dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+				{{end}}
+				{{range .Methods}}
+					{{$name_html := html .Name}}
+					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+				{{end}}
+			{{end}}
+			{{if $.Notes}}
+				{{range $marker, $item := $.Notes}}
+				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
+				{{end}}
+			{{end}}
+			</dl>
+			</div><!-- #manual-nav -->
+
+		{{if $.Examples}}
+		<div id="pkg-examples">
+			<h3>Examples</h3>
+			<div class="js-expandAll expandAll collapsed">(Expand All)</div>
+			<dl>
+			{{range $.Examples}}
+			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
+			{{end}}
+			</dl>
+		</div>
+		{{end}}
+
+		{{with .Filenames}}
+			<h3>Package files</h3>
+			<p>
+			<span style="font-size:90%">
+			{{range .}}
+				<a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
+			{{end}}
+			</span>
+			</p>
+		{{end}}
+		</div><!-- .expanded -->
+		</div><!-- #pkg-index -->
+
+		{{with .Consts}}
+			<h2 id="pkg-constants">Constants</h2>
+			{{range .}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+		{{end}}
+		{{with .Vars}}
+			<h2 id="pkg-variables">Variables</h2>
+			{{range .}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+		{{end}}
+		{{range .Funcs}}
+			{{/* Name is a string - no need for FSet */}}
+			{{$name_html := html .Name}}
+			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+				<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
+				{{$since := since "func" "" .Name $.PDoc.ImportPath}}
+				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+			</h2>
+			<pre>{{node_html $ .Decl true}}</pre>
+			{{comment_html .Doc}}
+			{{example_html $ .Name}}
+
+		{{end}}
+		{{range .Types}}
+			{{$tname := .Name}}
+			{{$tname_html := html .Name}}
+			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
+				<a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
+				{{$since := since "type" "" .Name $.PDoc.ImportPath}}
+				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+			</h2>
+			{{comment_html .Doc}}
+			<pre>{{node_html $ .Decl true}}</pre>
+
+			{{range .Consts}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+
+			{{range .Vars}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+
+			{{example_html $ $tname}}
+
+			{{range .Funcs}}
+				{{$name_html := html .Name}}
+				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+					<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
+					{{$since := since "func" "" .Name $.PDoc.ImportPath}}
+					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+				</h3>
+				<pre>{{node_html $ .Decl true}}</pre>
+				{{comment_html .Doc}}
+				{{example_html $ .Name}}
+			{{end}}
+
+			{{range .Methods}}
+				{{$name_html := html .Name}}
+				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+					<a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
+					{{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
+					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+				</h3>
+				<pre>{{node_html $ .Decl true}}</pre>
+				{{comment_html .Doc}}
+				{{$name := printf "%s_%s" $tname .Name}}
+				{{example_html $ $name}}
+			{{end}}
+		{{end}}
+	{{end}}
+
+	{{with $.Notes}}
+		{{range $marker, $content := .}}
+			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
+			<ul style="list-style: none; padding: 0;">
+			{{range .}}
+			<li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html .Body}}</li>
+			{{end}}
+			</ul>
+		{{end}}
+	{{end}}
+{{end}}
+
+{{with .PAst}}
+	{{range $filename, $ast := .}}
+		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
+	{{end}}
+{{end}}
+
+{{with .Dirs}}
+	{{/* DirList entries are numbers and strings - no need for FSet */}}
+	{{if $.PDoc}}
+		<h2 id="pkg-subdirectories">Subdirectories</h2>
+	{{end}}
+	<div class="pkg-dir">
+		<table>
+			<tr>
+				<th class="pkg-name">Name</th>
+				<th class="pkg-synopsis">Synopsis</th>
+			</tr>
+
+			{{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
+			<tr>
+				<td colspan="2"><a href="..">..</a></td>
+			</tr>
+			{{end}}
+
+			{{range .List}}
+				<tr>
+				{{if $.DirFlat}}
+					{{if .HasPkg}}
+						<td class="pkg-name">
+							<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+						</td>
+					{{end}}
+				{{else}}
+					<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+						<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+					</td>
+				{{end}}
+					<td class="pkg-synopsis">
+						{{html .Synopsis}}
+					</td>
+				</tr>
+			{{end}}
+		</table>
+	</div>
+{{end}}
_content/lib/godoc/packageroot.html
@@ -0,0 +1,150 @@
+<!--
+	Copyright 2018 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+<!--
+	Note: Static (i.e., not template-generated) href and id
+	attributes start with "pkg-" to make it impossible for
+	them to conflict with generated attributes (some of which
+	correspond to Go identifiers).
+-->
+{{with .PAst}}
+	{{range $filename, $ast := .}}
+		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
+	{{end}}
+{{end}}
+
+{{with .Dirs}}
+	{{/* DirList entries are numbers and strings - no need for FSet */}}
+	{{if $.PDoc}}
+		<h2 id="pkg-subdirectories">Subdirectories</h2>
+	{{end}}
+		<div id="manual-nav">
+			<dl>
+				<dt><a href="#stdlib">Standard library</a></dt>
+				{{if hasThirdParty .List }}
+					<dt><a href="#thirdparty">Third party</a></dt>
+				{{end}}
+				<dt><a href="#other">Other packages</a></dt>
+				<dd><a href="#subrepo">Sub-repositories</a></dd>
+				<dd><a href="#community">Community</a></dd>
+			</dl>
+		</div>
+
+		<div id="stdlib" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
+				<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
+				<div class="pkg-dir">
+					<table>
+						<tr>
+							<th class="pkg-name">Name</th>
+							<th class="pkg-synopsis">Synopsis</th>
+						</tr>
+
+						{{range .List}}
+							<tr>
+							{{if eq .RootType "GOROOT"}}
+							{{if $.DirFlat}}
+								{{if .HasPkg}}
+										<td class="pkg-name">
+											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+										</td>
+								{{end}}
+							{{else}}
+									<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+										<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+									</td>
+							{{end}}
+								<td class="pkg-synopsis">
+									{{html .Synopsis}}
+								</td>
+							{{end}}
+							</tr>
+						{{end}}
+					</table>
+				</div> <!-- .pkg-dir -->
+			</div> <!-- .expanded -->
+		</div> <!-- #stdlib .toggleVisible -->
+
+	{{if hasThirdParty .List }}
+		<div id="thirdparty" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Third party section">Third party ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Third party section">Third party ▾</h2>
+				<div class="pkg-dir">
+					<table>
+						<tr>
+							<th class="pkg-name">Name</th>
+							<th class="pkg-synopsis">Synopsis</th>
+						</tr>
+
+						{{range .List}}
+							<tr>
+								{{if eq .RootType "GOPATH"}}
+								{{if $.DirFlat}}
+									{{if .HasPkg}}
+											<td class="pkg-name">
+												<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+											</td>
+									{{end}}
+								{{else}}
+										<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+										</td>
+								{{end}}
+									<td class="pkg-synopsis">
+										{{html .Synopsis}}
+									</td>
+								{{end}}
+							</tr>
+						{{end}}
+					</table>
+				</div> <!-- .pkg-dir -->
+			</div> <!-- .expanded -->
+		</div> <!-- #stdlib .toggleVisible -->
+	{{end}}
+
+	<h2 id="other">Other packages</h2>
+	<h3 id="subrepo">Sub-repositories</h3>
+	<p>
+	These packages are part of the Go Project but outside the main Go tree.
+	They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
+	Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
+	</p>
+	<ul>
+		<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
+	</ul>
+
+	<h3 id="community">Community</h3>
+	<p>
+	These services can help you find Open Source packages provided by the community.
+	</p>
+	<ul>
+		<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
+		<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
+	</ul>
+{{end}}
_content/lib/godoc/play.js
@@ -0,0 +1,114 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+function initPlayground(transport) {
+  'use strict';
+
+  function text(node) {
+    var s = '';
+    for (var i = 0; i < node.childNodes.length; i++) {
+      var n = node.childNodes[i];
+      if (n.nodeType === 1) {
+        if (n.tagName === 'BUTTON') continue;
+        if (n.tagName === 'SPAN' && n.className === 'number') continue;
+        if (n.tagName === 'DIV' || n.tagName == 'BR') {
+          s += '\n';
+        }
+        s += text(n);
+        continue;
+      }
+      if (n.nodeType === 3) {
+        s += n.nodeValue;
+      }
+    }
+    return s.replace('\xA0', ' '); // replace non-breaking spaces
+  }
+
+  // When presenter notes are enabled, the index passed
+  // here will identify the playground to be synced
+  function init(code, index) {
+    var output = document.createElement('div');
+    var outpre = document.createElement('pre');
+    var running;
+
+    if ($ && $(output).resizable) {
+      $(output).resizable({
+        handles: 'n,w,nw',
+        minHeight: 27,
+        minWidth: 135,
+        maxHeight: 608,
+        maxWidth: 990,
+      });
+    }
+
+    function onKill() {
+      if (running) running.Kill();
+      if (window.notesEnabled) updatePlayStorage('onKill', index);
+    }
+
+    function onRun(e) {
+      var sk = e.shiftKey || localStorage.getItem('play-shiftKey') === 'true';
+      if (running) running.Kill();
+      output.style.display = 'block';
+      outpre.innerHTML = '';
+      run1.style.display = 'none';
+      var options = { Race: sk };
+      running = transport.Run(text(code), PlaygroundOutput(outpre), options);
+      if (window.notesEnabled) updatePlayStorage('onRun', index, e);
+    }
+
+    function onClose() {
+      if (running) running.Kill();
+      output.style.display = 'none';
+      run1.style.display = 'inline-block';
+      if (window.notesEnabled) updatePlayStorage('onClose', index);
+    }
+
+    if (window.notesEnabled) {
+      playgroundHandlers.onRun.push(onRun);
+      playgroundHandlers.onClose.push(onClose);
+      playgroundHandlers.onKill.push(onKill);
+    }
+
+    var run1 = document.createElement('button');
+    run1.innerHTML = 'Run';
+    run1.className = 'run';
+    run1.addEventListener('click', onRun, false);
+    var run2 = document.createElement('button');
+    run2.className = 'run';
+    run2.innerHTML = 'Run';
+    run2.addEventListener('click', onRun, false);
+    var kill = document.createElement('button');
+    kill.className = 'kill';
+    kill.innerHTML = 'Kill';
+    kill.addEventListener('click', onKill, false);
+    var close = document.createElement('button');
+    close.className = 'close';
+    close.innerHTML = 'Close';
+    close.addEventListener('click', onClose, false);
+
+    var button = document.createElement('div');
+    button.classList.add('buttons');
+    button.appendChild(run1);
+    // Hack to simulate insertAfter
+    code.parentNode.insertBefore(button, code.nextSibling);
+
+    var buttons = document.createElement('div');
+    buttons.classList.add('buttons');
+    buttons.appendChild(run2);
+    buttons.appendChild(kill);
+    buttons.appendChild(close);
+
+    output.classList.add('output');
+    output.appendChild(buttons);
+    output.appendChild(outpre);
+    output.style.display = 'none';
+    code.parentNode.insertBefore(output, button.nextSibling);
+  }
+
+  var play = document.querySelectorAll('div.playground');
+  for (var i = 0; i < play.length; i++) {
+    init(play[i], i);
+  }
+}
_content/lib/godoc/playground.js
@@ -0,0 +1,575 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+/*
+In the absence of any formal way to specify interfaces in JavaScript,
+here's a skeleton implementation of a playground transport.
+
+        function Transport() {
+                // Set up any transport state (eg, make a websocket connection).
+                return {
+                        Run: function(body, output, options) {
+                                // Compile and run the program 'body' with 'options'.
+				// Call the 'output' callback to display program output.
+                                return {
+                                        Kill: function() {
+                                                // Kill the running program.
+                                        }
+                                };
+                        }
+                };
+        }
+
+	// The output callback is called multiple times, and each time it is
+	// passed an object of this form.
+        var write = {
+                Kind: 'string', // 'start', 'stdout', 'stderr', 'end'
+                Body: 'string'  // content of write or end status message
+        }
+
+	// The first call must be of Kind 'start' with no body.
+	// Subsequent calls may be of Kind 'stdout' or 'stderr'
+	// and must have a non-null Body string.
+	// The final call should be of Kind 'end' with an optional
+	// Body string, signifying a failure ("killed", for example).
+
+	// The output callback must be of this form.
+	// See PlaygroundOutput (below) for an implementation.
+        function outputCallback(write) {
+        }
+*/
+
+// HTTPTransport is the default transport.
+// enableVet enables running vet if a program was compiled and ran successfully.
+// If vet returned any errors, display them before the output of a program.
+function HTTPTransport(enableVet) {
+  'use strict';
+
+  function playback(output, data) {
+    // Backwards compatibility: default values do not affect the output.
+    var events = data.Events || [];
+    var errors = data.Errors || '';
+    var status = data.Status || 0;
+    var isTest = data.IsTest || false;
+    var testsFailed = data.TestsFailed || 0;
+
+    var timeout;
+    output({ Kind: 'start' });
+    function next() {
+      if (!events || events.length === 0) {
+        if (isTest) {
+          if (testsFailed > 0) {
+            output({
+              Kind: 'system',
+              Body:
+                '\n' +
+                testsFailed +
+                ' test' +
+                (testsFailed > 1 ? 's' : '') +
+                ' failed.',
+            });
+          } else {
+            output({ Kind: 'system', Body: '\nAll tests passed.' });
+          }
+        } else {
+          if (status > 0) {
+            output({ Kind: 'end', Body: 'status ' + status + '.' });
+          } else {
+            if (errors !== '') {
+              // errors are displayed only in the case of timeout.
+              output({ Kind: 'end', Body: errors + '.' });
+            } else {
+              output({ Kind: 'end' });
+            }
+          }
+        }
+        return;
+      }
+      var e = events.shift();
+      if (e.Delay === 0) {
+        output({ Kind: e.Kind, Body: e.Message });
+        next();
+        return;
+      }
+      timeout = setTimeout(function() {
+        output({ Kind: e.Kind, Body: e.Message });
+        next();
+      }, e.Delay / 1000000);
+    }
+    next();
+    return {
+      Stop: function() {
+        clearTimeout(timeout);
+      },
+    };
+  }
+
+  function error(output, msg) {
+    output({ Kind: 'start' });
+    output({ Kind: 'stderr', Body: msg });
+    output({ Kind: 'end' });
+  }
+
+  function buildFailed(output, msg) {
+    output({ Kind: 'start' });
+    output({ Kind: 'stderr', Body: msg });
+    output({ Kind: 'system', Body: '\nGo build failed.' });
+  }
+
+  var seq = 0;
+  return {
+    Run: function(body, output, options) {
+      seq++;
+      var cur = seq;
+      var playing;
+      $.ajax('/compile', {
+        type: 'POST',
+        data: { version: 2, body: body },
+        dataType: 'json',
+        success: function(data) {
+          if (seq != cur) return;
+          if (!data) return;
+          if (playing != null) playing.Stop();
+          if (data.Errors) {
+            if (data.Errors === 'process took too long') {
+              // Playback the output that was captured before the timeout.
+              playing = playback(output, data);
+            } else {
+              buildFailed(output, data.Errors);
+            }
+            return;
+          }
+
+          if (!enableVet) {
+            playing = playback(output, data);
+            return;
+          }
+
+          $.ajax('/vet', {
+            data: { body: body },
+            type: 'POST',
+            dataType: 'json',
+            success: function(dataVet) {
+              if (dataVet.Errors) {
+                if (!data.Events) {
+                  data.Events = [];
+                }
+                // inject errors from the vet as the first events in the output
+                data.Events.unshift({
+                  Message: 'Go vet exited.\n\n',
+                  Kind: 'system',
+                  Delay: 0,
+                });
+                data.Events.unshift({
+                  Message: dataVet.Errors,
+                  Kind: 'stderr',
+                  Delay: 0,
+                });
+              }
+              playing = playback(output, data);
+            },
+            error: function() {
+              playing = playback(output, data);
+            },
+          });
+        },
+        error: function() {
+          error(output, 'Error communicating with remote server.');
+        },
+      });
+      return {
+        Kill: function() {
+          if (playing != null) playing.Stop();
+          output({ Kind: 'end', Body: 'killed' });
+        },
+      };
+    },
+  };
+}
+
+function SocketTransport() {
+  'use strict';
+
+  var id = 0;
+  var outputs = {};
+  var started = {};
+  var websocket;
+  if (window.location.protocol == 'http:') {
+    websocket = new WebSocket('ws://' + window.location.host + '/socket');
+  } else if (window.location.protocol == 'https:') {
+    websocket = new WebSocket('wss://' + window.location.host + '/socket');
+  }
+
+  websocket.onclose = function() {
+    console.log('websocket connection closed');
+  };
+
+  websocket.onmessage = function(e) {
+    var m = JSON.parse(e.data);
+    var output = outputs[m.Id];
+    if (output === null) return;
+    if (!started[m.Id]) {
+      output({ Kind: 'start' });
+      started[m.Id] = true;
+    }
+    output({ Kind: m.Kind, Body: m.Body });
+  };
+
+  function send(m) {
+    websocket.send(JSON.stringify(m));
+  }
+
+  return {
+    Run: function(body, output, options) {
+      var thisID = id + '';
+      id++;
+      outputs[thisID] = output;
+      send({ Id: thisID, Kind: 'run', Body: body, Options: options });
+      return {
+        Kill: function() {
+          send({ Id: thisID, Kind: 'kill' });
+        },
+      };
+    },
+  };
+}
+
+function PlaygroundOutput(el) {
+  'use strict';
+
+  return function(write) {
+    if (write.Kind == 'start') {
+      el.innerHTML = '';
+      return;
+    }
+
+    var cl = 'system';
+    if (write.Kind == 'stdout' || write.Kind == 'stderr') cl = write.Kind;
+
+    var m = write.Body;
+    if (write.Kind == 'end') {
+      m = '\nProgram exited' + (m ? ': ' + m : '.');
+    }
+
+    if (m.indexOf('IMAGE:') === 0) {
+      // TODO(adg): buffer all writes before creating image
+      var url = 'data:image/png;base64,' + m.substr(6);
+      var img = document.createElement('img');
+      img.src = url;
+      el.appendChild(img);
+      return;
+    }
+
+    // ^L clears the screen.
+    var s = m.split('\x0c');
+    if (s.length > 1) {
+      el.innerHTML = '';
+      m = s.pop();
+    }
+
+    m = m.replace(/&/g, '&amp;');
+    m = m.replace(/</g, '&lt;');
+    m = m.replace(/>/g, '&gt;');
+
+    var needScroll = el.scrollTop + el.offsetHeight == el.scrollHeight;
+
+    var span = document.createElement('span');
+    span.className = cl;
+    span.innerHTML = m;
+    el.appendChild(span);
+
+    if (needScroll) el.scrollTop = el.scrollHeight - el.offsetHeight;
+  };
+}
+
+(function() {
+  function lineHighlight(error) {
+    var regex = /prog.go:([0-9]+)/g;
+    var r = regex.exec(error);
+    while (r) {
+      $('.lines div')
+        .eq(r[1] - 1)
+        .addClass('lineerror');
+      r = regex.exec(error);
+    }
+  }
+  function highlightOutput(wrappedOutput) {
+    return function(write) {
+      if (write.Body) lineHighlight(write.Body);
+      wrappedOutput(write);
+    };
+  }
+  function lineClear() {
+    $('.lineerror').removeClass('lineerror');
+  }
+
+  // opts is an object with these keys
+  //  codeEl - code editor element
+  //  outputEl - program output element
+  //  runEl - run button element
+  //  fmtEl - fmt button element (optional)
+  //  fmtImportEl - fmt "imports" checkbox element (optional)
+  //  shareEl - share button element (optional)
+  //  shareURLEl - share URL text input element (optional)
+  //  shareRedirect - base URL to redirect to on share (optional)
+  //  toysEl - toys select element (optional)
+  //  enableHistory - enable using HTML5 history API (optional)
+  //  transport - playground transport to use (default is HTTPTransport)
+  //  enableShortcuts - whether to enable shortcuts (Ctrl+S/Cmd+S to save) (default is false)
+  //  enableVet - enable running vet and displaying its errors
+  function playground(opts) {
+    var code = $(opts.codeEl);
+    var transport = opts['transport'] || new HTTPTransport(opts['enableVet']);
+    var running;
+
+    // autoindent helpers.
+    function insertTabs(n) {
+      // find the selection start and end
+      var start = code[0].selectionStart;
+      var end = code[0].selectionEnd;
+      // split the textarea content into two, and insert n tabs
+      var v = code[0].value;
+      var u = v.substr(0, start);
+      for (var i = 0; i < n; i++) {
+        u += '\t';
+      }
+      u += v.substr(end);
+      // set revised content
+      code[0].value = u;
+      // reset caret position after inserted tabs
+      code[0].selectionStart = start + n;
+      code[0].selectionEnd = start + n;
+    }
+    function autoindent(el) {
+      var curpos = el.selectionStart;
+      var tabs = 0;
+      while (curpos > 0) {
+        curpos--;
+        if (el.value[curpos] == '\t') {
+          tabs++;
+        } else if (tabs > 0 || el.value[curpos] == '\n') {
+          break;
+        }
+      }
+      setTimeout(function() {
+        insertTabs(tabs);
+      }, 1);
+    }
+
+    // NOTE(cbro): e is a jQuery event, not a DOM event.
+    function handleSaveShortcut(e) {
+      if (e.isDefaultPrevented()) return false;
+      if (!e.metaKey && !e.ctrlKey) return false;
+      if (e.key != 'S' && e.key != 's') return false;
+
+      e.preventDefault();
+
+      // Share and save
+      share(function(url) {
+        window.location.href = url + '.go?download=true';
+      });
+
+      return true;
+    }
+
+    function keyHandler(e) {
+      if (opts.enableShortcuts && handleSaveShortcut(e)) return;
+
+      if (e.keyCode == 9 && !e.ctrlKey) {
+        // tab (but not ctrl-tab)
+        insertTabs(1);
+        e.preventDefault();
+        return false;
+      }
+      if (e.keyCode == 13) {
+        // enter
+        if (e.shiftKey) {
+          // +shift
+          run();
+          e.preventDefault();
+          return false;
+        }
+        if (e.ctrlKey) {
+          // +control
+          fmt();
+          e.preventDefault();
+        } else {
+          autoindent(e.target);
+        }
+      }
+      return true;
+    }
+    code.unbind('keydown').bind('keydown', keyHandler);
+    var outdiv = $(opts.outputEl).empty();
+    var output = $('<pre/>').appendTo(outdiv);
+
+    function body() {
+      return $(opts.codeEl).val();
+    }
+    function setBody(text) {
+      $(opts.codeEl).val(text);
+    }
+    function origin(href) {
+      return ('' + href)
+        .split('/')
+        .slice(0, 3)
+        .join('/');
+    }
+
+    var pushedEmpty = window.location.pathname == '/';
+    function inputChanged() {
+      if (pushedEmpty) {
+        return;
+      }
+      pushedEmpty = true;
+      $(opts.shareURLEl).hide();
+      window.history.pushState(null, '', '/');
+    }
+    function popState(e) {
+      if (e === null) {
+        return;
+      }
+      if (e && e.state && e.state.code) {
+        setBody(e.state.code);
+      }
+    }
+    var rewriteHistory = false;
+    if (
+      window.history &&
+      window.history.pushState &&
+      window.addEventListener &&
+      opts.enableHistory
+    ) {
+      rewriteHistory = true;
+      code[0].addEventListener('input', inputChanged);
+      window.addEventListener('popstate', popState);
+    }
+
+    function setError(error) {
+      if (running) running.Kill();
+      lineClear();
+      lineHighlight(error);
+      output
+        .empty()
+        .addClass('error')
+        .text(error);
+    }
+    function loading() {
+      lineClear();
+      if (running) running.Kill();
+      output.removeClass('error').text('Waiting for remote server...');
+    }
+    function run() {
+      loading();
+      running = transport.Run(
+        body(),
+        highlightOutput(PlaygroundOutput(output[0]))
+      );
+    }
+
+    function fmt() {
+      loading();
+      var data = { body: body() };
+      if ($(opts.fmtImportEl).is(':checked')) {
+        data['imports'] = 'true';
+      }
+      $.ajax('/fmt', {
+        data: data,
+        type: 'POST',
+        dataType: 'json',
+        success: function(data) {
+          if (data.Error) {
+            setError(data.Error);
+          } else {
+            setBody(data.Body);
+            setError('');
+          }
+        },
+      });
+    }
+
+    var shareURL; // jQuery element to show the shared URL.
+    var sharing = false; // true if there is a pending request.
+    var shareCallbacks = [];
+    function share(opt_callback) {
+      if (opt_callback) shareCallbacks.push(opt_callback);
+
+      if (sharing) return;
+      sharing = true;
+
+      var sharingData = body();
+      $.ajax('/share', {
+        processData: false,
+        data: sharingData,
+        type: 'POST',
+        contentType: 'text/plain; charset=utf-8',
+        complete: function(xhr) {
+          sharing = false;
+          if (xhr.status != 200) {
+            alert('Server error; try again.');
+            return;
+          }
+          if (opts.shareRedirect) {
+            window.location = opts.shareRedirect + xhr.responseText;
+          }
+          var path = '/p/' + xhr.responseText;
+          var url = origin(window.location) + path;
+
+          for (var i = 0; i < shareCallbacks.length; i++) {
+            shareCallbacks[i](url);
+          }
+          shareCallbacks = [];
+
+          if (shareURL) {
+            shareURL
+              .show()
+              .val(url)
+              .focus()
+              .select();
+
+            if (rewriteHistory) {
+              var historyData = { code: sharingData };
+              window.history.pushState(historyData, '', path);
+              pushedEmpty = false;
+            }
+          }
+        },
+      });
+    }
+
+    $(opts.runEl).click(run);
+    $(opts.fmtEl).click(fmt);
+
+    if (
+      opts.shareEl !== null &&
+      (opts.shareURLEl !== null || opts.shareRedirect !== null)
+    ) {
+      if (opts.shareURLEl) {
+        shareURL = $(opts.shareURLEl).hide();
+      }
+      $(opts.shareEl).click(function() {
+        share();
+      });
+    }
+
+    if (opts.toysEl !== null) {
+      $(opts.toysEl).bind('change', function() {
+        var toy = $(this).val();
+        $.ajax('/doc/play/' + toy, {
+          processData: false,
+          type: 'GET',
+          complete: function(xhr) {
+            if (xhr.status != 200) {
+              alert('Server error; try again.');
+              return;
+            }
+            setBody(xhr.responseText);
+          },
+        });
+      });
+    }
+  }
+
+  window.playground = playground;
+})();
_content/lib/godoc/search.html
@@ -0,0 +1,66 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+{{ $colCount := tocColCount .}}
+{{/* Generate the TOC */}}
+<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
+{{range $key, $val := .Idents}}
+	{{if $val}}
+		<a href="#{{$key.Name}}">{{$key.Name}}</a>
+		<br />
+	{{end}}
+{{end}}
+
+{{if not .Idents}}
+	{{with .Pak}}
+		<a href="#Packages">Package {{html $.Query}}</a>
+		<br />
+	{{end}}
+{{end}}
+
+{{with .Hit}}
+	{{with .Decls}}
+		<a href="#Global">Package-level declarations</a>
+		<br />
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
+			<br />
+		{{end}}
+	{{end}}
+	{{with .Others}}
+		<a href="#Local">Local declarations and uses</a>
+		<br />
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
+			<br />
+		{{end}}
+	{{end}}
+{{end}}
+
+{{with .Textual}}
+	{{if $.Complete}}
+		<a href="#Textual">{{html $.Found}} textual occurrences</a>
+	{{else}}
+		<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
+	{{end}}
+{{end}}
+</nav>
+
+{{with .Alert}}
+	<p>
+	<span class="alert" style="font-size:120%">{{html .}}</span>
+	</p>
+{{end}}
+{{with .Alt}}
+	<p>
+	<span class="alert" style="font-size:120%">Did you mean: </span>
+	{{range .Alts}}
+		<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
+	{{end}}
+	</p>
+{{end}}
_content/lib/godoc/searchcode.html
@@ -0,0 +1,64 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{$query_url := urlquery .Query}}
+{{if not .Idents}}
+	{{with .Pak}}
+		<h2 id="Packages">Package {{html $.Query}}</h2>
+		<p>
+		<table class="layout">
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<tr><td><a href="/{{$pkg_html}}">{{$pkg_html}}</a></td></tr>
+		{{end}}
+		</table>
+		</p>
+	{{end}}
+{{end}}
+{{with .Hit}}
+	{{with .Decls}}
+		<h2 id="Global">Package-level declarations</h2>
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<h3 id="Global_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
+			{{range .Files}}
+				{{$file := .File.Path}}
+				{{range .Groups}}
+					{{range .}}
+						{{$line := infoLine .}}
+						<a href="{{queryLink $file $query_url $line | html}}">{{$file}}:{{$line}}</a>
+						{{infoSnippet_html .}}
+					{{end}}
+				{{end}}
+			{{end}}
+		{{end}}
+	{{end}}
+	{{with .Others}}
+		<h2 id="Local">Local declarations and uses</h2>
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<h3 id="Local_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
+			{{range .Files}}
+				{{$file := .File.Path}}
+				<a href="{{queryLink $file $query_url 0 | html}}">{{$file}}</a>
+				<table class="layout">
+				{{range .Groups}}
+					<tr>
+					<td width="25"></td>
+					<th align="left" valign="top">{{index . 0 | infoKind_html}}</th>
+					<td align="left" width="4"></td>
+					<td>
+					{{range .}}
+						{{$line := infoLine .}}
+						<a href="{{queryLink $file $query_url $line | html}}">{{$line}}</a>
+					{{end}}
+					</td>
+					</tr>
+				{{end}}
+				</table>
+			{{end}}
+		{{end}}
+	{{end}}
+{{end}}
_content/lib/godoc/searchdoc.html
@@ -0,0 +1,24 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{range $key, $val := .Idents}}
+	{{if $val}}
+		<h2 id="{{$key.Name}}">{{$key.Name}}</h2>
+		{{range $val}}
+			{{$pkg_html := pkgLink .Path | html}}
+			{{if eq "Packages" $key.Name}}
+				<a href="/{{$pkg_html}}">{{html .Path}}</a>
+			{{else}}
+				{{$doc_html := docLink .Path .Name| html}}
+				<a href="/{{$pkg_html}}">{{html .Package}}</a>.<a href="{{$doc_html}}">{{.Name}}</a>
+			{{end}}
+			{{if .Doc}}
+				<p>{{comment_html .Doc}}</p>
+			{{else}}
+				<p><em>No documentation available</em></p>
+			{{end}}
+		{{end}}
+	{{end}}
+{{end}}
_content/lib/godoc/searchtxt.html
@@ -0,0 +1,42 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{$query_url := urlquery .Query}}
+{{with .Textual}}
+	{{if $.Complete}}
+		<h2 id="Textual">{{html $.Found}} textual occurrences</h2>
+	{{else}}
+		<h2 id="Textual">More than {{html $.Found}} textual occurrences</h2>
+		<p>
+		<span class="alert" style="font-size:120%">Not all files or lines containing "{{html $.Query}}" are shown.</span>
+		</p>
+	{{end}}
+	<p>
+	<table class="layout">
+	{{range .}}
+		{{$file := .Filename}}
+		<tr>
+		<td align="left" valign="top">
+		<a href="{{queryLink $file $query_url 0}}">{{$file}}</a>:
+		</td>
+		<td align="left" width="4"></td>
+		<th align="left" valign="top">{{len .Lines}}</th>
+		<td align="left" width="4"></td>
+		<td align="left">
+		{{range .Lines}}
+			<a href="{{queryLink $file $query_url .}}">{{html .}}</a>
+		{{end}}
+		{{if not $.Complete}}
+			...
+		{{end}}
+		</td>
+		</tr>
+	{{end}}
+	{{if not $.Complete}}
+		<tr><td align="left">...</td></tr>
+	{{end}}
+	</table>
+	</p>
+{{end}}
_content/lib/godoc/style.css
@@ -0,0 +1,1073 @@
+body {
+  background-color: #fff;
+  color: #3e4042;
+  font-family: Roboto, Arial, sans-serif;
+  line-height: 1.3;
+  margin: 0;
+  text-align: center;
+}
+.Note {
+  /* For styling "Note" sections. */
+  background-color: rgb(224, 235, 245);
+  font-size: 0.875rem;
+  margin: 1.25rem;
+  max-width: 50rem;
+  padding: 0.5rem 0.5rem 0.5rem 0.625rem;
+}
+/* Tabs */
+.TabSection {
+  background: #fff;
+  border: 0.0625rem solid #dadce0;
+  border-radius: 0.3125rem;
+  box-shadow: none;
+  max-width: 50rem;
+}
+.TabSection-tabList {
+  flex-shrink: 0;
+  position: relative;
+  border-bottom: 0.0625rem solid #dadce0;
+}
+.TabSection-tab {
+  background: #fff;
+  border: none;
+  line-height: 3rem;
+  padding: 0 1.125rem;
+  position: relative;
+}
+.TabSection-tab[aria-selected='true'] {
+  outline: 0;
+  background-color: #e0ebf5;
+}
+.TabSection-tab:focus {
+  outline: 0;
+  background-color: #e0ebf5;
+}
+.TabSection-tabPanel {
+  font-size: 0.875rem;
+}
+/* Tutorial previous and next links */
+.Navigation {
+  font-size: 0.875rem;
+}
+.Navigation-prev {
+  float: left;
+  font-weight: bold;
+}
+.Navigation-next {
+  float: right;
+  font-weight: bold;
+}
+/* Table in doc topics. */
+.DocTable {
+  border-collapse: collapse;
+  font-size: 0.875rem;
+  margin: 1.25rem;
+  max-width: 50rem;
+}
+.DocTable-row {
+  border-bottom: 0.0625rem solid #dadce0;
+  height: 3rem;
+  vertical-align: top;
+}
+.DocTable-head {
+  background: #e8eaed;
+  border-bottom: 0.0625rem solid #dadce0;
+  border-top: 0.0625rem solid #dadce0;
+  height: 3rem;
+}
+.DocTable-cell {
+  padding: 0.4375rem;
+}
+.DocTable-cell pre {
+  font-size: 0.775rem;
+}
+.DocTable-cell p,
+.DocTable-cell pre {
+  margin:  0rem 0rem 0.875rem;
+}
+.DocTable-row--highlighted {
+  background: #f0f0f0;
+  border-bottom: 0.0625rem solid #dadce0;
+  height: 3rem;
+}
+textarea {
+  /* Inherit text color from body avoiding illegible text in the case where the
+   * user has inverted the browsers custom text and background colors. */
+  color: inherit;
+}
+pre,
+code {
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+code {
+  /* Reduce spacing between words in code inline with text. Monospace font
+   * spaces tend to be wider than proportional font spaces. */
+  word-spacing: -0.3em;
+}
+pre code {
+  /* Maintain spacing inside preformatted blocks rendered from Markdown.
+   * See golang.org/issue/41507. */
+  word-spacing: 0;
+}
+pre {
+  line-height: 1.4;
+  overflow-x: auto;
+}
+pre .comment {
+  color: #006600;
+}
+pre .highlight,
+pre .highlight-comment,
+pre .selection-highlight,
+pre .selection-highlight-comment {
+  background: #ffff00;
+}
+pre .selection,
+pre .selection-comment {
+  background: #ff9632;
+}
+pre .ln {
+  color: #999;
+  background: #efefef;
+}
+pre ins {
+  /* For styling highlighted code in examples. */
+  color: rgb(0, 125, 156);
+  font-weight: bold;
+  text-decoration: none;
+}
+.ln {
+  user-select: none;
+
+  /* Ensure 8 characters in the document - which due to floating
+   * point rendering issues, might have a width of less than 1 each - are 8
+   * characters wide, so a tab in the 9th position indents properly. See
+   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
+   * for more information. */
+  display: inline-block;
+  width: 8ch;
+}
+.search-nav {
+  margin-left: 1.25rem;
+  font-size: 0.875rem;
+  column-gap: 1.25rem;
+  column-fill: auto;
+  column-width: 14rem;
+}
+.search-nav .indent {
+  margin-left: 1.25rem;
+}
+a,
+.exampleHeading .text,
+.expandAll {
+  color: #007d9c;
+  text-decoration: none;
+}
+a:hover,
+.exampleHeading .text:hover,
+.expandAll:hover {
+  text-decoration: underline;
+}
+.article a {
+  text-decoration: underline;
+}
+.article .title a {
+  text-decoration: none;
+}
+.permalink {
+  display: none;
+}
+:hover > .permalink {
+  display: inline;
+}
+p,
+li {
+  max-width: 50rem;
+  word-wrap: break-word;
+}
+p,
+pre,
+ul,
+ol {
+  margin: 1.25rem;
+}
+pre {
+  background: #efefef;
+  padding: 0.625rem;
+  border-radius: 0.3125rem;
+}
+h1,
+h2,
+h3,
+h4 {
+  margin: 1.25rem 0 1.25rem;
+  padding: 0;
+  color: #202224;
+  font-family: 'Work Sans', sans-serif;
+  font-weight: 600;
+}
+h1 {
+  font-size: 1.75rem;
+  line-height: 1;
+}
+h1 .text-muted {
+  color: #777;
+}
+h2 {
+  font-size: 1.25rem;
+  background: #e0ebf5;
+  padding: 0.5rem;
+  line-height: 1.25;
+  font-weight: normal;
+  overflow-wrap: break-word;
+}
+h2 a {
+  font-weight: bold;
+}
+h3 {
+  font-size: 1.25rem;
+  line-height: 1.25;
+  overflow-wrap: break-word;
+}
+h3,
+h4 {
+  margin: 1.25rem 0.3125rem;
+}
+h4 {
+  font-size: 1rem;
+}
+h2 > span,
+h3 > span {
+  float: right;
+  margin: 0 25px 0 0;
+  font-weight: normal;
+  color: #5279c7;
+}
+dl {
+  margin: 1.25rem;
+  max-width: 50rem;
+}
+dd {
+  margin: 0 0 0 1.25rem;
+}
+dl,
+dd {
+  font-size: 0.875rem;
+}
+div#nav table td {
+  vertical-align: top;
+}
+.ModTable {
+  border-collapse: collapse;
+  margin: 1.25rem;
+  max-width: 50rem;
+}
+.ModTable code {
+  white-space: nowrap;
+}
+.ModTable td,
+.ModTable th {
+  border: 1px solid #a9a9a9;
+  padding: 1rem;
+  vertical-align: top;
+}
+.ModTable td p {
+  margin: 0 0 1rem 0;
+}
+.ModTable td p:last-child {
+  margin-bottom: 0;
+}
+#pkg-index h3 {
+  font-size: 1rem;
+}
+.pkg-dir {
+  padding: 0 0.625rem;
+}
+.pkg-dir table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+.pkg-name {
+  padding-right: 0.625rem;
+}
+.alert {
+  color: #aa0000;
+}
+#pkg-examples h3 {
+  float: left;
+}
+#pkg-examples dl {
+  clear: both;
+}
+.expandAll {
+  cursor: pointer;
+  float: left;
+  margin: 1.25rem 0;
+}
+.Site {
+  display: flex;
+  flex-direction: column;
+  min-height: 100vh;
+}
+.Site-content {
+  flex: 1;
+}
+#page {
+  width: 100%;
+}
+#page > .container,
+.Header-nav {
+  text-align: left;
+  margin-left: auto;
+  margin-right: auto;
+  padding: 0 1.25rem;
+}
+#page > .container,
+.Header-nav,
+.Footer {
+  max-width: 59.38rem;
+}
+#page.wide > .container,
+.Header-nav--wide,
+.Footer--wide {
+  max-width: none;
+}
+div#playground .buttons a {
+  background: #375eab;
+  border: 0.0625rem solid #757575;
+  color: white;
+}
+/* Style download button on doc/install page */
+a#start {
+  background: #e0ebf5;
+  border: 0.0625rem solid #375eab;
+  border-radius: 0.3125rem;
+  color: #222;
+  display: block;
+  padding: 0.625rem;
+  text-align: center;
+  text-decoration: none;
+}
+a#start .big {
+  display: block;
+  font-size: 1.25rem;
+  font-weight: bold;
+}
+a#start .desc {
+  display: block;
+  font-size: 0.875rem;
+  font-weight: normal;
+  margin-top: 0.3125rem;
+}
+.download {
+  width: 17.5rem;
+}
+::-webkit-input-placeholder {
+  color: #7f7f7f;
+  opacity: 1;
+}
+::placeholder {
+  color: #7f7f7f;
+  opacity: 1;
+}
+.Header {
+  align-items: center;
+  box-sizing: border-box;
+  display: flex;
+  font-size: 0.875rem;
+  justify-content: space-between;
+  padding: 1.375rem 0;
+}
+.Header.is-active {
+  background-color: #f7f9fa;
+}
+.Header-banner {
+  display: none;
+}
+.Header-logo {
+  height: 2rem;
+  width: 5.125rem;
+}
+.Header-nav {
+  align-items: center;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+  width: 100%;
+}
+.Header-menuButton {
+  background-color: transparent;
+  border: none;
+  box-sizing: content-box;
+  cursor: pointer;
+  display: inline-block;
+  height: 1.313rem;
+  padding: 0.375rem;
+  position: relative;
+  vertical-align: middle;
+  width: 1.313rem;
+}
+.Header-menuButtonInner {
+  position: relative;
+}
+.Header-menuButton::after,
+.Header-menuButtonInner,
+.Header-menuButtonInner::before,
+.Header-menuButtonInner::after {
+  background-color: #3e4042;
+  height: 0.1875rem;
+  transition: all 100ms ease-in;
+}
+.Header-menuButton::after {
+  opacity: 0;
+  top: 0.9375rem;
+}
+.Header-menuButton::after,
+.Header-menuButtonInner::before,
+.Header-menuButtonInner::after {
+  content: '';
+  display: block;
+  position: absolute;
+  width: 1.313rem;
+}
+.Header-menuButtonInner::before {
+  top: -0.375rem;
+}
+.Header-menuButtonInner::after {
+  bottom: -0.375rem;
+}
+.Header.is-active .Header-menuButton::after {
+  opacity: 1;
+  transform: rotate(-45deg);
+}
+.Header.is-active .Header-menuButton .Header-menuButtonInner {
+  transform: rotate(45deg);
+}
+.Header.is-active .Header-menuButton .Header-menuButtonInner::before,
+.Header.is-active .Header-menuButton .Header-menuButtonInner::after {
+  background-color: transparent;
+}
+.Header-menu {
+  align-items: center;
+  display: none;
+  flex-direction: column;
+  list-style: none;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+}
+.Header.is-active .Header-menu {
+  display: flex;
+}
+.Header-menuItem:first-of-type {
+  /* Offset the padding of the inner link, maintaining its click target size,
+     while still placing the item as if it had no top margin or padding. */
+  margin-top: -0.5rem;
+}
+.Header-menuItem {
+  display: inline-flex;
+}
+.Header-menuItem,
+.Header-menuItem a:link,
+.Header-menuItem a:visited {
+  width: 100%;
+}
+.Header-menuItem,
+.Header-menuItem a:link,
+.Header-menuItem a:visited {
+  color: #3e4042;
+  text-align: center;
+}
+.Header-menuItem a:link,
+.Header-menuItem a:visited {
+  padding: 0.5rem 0;
+}
+@media only screen and (min-width: 56rem) {
+  .Header {
+    display: block;
+    padding: 0;
+  }
+  .Header-banner {
+    background-color: #000;
+    color: #fff;
+    display: block;
+    padding: 1rem;
+  }
+  .Header-banner a:link,
+  .Header-banner a:visited {
+    color: #fff;
+    text-decoration: underline;
+  }
+  .Header-nav {
+    width: auto;
+  }
+  .Header.is-active {
+    background-color: #fff;
+  }
+  .Header.is-active .Header-menu {
+    display: block;
+  }
+  .Header-menuButton {
+    display: none;
+  }
+  .Header-menu {
+    display: flex;
+    flex-direction: row;
+    width: auto;
+  }
+  .Header-menuItem:first-of-type {
+    margin-top: 0;
+  }
+  .Header-menuItem,
+  .Header-menuItem a:link,
+  .Header-menuItem a:visited {
+    width: auto;
+  }
+  .Header-menuItem a:link,
+  .Header-menuItem a:visited {
+    padding: 2rem 1.5rem;
+  }
+  .Header-menuItem a:hover,
+  .Header-menuItem a:focus {
+    text-decoration: underline;
+  }
+}
+@media only screen and (min-width: 57.5rem) {
+  .Header {
+    font-size: 1rem;
+  }
+}
+.Button,
+.Button:link,
+.Button:visited {
+  align-items: center;
+  background-color: #f7f9fa;
+  border: none;
+  border-radius: 0.1875rem;
+  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
+  box-sizing: border-box;
+  color: #007d9c;
+  cursor: pointer;
+  display: inline-flex;
+  font: bold 0.875rem Roboto, sans-serif;
+  height: 2.375rem;
+  padding: 0 0.625rem;
+  justify-content: center;
+  min-width: 4.063rem;
+  text-decoration: none;
+}
+.Button:active {
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+}
+.Button--primary,
+.Button--primary:link,
+.Button--primary:visited {
+  border: 0.0625rem solid #00add8;
+}
+.Button--big,
+.Button--big:link,
+.Button--big:visited {
+  background-color: #7fd5ea;
+  border-radius: 0.3125rem;
+  color: #202224;
+  font-size: 1.5rem;
+  height: 4rem;
+  justify-content: center;
+}
+.HomeContainer {
+  align-items: top;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+.HomeContainer * {
+  box-sizing: border-box;
+}
+.HomeSection {
+  flex: 0 0 100%;
+  margin-bottom: 2.5rem;
+  padding: 0 1rem;
+}
+.HomeSection-header {
+  background: none;
+  color: #202224;
+  margin: 0 0 0.625rem 0;
+  padding: 0;
+  font-weight: bold;
+}
+.Hero-header {
+  font: 1.5rem Roboto, sans-serif;
+  line-height: inherit;
+  margin: 0 0 1.875rem;
+}
+.Hero-gopher {
+  background: url('/lib/godoc/images/home-gopher.png') no-repeat;
+  background-position: center top;
+  display: block;
+  height: 9.688rem;
+  max-height: 200px;
+  /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
+}
+.HeroDownloadButton,
+.Hero-description {
+  text-align: center;
+}
+.HeroDownloadButton,
+.HeroDownloadButton:link,
+.HeroDownloadButton:visited {
+  display: flex;
+  margin-bottom: 0.5rem;
+}
+.HeroDownloadButton-image {
+  height: 2rem;
+  margin-right: 2rem;
+  width: 2rem;
+}
+.Hero-description {
+  color: #616161;
+  font-size: 0.875rem;
+  margin: 0;
+}
+@media only screen and (min-width: 57.1875rem) {
+  .HomeSection {
+    flex: 0 0 26.875rem;
+    padding: 0;
+  }
+  .Hero,
+  .Playground {
+    margin-top: 1rem;
+  }
+}
+.Playground-headerContainer {
+  align-items: baseline;
+  display: flex;
+  justify-content: space-between;
+}
+.Playground-popout {
+  background: url('/lib/godoc/images/play-link.svg') no-repeat;
+  background-position: right center;
+  cursor: pointer;
+  display: block;
+  font-size: 1rem;
+  padding: 0 1.688rem;
+}
+.Playground-input,
+.Playground-output {
+  padding: 0;
+  margin: 0;
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+.Playground-inputContainer {
+  border-top-left-radius: 0.3125rem;
+  border-top-right-radius: 0.3125rem;
+  overflow: hidden;
+  height: 11rem;
+}
+.Playground-input {
+  width: 100%;
+  height: 100%;
+  border: none;
+  outline: none;
+  resize: none;
+  padding: 0.625rem;
+}
+.Playground-outputContainer {
+  border-bottom-right-radius: 0.3125rem;
+  border-bottom-left-radius: 0.3125rem;
+  border-top: none !important;
+  padding: 0.625rem;
+  height: 5rem;
+  margin-bottom: 1rem;
+  overflow: auto;
+}
+.Playground-output {
+  padding: 0;
+  border-radius: 0;
+}
+.Playground-inputContainer,
+.Playground-input,
+.Playground-outputContainer,
+.Playground-output {
+  background: #f7f9fa;
+  color: #202224;
+}
+.Playground-inputContainer,
+.Playground-outputContainer {
+  border: 0.0625rem solid #c0c2c3;
+}
+.Playground-controls {
+  display: flex;
+  flex-wrap: wrap;
+}
+.Playground-buttons {
+  display: flex;
+  flex: 1;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+}
+.Playground-selectExample {
+  background-color: white;
+  border-radius: 3px;
+  border: 0.0625rem solid #979797;
+  color: inherit;
+  font-family: inherit;
+  font-size: 16px;
+  /* Prevents automatic zoom on mobile devices */
+  height: 2.375rem;
+  margin: 0 0 0.5rem 0;
+  width: 100%;
+}
+.Playground-secondaryButtons {
+  white-space: nowrap;
+}
+.Playground-secondaryButtons .Button:not(:first-child) {
+  margin-left: 0.4375rem;
+}
+@media only screen and (min-width: 27.8125rem) {
+  .Playground-outputContainer {
+    margin-bottom: 1.688rem;
+  }
+  .Playground-controls {
+    flex-wrap: nowrap;
+  }
+  .Playground-selectExample {
+    margin: 0 0.4375rem 0 0;
+    width: auto;
+  }
+}
+.Blog-title {
+  display: block;
+  font-size: 1.25rem;
+  font-weight: normal;
+  margin: 0;
+}
+.Blog-title,
+.Blog-extract,
+.Blog-when {
+  margin-bottom: 0.625rem;
+}
+.Blog-when {
+  color: #666;
+  font-size: 0.875rem;
+}
+.Blog-footer {
+  text-align: right;
+}
+@supports (--c: 0) {
+  [style*='--aspect-ratio-padding:'] {
+    position: relative;
+    overflow: hidden;
+    padding-top: var(--aspect-ratio-padding);
+  }
+  [style*='--aspect-ratio-padding:'] > * {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+  }
+}
+.Footer {
+  margin: 2rem auto 0;
+  padding: 1rem 1.25rem;
+  position: relative;
+  text-align: right;
+}
+.Footer-gopher {
+  bottom: 0;
+  left: 1.25rem;
+  position: absolute;
+  width: 5rem;
+}
+.Footer-links {
+  flex: 1;
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+.Footer-link {
+  font-size: 0.875rem;
+  white-space: nowrap;
+}
+.Footer-link + .Footer-link {
+  margin-top: 0.5rem;
+}
+.Footer-supportedBy {
+  color: #6e7072;
+  display: inline-block;
+  font: 0.875rem 'Product Sans', 'Roboto', 'sans-serif';
+  margin-top: 1rem;
+}
+.Footer-supportedBy:hover {
+  text-decoration: none;
+}
+@media only screen and (min-width: 50rem) {
+  .Footer {
+    align-items: center;
+    display: flex;
+    margin: 5rem auto 0;
+  }
+  .Footer-links {
+    padding-left: 6.25rem;
+    text-align: left;
+  }
+  .Footer-link {
+    display: inline;
+  }
+  .Footer-link + .Footer-link {
+    border-left: 0.0625rem solid #3e4042;
+    margin-left: 0.75rem;
+    padding-left: 0.75rem;
+  }
+  .Footer-supportedBy {
+    margin-top: 0;
+  }
+}
+.toggleButton {
+  cursor: pointer;
+}
+.toggle > .collapsed {
+  display: block;
+}
+.toggle > .expanded {
+  display: none;
+}
+.toggleVisible > .collapsed {
+  display: none;
+}
+.toggleVisible > .expanded {
+  display: block;
+}
+table.codetable {
+  margin-left: auto;
+  margin-right: auto;
+  border-style: none;
+}
+table.codetable td {
+  padding-right: 0.625rem;
+}
+hr {
+  border-style: none;
+  border-top: 0.0625rem solid black;
+}
+img.gopher {
+  float: right;
+  margin-left: 0.625rem;
+  margin-bottom: 0.625rem;
+  z-index: -1;
+}
+h2 {
+  clear: right;
+}
+div.play {
+  padding: 0 1.25rem 2.5rem 1.25rem;
+}
+div.play pre,
+div.play textarea,
+div.play .lines {
+  padding: 0;
+  margin: 0;
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+div.play .input {
+  padding: 0.625rem;
+  margin-top: 0.625rem;
+
+  border-top-left-radius: 0.3125rem;
+  border-top-right-radius: 0.3125rem;
+
+  overflow: hidden;
+}
+div.play .input textarea {
+  width: 100%;
+  height: 100%;
+  border: none;
+  outline: none;
+  resize: none;
+
+  overflow: hidden;
+}
+div#playground .input textarea {
+  overflow: auto;
+  resize: auto;
+}
+div.play .output {
+  border-top: none !important;
+
+  padding: 0.625rem;
+  max-height: 12.5rem;
+  overflow: auto;
+
+  border-bottom-right-radius: 0.3125rem;
+  border-bottom-left-radius: 0.3125rem;
+}
+div.play .output pre {
+  padding: 0;
+  border-radius: 0;
+}
+div.play .input,
+div.play .input textarea,
+div.play .output,
+div.play .output pre {
+  background: #f7f9fa;
+  color: #202224;
+}
+div.play .input,
+div.play .output {
+  border: 0.0625rem solid #c0c2c3;
+}
+div.play .buttons {
+  float: right;
+  padding: 0.625rem 0;
+  text-align: right;
+}
+div.play .buttons .Button {
+  margin-left: 0.3125rem;
+}
+.output .stderr {
+  color: #933;
+}
+.output .system {
+  color: #999;
+}
+/* drop-down playground */
+div#playground {
+  /* start hidden; revealed by javascript */
+  display: none;
+}
+div#playground {
+  position: absolute;
+  top: 3.938rem;
+  right: 1.25rem;
+  padding: 0 0.625rem 0.625rem 0.625rem;
+  z-index: 1;
+  text-align: left;
+  background: #e0ebf5;
+
+  border: 0.0625rem solid #b0bbc5;
+  border-top: none;
+
+  border-bottom-left-radius: 0.3125rem;
+  border-bottom-right-radius: 0.3125rem;
+}
+div#playground .code {
+  width: 32.5rem;
+  height: 12.5rem;
+}
+div#playground .output {
+  height: 6.25rem;
+}
+/* Inline runnable snippets (play.js/initPlayground) */
+#content .code pre,
+#content .playground pre,
+#content .output pre {
+  margin: 0;
+  padding: 0;
+  background: none;
+  border: none;
+  outline: 0 solid transparent;
+  overflow: auto;
+}
+#content .playground .number,
+#content .code .number {
+  color: #999;
+}
+#content .code,
+#content .playground,
+#content .output {
+  width: auto;
+  margin: 1.25rem;
+  padding: 0.625rem;
+  border-radius: 0.3125rem;
+}
+#content .code,
+#content .playground {
+  background: #e9e9e9;
+}
+#content .output {
+  background: #202020;
+}
+#content .output .stdout,
+#content .output pre {
+  color: #e6e6e6;
+}
+#content .output .stderr,
+#content .output .error {
+  color: rgb(244, 74, 63);
+}
+#content .output .system,
+#content .output .exit {
+  color: rgb(255, 209, 77);
+}
+#content .buttons {
+  position: relative;
+  float: right;
+  top: -3.125rem;
+  right: 1.875rem;
+}
+#content .output .buttons {
+  top: -3.75rem;
+  right: 0;
+  height: 0;
+}
+#content .buttons .kill {
+  display: none;
+  visibility: hidden;
+}
+a.error {
+  font-weight: bold;
+  color: white;
+  background-color: darkred;
+  border-bottom-left-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem;
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+  padding: 0.125rem 0.25rem 0.125rem 0.25rem;
+  /* TRBL */
+}
+.downloading {
+  background: #f9f9be;
+  padding: 0.625rem;
+  text-align: center;
+  border-radius: 0.3125rem;
+}
+@media (max-width: 43.75em) {
+  body {
+    font-size: 0.9375rem;
+  }
+  div#playground {
+    left: 0;
+    right: 0;
+  }
+  pre,
+  code {
+    font-size: 0.866rem;
+  }
+  #page > .container,
+  .Header-nav {
+    padding: 0 0.625rem;
+  }
+  p,
+  pre,
+  ul,
+  ol {
+    margin: 0.625rem;
+  }
+  .pkg-synopsis {
+    display: none;
+  }
+  img.gopher {
+    display: none;
+  }
+}
+@media print {
+  pre {
+    background: #fff;
+    border: 0.0625rem solid #bbb;
+    white-space: pre-wrap;
+    page-break-inside: avoid;
+  }
+}
\ No newline at end of file
_content/opensearch.xml
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
-  <ShortName>godoc</ShortName>
-  <Description>The Go Programming Language</Description>
-  <Tags>go golang</Tags>
-  <Contact />
-  <Url type="text/html" template="{{.BaseURL}}/search?q={searchTerms}" />
-  <Image height="15" width="16" type="image/x-icon">/favicon.ico</Image>
-  <OutputEncoding>UTF-8</OutputEncoding>
-  <InputEncoding>UTF-8</InputEncoding>
-</OpenSearchDescription>
_content/package.html
@@ -1,243 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PDoc}}
-	{{if $.IsMain}}
-		{{/* command documentation */}}
-		{{comment_html .Doc}}
-	{{else}}
-		{{/* package documentation */}}
-		<div id="short-nav">
-			<dl>
-			<dd><code>import "{{html .ImportPath}}"</code></dd>
-			</dl>
-			<dl>
-			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
-			<dd><a href="#pkg-index" class="indexLink">Index</a></dd>
-			{{if $.Examples}}
-				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
-			{{end}}
-			{{if $.Dirs}}
-				<dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		<!-- The package's Name is printed as title by the top-level template -->
-		<div id="pkg-overview" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
-				{{comment_html .Doc}}
-				{{example_html $ ""}}
-			</div>
-		</div>
-
-		<div id="pkg-index" class="toggleVisible">
-		<div class="collapsed">
-			<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
-		</div>
-		<div class="expanded">
-			<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
-
-		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
-			<div id="manual-nav">
-			<dl>
-			{{if .Consts}}
-				<dd><a href="#pkg-constants">Constants</a></dd>
-			{{end}}
-			{{if .Vars}}
-				<dd><a href="#pkg-variables">Variables</a></dd>
-			{{end}}
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-			{{end}}
-			{{range .Types}}
-				{{$tname_html := html .Name}}
-				<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
-				{{range .Funcs}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-				{{range .Methods}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-			{{end}}
-			{{if $.Notes}}
-				{{range $marker, $item := $.Notes}}
-				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
-				{{end}}
-			{{end}}
-			</dl>
-			</div><!-- #manual-nav -->
-
-		{{if $.Examples}}
-		<div id="pkg-examples">
-			<h3>Examples</h3>
-			<div class="js-expandAll expandAll collapsed">(Expand All)</div>
-			<dl>
-			{{range $.Examples}}
-			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		{{end}}
-
-		{{with .Filenames}}
-			<h3>Package files</h3>
-			<p>
-			<span style="font-size:90%">
-			{{range .}}
-				<a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
-			{{end}}
-			</span>
-			</p>
-		{{end}}
-		</div><!-- .expanded -->
-		</div><!-- #pkg-index -->
-
-		{{with .Consts}}
-			<h2 id="pkg-constants">Constants</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{with .Vars}}
-			<h2 id="pkg-variables">Variables</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{range .Funcs}}
-			{{/* Name is a string - no need for FSet */}}
-			{{$name_html := html .Name}}
-			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-				<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-				{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			<pre>{{node_html $ .Decl true}}</pre>
-			{{comment_html .Doc}}
-			{{example_html $ .Name}}
-
-		{{end}}
-		{{range .Types}}
-			{{$tname := .Name}}
-			{{$tname_html := html .Name}}
-			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
-				<a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
-				{{$since := since "type" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			{{comment_html .Doc}}
-			<pre>{{node_html $ .Decl true}}</pre>
-
-			{{range .Consts}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{range .Vars}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{example_html $ $tname}}
-
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-					{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{example_html $ .Name}}
-			{{end}}
-
-			{{range .Methods}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
-					{{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{$name := printf "%s_%s" $tname .Name}}
-				{{example_html $ $name}}
-			{{end}}
-		{{end}}
-	{{end}}
-
-	{{with $.Notes}}
-		{{range $marker, $content := .}}
-			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
-			<ul style="list-style: none; padding: 0;">
-			{{range .}}
-			<li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html .Body}}</li>
-			{{end}}
-			</ul>
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-	<div class="pkg-dir">
-		<table>
-			<tr>
-				<th class="pkg-name">Name</th>
-				<th class="pkg-synopsis">Synopsis</th>
-			</tr>
-
-			{{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
-			<tr>
-				<td colspan="2"><a href="..">..</a></td>
-			</tr>
-			{{end}}
-
-			{{range .List}}
-				<tr>
-				{{if $.DirFlat}}
-					{{if .HasPkg}}
-						<td class="pkg-name">
-							<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-						</td>
-					{{end}}
-				{{else}}
-					<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-						<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-					</td>
-				{{end}}
-					<td class="pkg-synopsis">
-						{{html .Synopsis}}
-					</td>
-				</tr>
-			{{end}}
-		</table>
-	</div>
-{{end}}
_content/packageroot.html
@@ -1,150 +0,0 @@
-<!--
-	Copyright 2018 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-		<div id="manual-nav">
-			<dl>
-				<dt><a href="#stdlib">Standard library</a></dt>
-				{{if hasThirdParty .List }}
-					<dt><a href="#thirdparty">Third party</a></dt>
-				{{end}}
-				<dt><a href="#other">Other packages</a></dt>
-				<dd><a href="#subrepo">Sub-repositories</a></dd>
-				<dd><a href="#community">Community</a></dd>
-			</dl>
-		</div>
-
-		<div id="stdlib" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
-				<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-							{{if eq .RootType "GOROOT"}}
-							{{if $.DirFlat}}
-								{{if .HasPkg}}
-										<td class="pkg-name">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-										</td>
-								{{end}}
-							{{else}}
-									<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-										<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-									</td>
-							{{end}}
-								<td class="pkg-synopsis">
-									{{html .Synopsis}}
-								</td>
-							{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-
-	{{if hasThirdParty .List }}
-		<div id="thirdparty" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Third party section">Third party ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Third party section">Third party ▾</h2>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-								{{if eq .RootType "GOPATH"}}
-								{{if $.DirFlat}}
-									{{if .HasPkg}}
-											<td class="pkg-name">
-												<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-											</td>
-									{{end}}
-								{{else}}
-										<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-										</td>
-								{{end}}
-									<td class="pkg-synopsis">
-										{{html .Synopsis}}
-									</td>
-								{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-	{{end}}
-
-	<h2 id="other">Other packages</h2>
-	<h3 id="subrepo">Sub-repositories</h3>
-	<p>
-	These packages are part of the Go Project but outside the main Go tree.
-	They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
-	Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
-	</ul>
-
-	<h3 id="community">Community</h3>
-	<p>
-	These services can help you find Open Source packages provided by the community.
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
-		<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
-	</ul>
-{{end}}
_content/play.js
@@ -1,114 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-function initPlayground(transport) {
-  'use strict';
-
-  function text(node) {
-    var s = '';
-    for (var i = 0; i < node.childNodes.length; i++) {
-      var n = node.childNodes[i];
-      if (n.nodeType === 1) {
-        if (n.tagName === 'BUTTON') continue;
-        if (n.tagName === 'SPAN' && n.className === 'number') continue;
-        if (n.tagName === 'DIV' || n.tagName == 'BR') {
-          s += '\n';
-        }
-        s += text(n);
-        continue;
-      }
-      if (n.nodeType === 3) {
-        s += n.nodeValue;
-      }
-    }
-    return s.replace('\xA0', ' '); // replace non-breaking spaces
-  }
-
-  // When presenter notes are enabled, the index passed
-  // here will identify the playground to be synced
-  function init(code, index) {
-    var output = document.createElement('div');
-    var outpre = document.createElement('pre');
-    var running;
-
-    if ($ && $(output).resizable) {
-      $(output).resizable({
-        handles: 'n,w,nw',
-        minHeight: 27,
-        minWidth: 135,
-        maxHeight: 608,
-        maxWidth: 990,
-      });
-    }
-
-    function onKill() {
-      if (running) running.Kill();
-      if (window.notesEnabled) updatePlayStorage('onKill', index);
-    }
-
-    function onRun(e) {
-      var sk = e.shiftKey || localStorage.getItem('play-shiftKey') === 'true';
-      if (running) running.Kill();
-      output.style.display = 'block';
-      outpre.innerHTML = '';
-      run1.style.display = 'none';
-      var options = { Race: sk };
-      running = transport.Run(text(code), PlaygroundOutput(outpre), options);
-      if (window.notesEnabled) updatePlayStorage('onRun', index, e);
-    }
-
-    function onClose() {
-      if (running) running.Kill();
-      output.style.display = 'none';
-      run1.style.display = 'inline-block';
-      if (window.notesEnabled) updatePlayStorage('onClose', index);
-    }
-
-    if (window.notesEnabled) {
-      playgroundHandlers.onRun.push(onRun);
-      playgroundHandlers.onClose.push(onClose);
-      playgroundHandlers.onKill.push(onKill);
-    }
-
-    var run1 = document.createElement('button');
-    run1.innerHTML = 'Run';
-    run1.className = 'run';
-    run1.addEventListener('click', onRun, false);
-    var run2 = document.createElement('button');
-    run2.className = 'run';
-    run2.innerHTML = 'Run';
-    run2.addEventListener('click', onRun, false);
-    var kill = document.createElement('button');
-    kill.className = 'kill';
-    kill.innerHTML = 'Kill';
-    kill.addEventListener('click', onKill, false);
-    var close = document.createElement('button');
-    close.className = 'close';
-    close.innerHTML = 'Close';
-    close.addEventListener('click', onClose, false);
-
-    var button = document.createElement('div');
-    button.classList.add('buttons');
-    button.appendChild(run1);
-    // Hack to simulate insertAfter
-    code.parentNode.insertBefore(button, code.nextSibling);
-
-    var buttons = document.createElement('div');
-    buttons.classList.add('buttons');
-    buttons.appendChild(run2);
-    buttons.appendChild(kill);
-    buttons.appendChild(close);
-
-    output.classList.add('output');
-    output.appendChild(buttons);
-    output.appendChild(outpre);
-    output.style.display = 'none';
-    code.parentNode.insertBefore(output, button.nextSibling);
-  }
-
-  var play = document.querySelectorAll('div.playground');
-  for (var i = 0; i < play.length; i++) {
-    init(play[i], i);
-  }
-}
_content/playground.js
@@ -1,575 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-In the absence of any formal way to specify interfaces in JavaScript,
-here's a skeleton implementation of a playground transport.
-
-        function Transport() {
-                // Set up any transport state (eg, make a websocket connection).
-                return {
-                        Run: function(body, output, options) {
-                                // Compile and run the program 'body' with 'options'.
-				// Call the 'output' callback to display program output.
-                                return {
-                                        Kill: function() {
-                                                // Kill the running program.
-                                        }
-                                };
-                        }
-                };
-        }
-
-	// The output callback is called multiple times, and each time it is
-	// passed an object of this form.
-        var write = {
-                Kind: 'string', // 'start', 'stdout', 'stderr', 'end'
-                Body: 'string'  // content of write or end status message
-        }
-
-	// The first call must be of Kind 'start' with no body.
-	// Subsequent calls may be of Kind 'stdout' or 'stderr'
-	// and must have a non-null Body string.
-	// The final call should be of Kind 'end' with an optional
-	// Body string, signifying a failure ("killed", for example).
-
-	// The output callback must be of this form.
-	// See PlaygroundOutput (below) for an implementation.
-        function outputCallback(write) {
-        }
-*/
-
-// HTTPTransport is the default transport.
-// enableVet enables running vet if a program was compiled and ran successfully.
-// If vet returned any errors, display them before the output of a program.
-function HTTPTransport(enableVet) {
-  'use strict';
-
-  function playback(output, data) {
-    // Backwards compatibility: default values do not affect the output.
-    var events = data.Events || [];
-    var errors = data.Errors || '';
-    var status = data.Status || 0;
-    var isTest = data.IsTest || false;
-    var testsFailed = data.TestsFailed || 0;
-
-    var timeout;
-    output({ Kind: 'start' });
-    function next() {
-      if (!events || events.length === 0) {
-        if (isTest) {
-          if (testsFailed > 0) {
-            output({
-              Kind: 'system',
-              Body:
-                '\n' +
-                testsFailed +
-                ' test' +
-                (testsFailed > 1 ? 's' : '') +
-                ' failed.',
-            });
-          } else {
-            output({ Kind: 'system', Body: '\nAll tests passed.' });
-          }
-        } else {
-          if (status > 0) {
-            output({ Kind: 'end', Body: 'status ' + status + '.' });
-          } else {
-            if (errors !== '') {
-              // errors are displayed only in the case of timeout.
-              output({ Kind: 'end', Body: errors + '.' });
-            } else {
-              output({ Kind: 'end' });
-            }
-          }
-        }
-        return;
-      }
-      var e = events.shift();
-      if (e.Delay === 0) {
-        output({ Kind: e.Kind, Body: e.Message });
-        next();
-        return;
-      }
-      timeout = setTimeout(function() {
-        output({ Kind: e.Kind, Body: e.Message });
-        next();
-      }, e.Delay / 1000000);
-    }
-    next();
-    return {
-      Stop: function() {
-        clearTimeout(timeout);
-      },
-    };
-  }
-
-  function error(output, msg) {
-    output({ Kind: 'start' });
-    output({ Kind: 'stderr', Body: msg });
-    output({ Kind: 'end' });
-  }
-
-  function buildFailed(output, msg) {
-    output({ Kind: 'start' });
-    output({ Kind: 'stderr', Body: msg });
-    output({ Kind: 'system', Body: '\nGo build failed.' });
-  }
-
-  var seq = 0;
-  return {
-    Run: function(body, output, options) {
-      seq++;
-      var cur = seq;
-      var playing;
-      $.ajax('/compile', {
-        type: 'POST',
-        data: { version: 2, body: body },
-        dataType: 'json',
-        success: function(data) {
-          if (seq != cur) return;
-          if (!data) return;
-          if (playing != null) playing.Stop();
-          if (data.Errors) {
-            if (data.Errors === 'process took too long') {
-              // Playback the output that was captured before the timeout.
-              playing = playback(output, data);
-            } else {
-              buildFailed(output, data.Errors);
-            }
-            return;
-          }
-
-          if (!enableVet) {
-            playing = playback(output, data);
-            return;
-          }
-
-          $.ajax('/vet', {
-            data: { body: body },
-            type: 'POST',
-            dataType: 'json',
-            success: function(dataVet) {
-              if (dataVet.Errors) {
-                if (!data.Events) {
-                  data.Events = [];
-                }
-                // inject errors from the vet as the first events in the output
-                data.Events.unshift({
-                  Message: 'Go vet exited.\n\n',
-                  Kind: 'system',
-                  Delay: 0,
-                });
-                data.Events.unshift({
-                  Message: dataVet.Errors,
-                  Kind: 'stderr',
-                  Delay: 0,
-                });
-              }
-              playing = playback(output, data);
-            },
-            error: function() {
-              playing = playback(output, data);
-            },
-          });
-        },
-        error: function() {
-          error(output, 'Error communicating with remote server.');
-        },
-      });
-      return {
-        Kill: function() {
-          if (playing != null) playing.Stop();
-          output({ Kind: 'end', Body: 'killed' });
-        },
-      };
-    },
-  };
-}
-
-function SocketTransport() {
-  'use strict';
-
-  var id = 0;
-  var outputs = {};
-  var started = {};
-  var websocket;
-  if (window.location.protocol == 'http:') {
-    websocket = new WebSocket('ws://' + window.location.host + '/socket');
-  } else if (window.location.protocol == 'https:') {
-    websocket = new WebSocket('wss://' + window.location.host + '/socket');
-  }
-
-  websocket.onclose = function() {
-    console.log('websocket connection closed');
-  };
-
-  websocket.onmessage = function(e) {
-    var m = JSON.parse(e.data);
-    var output = outputs[m.Id];
-    if (output === null) return;
-    if (!started[m.Id]) {
-      output({ Kind: 'start' });
-      started[m.Id] = true;
-    }
-    output({ Kind: m.Kind, Body: m.Body });
-  };
-
-  function send(m) {
-    websocket.send(JSON.stringify(m));
-  }
-
-  return {
-    Run: function(body, output, options) {
-      var thisID = id + '';
-      id++;
-      outputs[thisID] = output;
-      send({ Id: thisID, Kind: 'run', Body: body, Options: options });
-      return {
-        Kill: function() {
-          send({ Id: thisID, Kind: 'kill' });
-        },
-      };
-    },
-  };
-}
-
-function PlaygroundOutput(el) {
-  'use strict';
-
-  return function(write) {
-    if (write.Kind == 'start') {
-      el.innerHTML = '';
-      return;
-    }
-
-    var cl = 'system';
-    if (write.Kind == 'stdout' || write.Kind == 'stderr') cl = write.Kind;
-
-    var m = write.Body;
-    if (write.Kind == 'end') {
-      m = '\nProgram exited' + (m ? ': ' + m : '.');
-    }
-
-    if (m.indexOf('IMAGE:') === 0) {
-      // TODO(adg): buffer all writes before creating image
-      var url = 'data:image/png;base64,' + m.substr(6);
-      var img = document.createElement('img');
-      img.src = url;
-      el.appendChild(img);
-      return;
-    }
-
-    // ^L clears the screen.
-    var s = m.split('\x0c');
-    if (s.length > 1) {
-      el.innerHTML = '';
-      m = s.pop();
-    }
-
-    m = m.replace(/&/g, '&amp;');
-    m = m.replace(/</g, '&lt;');
-    m = m.replace(/>/g, '&gt;');
-
-    var needScroll = el.scrollTop + el.offsetHeight == el.scrollHeight;
-
-    var span = document.createElement('span');
-    span.className = cl;
-    span.innerHTML = m;
-    el.appendChild(span);
-
-    if (needScroll) el.scrollTop = el.scrollHeight - el.offsetHeight;
-  };
-}
-
-(function() {
-  function lineHighlight(error) {
-    var regex = /prog.go:([0-9]+)/g;
-    var r = regex.exec(error);
-    while (r) {
-      $('.lines div')
-        .eq(r[1] - 1)
-        .addClass('lineerror');
-      r = regex.exec(error);
-    }
-  }
-  function highlightOutput(wrappedOutput) {
-    return function(write) {
-      if (write.Body) lineHighlight(write.Body);
-      wrappedOutput(write);
-    };
-  }
-  function lineClear() {
-    $('.lineerror').removeClass('lineerror');
-  }
-
-  // opts is an object with these keys
-  //  codeEl - code editor element
-  //  outputEl - program output element
-  //  runEl - run button element
-  //  fmtEl - fmt button element (optional)
-  //  fmtImportEl - fmt "imports" checkbox element (optional)
-  //  shareEl - share button element (optional)
-  //  shareURLEl - share URL text input element (optional)
-  //  shareRedirect - base URL to redirect to on share (optional)
-  //  toysEl - toys select element (optional)
-  //  enableHistory - enable using HTML5 history API (optional)
-  //  transport - playground transport to use (default is HTTPTransport)
-  //  enableShortcuts - whether to enable shortcuts (Ctrl+S/Cmd+S to save) (default is false)
-  //  enableVet - enable running vet and displaying its errors
-  function playground(opts) {
-    var code = $(opts.codeEl);
-    var transport = opts['transport'] || new HTTPTransport(opts['enableVet']);
-    var running;
-
-    // autoindent helpers.
-    function insertTabs(n) {
-      // find the selection start and end
-      var start = code[0].selectionStart;
-      var end = code[0].selectionEnd;
-      // split the textarea content into two, and insert n tabs
-      var v = code[0].value;
-      var u = v.substr(0, start);
-      for (var i = 0; i < n; i++) {
-        u += '\t';
-      }
-      u += v.substr(end);
-      // set revised content
-      code[0].value = u;
-      // reset caret position after inserted tabs
-      code[0].selectionStart = start + n;
-      code[0].selectionEnd = start + n;
-    }
-    function autoindent(el) {
-      var curpos = el.selectionStart;
-      var tabs = 0;
-      while (curpos > 0) {
-        curpos--;
-        if (el.value[curpos] == '\t') {
-          tabs++;
-        } else if (tabs > 0 || el.value[curpos] == '\n') {
-          break;
-        }
-      }
-      setTimeout(function() {
-        insertTabs(tabs);
-      }, 1);
-    }
-
-    // NOTE(cbro): e is a jQuery event, not a DOM event.
-    function handleSaveShortcut(e) {
-      if (e.isDefaultPrevented()) return false;
-      if (!e.metaKey && !e.ctrlKey) return false;
-      if (e.key != 'S' && e.key != 's') return false;
-
-      e.preventDefault();
-
-      // Share and save
-      share(function(url) {
-        window.location.href = url + '.go?download=true';
-      });
-
-      return true;
-    }
-
-    function keyHandler(e) {
-      if (opts.enableShortcuts && handleSaveShortcut(e)) return;
-
-      if (e.keyCode == 9 && !e.ctrlKey) {
-        // tab (but not ctrl-tab)
-        insertTabs(1);
-        e.preventDefault();
-        return false;
-      }
-      if (e.keyCode == 13) {
-        // enter
-        if (e.shiftKey) {
-          // +shift
-          run();
-          e.preventDefault();
-          return false;
-        }
-        if (e.ctrlKey) {
-          // +control
-          fmt();
-          e.preventDefault();
-        } else {
-          autoindent(e.target);
-        }
-      }
-      return true;
-    }
-    code.unbind('keydown').bind('keydown', keyHandler);
-    var outdiv = $(opts.outputEl).empty();
-    var output = $('<pre/>').appendTo(outdiv);
-
-    function body() {
-      return $(opts.codeEl).val();
-    }
-    function setBody(text) {
-      $(opts.codeEl).val(text);
-    }
-    function origin(href) {
-      return ('' + href)
-        .split('/')
-        .slice(0, 3)
-        .join('/');
-    }
-
-    var pushedEmpty = window.location.pathname == '/';
-    function inputChanged() {
-      if (pushedEmpty) {
-        return;
-      }
-      pushedEmpty = true;
-      $(opts.shareURLEl).hide();
-      window.history.pushState(null, '', '/');
-    }
-    function popState(e) {
-      if (e === null) {
-        return;
-      }
-      if (e && e.state && e.state.code) {
-        setBody(e.state.code);
-      }
-    }
-    var rewriteHistory = false;
-    if (
-      window.history &&
-      window.history.pushState &&
-      window.addEventListener &&
-      opts.enableHistory
-    ) {
-      rewriteHistory = true;
-      code[0].addEventListener('input', inputChanged);
-      window.addEventListener('popstate', popState);
-    }
-
-    function setError(error) {
-      if (running) running.Kill();
-      lineClear();
-      lineHighlight(error);
-      output
-        .empty()
-        .addClass('error')
-        .text(error);
-    }
-    function loading() {
-      lineClear();
-      if (running) running.Kill();
-      output.removeClass('error').text('Waiting for remote server...');
-    }
-    function run() {
-      loading();
-      running = transport.Run(
-        body(),
-        highlightOutput(PlaygroundOutput(output[0]))
-      );
-    }
-
-    function fmt() {
-      loading();
-      var data = { body: body() };
-      if ($(opts.fmtImportEl).is(':checked')) {
-        data['imports'] = 'true';
-      }
-      $.ajax('/fmt', {
-        data: data,
-        type: 'POST',
-        dataType: 'json',
-        success: function(data) {
-          if (data.Error) {
-            setError(data.Error);
-          } else {
-            setBody(data.Body);
-            setError('');
-          }
-        },
-      });
-    }
-
-    var shareURL; // jQuery element to show the shared URL.
-    var sharing = false; // true if there is a pending request.
-    var shareCallbacks = [];
-    function share(opt_callback) {
-      if (opt_callback) shareCallbacks.push(opt_callback);
-
-      if (sharing) return;
-      sharing = true;
-
-      var sharingData = body();
-      $.ajax('/share', {
-        processData: false,
-        data: sharingData,
-        type: 'POST',
-        contentType: 'text/plain; charset=utf-8',
-        complete: function(xhr) {
-          sharing = false;
-          if (xhr.status != 200) {
-            alert('Server error; try again.');
-            return;
-          }
-          if (opts.shareRedirect) {
-            window.location = opts.shareRedirect + xhr.responseText;
-          }
-          var path = '/p/' + xhr.responseText;
-          var url = origin(window.location) + path;
-
-          for (var i = 0; i < shareCallbacks.length; i++) {
-            shareCallbacks[i](url);
-          }
-          shareCallbacks = [];
-
-          if (shareURL) {
-            shareURL
-              .show()
-              .val(url)
-              .focus()
-              .select();
-
-            if (rewriteHistory) {
-              var historyData = { code: sharingData };
-              window.history.pushState(historyData, '', path);
-              pushedEmpty = false;
-            }
-          }
-        },
-      });
-    }
-
-    $(opts.runEl).click(run);
-    $(opts.fmtEl).click(fmt);
-
-    if (
-      opts.shareEl !== null &&
-      (opts.shareURLEl !== null || opts.shareRedirect !== null)
-    ) {
-      if (opts.shareURLEl) {
-        shareURL = $(opts.shareURLEl).hide();
-      }
-      $(opts.shareEl).click(function() {
-        share();
-      });
-    }
-
-    if (opts.toysEl !== null) {
-      $(opts.toysEl).bind('change', function() {
-        var toy = $(this).val();
-        $.ajax('/doc/play/' + toy, {
-          processData: false,
-          type: 'GET',
-          complete: function(xhr) {
-            if (xhr.status != 200) {
-              alert('Server error; try again.');
-              return;
-            }
-            setBody(xhr.responseText);
-          },
-        });
-      });
-    }
-  }
-
-  window.playground = playground;
-})();
_content/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
_content/search.html
@@ -1,66 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-{{ $colCount := tocColCount .}}
-{{/* Generate the TOC */}}
-<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<a href="#{{$key.Name}}">{{$key.Name}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{if not .Idents}}
-	{{with .Pak}}
-		<a href="#Packages">Package {{html $.Query}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{with .Hit}}
-	{{with .Decls}}
-		<a href="#Global">Package-level declarations</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<a href="#Local">Local declarations and uses</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .Textual}}
-	{{if $.Complete}}
-		<a href="#Textual">{{html $.Found}} textual occurrences</a>
-	{{else}}
-		<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
-	{{end}}
-{{end}}
-</nav>
-
-{{with .Alert}}
-	<p>
-	<span class="alert" style="font-size:120%">{{html .}}</span>
-	</p>
-{{end}}
-{{with .Alt}}
-	<p>
-	<span class="alert" style="font-size:120%">Did you mean: </span>
-	{{range .Alts}}
-		<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
-	{{end}}
-	</p>
-{{end}}
_content/searchcode.html
@@ -1,64 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{if not .Idents}}
-	{{with .Pak}}
-		<h2 id="Packages">Package {{html $.Query}}</h2>
-		<p>
-		<table class="layout">
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<tr><td><a href="/{{$pkg_html}}">{{$pkg_html}}</a></td></tr>
-		{{end}}
-		</table>
-		</p>
-	{{end}}
-{{end}}
-{{with .Hit}}
-	{{with .Decls}}
-		<h2 id="Global">Package-level declarations</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Global_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				{{range .Groups}}
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$file}}:{{$line}}</a>
-						{{infoSnippet_html .}}
-					{{end}}
-				{{end}}
-			{{end}}
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<h2 id="Local">Local declarations and uses</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Local_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				<a href="{{queryLink $file $query_url 0 | html}}">{{$file}}</a>
-				<table class="layout">
-				{{range .Groups}}
-					<tr>
-					<td width="25"></td>
-					<th align="left" valign="top">{{index . 0 | infoKind_html}}</th>
-					<td align="left" width="4"></td>
-					<td>
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$line}}</a>
-					{{end}}
-					</td>
-					</tr>
-				{{end}}
-				</table>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
_content/searchdoc.html
@@ -1,24 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<h2 id="{{$key.Name}}">{{$key.Name}}</h2>
-		{{range $val}}
-			{{$pkg_html := pkgLink .Path | html}}
-			{{if eq "Packages" $key.Name}}
-				<a href="/{{$pkg_html}}">{{html .Path}}</a>
-			{{else}}
-				{{$doc_html := docLink .Path .Name| html}}
-				<a href="/{{$pkg_html}}">{{html .Package}}</a>.<a href="{{$doc_html}}">{{.Name}}</a>
-			{{end}}
-			{{if .Doc}}
-				<p>{{comment_html .Doc}}</p>
-			{{else}}
-				<p><em>No documentation available</em></p>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
_content/searchtxt.html
@@ -1,42 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{with .Textual}}
-	{{if $.Complete}}
-		<h2 id="Textual">{{html $.Found}} textual occurrences</h2>
-	{{else}}
-		<h2 id="Textual">More than {{html $.Found}} textual occurrences</h2>
-		<p>
-		<span class="alert" style="font-size:120%">Not all files or lines containing "{{html $.Query}}" are shown.</span>
-		</p>
-	{{end}}
-	<p>
-	<table class="layout">
-	{{range .}}
-		{{$file := .Filename}}
-		<tr>
-		<td align="left" valign="top">
-		<a href="{{queryLink $file $query_url 0}}">{{$file}}</a>:
-		</td>
-		<td align="left" width="4"></td>
-		<th align="left" valign="top">{{len .Lines}}</th>
-		<td align="left" width="4"></td>
-		<td align="left">
-		{{range .Lines}}
-			<a href="{{queryLink $file $query_url .}}">{{html .}}</a>
-		{{end}}
-		{{if not $.Complete}}
-			...
-		{{end}}
-		</td>
-		</tr>
-	{{end}}
-	{{if not $.Complete}}
-		<tr><td align="left">...</td></tr>
-	{{end}}
-	</table>
-	</p>
-{{end}}
_content/style.css
@@ -1,1073 +0,0 @@
-body {
-  background-color: #fff;
-  color: #3e4042;
-  font-family: Roboto, Arial, sans-serif;
-  line-height: 1.3;
-  margin: 0;
-  text-align: center;
-}
-.Note {
-  /* For styling "Note" sections. */
-  background-color: rgb(224, 235, 245);
-  font-size: 0.875rem;
-  margin: 1.25rem;
-  max-width: 50rem;
-  padding: 0.5rem 0.5rem 0.5rem 0.625rem;
-}
-/* Tabs */
-.TabSection {
-  background: #fff;
-  border: 0.0625rem solid #dadce0;
-  border-radius: 0.3125rem;
-  box-shadow: none;
-  max-width: 50rem;
-}
-.TabSection-tabList {
-  flex-shrink: 0;
-  position: relative;
-  border-bottom: 0.0625rem solid #dadce0;
-}
-.TabSection-tab {
-  background: #fff;
-  border: none;
-  line-height: 3rem;
-  padding: 0 1.125rem;
-  position: relative;
-}
-.TabSection-tab[aria-selected='true'] {
-  outline: 0;
-  background-color: #e0ebf5;
-}
-.TabSection-tab:focus {
-  outline: 0;
-  background-color: #e0ebf5;
-}
-.TabSection-tabPanel {
-  font-size: 0.875rem;
-}
-/* Tutorial previous and next links */
-.Navigation {
-  font-size: 0.875rem;
-}
-.Navigation-prev {
-  float: left;
-  font-weight: bold;
-}
-.Navigation-next {
-  float: right;
-  font-weight: bold;
-}
-/* Table in doc topics. */
-.DocTable {
-  border-collapse: collapse;
-  font-size: 0.875rem;
-  margin: 1.25rem;
-  max-width: 50rem;
-}
-.DocTable-row {
-  border-bottom: 0.0625rem solid #dadce0;
-  height: 3rem;
-  vertical-align: top;
-}
-.DocTable-head {
-  background: #e8eaed;
-  border-bottom: 0.0625rem solid #dadce0;
-  border-top: 0.0625rem solid #dadce0;
-  height: 3rem;
-}
-.DocTable-cell {
-  padding: 0.4375rem;
-}
-.DocTable-cell pre {
-  font-size: 0.775rem;
-}
-.DocTable-cell p,
-.DocTable-cell pre {
-  margin:  0rem 0rem 0.875rem;
-}
-.DocTable-row--highlighted {
-  background: #f0f0f0;
-  border-bottom: 0.0625rem solid #dadce0;
-  height: 3rem;
-}
-textarea {
-  /* Inherit text color from body avoiding illegible text in the case where the
-   * user has inverted the browsers custom text and background colors. */
-  color: inherit;
-}
-pre,
-code {
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-code {
-  /* Reduce spacing between words in code inline with text. Monospace font
-   * spaces tend to be wider than proportional font spaces. */
-  word-spacing: -0.3em;
-}
-pre code {
-  /* Maintain spacing inside preformatted blocks rendered from Markdown.
-   * See golang.org/issue/41507. */
-  word-spacing: 0;
-}
-pre {
-  line-height: 1.4;
-  overflow-x: auto;
-}
-pre .comment {
-  color: #006600;
-}
-pre .highlight,
-pre .highlight-comment,
-pre .selection-highlight,
-pre .selection-highlight-comment {
-  background: #ffff00;
-}
-pre .selection,
-pre .selection-comment {
-  background: #ff9632;
-}
-pre .ln {
-  color: #999;
-  background: #efefef;
-}
-pre ins {
-  /* For styling highlighted code in examples. */
-  color: rgb(0, 125, 156);
-  font-weight: bold;
-  text-decoration: none;
-}
-.ln {
-  user-select: none;
-
-  /* Ensure 8 characters in the document - which due to floating
-   * point rendering issues, might have a width of less than 1 each - are 8
-   * characters wide, so a tab in the 9th position indents properly. See
-   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
-   * for more information. */
-  display: inline-block;
-  width: 8ch;
-}
-.search-nav {
-  margin-left: 1.25rem;
-  font-size: 0.875rem;
-  column-gap: 1.25rem;
-  column-fill: auto;
-  column-width: 14rem;
-}
-.search-nav .indent {
-  margin-left: 1.25rem;
-}
-a,
-.exampleHeading .text,
-.expandAll {
-  color: #007d9c;
-  text-decoration: none;
-}
-a:hover,
-.exampleHeading .text:hover,
-.expandAll:hover {
-  text-decoration: underline;
-}
-.article a {
-  text-decoration: underline;
-}
-.article .title a {
-  text-decoration: none;
-}
-.permalink {
-  display: none;
-}
-:hover > .permalink {
-  display: inline;
-}
-p,
-li {
-  max-width: 50rem;
-  word-wrap: break-word;
-}
-p,
-pre,
-ul,
-ol {
-  margin: 1.25rem;
-}
-pre {
-  background: #efefef;
-  padding: 0.625rem;
-  border-radius: 0.3125rem;
-}
-h1,
-h2,
-h3,
-h4 {
-  margin: 1.25rem 0 1.25rem;
-  padding: 0;
-  color: #202224;
-  font-family: 'Work Sans', sans-serif;
-  font-weight: 600;
-}
-h1 {
-  font-size: 1.75rem;
-  line-height: 1;
-}
-h1 .text-muted {
-  color: #777;
-}
-h2 {
-  font-size: 1.25rem;
-  background: #e0ebf5;
-  padding: 0.5rem;
-  line-height: 1.25;
-  font-weight: normal;
-  overflow-wrap: break-word;
-}
-h2 a {
-  font-weight: bold;
-}
-h3 {
-  font-size: 1.25rem;
-  line-height: 1.25;
-  overflow-wrap: break-word;
-}
-h3,
-h4 {
-  margin: 1.25rem 0.3125rem;
-}
-h4 {
-  font-size: 1rem;
-}
-h2 > span,
-h3 > span {
-  float: right;
-  margin: 0 25px 0 0;
-  font-weight: normal;
-  color: #5279c7;
-}
-dl {
-  margin: 1.25rem;
-  max-width: 50rem;
-}
-dd {
-  margin: 0 0 0 1.25rem;
-}
-dl,
-dd {
-  font-size: 0.875rem;
-}
-div#nav table td {
-  vertical-align: top;
-}
-.ModTable {
-  border-collapse: collapse;
-  margin: 1.25rem;
-  max-width: 50rem;
-}
-.ModTable code {
-  white-space: nowrap;
-}
-.ModTable td,
-.ModTable th {
-  border: 1px solid #a9a9a9;
-  padding: 1rem;
-  vertical-align: top;
-}
-.ModTable td p {
-  margin: 0 0 1rem 0;
-}
-.ModTable td p:last-child {
-  margin-bottom: 0;
-}
-#pkg-index h3 {
-  font-size: 1rem;
-}
-.pkg-dir {
-  padding: 0 0.625rem;
-}
-.pkg-dir table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-.pkg-name {
-  padding-right: 0.625rem;
-}
-.alert {
-  color: #aa0000;
-}
-#pkg-examples h3 {
-  float: left;
-}
-#pkg-examples dl {
-  clear: both;
-}
-.expandAll {
-  cursor: pointer;
-  float: left;
-  margin: 1.25rem 0;
-}
-.Site {
-  display: flex;
-  flex-direction: column;
-  min-height: 100vh;
-}
-.Site-content {
-  flex: 1;
-}
-#page {
-  width: 100%;
-}
-#page > .container,
-.Header-nav {
-  text-align: left;
-  margin-left: auto;
-  margin-right: auto;
-  padding: 0 1.25rem;
-}
-#page > .container,
-.Header-nav,
-.Footer {
-  max-width: 59.38rem;
-}
-#page.wide > .container,
-.Header-nav--wide,
-.Footer--wide {
-  max-width: none;
-}
-div#playground .buttons a {
-  background: #375eab;
-  border: 0.0625rem solid #757575;
-  color: white;
-}
-/* Style download button on doc/install page */
-a#start {
-  background: #e0ebf5;
-  border: 0.0625rem solid #375eab;
-  border-radius: 0.3125rem;
-  color: #222;
-  display: block;
-  padding: 0.625rem;
-  text-align: center;
-  text-decoration: none;
-}
-a#start .big {
-  display: block;
-  font-size: 1.25rem;
-  font-weight: bold;
-}
-a#start .desc {
-  display: block;
-  font-size: 0.875rem;
-  font-weight: normal;
-  margin-top: 0.3125rem;
-}
-.download {
-  width: 17.5rem;
-}
-::-webkit-input-placeholder {
-  color: #7f7f7f;
-  opacity: 1;
-}
-::placeholder {
-  color: #7f7f7f;
-  opacity: 1;
-}
-.Header {
-  align-items: center;
-  box-sizing: border-box;
-  display: flex;
-  font-size: 0.875rem;
-  justify-content: space-between;
-  padding: 1.375rem 0;
-}
-.Header.is-active {
-  background-color: #f7f9fa;
-}
-.Header-banner {
-  display: none;
-}
-.Header-logo {
-  height: 2rem;
-  width: 5.125rem;
-}
-.Header-nav {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-  width: 100%;
-}
-.Header-menuButton {
-  background-color: transparent;
-  border: none;
-  box-sizing: content-box;
-  cursor: pointer;
-  display: inline-block;
-  height: 1.313rem;
-  padding: 0.375rem;
-  position: relative;
-  vertical-align: middle;
-  width: 1.313rem;
-}
-.Header-menuButtonInner {
-  position: relative;
-}
-.Header-menuButton::after,
-.Header-menuButtonInner,
-.Header-menuButtonInner::before,
-.Header-menuButtonInner::after {
-  background-color: #3e4042;
-  height: 0.1875rem;
-  transition: all 100ms ease-in;
-}
-.Header-menuButton::after {
-  opacity: 0;
-  top: 0.9375rem;
-}
-.Header-menuButton::after,
-.Header-menuButtonInner::before,
-.Header-menuButtonInner::after {
-  content: '';
-  display: block;
-  position: absolute;
-  width: 1.313rem;
-}
-.Header-menuButtonInner::before {
-  top: -0.375rem;
-}
-.Header-menuButtonInner::after {
-  bottom: -0.375rem;
-}
-.Header.is-active .Header-menuButton::after {
-  opacity: 1;
-  transform: rotate(-45deg);
-}
-.Header.is-active .Header-menuButton .Header-menuButtonInner {
-  transform: rotate(45deg);
-}
-.Header.is-active .Header-menuButton .Header-menuButtonInner::before,
-.Header.is-active .Header-menuButton .Header-menuButtonInner::after {
-  background-color: transparent;
-}
-.Header-menu {
-  align-items: center;
-  display: none;
-  flex-direction: column;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-  width: 100%;
-}
-.Header.is-active .Header-menu {
-  display: flex;
-}
-.Header-menuItem:first-of-type {
-  /* Offset the padding of the inner link, maintaining its click target size,
-     while still placing the item as if it had no top margin or padding. */
-  margin-top: -0.5rem;
-}
-.Header-menuItem {
-  display: inline-flex;
-}
-.Header-menuItem,
-.Header-menuItem a:link,
-.Header-menuItem a:visited {
-  width: 100%;
-}
-.Header-menuItem,
-.Header-menuItem a:link,
-.Header-menuItem a:visited {
-  color: #3e4042;
-  text-align: center;
-}
-.Header-menuItem a:link,
-.Header-menuItem a:visited {
-  padding: 0.5rem 0;
-}
-@media only screen and (min-width: 56rem) {
-  .Header {
-    display: block;
-    padding: 0;
-  }
-  .Header-banner {
-    background-color: #000;
-    color: #fff;
-    display: block;
-    padding: 1rem;
-  }
-  .Header-banner a:link,
-  .Header-banner a:visited {
-    color: #fff;
-    text-decoration: underline;
-  }
-  .Header-nav {
-    width: auto;
-  }
-  .Header.is-active {
-    background-color: #fff;
-  }
-  .Header.is-active .Header-menu {
-    display: block;
-  }
-  .Header-menuButton {
-    display: none;
-  }
-  .Header-menu {
-    display: flex;
-    flex-direction: row;
-    width: auto;
-  }
-  .Header-menuItem:first-of-type {
-    margin-top: 0;
-  }
-  .Header-menuItem,
-  .Header-menuItem a:link,
-  .Header-menuItem a:visited {
-    width: auto;
-  }
-  .Header-menuItem a:link,
-  .Header-menuItem a:visited {
-    padding: 2rem 1.5rem;
-  }
-  .Header-menuItem a:hover,
-  .Header-menuItem a:focus {
-    text-decoration: underline;
-  }
-}
-@media only screen and (min-width: 57.5rem) {
-  .Header {
-    font-size: 1rem;
-  }
-}
-.Button,
-.Button:link,
-.Button:visited {
-  align-items: center;
-  background-color: #f7f9fa;
-  border: none;
-  border-radius: 0.1875rem;
-  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
-  box-sizing: border-box;
-  color: #007d9c;
-  cursor: pointer;
-  display: inline-flex;
-  font: bold 0.875rem Roboto, sans-serif;
-  height: 2.375rem;
-  padding: 0 0.625rem;
-  justify-content: center;
-  min-width: 4.063rem;
-  text-decoration: none;
-}
-.Button:active {
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
-}
-.Button--primary,
-.Button--primary:link,
-.Button--primary:visited {
-  border: 0.0625rem solid #00add8;
-}
-.Button--big,
-.Button--big:link,
-.Button--big:visited {
-  background-color: #7fd5ea;
-  border-radius: 0.3125rem;
-  color: #202224;
-  font-size: 1.5rem;
-  height: 4rem;
-  justify-content: center;
-}
-.HomeContainer {
-  align-items: top;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-}
-.HomeContainer * {
-  box-sizing: border-box;
-}
-.HomeSection {
-  flex: 0 0 100%;
-  margin-bottom: 2.5rem;
-  padding: 0 1rem;
-}
-.HomeSection-header {
-  background: none;
-  color: #202224;
-  margin: 0 0 0.625rem 0;
-  padding: 0;
-  font-weight: bold;
-}
-.Hero-header {
-  font: 1.5rem Roboto, sans-serif;
-  line-height: inherit;
-  margin: 0 0 1.875rem;
-}
-.Hero-gopher {
-  background: url('/lib/godoc/images/home-gopher.png') no-repeat;
-  background-position: center top;
-  display: block;
-  height: 9.688rem;
-  max-height: 200px;
-  /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
-}
-.HeroDownloadButton,
-.Hero-description {
-  text-align: center;
-}
-.HeroDownloadButton,
-.HeroDownloadButton:link,
-.HeroDownloadButton:visited {
-  display: flex;
-  margin-bottom: 0.5rem;
-}
-.HeroDownloadButton-image {
-  height: 2rem;
-  margin-right: 2rem;
-  width: 2rem;
-}
-.Hero-description {
-  color: #616161;
-  font-size: 0.875rem;
-  margin: 0;
-}
-@media only screen and (min-width: 57.1875rem) {
-  .HomeSection {
-    flex: 0 0 26.875rem;
-    padding: 0;
-  }
-  .Hero,
-  .Playground {
-    margin-top: 1rem;
-  }
-}
-.Playground-headerContainer {
-  align-items: baseline;
-  display: flex;
-  justify-content: space-between;
-}
-.Playground-popout {
-  background: url('/lib/godoc/images/play-link.svg') no-repeat;
-  background-position: right center;
-  cursor: pointer;
-  display: block;
-  font-size: 1rem;
-  padding: 0 1.688rem;
-}
-.Playground-input,
-.Playground-output {
-  padding: 0;
-  margin: 0;
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-.Playground-inputContainer {
-  border-top-left-radius: 0.3125rem;
-  border-top-right-radius: 0.3125rem;
-  overflow: hidden;
-  height: 11rem;
-}
-.Playground-input {
-  width: 100%;
-  height: 100%;
-  border: none;
-  outline: none;
-  resize: none;
-  padding: 0.625rem;
-}
-.Playground-outputContainer {
-  border-bottom-right-radius: 0.3125rem;
-  border-bottom-left-radius: 0.3125rem;
-  border-top: none !important;
-  padding: 0.625rem;
-  height: 5rem;
-  margin-bottom: 1rem;
-  overflow: auto;
-}
-.Playground-output {
-  padding: 0;
-  border-radius: 0;
-}
-.Playground-inputContainer,
-.Playground-input,
-.Playground-outputContainer,
-.Playground-output {
-  background: #f7f9fa;
-  color: #202224;
-}
-.Playground-inputContainer,
-.Playground-outputContainer {
-  border: 0.0625rem solid #c0c2c3;
-}
-.Playground-controls {
-  display: flex;
-  flex-wrap: wrap;
-}
-.Playground-buttons {
-  display: flex;
-  flex: 1;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-}
-.Playground-selectExample {
-  background-color: white;
-  border-radius: 3px;
-  border: 0.0625rem solid #979797;
-  color: inherit;
-  font-family: inherit;
-  font-size: 16px;
-  /* Prevents automatic zoom on mobile devices */
-  height: 2.375rem;
-  margin: 0 0 0.5rem 0;
-  width: 100%;
-}
-.Playground-secondaryButtons {
-  white-space: nowrap;
-}
-.Playground-secondaryButtons .Button:not(:first-child) {
-  margin-left: 0.4375rem;
-}
-@media only screen and (min-width: 27.8125rem) {
-  .Playground-outputContainer {
-    margin-bottom: 1.688rem;
-  }
-  .Playground-controls {
-    flex-wrap: nowrap;
-  }
-  .Playground-selectExample {
-    margin: 0 0.4375rem 0 0;
-    width: auto;
-  }
-}
-.Blog-title {
-  display: block;
-  font-size: 1.25rem;
-  font-weight: normal;
-  margin: 0;
-}
-.Blog-title,
-.Blog-extract,
-.Blog-when {
-  margin-bottom: 0.625rem;
-}
-.Blog-when {
-  color: #666;
-  font-size: 0.875rem;
-}
-.Blog-footer {
-  text-align: right;
-}
-@supports (--c: 0) {
-  [style*='--aspect-ratio-padding:'] {
-    position: relative;
-    overflow: hidden;
-    padding-top: var(--aspect-ratio-padding);
-  }
-  [style*='--aspect-ratio-padding:'] > * {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-  }
-}
-.Footer {
-  margin: 2rem auto 0;
-  padding: 1rem 1.25rem;
-  position: relative;
-  text-align: right;
-}
-.Footer-gopher {
-  bottom: 0;
-  left: 1.25rem;
-  position: absolute;
-  width: 5rem;
-}
-.Footer-links {
-  flex: 1;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-.Footer-link {
-  font-size: 0.875rem;
-  white-space: nowrap;
-}
-.Footer-link + .Footer-link {
-  margin-top: 0.5rem;
-}
-.Footer-supportedBy {
-  color: #6e7072;
-  display: inline-block;
-  font: 0.875rem 'Product Sans', 'Roboto', 'sans-serif';
-  margin-top: 1rem;
-}
-.Footer-supportedBy:hover {
-  text-decoration: none;
-}
-@media only screen and (min-width: 50rem) {
-  .Footer {
-    align-items: center;
-    display: flex;
-    margin: 5rem auto 0;
-  }
-  .Footer-links {
-    padding-left: 6.25rem;
-    text-align: left;
-  }
-  .Footer-link {
-    display: inline;
-  }
-  .Footer-link + .Footer-link {
-    border-left: 0.0625rem solid #3e4042;
-    margin-left: 0.75rem;
-    padding-left: 0.75rem;
-  }
-  .Footer-supportedBy {
-    margin-top: 0;
-  }
-}
-.toggleButton {
-  cursor: pointer;
-}
-.toggle > .collapsed {
-  display: block;
-}
-.toggle > .expanded {
-  display: none;
-}
-.toggleVisible > .collapsed {
-  display: none;
-}
-.toggleVisible > .expanded {
-  display: block;
-}
-table.codetable {
-  margin-left: auto;
-  margin-right: auto;
-  border-style: none;
-}
-table.codetable td {
-  padding-right: 0.625rem;
-}
-hr {
-  border-style: none;
-  border-top: 0.0625rem solid black;
-}
-img.gopher {
-  float: right;
-  margin-left: 0.625rem;
-  margin-bottom: 0.625rem;
-  z-index: -1;
-}
-h2 {
-  clear: right;
-}
-div.play {
-  padding: 0 1.25rem 2.5rem 1.25rem;
-}
-div.play pre,
-div.play textarea,
-div.play .lines {
-  padding: 0;
-  margin: 0;
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-div.play .input {
-  padding: 0.625rem;
-  margin-top: 0.625rem;
-
-  border-top-left-radius: 0.3125rem;
-  border-top-right-radius: 0.3125rem;
-
-  overflow: hidden;
-}
-div.play .input textarea {
-  width: 100%;
-  height: 100%;
-  border: none;
-  outline: none;
-  resize: none;
-
-  overflow: hidden;
-}
-div#playground .input textarea {
-  overflow: auto;
-  resize: auto;
-}
-div.play .output {
-  border-top: none !important;
-
-  padding: 0.625rem;
-  max-height: 12.5rem;
-  overflow: auto;
-
-  border-bottom-right-radius: 0.3125rem;
-  border-bottom-left-radius: 0.3125rem;
-}
-div.play .output pre {
-  padding: 0;
-  border-radius: 0;
-}
-div.play .input,
-div.play .input textarea,
-div.play .output,
-div.play .output pre {
-  background: #f7f9fa;
-  color: #202224;
-}
-div.play .input,
-div.play .output {
-  border: 0.0625rem solid #c0c2c3;
-}
-div.play .buttons {
-  float: right;
-  padding: 0.625rem 0;
-  text-align: right;
-}
-div.play .buttons .Button {
-  margin-left: 0.3125rem;
-}
-.output .stderr {
-  color: #933;
-}
-.output .system {
-  color: #999;
-}
-/* drop-down playground */
-div#playground {
-  /* start hidden; revealed by javascript */
-  display: none;
-}
-div#playground {
-  position: absolute;
-  top: 3.938rem;
-  right: 1.25rem;
-  padding: 0 0.625rem 0.625rem 0.625rem;
-  z-index: 1;
-  text-align: left;
-  background: #e0ebf5;
-
-  border: 0.0625rem solid #b0bbc5;
-  border-top: none;
-
-  border-bottom-left-radius: 0.3125rem;
-  border-bottom-right-radius: 0.3125rem;
-}
-div#playground .code {
-  width: 32.5rem;
-  height: 12.5rem;
-}
-div#playground .output {
-  height: 6.25rem;
-}
-/* Inline runnable snippets (play.js/initPlayground) */
-#content .code pre,
-#content .playground pre,
-#content .output pre {
-  margin: 0;
-  padding: 0;
-  background: none;
-  border: none;
-  outline: 0 solid transparent;
-  overflow: auto;
-}
-#content .playground .number,
-#content .code .number {
-  color: #999;
-}
-#content .code,
-#content .playground,
-#content .output {
-  width: auto;
-  margin: 1.25rem;
-  padding: 0.625rem;
-  border-radius: 0.3125rem;
-}
-#content .code,
-#content .playground {
-  background: #e9e9e9;
-}
-#content .output {
-  background: #202020;
-}
-#content .output .stdout,
-#content .output pre {
-  color: #e6e6e6;
-}
-#content .output .stderr,
-#content .output .error {
-  color: rgb(244, 74, 63);
-}
-#content .output .system,
-#content .output .exit {
-  color: rgb(255, 209, 77);
-}
-#content .buttons {
-  position: relative;
-  float: right;
-  top: -3.125rem;
-  right: 1.875rem;
-}
-#content .output .buttons {
-  top: -3.75rem;
-  right: 0;
-  height: 0;
-}
-#content .buttons .kill {
-  display: none;
-  visibility: hidden;
-}
-a.error {
-  font-weight: bold;
-  color: white;
-  background-color: darkred;
-  border-bottom-left-radius: 0.25rem;
-  border-bottom-right-radius: 0.25rem;
-  border-top-left-radius: 0.25rem;
-  border-top-right-radius: 0.25rem;
-  padding: 0.125rem 0.25rem 0.125rem 0.25rem;
-  /* TRBL */
-}
-.downloading {
-  background: #f9f9be;
-  padding: 0.625rem;
-  text-align: center;
-  border-radius: 0.3125rem;
-}
-@media (max-width: 43.75em) {
-  body {
-    font-size: 0.9375rem;
-  }
-  div#playground {
-    left: 0;
-    right: 0;
-  }
-  pre,
-  code {
-    font-size: 0.866rem;
-  }
-  #page > .container,
-  .Header-nav {
-    padding: 0 0.625rem;
-  }
-  p,
-  pre,
-  ul,
-  ol {
-    margin: 0.625rem;
-  }
-  .pkg-synopsis {
-    display: none;
-  }
-  img.gopher {
-    display: none;
-  }
-}
-@media print {
-  pre {
-    background: #fff;
-    border: 0.0625rem solid #bbb;
-    white-space: pre-wrap;
-    page-break-inside: avoid;
-  }
-}
\ No newline at end of file
cmd/golangorg/local.go
@@ -27,7 +27,7 @@
 		os.Exit(2)
 	}
 	dir := filepath.Join(file, "../../../_content")
-	if _, err := os.Stat(filepath.Join(dir, "godoc.html")); err != nil {
+	if _, err := os.Stat(filepath.Join(dir, "lib/godoc/godoc.html")); err != nil {
 		log.Printf("warning: cannot find template dir; using embedded copy")
 		return
 	}
cmd/golangorg/main.go
@@ -26,7 +26,6 @@
 	"log"
 	"net/http"
 	"os"
-	"path/filepath"
 	"regexp"
 	"runtime"

@@ -84,21 +83,14 @@
 	rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
 	fs.Bind("/", rootfs, "/", vfs.BindReplace)

-	// Try serving files in /doc from a local copy before trying the main
+	// Try serving files from _content before trying the main
 	// go repository. This lets us update some documentation outside the
 	// Go release cycle. This includes root.html, which redirects to "/".
 	// See golang.org/issue/29206.
 	if *templateDir != "" {
-		fs.Bind("/doc", vfs.OS(*templateDir), "/doc", vfs.BindBefore)
-		fs.Bind("/lib/godoc", vfs.OS(*templateDir), "/", vfs.BindBefore)
-		root := filepath.Join(*templateDir, "..")
-		fs.Bind("/robots.txt", vfs.OS(root), "/robots.txt", vfs.BindBefore)
-		fs.Bind("/favicon.ico", vfs.OS(root), "/favicon.ico", vfs.BindBefore)
+		fs.Bind("/", vfs.OS(*templateDir), "/", vfs.BindBefore)
 	} else {
-		fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
-		fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
-		fs.Bind("/robots.txt", vfs.FromFS(website.Root), "/robots.txt", vfs.BindBefore)
-		fs.Bind("/favicon.ico", vfs.FromFS(website.Root), "/favicon.ico", vfs.BindBefore)
+		fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindBefore)
 	}

 	corpus := godoc.NewCorpus(fs)
cmd/golangorg/release_test.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

+//go:build go1.16
 // +build go1.16

 package main
@@ -27,8 +28,7 @@
 	origFS, origPres := fs, pres
 	defer func() { fs, pres = origFS, origPres }()
 	fs = vfs.NameSpace{}
-	fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
-	fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
+	fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindReplace)
 	pres = godoc.NewPresentation(godoc.NewCorpus(fs))
 	readTemplates(pres)
 	mux := registerHandlers(pres)
content.go
@@ -26,7 +26,3 @@
 	}
 	return s
 }
-
-// Root is the website root files: favicon.ico and robots.txt.
-//go:embed favicon.ico robots.txt
-var Root embed.FS
favicon.ico

	
robots.txt
@@ -1,2 +0,0 @@
-User-agent: *
-Disallow: /
cmd/golangorg: make /x redirect message nicer

"Nothing to see here; move along" was a funny throwaway line years ago.
It's a bit confusing now when it appears for a brief moment during
the redirect, especially for people not familiar with the idiom.
Show clearer text.
rsc committed 4 days ago commit f520b474e82ec18e29df753bee922da1ab4c7e95
cmd/golangorg/x.go
@@ -60,7 +60,7 @@
 <meta http-equiv="refresh" content="0; url=https://pkg.go.dev/golang.org/x/{{.Proj}}{{.Suffix}}">
 </head>
 <body>
-Nothing to see here; <a href="https://pkg.go.dev/golang.org/x/{{.Proj}}{{.Suffix}}">move along</a>.
+<a href="https://pkg.go.dev/golang.org/x/{{.Proj}}{{.Suffix}}">Redirecting to documentation...</a>.
 </body>
 </html>
 `))
cmd/golangorg/x_test.go
@@ -66,7 +66,7 @@
 			checks: []check{
 				status(200),
 				substr(`<meta name="go-import" content="golang.org/x/pkgsite git https://go.googlesource.com/pkgsite">`),
-				substr(`Nothing to see here; <a href="https://pkg.go.dev/golang.org/x/pkgsite">move along</a>.`),
+				substr(`<a href="https://pkg.go.dev/golang.org/x/pkgsite">Redirecting to documentation...</a>.`),
 				substr(`http-equiv="refresh" content="0; url=https://pkg.go.dev/golang.org/x/pkgsite">`),
 			},
 		},
cmd/golangorg: clean up, centralize handler registration

All handlers (except the App Engine production ones) should
be registered on the mux protected by hostEnforcerHandler.
Do that, and sort the registrations for easy scanning (by people).
rsc committed 4 days ago commit ed19f5a8b736d90d086d3dc5a087accf92b33174
cmd/golangorg/handlers.go
@@ -80,14 +80,16 @@
 		panic("nil Presentation")
 	}
 	mux := http.NewServeMux()
-	mux.HandleFunc("/doc/codewalk/", codewalk)
-	mux.Handle("/doc/play/", pres.FileServer())
-	mux.Handle("/robots.txt", pres.FileServer())
 	mux.Handle("/", pres)
-	mux.Handle("/pkg/C/", redirect.Handler("/cmd/cgo/"))
-	mux.HandleFunc("/fmt", fmtHandler)
+	mux.Handle("/blog/", http.HandlerFunc(blogHandler))
+	mux.Handle("/doc/codewalk/", http.HandlerFunc(codewalk))
 	mux.Handle("/doc/devel/release.html", releaseHandler{ReleaseHistory: sortReleases(history.Releases)})
-	handleRootAndSubtree(mux, "/project/", projectHandler{ReleaseHistory: sortMajorReleases(history.Releases)}, pres)
+	mux.Handle("/doc/play/", pres.FileServer())
+	mux.Handle("/fmt", http.HandlerFunc(fmtHandler))
+	mux.Handle("/pkg/C/", redirect.Handler("/cmd/cgo/"))
+	mux.Handle("/project/", projectHandler{ReleaseHistory: sortMajorReleases(history.Releases)})
+	mux.Handle("/robots.txt", pres.FileServer())
+	mux.Handle("/x/", http.HandlerFunc(xHandler))
 	redirect.Register(mux)

 	http.Handle("/", hostEnforcerHandler{mux})
@@ -95,26 +97,6 @@
 	return mux
 }

-// handleRootAndSubtree registers a handler for the given pattern in mux.
-// The handler selects between root or subtree handlers to handle requests.
-//
-// The root handler is used for requests with URL path equal to the pattern,
-// and the subtree handler is used for all other requests matched by pattern.
-//
-// The pattern must have a trailing slash ('/'), otherwise handleRoot panics.
-func handleRootAndSubtree(mux *http.ServeMux, path string, root, subtree http.Handler) {
-	if !strings.HasSuffix(path, "/") {
-		panic("handleRootAndSubtree must be used on patterns with a trailing slash ('/')")
-	}
-	mux.HandleFunc(path, func(w http.ResponseWriter, req *http.Request) {
-		if req.URL.Path == path {
-			root.ServeHTTP(w, req)
-		} else {
-			subtree.ServeHTTP(w, req)
-		}
-	})
-}
-
 func readTemplate(name string) *template.Template {
 	if pres == nil {
 		panic("no global Presentation set yet")
@@ -169,3 +151,7 @@
 	w.Header().Set("Content-type", "application/json; charset=utf-8")
 	json.NewEncoder(w).Encode(resp)
 }
+
+func blogHandler(w http.ResponseWriter, r *http.Request) {
+	http.Redirect(w, r, "https://blog.golang.org"+strings.TrimPrefix(r.URL.Path, "/blog"), http.StatusFound)
+}
cmd/golangorg/local.go
@@ -36,5 +36,5 @@

 func lateSetup(mux *http.ServeMux) {
 	// Register a redirect handler for /dl/ to the golang.org download page.
-	http.Handle("/dl/", http.RedirectHandler("https://golang.org/dl/", http.StatusFound))
+	mux.Handle("/dl/", http.RedirectHandler("https://golang.org/dl/", http.StatusFound))
 }
cmd/golangorg/project.go
@@ -17,12 +17,18 @@
 	"golang.org/x/website/internal/history"
 )

-// projectHandler serves The Go Project page.
+// projectHandler serves The Go Project page on /project/.
 type projectHandler struct {
 	ReleaseHistory []MajorRelease // Pre-computed release history to display.
+	Subtree        http.Handler
 }

 func (h projectHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
+	if req.URL.Path != "/project/" {
+		pres.ServeHTTP(w, req) // 404
+		return
+	}
+
 	const relPath = "doc/contrib.html"

 	src, err := vfs.ReadFile(fs, relPath)
cmd/golangorg/x.go
@@ -17,19 +17,13 @@
 	"golang.org/x/build/repos"
 )

-const xPrefix = "/x/"
-
-func init() {
-	http.HandleFunc(xPrefix, xHandler)
-}
-
 func xHandler(w http.ResponseWriter, r *http.Request) {
-	if !strings.HasPrefix(r.URL.Path, xPrefix) {
+	if !strings.HasPrefix(r.URL.Path, "/x/") {
 		// Shouldn't happen if handler is registered correctly.
 		http.Redirect(w, r, "https://pkg.go.dev/search?q=golang.org/x", http.StatusTemporaryRedirect)
 		return
 	}
-	proj, suffix := strings.TrimPrefix(r.URL.Path, xPrefix), ""
+	proj, suffix := strings.TrimPrefix(r.URL.Path, "/x/"), ""
 	if i := strings.Index(proj, "/"); i != -1 {
 		proj, suffix = proj[:i], proj[i:]
 	}
cmd/golangorg: fix various comments
rsc committed 4 days ago commit f8c217f3a59a7fe416f734f76eeb7dbdd77e9418
cmd/golangorg/README.md
@@ -13,8 +13,6 @@
   * the Google Cloud SDK; see https://cloud.google.com/sdk/
   * Redis
   * Go sources under $GOROOT
-  * Godoc sources inside $GOPATH
-    (`go get -d golang.org/x/website/cmd/golangorg`)

 Build with the `golangorg` tag and run:

cmd/golangorg/codewalk.go
@@ -3,12 +3,12 @@
 // license that can be found in the LICENSE file.

 // The /doc/codewalk/ tree is synthesized from codewalk descriptions,
-// files named $GOROOT/doc/codewalk/*.xml.
+// files named _content/doc/codewalk/*.xml.
 // For an example and a description of the format, see
 // http://golang.org/doc/codewalk/codewalk or run godoc -http=:6060
 // and see http://localhost:6060/doc/codewalk/codewalk .
 // That page is itself a codewalk; the source code for it is
-// $GOROOT/doc/codewalk/codewalk.xml.
+// _content/doc/codewalk/codewalk.xml.

 package main

cmd/golangorg/doc.go
@@ -35,9 +35,9 @@
 	-templates=""
 		directory containing alternate template files; if set,
 		the directory may provide alternative template files
-		for the files in $GOROOT/lib/godoc
+		for the files in _content/

-By default, godoc looks at the packages it finds via $GOROOT and $GOPATH (if set).
+By default, golangorg looks at the packages it finds via $GOROOT (if set).
 This behavior can be altered by providing an alternative $GOROOT with the -goroot
 flag.

cmd/golangorg/handlers.go
@@ -2,14 +2,6 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

-// The /doc/codewalk/ tree is synthesized from codewalk descriptions,
-// files named $GOROOT/doc/codewalk/*.xml.
-// For an example and a description of the format, see
-// http://golang.org/doc/codewalk/codewalk or run godoc -http=:6060
-// and see http://localhost:6060/doc/codewalk/codewalk .
-// That page is itself a codewalk; the source code for it is
-// $GOROOT/doc/codewalk/codewalk.xml.
-
 package main

 import (
go.mod: update golang.org/x/tools

DO NOT SUBMIT - Use real hash after CL 293449 is merged.
rsc committed 4 days ago commit f5f093ebf4b5fbcfe43aa8378dfd21d7c65315c3
go.mod
@@ -14,3 +14,5 @@
 	google.golang.org/api v0.27.0 // indirect
 	google.golang.org/genproto v0.0.0-20200617032506-f1bdc9086088 // indirect
 )
+
+replace golang.org/x/tools => ../tools
cmd/golangorg: add China playground restriction

This code is moving from x/tools/playground. See CL 293449.
rsc committed 4 days ago commit fcd6e6b7d1240e3f81eae82132db7706c108eada
cmd/golangorg/prod.go
@@ -15,6 +15,7 @@
 	"os"
 	"strings"

+	"golang.org/x/tools/godoc/golangorgenv"
 	"golang.org/x/website/internal/dl"
 	"golang.org/x/website/internal/proxy"
 	"golang.org/x/website/internal/redirect"
@@ -81,3 +82,26 @@
 	memcacheClient := memcache.New(redisAddr)
 	return datastoreClient, memcacheClient
 }
+
+func playgroundCanServe(r *http.Request) bool {
+	return !(r.URL.Path == "/share" && googleCN(r))
+}
+
+// googleCN reports whether request r is considered
+// to be served from golang.google.cn.
+func googleCN(r *http.Request) bool {
+	if r.FormValue("googlecn") != "" {
+		return true
+	}
+	if strings.HasSuffix(r.Host, ".cn") {
+		return true
+	}
+	if !golangorgenv.CheckCountry() {
+		return false
+	}
+	switch r.Header.Get("X-Appengine-Country") {
+	case "", "ZZ", "CN":
+		return true
+	}
+	return false
+}
internal/godoc: fork golang.org/x/tools/godoc@123adc

This is a straight copy of golang.org/x/tools/godoc@123adc
with internal import paths updated, gofmt run, and go17_test.go
folded into godoc_test.go (we are well past Go 1.7 now).

The next CL will change cmd/golangorg to use it, and then
we can start making adjustments to delete lots of unused code,
without worrying about affecting any external importers of
the original.

This CL brings in 16,290 lines of code, but less than 2,000
will actually remain once all the no-longer-needed code is
deleted in followup CLs.
rsc committed 4 days ago commit cc7cc6f758cd36992f7578f0a7b3eaba82d67eab
internal/godoc/README.md
@@ -0,0 +1,31 @@
+# godoc
+
+This directory contains most of the code for running a godoc server. The
+executable lives at golang.org/x/tools/cmd/godoc.
+
+## Development mode
+
+In production, CSS/JS/template assets need to be compiled into the godoc
+binary. It can be tedious to recompile assets every time, but you can pass a
+flag to load CSS/JS/templates from disk every time a page loads:
+
+```
+godoc -templates=$GOPATH/src/golang.org/x/tools/godoc/static -http=:6060
+```
+
+## Recompiling static assets
+
+The files that live at `static/style.css`, `static/jquery.js` and so on are not
+present in the final binary. They are placed into `static/static.go` by running
+`go generate`. So to compile a change and test it in your browser:
+
+1) Make changes to e.g. `static/style.css`.
+
+2) Run `go generate golang.org/x/tools/godoc/static` so `static/static.go` picks
+up the change.
+
+3) Run `go install golang.org/x/tools/cmd/godoc` so the compiled `godoc` binary
+picks up the change.
+
+4) Run `godoc -http=:6060` and view your changes in the browser. You may need
+to disable your browser's cache to avoid reloading a stale file.
internal/godoc/analysis/README
@@ -0,0 +1,111 @@
+
+Type and Pointer Analysis to-do list
+====================================
+
+Alan Donovan <adonovan@google.com>
+
+
+Overall design
+--------------
+
+We should re-run the type and pointer analyses periodically,
+as we do with the indexer.
+
+Version skew: how to mitigate the bad effects of stale URLs in old pages?
+We could record the file's length/CRC32/mtime in the go/loader, and
+refuse to decorate it with links unless they match at serving time.
+
+Use the VFS mechanism when (a) enumerating packages and (b) loading
+them.  (Requires planned changes to go/loader.)
+
+Future work: shard this using map/reduce for larger corpora.
+
+Testing: how does one test that a web page "looks right"?
+
+
+Bugs
+----
+
+(*ssa.Program).Create requires transitively error-free packages.  We
+can make this more robust by making the requirement transitively free
+of "hard" errors; soft errors are fine.
+
+Markup of compiler errors is slightly buggy because they overlap with
+other selections (e.g. Idents).  Fix.
+
+
+User Interface
+--------------
+
+CALLGRAPH:
+- Add a search box: given a search node, expand path from each entry
+  point to it.
+- Cause hovering over a given node to highlight that node, and all
+  nodes that are logically identical to it.
+- Initially expand the callgraph trees (but not their toggle divs).
+
+CALLEES:
+- The '(' links are not very discoverable.  Highlight them?
+
+Type info:
+- In the source viewer's lower pane, use a toggle div around the
+  IMPLEMENTS and METHODSETS lists, like we do in the package view.
+  Only expand them initially if short.
+- Include IMPLEMENTS and METHOD SETS information in search index.
+- URLs in IMPLEMENTS/METHOD SETS always link to source, even from the
+  package docs view.  This makes sense for links to non-exported
+  types, but links to exported types and funcs should probably go to
+  other package docs.
+- Suppress toggle divs for empty method sets.
+
+Misc:
+- The [X] button in the lower pane is subject to scrolling.
+- Should the lower pane be floating?  An iframe?
+  When we change document.location by clicking on a link, it will go away.
+  How do we prevent that (a la Gmail's chat windows)?
+- Progress/status: for each file, display its analysis status, one of:
+   - not in analysis scope
+   - type analysis running...
+   - type analysis complete
+     (+ optionally: there were type errors in this file)
+   And if PTA requested:
+   - type analysis complete; PTA not attempted due to type errors
+   - PTA running...
+   - PTA complete
+- Scroll the selection into view, e.g. the vertical center, or better
+  still, under the pointer (assuming we have a mouse).
+
+
+More features
+-------------
+
+Display the REFERRERS relation?  (Useful but potentially large.)
+
+Display the INSTANTIATIONS relation? i.e. given a type T, show the set of
+syntactic constructs that can instantiate it:
+    var x T
+    x := T{...}
+    x = new(T)
+    x = make([]T, n)
+    etc
+    + all INSTANTIATIONS of all S defined as struct{t T} or [n]T
+(Potentially a lot of information.)
+(Add this to guru too.)
+
+
+Optimisations
+-------------
+
+Each call to addLink takes a (per-file) lock.  The locking is
+fine-grained so server latency isn't terrible, but overall it makes
+the link computation quite slow.  Batch update might be better.
+
+Memory usage is now about 1.5GB for GOROOT + go.tools.  It used to be 700MB.
+
+Optimize for time and space.  The main slowdown is the network I/O
+time caused by an increase in page size of about 3x: about 2x from
+HTML, and 0.7--2.1x from JSON (unindented vs indented).  The JSON
+contains a lot of filenames (e.g. 820 copies of 16 distinct
+filenames).  20% of the HTML is L%d spans (now disabled).  The HTML
+also contains lots of tooltips for long struct/interface types.
+De-dup or just abbreviate?  The actual formatting is very fast.
internal/godoc/analysis/analysis.go
@@ -0,0 +1,613 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package analysis performs type and pointer analysis
+// and generates mark-up for the Go source view.
+//
+// The Run method populates a Result object by running type and
+// (optionally) pointer analysis.  The Result object is thread-safe
+// and at all times may be accessed by a serving thread, even as it is
+// progressively populated as analysis facts are derived.
+//
+// The Result is a mapping from each godoc file URL
+// (e.g. /src/fmt/print.go) to information about that file.  The
+// information is a list of HTML markup links and a JSON array of
+// structured data values.  Some of the links call client-side
+// JavaScript functions that index this array.
+//
+// The analysis computes mark-up for the following relations:
+//
+// IMPORTS: for each ast.ImportSpec, the package that it denotes.
+//
+// RESOLUTION: for each ast.Ident, its kind and type, and the location
+// of its definition.
+//
+// METHOD SETS, IMPLEMENTS: for each ast.Ident defining a named type,
+// its method-set, the set of interfaces it implements or is
+// implemented by, and its size/align values.
+//
+// CALLERS, CALLEES: for each function declaration ('func' token), its
+// callers, and for each call-site ('(' token), its callees.
+//
+// CALLGRAPH: the package docs include an interactive viewer for the
+// intra-package call graph of "fmt".
+//
+// CHANNEL PEERS: for each channel operation make/<-/close, the set of
+// other channel ops that alias the same channel(s).
+//
+// ERRORS: for each locus of a frontend (scanner/parser/type) error, the
+// location is highlighted in red and hover text provides the compiler
+// error message.
+//
+package analysis // import "golang.org/x/website/internal/godoc/analysis"
+
+import (
+	"fmt"
+	"go/build"
+	"go/scanner"
+	"go/token"
+	"go/types"
+	"html"
+	"io"
+	"log"
+	"os"
+	"path/filepath"
+	"sort"
+	"strings"
+	"sync"
+
+	"golang.org/x/tools/go/loader"
+	"golang.org/x/tools/go/pointer"
+	"golang.org/x/tools/go/ssa"
+	"golang.org/x/tools/go/ssa/ssautil"
+)
+
+// -- links ------------------------------------------------------------
+
+// A Link is an HTML decoration of the bytes [Start, End) of a file.
+// Write is called before/after those bytes to emit the mark-up.
+type Link interface {
+	Start() int
+	End() int
+	Write(w io.Writer, _ int, start bool) // the godoc.LinkWriter signature
+}
+
+// An <a> element.
+type aLink struct {
+	start, end int    // =godoc.Segment
+	title      string // hover text
+	onclick    string // JS code (NB: trusted)
+	href       string // URL     (NB: trusted)
+}
+
+func (a aLink) Start() int { return a.start }
+func (a aLink) End() int   { return a.end }
+func (a aLink) Write(w io.Writer, _ int, start bool) {
+	if start {
+		fmt.Fprintf(w, `<a title='%s'`, html.EscapeString(a.title))
+		if a.onclick != "" {
+			fmt.Fprintf(w, ` onclick='%s'`, html.EscapeString(a.onclick))
+		}
+		if a.href != "" {
+			// TODO(adonovan): I think that in principle, a.href must first be
+			// url.QueryEscape'd, but if I do that, a leading slash becomes "%2F",
+			// which causes the browser to treat the path as relative, not absolute.
+			// WTF?
+			fmt.Fprintf(w, ` href='%s'`, html.EscapeString(a.href))
+		}
+		fmt.Fprintf(w, ">")
+	} else {
+		fmt.Fprintf(w, "</a>")
+	}
+}
+
+// An <a class='error'> element.
+type errorLink struct {
+	start int
+	msg   string
+}
+
+func (e errorLink) Start() int { return e.start }
+func (e errorLink) End() int   { return e.start + 1 }
+
+func (e errorLink) Write(w io.Writer, _ int, start bool) {
+	// <span> causes havoc, not sure why, so use <a>.
+	if start {
+		fmt.Fprintf(w, `<a class='error' title='%s'>`, html.EscapeString(e.msg))
+	} else {
+		fmt.Fprintf(w, "</a>")
+	}
+}
+
+// -- fileInfo ---------------------------------------------------------
+
+// FileInfo holds analysis information for the source file view.
+// Clients must not mutate it.
+type FileInfo struct {
+	Data  []interface{} // JSON serializable values
+	Links []Link        // HTML link markup
+}
+
+// A fileInfo is the server's store of hyperlinks and JSON data for a
+// particular file.
+type fileInfo struct {
+	mu        sync.Mutex
+	data      []interface{} // JSON objects
+	links     []Link
+	sorted    bool
+	hasErrors bool // TODO(adonovan): surface this in the UI
+}
+
+// addLink adds a link to the Go source file fi.
+func (fi *fileInfo) addLink(link Link) {
+	fi.mu.Lock()
+	fi.links = append(fi.links, link)
+	fi.sorted = false
+	if _, ok := link.(errorLink); ok {
+		fi.hasErrors = true
+	}
+	fi.mu.Unlock()
+}
+
+// addData adds the structured value x to the JSON data for the Go
+// source file fi.  Its index is returned.
+func (fi *fileInfo) addData(x interface{}) int {
+	fi.mu.Lock()
+	index := len(fi.data)
+	fi.data = append(fi.data, x)
+	fi.mu.Unlock()
+	return index
+}
+
+// get returns the file info in external form.
+// Callers must not mutate its fields.
+func (fi *fileInfo) get() FileInfo {
+	var r FileInfo
+	// Copy slices, to avoid races.
+	fi.mu.Lock()
+	r.Data = append(r.Data, fi.data...)
+	if !fi.sorted {
+		sort.Sort(linksByStart(fi.links))
+		fi.sorted = true
+	}
+	r.Links = append(r.Links, fi.links...)
+	fi.mu.Unlock()
+	return r
+}
+
+// PackageInfo holds analysis information for the package view.
+// Clients must not mutate it.
+type PackageInfo struct {
+	CallGraph      []*PCGNodeJSON
+	CallGraphIndex map[string]int
+	Types          []*TypeInfoJSON
+}
+
+type pkgInfo struct {
+	mu             sync.Mutex
+	callGraph      []*PCGNodeJSON
+	callGraphIndex map[string]int  // keys are (*ssa.Function).RelString()
+	types          []*TypeInfoJSON // type info for exported types
+}
+
+func (pi *pkgInfo) setCallGraph(callGraph []*PCGNodeJSON, callGraphIndex map[string]int) {
+	pi.mu.Lock()
+	pi.callGraph = callGraph
+	pi.callGraphIndex = callGraphIndex
+	pi.mu.Unlock()
+}
+
+func (pi *pkgInfo) addType(t *TypeInfoJSON) {
+	pi.mu.Lock()
+	pi.types = append(pi.types, t)
+	pi.mu.Unlock()
+}
+
+// get returns the package info in external form.
+// Callers must not mutate its fields.
+func (pi *pkgInfo) get() PackageInfo {
+	var r PackageInfo
+	// Copy slices, to avoid races.
+	pi.mu.Lock()
+	r.CallGraph = append(r.CallGraph, pi.callGraph...)
+	r.CallGraphIndex = pi.callGraphIndex
+	r.Types = append(r.Types, pi.types...)
+	pi.mu.Unlock()
+	return r
+}
+
+// -- Result -----------------------------------------------------------
+
+// Result contains the results of analysis.
+// The result contains a mapping from filenames to a set of HTML links
+// and JavaScript data referenced by the links.
+type Result struct {
+	mu        sync.Mutex           // guards maps (but not their contents)
+	status    string               // global analysis status
+	fileInfos map[string]*fileInfo // keys are godoc file URLs
+	pkgInfos  map[string]*pkgInfo  // keys are import paths
+}
+
+// fileInfo returns the fileInfo for the specified godoc file URL,
+// constructing it as needed.  Thread-safe.
+func (res *Result) fileInfo(url string) *fileInfo {
+	res.mu.Lock()
+	fi, ok := res.fileInfos[url]
+	if !ok {
+		if res.fileInfos == nil {
+			res.fileInfos = make(map[string]*fileInfo)
+		}
+		fi = new(fileInfo)
+		res.fileInfos[url] = fi
+	}
+	res.mu.Unlock()
+	return fi
+}
+
+// Status returns a human-readable description of the current analysis status.
+func (res *Result) Status() string {
+	res.mu.Lock()
+	defer res.mu.Unlock()
+	return res.status
+}
+
+func (res *Result) setStatusf(format string, args ...interface{}) {
+	res.mu.Lock()
+	res.status = fmt.Sprintf(format, args...)
+	log.Printf(format, args...)
+	res.mu.Unlock()
+}
+
+// FileInfo returns new slices containing opaque JSON values and the
+// HTML link markup for the specified godoc file URL.  Thread-safe.
+// Callers must not mutate the elements.
+// It returns "zero" if no data is available.
+//
+func (res *Result) FileInfo(url string) (fi FileInfo) {
+	return res.fileInfo(url).get()
+}
+
+// pkgInfo returns the pkgInfo for the specified import path,
+// constructing it as needed.  Thread-safe.
+func (res *Result) pkgInfo(importPath string) *pkgInfo {
+	res.mu.Lock()
+	pi, ok := res.pkgInfos[importPath]
+	if !ok {
+		if res.pkgInfos == nil {
+			res.pkgInfos = make(map[string]*pkgInfo)
+		}
+		pi = new(pkgInfo)
+		res.pkgInfos[importPath] = pi
+	}
+	res.mu.Unlock()
+	return pi
+}
+
+// PackageInfo returns new slices of JSON values for the callgraph and
+// type info for the specified package.  Thread-safe.
+// Callers must not mutate its fields.
+// PackageInfo returns "zero" if no data is available.
+//
+func (res *Result) PackageInfo(importPath string) PackageInfo {
+	return res.pkgInfo(importPath).get()
+}
+
+// -- analysis ---------------------------------------------------------
+
+type analysis struct {
+	result    *Result
+	prog      *ssa.Program
+	ops       []chanOp       // all channel ops in program
+	allNamed  []*types.Named // all "defined" (formerly "named") types in the program
+	ptaConfig pointer.Config
+	path2url  map[string]string // maps openable path to godoc file URL (/src/fmt/print.go)
+	pcgs      map[*ssa.Package]*packageCallGraph
+}
+
+// fileAndOffset returns the file and offset for a given pos.
+func (a *analysis) fileAndOffset(pos token.Pos) (fi *fileInfo, offset int) {
+	return a.fileAndOffsetPosn(a.prog.Fset.Position(pos))
+}
+
+// fileAndOffsetPosn returns the file and offset for a given position.
+func (a *analysis) fileAndOffsetPosn(posn token.Position) (fi *fileInfo, offset int) {
+	url := a.path2url[posn.Filename]
+	return a.result.fileInfo(url), posn.Offset
+}
+
+// posURL returns the URL of the source extent [pos, pos+len).
+func (a *analysis) posURL(pos token.Pos, len int) string {
+	if pos == token.NoPos {
+		return ""
+	}
+	posn := a.prog.Fset.Position(pos)
+	url := a.path2url[posn.Filename]
+	return fmt.Sprintf("%s?s=%d:%d#L%d",
+		url, posn.Offset, posn.Offset+len, posn.Line)
+}
+
+// ----------------------------------------------------------------------
+
+// Run runs program analysis and computes the resulting markup,
+// populating *result in a thread-safe manner, first with type
+// information then later with pointer analysis information if
+// enabled by the pta flag.
+//
+func Run(pta bool, result *Result) {
+	conf := loader.Config{
+		AllowErrors: true,
+	}
+
+	// Silence the default error handler.
+	// Don't print all errors; we'll report just
+	// one per errant package later.
+	conf.TypeChecker.Error = func(e error) {}
+
+	var roots, args []string // roots[i] ends with os.PathSeparator
+
+	// Enumerate packages in $GOROOT.
+	root := filepath.Join(build.Default.GOROOT, "src") + string(os.PathSeparator)
+	roots = append(roots, root)
+	args = allPackages(root)
+	log.Printf("GOROOT=%s: %s\n", root, args)
+
+	// Enumerate packages in $GOPATH.
+	for i, dir := range filepath.SplitList(build.Default.GOPATH) {
+		root := filepath.Join(dir, "src") + string(os.PathSeparator)
+		roots = append(roots, root)
+		pkgs := allPackages(root)
+		log.Printf("GOPATH[%d]=%s: %s\n", i, root, pkgs)
+		args = append(args, pkgs...)
+	}
+
+	// Uncomment to make startup quicker during debugging.
+	//args = []string{"golang.org/x/tools/cmd/godoc"}
+	//args = []string{"fmt"}
+
+	if _, err := conf.FromArgs(args, true); err != nil {
+		// TODO(adonovan): degrade gracefully, not fail totally.
+		// (The crippling case is a parse error in an external test file.)
+		result.setStatusf("Analysis failed: %s.", err) // import error
+		return
+	}
+
+	result.setStatusf("Loading and type-checking packages...")
+	iprog, err := conf.Load()
+	if iprog != nil {
+		// Report only the first error of each package.
+		for _, info := range iprog.AllPackages {
+			for _, err := range info.Errors {
+				fmt.Fprintln(os.Stderr, err)
+				break
+			}
+		}
+		log.Printf("Loaded %d packages.", len(iprog.AllPackages))
+	}
+	if err != nil {
+		result.setStatusf("Loading failed: %s.\n", err)
+		return
+	}
+
+	// Create SSA-form program representation.
+	// Only the transitively error-free packages are used.
+	prog := ssautil.CreateProgram(iprog, ssa.GlobalDebug)
+
+	// Create a "testmain" package for each package with tests.
+	for _, pkg := range prog.AllPackages() {
+		if testmain := prog.CreateTestMainPackage(pkg); testmain != nil {
+			log.Printf("Adding tests for %s", pkg.Pkg.Path())
+		}
+	}
+
+	// Build SSA code for bodies of all functions in the whole program.
+	result.setStatusf("Constructing SSA form...")
+	prog.Build()
+	log.Print("SSA construction complete")
+
+	a := analysis{
+		result: result,
+		prog:   prog,
+		pcgs:   make(map[*ssa.Package]*packageCallGraph),
+	}
+
+	// Build a mapping from openable filenames to godoc file URLs,
+	// i.e. "/src/" plus path relative to GOROOT/src or GOPATH[i]/src.
+	a.path2url = make(map[string]string)
+	for _, info := range iprog.AllPackages {
+	nextfile:
+		for _, f := range info.Files {
+			if f.Pos() == 0 {
+				continue // e.g. files generated by cgo
+			}
+			abs := iprog.Fset.File(f.Pos()).Name()
+			// Find the root to which this file belongs.
+			for _, root := range roots {
+				rel := strings.TrimPrefix(abs, root)
+				if len(rel) < len(abs) {
+					a.path2url[abs] = "/src/" + filepath.ToSlash(rel)
+					continue nextfile
+				}
+			}
+
+			log.Printf("Can't locate file %s (package %q) beneath any root",
+				abs, info.Pkg.Path())
+		}
+	}
+
+	// Add links for scanner, parser, type-checker errors.
+	// TODO(adonovan): fix: these links can overlap with
+	// identifier markup, causing the renderer to emit some
+	// characters twice.
+	errors := make(map[token.Position][]string)
+	for _, info := range iprog.AllPackages {
+		for _, err := range info.Errors {
+			switch err := err.(type) {
+			case types.Error:
+				posn := a.prog.Fset.Position(err.Pos)
+				errors[posn] = append(errors[posn], err.Msg)
+			case scanner.ErrorList:
+				for _, e := range err {
+					errors[e.Pos] = append(errors[e.Pos], e.Msg)
+				}
+			default:
+				log.Printf("Package %q has error (%T) without position: %v\n",
+					info.Pkg.Path(), err, err)
+			}
+		}
+	}
+	for posn, errs := range errors {
+		fi, offset := a.fileAndOffsetPosn(posn)
+		fi.addLink(errorLink{
+			start: offset,
+			msg:   strings.Join(errs, "\n"),
+		})
+	}
+
+	// ---------- type-based analyses ----------
+
+	// Compute the all-pairs IMPLEMENTS relation.
+	// Collect all named types, even local types
+	// (which can have methods via promotion)
+	// and the built-in "error".
+	errorType := types.Universe.Lookup("error").Type().(*types.Named)
+	a.allNamed = append(a.allNamed, errorType)
+	for _, info := range iprog.AllPackages {
+		for _, obj := range info.Defs {
+			if obj, ok := obj.(*types.TypeName); ok {
+				if named, ok := obj.Type().(*types.Named); ok {
+					a.allNamed = append(a.allNamed, named)
+				}
+			}
+		}
+	}
+	log.Print("Computing implements relation...")
+	facts := computeImplements(&a.prog.MethodSets, a.allNamed)
+
+	// Add the type-based analysis results.
+	log.Print("Extracting type info...")
+	for _, info := range iprog.AllPackages {
+		a.doTypeInfo(info, facts)
+	}
+
+	a.visitInstrs(pta)
+
+	result.setStatusf("Type analysis complete.")
+
+	if pta {
+		mainPkgs := ssautil.MainPackages(prog.AllPackages())
+		log.Print("Transitively error-free main packages: ", mainPkgs)
+		a.pointer(mainPkgs)
+	}
+}
+
+// visitInstrs visits all SSA instructions in the program.
+func (a *analysis) visitInstrs(pta bool) {
+	log.Print("Visit instructions...")
+	for fn := range ssautil.AllFunctions(a.prog) {
+		for _, b := range fn.Blocks {
+			for _, instr := range b.Instrs {
+				// CALLEES (static)
+				// (Dynamic calls require pointer analysis.)
+				//
+				// We use the SSA representation to find the static callee,
+				// since in many cases it does better than the
+				// types.Info.{Refs,Selection} information.  For example:
+				//
+				//   defer func(){}()      // static call to anon function
+				//   f := func(){}; f()    // static call to anon function
+				//   f := fmt.Println; f() // static call to named function
+				//
+				// The downside is that we get no static callee information
+				// for packages that (transitively) contain errors.
+				if site, ok := instr.(ssa.CallInstruction); ok {
+					if callee := site.Common().StaticCallee(); callee != nil {
+						// TODO(adonovan): callgraph: elide wrappers.
+						// (Do static calls ever go to wrappers?)
+						if site.Common().Pos() != token.NoPos {
+							a.addCallees(site, []*ssa.Function{callee})
+						}
+					}
+				}
+
+				if !pta {
+					continue
+				}
+
+				// CHANNEL PEERS
+				// Collect send/receive/close instructions in the whole ssa.Program.
+				for _, op := range chanOps(instr) {
+					a.ops = append(a.ops, op)
+					a.ptaConfig.AddQuery(op.ch) // add channel ssa.Value to PTA query
+				}
+			}
+		}
+	}
+	log.Print("Visit instructions complete")
+}
+
+// pointer runs the pointer analysis.
+func (a *analysis) pointer(mainPkgs []*ssa.Package) {
+	// Run the pointer analysis and build the complete callgraph.
+	a.ptaConfig.Mains = mainPkgs
+	a.ptaConfig.BuildCallGraph = true
+	a.ptaConfig.Reflection = false // (for now)
+
+	a.result.setStatusf("Pointer analysis running...")
+
+	ptares, err := pointer.Analyze(&a.ptaConfig)
+	if err != nil {
+		// If this happens, it indicates a bug.
+		a.result.setStatusf("Pointer analysis failed: %s.", err)
+		return
+	}
+	log.Print("Pointer analysis complete.")
+
+	// Add the results of pointer analysis.
+
+	a.result.setStatusf("Computing channel peers...")
+	a.doChannelPeers(ptares.Queries)
+	a.result.setStatusf("Computing dynamic call graph edges...")
+	a.doCallgraph(ptares.CallGraph)
+
+	a.result.setStatusf("Analysis complete.")
+}
+
+type linksByStart []Link
+
+func (a linksByStart) Less(i, j int) bool { return a[i].Start() < a[j].Start() }
+func (a linksByStart) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
+func (a linksByStart) Len() int           { return len(a) }
+
+// allPackages returns a new sorted slice of all packages beneath the
+// specified package root directory, e.g. $GOROOT/src or $GOPATH/src.
+// Derived from from go/ssa/stdlib_test.go
+// root must end with os.PathSeparator.
+//
+// TODO(adonovan): use buildutil.AllPackages when the tree thaws.
+func allPackages(root string) []string {
+	var pkgs []string
+	filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
+		if info == nil {
+			return nil // non-existent root directory?
+		}
+		if !info.IsDir() {
+			return nil // not a directory
+		}
+		// Prune the search if we encounter any of these names:
+		base := filepath.Base(path)
+		if base == "testdata" || strings.HasPrefix(base, ".") {
+			return filepath.SkipDir
+		}
+		pkg := filepath.ToSlash(strings.TrimPrefix(path, root))
+		switch pkg {
+		case "builtin":
+			return filepath.SkipDir
+		case "":
+			return nil // ignore root of tree
+		}
+		pkgs = append(pkgs, pkg)
+		return nil
+	})
+	return pkgs
+}
internal/godoc/analysis/callgraph.go
@@ -0,0 +1,351 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package analysis
+
+// This file computes the CALLERS and CALLEES relations from the call
+// graph.  CALLERS/CALLEES information is displayed in the lower pane
+// when a "func" token or ast.CallExpr.Lparen is clicked, respectively.
+
+import (
+	"fmt"
+	"go/ast"
+	"go/token"
+	"go/types"
+	"log"
+	"math/big"
+	"sort"
+
+	"golang.org/x/tools/go/callgraph"
+	"golang.org/x/tools/go/ssa"
+)
+
+// doCallgraph computes the CALLEES and CALLERS relations.
+func (a *analysis) doCallgraph(cg *callgraph.Graph) {
+	log.Print("Deleting synthetic nodes...")
+	// TODO(adonovan): opt: DeleteSyntheticNodes is asymptotically
+	// inefficient and can be (unpredictably) slow.
+	cg.DeleteSyntheticNodes()
+	log.Print("Synthetic nodes deleted")
+
+	// Populate nodes of package call graphs (PCGs).
+	for _, n := range cg.Nodes {
+		a.pcgAddNode(n.Func)
+	}
+	// Within each PCG, sort funcs by name.
+	for _, pcg := range a.pcgs {
+		pcg.sortNodes()
+	}
+
+	calledFuncs := make(map[ssa.CallInstruction]map[*ssa.Function]bool)
+	callingSites := make(map[*ssa.Function]map[ssa.CallInstruction]bool)
+	for _, n := range cg.Nodes {
+		for _, e := range n.Out {
+			if e.Site == nil {
+				continue // a call from a synthetic node such as <root>
+			}
+
+			// Add (site pos, callee) to calledFuncs.
+			// (Dynamic calls only.)
+			callee := e.Callee.Func
+
+			a.pcgAddEdge(n.Func, callee)
+
+			if callee.Synthetic != "" {
+				continue // call of a package initializer
+			}
+
+			if e.Site.Common().StaticCallee() == nil {
+				// dynamic call
+				// (CALLEES information for static calls
+				// is computed using SSA information.)
+				lparen := e.Site.Common().Pos()
+				if lparen != token.NoPos {
+					fns := calledFuncs[e.Site]
+					if fns == nil {
+						fns = make(map[*ssa.Function]bool)
+						calledFuncs[e.Site] = fns
+					}
+					fns[callee] = true
+				}
+			}
+
+			// Add (callee, site) to callingSites.
+			fns := callingSites[callee]
+			if fns == nil {
+				fns = make(map[ssa.CallInstruction]bool)
+				callingSites[callee] = fns
+			}
+			fns[e.Site] = true
+		}
+	}
+
+	// CALLEES.
+	log.Print("Callees...")
+	for site, fns := range calledFuncs {
+		var funcs funcsByPos
+		for fn := range fns {
+			funcs = append(funcs, fn)
+		}
+		sort.Sort(funcs)
+
+		a.addCallees(site, funcs)
+	}
+
+	// CALLERS
+	log.Print("Callers...")
+	for callee, sites := range callingSites {
+		pos := funcToken(callee)
+		if pos == token.NoPos {
+			log.Printf("CALLERS: skipping %s: no pos", callee)
+			continue
+		}
+
+		var this *types.Package // for relativizing names
+		if callee.Pkg != nil {
+			this = callee.Pkg.Pkg
+		}
+
+		// Compute sites grouped by parent, with text and URLs.
+		sitesByParent := make(map[*ssa.Function]sitesByPos)
+		for site := range sites {
+			fn := site.Parent()
+			sitesByParent[fn] = append(sitesByParent[fn], site)
+		}
+		var funcs funcsByPos
+		for fn := range sitesByParent {
+			funcs = append(funcs, fn)
+		}
+		sort.Sort(funcs)
+
+		v := callersJSON{
+			Callee:  callee.String(),
+			Callers: []callerJSON{}, // (JS wants non-nil)
+		}
+		for _, fn := range funcs {
+			caller := callerJSON{
+				Func:  prettyFunc(this, fn),
+				Sites: []anchorJSON{}, // (JS wants non-nil)
+			}
+			sites := sitesByParent[fn]
+			sort.Sort(sites)
+			for _, site := range sites {
+				pos := site.Common().Pos()
+				if pos != token.NoPos {
+					caller.Sites = append(caller.Sites, anchorJSON{
+						Text: fmt.Sprintf("%d", a.prog.Fset.Position(pos).Line),
+						Href: a.posURL(pos, len("(")),
+					})
+				}
+			}
+			v.Callers = append(v.Callers, caller)
+		}
+
+		fi, offset := a.fileAndOffset(pos)
+		fi.addLink(aLink{
+			start:   offset,
+			end:     offset + len("func"),
+			title:   fmt.Sprintf("%d callers", len(sites)),
+			onclick: fmt.Sprintf("onClickCallers(%d)", fi.addData(v)),
+		})
+	}
+
+	// PACKAGE CALLGRAPH
+	log.Print("Package call graph...")
+	for pkg, pcg := range a.pcgs {
+		// Maps (*ssa.Function).RelString() to index in JSON CALLGRAPH array.
+		index := make(map[string]int)
+
+		// Treat exported functions (and exported methods of
+		// exported named types) as roots even if they aren't
+		// actually called from outside the package.
+		for i, n := range pcg.nodes {
+			if i == 0 || n.fn.Object() == nil || !n.fn.Object().Exported() {
+				continue
+			}
+			recv := n.fn.Signature.Recv()
+			if recv == nil || deref(recv.Type()).(*types.Named).Obj().Exported() {
+				roots := &pcg.nodes[0].edges
+				roots.SetBit(roots, i, 1)
+			}
+			index[n.fn.RelString(pkg.Pkg)] = i
+		}
+
+		json := a.pcgJSON(pcg)
+
+		// TODO(adonovan): pkg.Path() is not unique!
+		// It is possible to declare a non-test package called x_test.
+		a.result.pkgInfo(pkg.Pkg.Path()).setCallGraph(json, index)
+	}
+}
+
+// addCallees adds client data and links for the facts that site calls fns.
+func (a *analysis) addCallees(site ssa.CallInstruction, fns []*ssa.Function) {
+	v := calleesJSON{
+		Descr:   site.Common().Description(),
+		Callees: []anchorJSON{}, // (JS wants non-nil)
+	}
+	var this *types.Package // for relativizing names
+	if p := site.Parent().Package(); p != nil {
+		this = p.Pkg
+	}
+
+	for _, fn := range fns {
+		v.Callees = append(v.Callees, anchorJSON{
+			Text: prettyFunc(this, fn),
+			Href: a.posURL(funcToken(fn), len("func")),
+		})
+	}
+
+	fi, offset := a.fileAndOffset(site.Common().Pos())
+	fi.addLink(aLink{
+		start:   offset,
+		end:     offset + len("("),
+		title:   fmt.Sprintf("%d callees", len(v.Callees)),
+		onclick: fmt.Sprintf("onClickCallees(%d)", fi.addData(v)),
+	})
+}
+
+// -- utilities --------------------------------------------------------
+
+// stable order within packages but undefined across packages.
+type funcsByPos []*ssa.Function
+
+func (a funcsByPos) Less(i, j int) bool { return a[i].Pos() < a[j].Pos() }
+func (a funcsByPos) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
+func (a funcsByPos) Len() int           { return len(a) }
+
+type sitesByPos []ssa.CallInstruction
+
+func (a sitesByPos) Less(i, j int) bool { return a[i].Common().Pos() < a[j].Common().Pos() }
+func (a sitesByPos) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
+func (a sitesByPos) Len() int           { return len(a) }
+
+func funcToken(fn *ssa.Function) token.Pos {
+	switch syntax := fn.Syntax().(type) {
+	case *ast.FuncLit:
+		return syntax.Type.Func
+	case *ast.FuncDecl:
+		return syntax.Type.Func
+	}
+	return token.NoPos
+}
+
+// prettyFunc pretty-prints fn for the user interface.
+// TODO(adonovan): return HTML so we have more markup freedom.
+func prettyFunc(this *types.Package, fn *ssa.Function) string {
+	if fn.Parent() != nil {
+		return fmt.Sprintf("%s in %s",
+			types.TypeString(fn.Signature, types.RelativeTo(this)),
+			prettyFunc(this, fn.Parent()))
+	}
+	if fn.Synthetic != "" && fn.Name() == "init" {
+		// (This is the actual initializer, not a declared 'func init').
+		if fn.Pkg.Pkg == this {
+			return "package initializer"
+		}
+		return fmt.Sprintf("%q package initializer", fn.Pkg.Pkg.Path())
+	}
+	return fn.RelString(this)
+}
+
+// -- intra-package callgraph ------------------------------------------
+
+// pcgNode represents a node in the package call graph (PCG).
+type pcgNode struct {
+	fn     *ssa.Function
+	pretty string  // cache of prettyFunc(fn)
+	edges  big.Int // set of callee func indices
+}
+
+// A packageCallGraph represents the intra-package edges of the global call graph.
+// The zeroth node indicates "all external functions".
+type packageCallGraph struct {
+	nodeIndex map[*ssa.Function]int // maps func to node index (a small int)
+	nodes     []*pcgNode            // maps node index to node
+}
+
+// sortNodes populates pcg.nodes in name order and updates the nodeIndex.
+func (pcg *packageCallGraph) sortNodes() {
+	nodes := make([]*pcgNode, 0, len(pcg.nodeIndex))
+	nodes = append(nodes, &pcgNode{fn: nil, pretty: "<external>"})
+	for fn := range pcg.nodeIndex {
+		nodes = append(nodes, &pcgNode{
+			fn:     fn,
+			pretty: prettyFunc(fn.Pkg.Pkg, fn),
+		})
+	}
+	sort.Sort(pcgNodesByPretty(nodes[1:]))
+	for i, n := range nodes {
+		pcg.nodeIndex[n.fn] = i
+	}
+	pcg.nodes = nodes
+}
+
+func (pcg *packageCallGraph) addEdge(caller, callee *ssa.Function) {
+	var callerIndex int
+	if caller.Pkg == callee.Pkg {
+		// intra-package edge
+		callerIndex = pcg.nodeIndex[caller]
+		if callerIndex < 1 {
+			panic(caller)
+		}
+	}
+	edges := &pcg.nodes[callerIndex].edges
+	edges.SetBit(edges, pcg.nodeIndex[callee], 1)
+}
+
+func (a *analysis) pcgAddNode(fn *ssa.Function) {
+	if fn.Pkg == nil {
+		return
+	}
+	pcg, ok := a.pcgs[fn.Pkg]
+	if !ok {
+		pcg = &packageCallGraph{nodeIndex: make(map[*ssa.Function]int)}
+		a.pcgs[fn.Pkg] = pcg
+	}
+	pcg.nodeIndex[fn] = -1
+}
+
+func (a *analysis) pcgAddEdge(caller, callee *ssa.Function) {
+	if callee.Pkg != nil {
+		a.pcgs[callee.Pkg].addEdge(caller, callee)
+	}
+}
+
+// pcgJSON returns a new slice of callgraph JSON values.
+func (a *analysis) pcgJSON(pcg *packageCallGraph) []*PCGNodeJSON {
+	var nodes []*PCGNodeJSON
+	for _, n := range pcg.nodes {
+
+		// TODO(adonovan): why is there no good way to iterate
+		// over the set bits of a big.Int?
+		var callees []int
+		nbits := n.edges.BitLen()
+		for j := 0; j < nbits; j++ {
+			if n.edges.Bit(j) == 1 {
+				callees = append(callees, j)
+			}
+		}
+
+		var pos token.Pos
+		if n.fn != nil {
+			pos = funcToken(n.fn)
+		}
+		nodes = append(nodes, &PCGNodeJSON{
+			Func: anchorJSON{
+				Text: n.pretty,
+				Href: a.posURL(pos, len("func")),
+			},
+			Callees: callees,
+		})
+	}
+	return nodes
+}
+
+type pcgNodesByPretty []*pcgNode
+
+func (a pcgNodesByPretty) Less(i, j int) bool { return a[i].pretty < a[j].pretty }
+func (a pcgNodesByPretty) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
+func (a pcgNodesByPretty) Len() int           { return len(a) }
internal/godoc/analysis/implements.go
@@ -0,0 +1,195 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package analysis
+
+// This file computes the "implements" relation over all pairs of
+// named types in the program.  (The mark-up is done by typeinfo.go.)
+
+// TODO(adonovan): do we want to report implements(C, I) where C and I
+// belong to different packages and at least one is not exported?
+
+import (
+	"go/types"
+	"sort"
+
+	"golang.org/x/tools/go/types/typeutil"
+)
+
+// computeImplements computes the "implements" relation over all pairs
+// of named types in allNamed.
+func computeImplements(cache *typeutil.MethodSetCache, allNamed []*types.Named) map[*types.Named]implementsFacts {
+	// Information about a single type's method set.
+	type msetInfo struct {
+		typ          types.Type
+		mset         *types.MethodSet
+		mask1, mask2 uint64
+	}
+
+	initMsetInfo := func(info *msetInfo, typ types.Type) {
+		info.typ = typ
+		info.mset = cache.MethodSet(typ)
+		for i := 0; i < info.mset.Len(); i++ {
+			name := info.mset.At(i).Obj().Name()
+			info.mask1 |= 1 << methodBit(name[0])
+			info.mask2 |= 1 << methodBit(name[len(name)-1])
+		}
+	}
+
+	// satisfies(T, U) reports whether type T satisfies type U.
+	// U must be an interface.
+	//
+	// Since there are thousands of types (and thus millions of
+	// pairs of types) and types.Assignable(T, U) is relatively
+	// expensive, we compute assignability directly from the
+	// method sets.  (At least one of T and U must be an
+	// interface.)
+	//
+	// We use a trick (thanks gri!) related to a Bloom filter to
+	// quickly reject most tests, which are false.  For each
+	// method set, we precompute a mask, a set of bits, one per
+	// distinct initial byte of each method name.  Thus the mask
+	// for io.ReadWriter would be {'R','W'}.  AssignableTo(T, U)
+	// cannot be true unless mask(T)&mask(U)==mask(U).
+	//
+	// As with a Bloom filter, we can improve precision by testing
+	// additional hashes, e.g. using the last letter of each
+	// method name, so long as the subset mask property holds.
+	//
+	// When analyzing the standard library, there are about 1e6
+	// calls to satisfies(), of which 0.6% return true.  With a
+	// 1-hash filter, 95% of calls avoid the expensive check; with
+	// a 2-hash filter, this grows to 98.2%.
+	satisfies := func(T, U *msetInfo) bool {
+		return T.mask1&U.mask1 == U.mask1 &&
+			T.mask2&U.mask2 == U.mask2 &&
+			containsAllIdsOf(T.mset, U.mset)
+	}
+
+	// Information about a named type N, and perhaps also *N.
+	type namedInfo struct {
+		isInterface bool
+		base        msetInfo // N
+		ptr         msetInfo // *N, iff N !isInterface
+	}
+
+	var infos []namedInfo
+
+	// Precompute the method sets and their masks.
+	for _, N := range allNamed {
+		var info namedInfo
+		initMsetInfo(&info.base, N)
+		_, info.isInterface = N.Underlying().(*types.Interface)
+		if !info.isInterface {
+			initMsetInfo(&info.ptr, types.NewPointer(N))
+		}
+
+		if info.base.mask1|info.ptr.mask1 == 0 {
+			continue // neither N nor *N has methods
+		}
+
+		infos = append(infos, info)
+	}
+
+	facts := make(map[*types.Named]implementsFacts)
+
+	// Test all pairs of distinct named types (T, U).
+	// TODO(adonovan): opt: compute (U, T) at the same time.
+	for t := range infos {
+		T := &infos[t]
+		var to, from, fromPtr []types.Type
+		for u := range infos {
+			if t == u {
+				continue
+			}
+			U := &infos[u]
+			switch {
+			case T.isInterface && U.isInterface:
+				if satisfies(&U.base, &T.base) {
+					to = append(to, U.base.typ)
+				}
+				if satisfies(&T.base, &U.base) {
+					from = append(from, U.base.typ)
+				}
+			case T.isInterface: // U concrete
+				if satisfies(&U.base, &T.base) {
+					to = append(to, U.base.typ)
+				} else if satisfies(&U.ptr, &T.base) {
+					to = append(to, U.ptr.typ)
+				}
+			case U.isInterface: // T concrete
+				if satisfies(&T.base, &U.base) {
+					from = append(from, U.base.typ)
+				} else if satisfies(&T.ptr, &U.base) {
+					fromPtr = append(fromPtr, U.base.typ)
+				}
+			}
+		}
+
+		// Sort types (arbitrarily) to avoid nondeterminism.
+		sort.Sort(typesByString(to))
+		sort.Sort(typesByString(from))
+		sort.Sort(typesByString(fromPtr))
+
+		facts[T.base.typ.(*types.Named)] = implementsFacts{to, from, fromPtr}
+	}
+
+	return facts
+}
+
+type implementsFacts struct {
+	to      []types.Type // named or ptr-to-named types assignable to interface T
+	from    []types.Type // named interfaces assignable from T
+	fromPtr []types.Type // named interfaces assignable only from *T
+}
+
+type typesByString []types.Type
+
+func (p typesByString) Len() int           { return len(p) }
+func (p typesByString) Less(i, j int) bool { return p[i].String() < p[j].String() }
+func (p typesByString) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }
+
+// methodBit returns the index of x in [a-zA-Z], or 52 if not found.
+func methodBit(x byte) uint64 {
+	switch {
+	case 'a' <= x && x <= 'z':
+		return uint64(x - 'a')
+	case 'A' <= x && x <= 'Z':
+		return uint64(26 + x - 'A')
+	}
+	return 52 // all other bytes
+}
+
+// containsAllIdsOf reports whether the method identifiers of T are a
+// superset of those in U.  If U belongs to an interface type, the
+// result is equal to types.Assignable(T, U), but is cheaper to compute.
+//
+// TODO(gri): make this a method of *types.MethodSet.
+//
+func containsAllIdsOf(T, U *types.MethodSet) bool {
+	t, tlen := 0, T.Len()
+	u, ulen := 0, U.Len()
+	for t < tlen && u < ulen {
+		tMeth := T.At(t).Obj()
+		uMeth := U.At(u).Obj()
+		tId := tMeth.Id()
+		uId := uMeth.Id()
+		if tId > uId {
+			// U has a method T lacks: fail.
+			return false
+		}
+		if tId < uId {
+			// T has a method U lacks: ignore it.
+			t++
+			continue
+		}
+		// U and T both have a method of this Id.  Check types.
+		if !types.Identical(tMeth.Type(), uMeth.Type()) {
+			return false // type mismatch
+		}
+		u++
+		t++
+	}
+	return u == ulen
+}
internal/godoc/analysis/json.go
@@ -0,0 +1,69 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package analysis
+
+// This file defines types used by client-side JavaScript.
+
+type anchorJSON struct {
+	Text string // HTML
+	Href string // URL
+}
+
+type commOpJSON struct {
+	Op anchorJSON
+	Fn string
+}
+
+// JavaScript's onClickComm() expects a commJSON.
+type commJSON struct {
+	Ops []commOpJSON
+}
+
+// Indicates one of these forms of fact about a type T:
+// T "is implemented by <ByKind> type <Other>"  (ByKind != "", e.g. "array")
+// T "implements <Other>"                       (ByKind == "")
+type implFactJSON struct {
+	ByKind string `json:",omitempty"`
+	Other  anchorJSON
+}
+
+// Implements facts are grouped by form, for ease of reading.
+type implGroupJSON struct {
+	Descr string
+	Facts []implFactJSON
+}
+
+// JavaScript's onClickIdent() expects a TypeInfoJSON.
+type TypeInfoJSON struct {
+	Name        string // type name
+	Size, Align int64
+	Methods     []anchorJSON
+	ImplGroups  []implGroupJSON
+}
+
+// JavaScript's onClickCallees() expects a calleesJSON.
+type calleesJSON struct {
+	Descr   string
+	Callees []anchorJSON // markup for called function
+}
+
+type callerJSON struct {
+	Func  string
+	Sites []anchorJSON
+}
+
+// JavaScript's onClickCallers() expects a callersJSON.
+type callersJSON struct {
+	Callee  string
+	Callers []callerJSON
+}
+
+// JavaScript's cgAddChild requires a global array of PCGNodeJSON
+// called CALLGRAPH, representing the intra-package call graph.
+// The first element is special and represents "all external callers".
+type PCGNodeJSON struct {
+	Func    anchorJSON
+	Callees []int // indices within CALLGRAPH of nodes called by this one
+}
internal/godoc/analysis/peers.go
@@ -0,0 +1,154 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package analysis
+
+// This file computes the channel "peers" relation over all pairs of
+// channel operations in the program.  The peers are displayed in the
+// lower pane when a channel operation (make, <-, close) is clicked.
+
+// TODO(adonovan): handle calls to reflect.{Select,Recv,Send,Close} too,
+// then enable reflection in PTA.
+
+import (
+	"fmt"
+	"go/token"
+	"go/types"
+
+	"golang.org/x/tools/go/pointer"
+	"golang.org/x/tools/go/ssa"
+)
+
+func (a *analysis) doChannelPeers(ptsets map[ssa.Value]pointer.Pointer) {
+	addSendRecv := func(j *commJSON, op chanOp) {
+		j.Ops = append(j.Ops, commOpJSON{
+			Op: anchorJSON{
+				Text: op.mode,
+				Href: a.posURL(op.pos, op.len),
+			},
+			Fn: prettyFunc(nil, op.fn),
+		})
+	}
+
+	// Build an undirected bipartite multigraph (binary relation)
+	// of MakeChan ops and send/recv/close ops.
+	//
+	// TODO(adonovan): opt: use channel element types to partition
+	// the O(n^2) problem into subproblems.
+	aliasedOps := make(map[*ssa.MakeChan][]chanOp)
+	opToMakes := make(map[chanOp][]*ssa.MakeChan)
+	for _, op := range a.ops {
+		// Combine the PT sets from all contexts.
+		var makes []*ssa.MakeChan // aliased ops
+		ptr, ok := ptsets[op.ch]
+		if !ok {
+			continue // e.g. channel op in dead code
+		}
+		for _, label := range ptr.PointsTo().Labels() {
+			makechan, ok := label.Value().(*ssa.MakeChan)
+			if !ok {
+				continue // skip intrinsically-created channels for now
+			}
+			if makechan.Pos() == token.NoPos {
+				continue // not possible?
+			}
+			makes = append(makes, makechan)
+			aliasedOps[makechan] = append(aliasedOps[makechan], op)
+		}
+		opToMakes[op] = makes
+	}
+
+	// Now that complete relation is built, build links for ops.
+	for _, op := range a.ops {
+		v := commJSON{
+			Ops: []commOpJSON{}, // (JS wants non-nil)
+		}
+		ops := make(map[chanOp]bool)
+		for _, makechan := range opToMakes[op] {
+			v.Ops = append(v.Ops, commOpJSON{
+				Op: anchorJSON{
+					Text: "made",
+					Href: a.posURL(makechan.Pos()-token.Pos(len("make")),
+						len("make")),
+				},
+				Fn: makechan.Parent().RelString(op.fn.Package().Pkg),
+			})
+			for _, op := range aliasedOps[makechan] {
+				ops[op] = true
+			}
+		}
+		for op := range ops {
+			addSendRecv(&v, op)
+		}
+
+		// Add links for each aliased op.
+		fi, offset := a.fileAndOffset(op.pos)
+		fi.addLink(aLink{
+			start:   offset,
+			end:     offset + op.len,
+			title:   "show channel ops",
+			onclick: fmt.Sprintf("onClickComm(%d)", fi.addData(v)),
+		})
+	}
+	// Add links for makechan ops themselves.
+	for makechan, ops := range aliasedOps {
+		v := commJSON{
+			Ops: []commOpJSON{}, // (JS wants non-nil)
+		}
+		for _, op := range ops {
+			addSendRecv(&v, op)
+		}
+
+		fi, offset := a.fileAndOffset(makechan.Pos())
+		fi.addLink(aLink{
+			start:   offset - len("make"),
+			end:     offset,
+			title:   "show channel ops",
+			onclick: fmt.Sprintf("onClickComm(%d)", fi.addData(v)),
+		})
+	}
+}
+
+// -- utilities --------------------------------------------------------
+
+// chanOp abstracts an ssa.Send, ssa.Unop(ARROW), close(), or a SelectState.
+// Derived from cmd/guru/peers.go.
+type chanOp struct {
+	ch   ssa.Value
+	mode string // sent|received|closed
+	pos  token.Pos
+	len  int
+	fn   *ssa.Function
+}
+
+// chanOps returns a slice of all the channel operations in the instruction.
+// Derived from cmd/guru/peers.go.
+func chanOps(instr ssa.Instruction) []chanOp {
+	fn := instr.Parent()
+	var ops []chanOp
+	switch instr := instr.(type) {
+	case *ssa.UnOp:
+		if instr.Op == token.ARROW {
+			// TODO(adonovan): don't assume <-ch; could be 'range ch'.
+			ops = append(ops, chanOp{instr.X, "received", instr.Pos(), len("<-"), fn})
+		}
+	case *ssa.Send:
+		ops = append(ops, chanOp{instr.Chan, "sent", instr.Pos(), len("<-"), fn})
+	case *ssa.Select:
+		for _, st := range instr.States {
+			mode := "received"
+			if st.Dir == types.SendOnly {
+				mode = "sent"
+			}
+			ops = append(ops, chanOp{st.Chan, mode, st.Pos, len("<-"), fn})
+		}
+	case ssa.CallInstruction:
+		call := instr.Common()
+		if blt, ok := call.Value.(*ssa.Builtin); ok && blt.Name() == "close" {
+			pos := instr.Common().Pos()
+			ops = append(ops, chanOp{call.Args[0], "closed", pos - token.Pos(len("close")), len("close("), fn})
+		}
+	}
+	return ops
+}
internal/godoc/analysis/typeinfo.go
@@ -0,0 +1,234 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package analysis
+
+// This file computes the markup for information from go/types:
+// IMPORTS, identifier RESOLUTION, METHOD SETS, size/alignment, and
+// the IMPLEMENTS relation.
+//
+// IMPORTS links connect import specs to the documentation for the
+// imported package.
+//
+// RESOLUTION links referring identifiers to their defining
+// identifier, and adds tooltips for kind and type.
+//
+// METHOD SETS, size/alignment, and the IMPLEMENTS relation are
+// displayed in the lower pane when a type's defining identifier is
+// clicked.
+
+import (
+	"fmt"
+	"go/types"
+	"reflect"
+	"strconv"
+	"strings"
+
+	"golang.org/x/tools/go/loader"
+	"golang.org/x/tools/go/types/typeutil"
+)
+
+// TODO(adonovan): audit to make sure it's safe on ill-typed packages.
+
+// TODO(adonovan): use same Sizes as loader.Config.
+var sizes = types.StdSizes{WordSize: 8, MaxAlign: 8}
+
+func (a *analysis) doTypeInfo(info *loader.PackageInfo, implements map[*types.Named]implementsFacts) {
+	// We must not assume the corresponding SSA packages were
+	// created (i.e. were transitively error-free).
+
+	// IMPORTS
+	for _, f := range info.Files {
+		// Package decl.
+		fi, offset := a.fileAndOffset(f.Name.Pos())
+		fi.addLink(aLink{
+			start: offset,
+			end:   offset + len(f.Name.Name),
+			title: "Package docs for " + info.Pkg.Path(),
+			// TODO(adonovan): fix: we're putting the untrusted Path()
+			// into a trusted field.  What's the appropriate sanitizer?
+			href: "/pkg/" + info.Pkg.Path(),
+		})
+
+		// Import specs.
+		for _, imp := range f.Imports {
+			// Remove quotes.
+			L := int(imp.End()-imp.Path.Pos()) - len(`""`)
+			path, _ := strconv.Unquote(imp.Path.Value)
+			fi, offset := a.fileAndOffset(imp.Path.Pos())
+			fi.addLink(aLink{
+				start: offset + 1,
+				end:   offset + 1 + L,
+				title: "Package docs for " + path,
+				// TODO(adonovan): fix: we're putting the untrusted path
+				// into a trusted field.  What's the appropriate sanitizer?
+				href: "/pkg/" + path,
+			})
+		}
+	}
+
+	// RESOLUTION
+	qualifier := types.RelativeTo(info.Pkg)
+	for id, obj := range info.Uses {
+		// Position of the object definition.
+		pos := obj.Pos()
+		Len := len(obj.Name())
+
+		// Correct the position for non-renaming import specs.
+		//  import "sync/atomic"
+		//          ^^^^^^^^^^^
+		if obj, ok := obj.(*types.PkgName); ok && id.Name == obj.Imported().Name() {
+			// Assume this is a non-renaming import.
+			// NB: not true for degenerate renamings: `import foo "foo"`.
+			pos++
+			Len = len(obj.Imported().Path())
+		}
+
+		if obj.Pkg() == nil {
+			continue // don't mark up built-ins.
+		}
+
+		fi, offset := a.fileAndOffset(id.NamePos)
+		fi.addLink(aLink{
+			start: offset,
+			end:   offset + len(id.Name),
+			title: types.ObjectString(obj, qualifier),
+			href:  a.posURL(pos, Len),
+		})
+	}
+
+	// IMPLEMENTS & METHOD SETS
+	for _, obj := range info.Defs {
+		if obj, ok := obj.(*types.TypeName); ok {
+			if named, ok := obj.Type().(*types.Named); ok {
+				a.namedType(named, implements)
+			}
+		}
+	}
+}
+
+func (a *analysis) namedType(T *types.Named, implements map[*types.Named]implementsFacts) {
+	obj := T.Obj()
+	qualifier := types.RelativeTo(obj.Pkg())
+	v := &TypeInfoJSON{
+		Name:    obj.Name(),
+		Size:    sizes.Sizeof(T),
+		Align:   sizes.Alignof(T),
+		Methods: []anchorJSON{}, // (JS wants non-nil)
+	}
+
+	// addFact adds the fact "is implemented by T" (by) or
+	// "implements T" (!by) to group.
+	addFact := func(group *implGroupJSON, T types.Type, by bool) {
+		Tobj := deref(T).(*types.Named).Obj()
+		var byKind string
+		if by {
+			// Show underlying kind of implementing type,
+			// e.g. "slice", "array", "struct".
+			s := reflect.TypeOf(T.Underlying()).String()
+			byKind = strings.ToLower(strings.TrimPrefix(s, "*types."))
+		}
+		group.Facts = append(group.Facts, implFactJSON{
+			ByKind: byKind,
+			Other: anchorJSON{
+				Href: a.posURL(Tobj.Pos(), len(Tobj.Name())),
+				Text: types.TypeString(T, qualifier),
+			},
+		})
+	}
+
+	// IMPLEMENTS
+	if r, ok := implements[T]; ok {
+		if isInterface(T) {
+			// "T is implemented by <conc>" ...
+			// "T is implemented by <iface>"...
+			// "T implements        <iface>"...
+			group := implGroupJSON{
+				Descr: types.TypeString(T, qualifier),
+			}
+			// Show concrete types first; use two passes.
+			for _, sub := range r.to {
+				if !isInterface(sub) {
+					addFact(&group, sub, true)
+				}
+			}
+			for _, sub := range r.to {
+				if isInterface(sub) {
+					addFact(&group, sub, true)
+				}
+			}
+			for _, super := range r.from {
+				addFact(&group, super, false)
+			}
+			v.ImplGroups = append(v.ImplGroups, group)
+		} else {
+			// T is concrete.
+			if r.from != nil {
+				// "T implements <iface>"...
+				group := implGroupJSON{
+					Descr: types.TypeString(T, qualifier),
+				}
+				for _, super := range r.from {
+					addFact(&group, super, false)
+				}
+				v.ImplGroups = append(v.ImplGroups, group)
+			}
+			if r.fromPtr != nil {
+				// "*C implements <iface>"...
+				group := implGroupJSON{
+					Descr: "*" + types.TypeString(T, qualifier),
+				}
+				for _, psuper := range r.fromPtr {
+					addFact(&group, psuper, false)
+				}
+				v.ImplGroups = append(v.ImplGroups, group)
+			}
+		}
+	}
+
+	// METHOD SETS
+	for _, sel := range typeutil.IntuitiveMethodSet(T, &a.prog.MethodSets) {
+		meth := sel.Obj().(*types.Func)
+		pos := meth.Pos() // may be 0 for error.Error
+		v.Methods = append(v.Methods, anchorJSON{
+			Href: a.posURL(pos, len(meth.Name())),
+			Text: types.SelectionString(sel, qualifier),
+		})
+	}
+
+	// Since there can be many specs per decl, we
+	// can't attach the link to the keyword 'type'
+	// (as we do with 'func'); we use the Ident.
+	fi, offset := a.fileAndOffset(obj.Pos())
+	fi.addLink(aLink{
+		start:   offset,
+		end:     offset + len(obj.Name()),
+		title:   fmt.Sprintf("type info for %s", obj.Name()),
+		onclick: fmt.Sprintf("onClickTypeInfo(%d)", fi.addData(v)),
+	})
+
+	// Add info for exported package-level types to the package info.
+	if obj.Exported() && isPackageLevel(obj) {
+		// TODO(adonovan): Path is not unique!
+		// It is possible to declare a non-test package called x_test.
+		a.result.pkgInfo(obj.Pkg().Path()).addType(v)
+	}
+}
+
+// -- utilities --------------------------------------------------------
+
+func isInterface(T types.Type) bool { return types.IsInterface(T) }
+
+// deref returns a pointer's element type; otherwise it returns typ.
+func deref(typ types.Type) types.Type {
+	if p, ok := typ.Underlying().(*types.Pointer); ok {
+		return p.Elem()
+	}
+	return typ
+}
+
+// isPackageLevel reports whether obj is a package-level object.
+func isPackageLevel(obj types.Object) bool {
+	return obj.Pkg().Scope().Lookup(obj.Name()) == obj
+}
internal/godoc/corpus.go
@@ -0,0 +1,165 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"errors"
+	"sync"
+	"time"
+
+	"golang.org/x/website/internal/godoc/analysis"
+	"golang.org/x/website/internal/godoc/util"
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// A Corpus holds all the state related to serving and indexing a
+// collection of Go code.
+//
+// Construct a new Corpus with NewCorpus, then modify options,
+// then call its Init method.
+type Corpus struct {
+	fs vfs.FileSystem
+
+	// Verbose logging.
+	Verbose bool
+
+	// IndexEnabled controls whether indexing is enabled.
+	IndexEnabled bool
+
+	// IndexFiles specifies a glob pattern specifying index files.
+	// If not empty, the index is read from these files in sorted
+	// order.
+	IndexFiles string
+
+	// IndexThrottle specifies the indexing throttle value
+	// between 0.0 and 1.0. At 0.0, the indexer always sleeps.
+	// At 1.0, the indexer never sleeps. Because 0.0 is useless
+	// and redundant with setting IndexEnabled to false, the
+	// zero value for IndexThrottle means 0.9.
+	IndexThrottle float64
+
+	// IndexInterval specifies the time to sleep between reindexing
+	// all the sources.
+	// If zero, a default is used. If negative, the index is only
+	// built once.
+	IndexInterval time.Duration
+
+	// IndexDocs enables indexing of Go documentation.
+	// This will produce search results for exported types, functions,
+	// methods, variables, and constants, and will link to the godoc
+	// documentation for those identifiers.
+	IndexDocs bool
+
+	// IndexGoCode enables indexing of Go source code.
+	// This will produce search results for internal and external identifiers
+	// and will link to both declarations and uses of those identifiers in
+	// source code.
+	IndexGoCode bool
+
+	// IndexFullText enables full-text indexing.
+	// This will provide search results for any matching text in any file that
+	// is indexed, including non-Go files (see whitelisted in index.go).
+	// Regexp searching is supported via full-text indexing.
+	IndexFullText bool
+
+	// MaxResults optionally specifies the maximum results for indexing.
+	MaxResults int
+
+	// SummarizePackage optionally specifies a function to
+	// summarize a package. It exists as an optimization to
+	// avoid reading files to parse package comments.
+	//
+	// If SummarizePackage returns false for ok, the caller
+	// ignores all return values and parses the files in the package
+	// as if SummarizePackage were nil.
+	//
+	// If showList is false, the package is hidden from the
+	// package listing.
+	SummarizePackage func(pkg string) (summary string, showList, ok bool)
+
+	// IndexDirectory optionally specifies a function to determine
+	// whether the provided directory should be indexed.  The dir
+	// will be of the form "/src/cmd/6a", "/doc/play",
+	// "/src/io", etc.
+	// If nil, all directories are indexed if indexing is enabled.
+	IndexDirectory func(dir string) bool
+
+	// Send a value on this channel to trigger a metadata refresh.
+	// It is buffered so that if a signal is not lost if sent
+	// during a refresh.
+	refreshMetadataSignal chan bool
+
+	// file system information
+	fsTree      util.RWValue // *Directory tree of packages, updated with each sync (but sync code is removed now)
+	fsModified  util.RWValue // timestamp of last call to invalidateIndex
+	docMetadata util.RWValue // mapping from paths to *Metadata
+
+	// SearchIndex is the search index in use.
+	searchIndex util.RWValue
+
+	// Analysis is the result of type and pointer analysis.
+	Analysis analysis.Result
+
+	// flag to check whether a corpus is initialized or not
+	initMu   sync.RWMutex
+	initDone bool
+
+	// pkgAPIInfo contains the information about which package API
+	// features were added in which version of Go.
+	pkgAPIInfo apiVersions
+}
+
+// NewCorpus returns a new Corpus from a filesystem.
+// The returned corpus has all indexing enabled and MaxResults set to 1000.
+// Change or set any options on Corpus before calling the Corpus.Init method.
+func NewCorpus(fs vfs.FileSystem) *Corpus {
+	c := &Corpus{
+		fs:                    fs,
+		refreshMetadataSignal: make(chan bool, 1),
+
+		MaxResults:    1000,
+		IndexEnabled:  true,
+		IndexDocs:     true,
+		IndexGoCode:   true,
+		IndexFullText: true,
+	}
+	return c
+}
+
+func (c *Corpus) CurrentIndex() (*Index, time.Time) {
+	v, t := c.searchIndex.Get()
+	idx, _ := v.(*Index)
+	return idx, t
+}
+
+func (c *Corpus) FSModifiedTime() time.Time {
+	_, ts := c.fsModified.Get()
+	return ts
+}
+
+// Init initializes Corpus, once options on Corpus are set.
+// It must be called before any subsequent method calls.
+func (c *Corpus) Init() error {
+	if err := c.initFSTree(); err != nil {
+		return err
+	}
+	c.updateMetadata()
+	go c.refreshMetadataLoop()
+
+	c.initMu.Lock()
+	c.initDone = true
+	c.initMu.Unlock()
+	return nil
+}
+
+func (c *Corpus) initFSTree() error {
+	dir := c.newDirectory("/", -1)
+	if dir == nil {
+		return errors.New("godoc: corpus fstree is nil")
+	}
+	c.fsTree.Set(dir)
+	c.invalidateIndex()
+	return nil
+}
internal/godoc/dirtrees.go
@@ -0,0 +1,383 @@
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file contains the code dealing with package directory trees.
+
+package godoc
+
+import (
+	"go/doc"
+	"go/parser"
+	"go/token"
+	"log"
+	"os"
+	pathpkg "path"
+	"runtime"
+	"sort"
+	"strings"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// Conventional name for directories containing test data.
+// Excluded from directory trees.
+//
+const testdataDirName = "testdata"
+
+type Directory struct {
+	Depth    int
+	Path     string       // directory path; includes Name
+	Name     string       // directory name
+	HasPkg   bool         // true if the directory contains at least one package
+	Synopsis string       // package documentation, if any
+	RootType vfs.RootType // root type of the filesystem containing the directory
+	Dirs     []*Directory // subdirectories
+}
+
+func isGoFile(fi os.FileInfo) bool {
+	name := fi.Name()
+	return !fi.IsDir() &&
+		len(name) > 0 && name[0] != '.' && // ignore .files
+		pathpkg.Ext(name) == ".go"
+}
+
+func isPkgFile(fi os.FileInfo) bool {
+	return isGoFile(fi) &&
+		!strings.HasSuffix(fi.Name(), "_test.go") // ignore test files
+}
+
+func isPkgDir(fi os.FileInfo) bool {
+	name := fi.Name()
+	return fi.IsDir() && len(name) > 0 &&
+		name[0] != '_' && name[0] != '.' // ignore _files and .files
+}
+
+type treeBuilder struct {
+	c        *Corpus
+	maxDepth int
+}
+
+// ioGate is a semaphore controlling VFS activity (ReadDir, parseFile, etc).
+// Send before an operation and receive after.
+var ioGate = make(chan struct{}, 20)
+
+// workGate controls the number of concurrent workers. Too many concurrent
+// workers and performance degrades and the race detector gets overwhelmed. If
+// we cannot check out a concurrent worker, work is performed by the main thread
+// instead of spinning up another goroutine.
+var workGate = make(chan struct{}, runtime.NumCPU()*4)
+
+func (b *treeBuilder) newDirTree(fset *token.FileSet, path, name string, depth int) *Directory {
+	if name == testdataDirName {
+		return nil
+	}
+
+	if depth >= b.maxDepth {
+		// return a dummy directory so that the parent directory
+		// doesn't get discarded just because we reached the max
+		// directory depth
+		return &Directory{
+			Depth: depth,
+			Path:  path,
+			Name:  name,
+		}
+	}
+
+	var synopses [3]string // prioritized package documentation (0 == highest priority)
+
+	show := true // show in package listing
+	hasPkgFiles := false
+	haveSummary := false
+
+	if hook := b.c.SummarizePackage; hook != nil {
+		if summary, show0, ok := hook(strings.TrimPrefix(path, "/src/")); ok {
+			hasPkgFiles = true
+			show = show0
+			synopses[0] = summary
+			haveSummary = true
+		}
+	}
+
+	ioGate <- struct{}{}
+	list, err := b.c.fs.ReadDir(path)
+	<-ioGate
+	if err != nil {
+		// TODO: propagate more. See golang.org/issue/14252.
+		// For now:
+		if b.c.Verbose {
+			log.Printf("newDirTree reading %s: %v", path, err)
+		}
+	}
+
+	// determine number of subdirectories and if there are package files
+	var dirchs []chan *Directory
+	var dirs []*Directory
+
+	for _, d := range list {
+		filename := pathpkg.Join(path, d.Name())
+		switch {
+		case isPkgDir(d):
+			name := d.Name()
+			select {
+			case workGate <- struct{}{}:
+				ch := make(chan *Directory, 1)
+				dirchs = append(dirchs, ch)
+				go func() {
+					ch <- b.newDirTree(fset, filename, name, depth+1)
+					<-workGate
+				}()
+			default:
+				// no free workers, do work synchronously
+				dir := b.newDirTree(fset, filename, name, depth+1)
+				if dir != nil {
+					dirs = append(dirs, dir)
+				}
+			}
+		case !haveSummary && isPkgFile(d):
+			// looks like a package file, but may just be a file ending in ".go";
+			// don't just count it yet (otherwise we may end up with hasPkgFiles even
+			// though the directory doesn't contain any real package files - was bug)
+			// no "optimal" package synopsis yet; continue to collect synopses
+			ioGate <- struct{}{}
+			const flags = parser.ParseComments | parser.PackageClauseOnly
+			file, err := b.c.parseFile(fset, filename, flags)
+			<-ioGate
+			if err != nil {
+				if b.c.Verbose {
+					log.Printf("Error parsing %v: %v", filename, err)
+				}
+				break
+			}
+
+			hasPkgFiles = true
+			if file.Doc != nil {
+				// prioritize documentation
+				i := -1
+				switch file.Name.Name {
+				case name:
+					i = 0 // normal case: directory name matches package name
+				case "main":
+					i = 1 // directory contains a main package
+				default:
+					i = 2 // none of the above
+				}
+				if 0 <= i && i < len(synopses) && synopses[i] == "" {
+					synopses[i] = doc.Synopsis(file.Doc.Text())
+				}
+			}
+			haveSummary = synopses[0] != ""
+		}
+	}
+
+	// create subdirectory tree
+	for _, ch := range dirchs {
+		if d := <-ch; d != nil {
+			dirs = append(dirs, d)
+		}
+	}
+
+	// We need to sort the dirs slice because
+	// it is appended again after reading from dirchs.
+	sort.Slice(dirs, func(i, j int) bool {
+		return dirs[i].Name < dirs[j].Name
+	})
+
+	// if there are no package files and no subdirectories
+	// containing package files, ignore the directory
+	if !hasPkgFiles && len(dirs) == 0 {
+		return nil
+	}
+
+	// select the highest-priority synopsis for the directory entry, if any
+	synopsis := ""
+	for _, synopsis = range synopses {
+		if synopsis != "" {
+			break
+		}
+	}
+
+	return &Directory{
+		Depth:    depth,
+		Path:     path,
+		Name:     name,
+		HasPkg:   hasPkgFiles && show, // TODO(bradfitz): add proper Hide field?
+		Synopsis: synopsis,
+		RootType: b.c.fs.RootType(path),
+		Dirs:     dirs,
+	}
+}
+
+// newDirectory creates a new package directory tree with at most maxDepth
+// levels, anchored at root. The result tree is pruned such that it only
+// contains directories that contain package files or that contain
+// subdirectories containing package files (transitively). If a non-nil
+// pathFilter is provided, directory paths additionally must be accepted
+// by the filter (i.e., pathFilter(path) must be true). If a value >= 0 is
+// provided for maxDepth, nodes at larger depths are pruned as well; they
+// are assumed to contain package files even if their contents are not known
+// (i.e., in this case the tree may contain directories w/o any package files).
+//
+func (c *Corpus) newDirectory(root string, maxDepth int) *Directory {
+	// The root could be a symbolic link so use Stat not Lstat.
+	d, err := c.fs.Stat(root)
+	// If we fail here, report detailed error messages; otherwise
+	// is is hard to see why a directory tree was not built.
+	switch {
+	case err != nil:
+		log.Printf("newDirectory(%s): %s", root, err)
+		return nil
+	case root != "/" && !isPkgDir(d):
+		log.Printf("newDirectory(%s): not a package directory", root)
+		return nil
+	case root == "/" && !d.IsDir():
+		log.Printf("newDirectory(%s): not a directory", root)
+		return nil
+	}
+	if maxDepth < 0 {
+		maxDepth = 1e6 // "infinity"
+	}
+	b := treeBuilder{c, maxDepth}
+	// the file set provided is only for local parsing, no position
+	// information escapes and thus we don't need to save the set
+	return b.newDirTree(token.NewFileSet(), root, d.Name(), 0)
+}
+
+func (dir *Directory) walk(c chan<- *Directory, skipRoot bool) {
+	if dir != nil {
+		if !skipRoot {
+			c <- dir
+		}
+		for _, d := range dir.Dirs {
+			d.walk(c, false)
+		}
+	}
+}
+
+func (dir *Directory) iter(skipRoot bool) <-chan *Directory {
+	c := make(chan *Directory)
+	go func() {
+		dir.walk(c, skipRoot)
+		close(c)
+	}()
+	return c
+}
+
+func (dir *Directory) lookupLocal(name string) *Directory {
+	for _, d := range dir.Dirs {
+		if d.Name == name {
+			return d
+		}
+	}
+	return nil
+}
+
+func splitPath(p string) []string {
+	p = strings.TrimPrefix(p, "/")
+	if p == "" {
+		return nil
+	}
+	return strings.Split(p, "/")
+}
+
+// lookup looks for the *Directory for a given path, relative to dir.
+func (dir *Directory) lookup(path string) *Directory {
+	d := splitPath(dir.Path)
+	p := splitPath(path)
+	i := 0
+	for i < len(d) {
+		if i >= len(p) || d[i] != p[i] {
+			return nil
+		}
+		i++
+	}
+	for dir != nil && i < len(p) {
+		dir = dir.lookupLocal(p[i])
+		i++
+	}
+	return dir
+}
+
+// DirEntry describes a directory entry. The Depth and Height values
+// are useful for presenting an entry in an indented fashion.
+//
+type DirEntry struct {
+	Depth    int          // >= 0
+	Height   int          // = DirList.MaxHeight - Depth, > 0
+	Path     string       // directory path; includes Name, relative to DirList root
+	Name     string       // directory name
+	HasPkg   bool         // true if the directory contains at least one package
+	Synopsis string       // package documentation, if any
+	RootType vfs.RootType // root type of the filesystem containing the direntry
+}
+
+type DirList struct {
+	MaxHeight int // directory tree height, > 0
+	List      []DirEntry
+}
+
+// hasThirdParty checks whether a list of directory entries has packages outside
+// the standard library or not.
+func hasThirdParty(list []DirEntry) bool {
+	for _, entry := range list {
+		if entry.RootType == vfs.RootTypeGoPath {
+			return true
+		}
+	}
+	return false
+}
+
+// listing creates a (linear) directory listing from a directory tree.
+// If skipRoot is set, the root directory itself is excluded from the list.
+// If filter is set, only the directory entries whose paths match the filter
+// are included.
+//
+func (dir *Directory) listing(skipRoot bool, filter func(string) bool) *DirList {
+	if dir == nil {
+		return nil
+	}
+
+	// determine number of entries n and maximum height
+	n := 0
+	minDepth := 1 << 30 // infinity
+	maxDepth := 0
+	for d := range dir.iter(skipRoot) {
+		n++
+		if minDepth > d.Depth {
+			minDepth = d.Depth
+		}
+		if maxDepth < d.Depth {
+			maxDepth = d.Depth
+		}
+	}
+	maxHeight := maxDepth - minDepth + 1
+
+	if n == 0 {
+		return nil
+	}
+
+	// create list
+	list := make([]DirEntry, 0, n)
+	for d := range dir.iter(skipRoot) {
+		if filter != nil && !filter(d.Path) {
+			continue
+		}
+		var p DirEntry
+		p.Depth = d.Depth - minDepth
+		p.Height = maxHeight - p.Depth
+		// the path is relative to root.Path - remove the root.Path
+		// prefix (the prefix should always be present but avoid
+		// crashes and check)
+		path := strings.TrimPrefix(d.Path, dir.Path)
+		// remove leading separator if any - path must be relative
+		path = strings.TrimPrefix(path, "/")
+		p.Path = path
+		p.Name = d.Name
+		p.HasPkg = d.HasPkg
+		p.Synopsis = d.Synopsis
+		p.RootType = d.RootType
+		list = append(list, p)
+	}
+
+	return &DirList{maxHeight, list}
+}
internal/godoc/dirtrees_test.go
@@ -0,0 +1,64 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"go/build"
+	"path/filepath"
+	"runtime"
+	"sort"
+	"testing"
+
+	"golang.org/x/website/internal/godoc/vfs"
+	"golang.org/x/website/internal/godoc/vfs/gatefs"
+)
+
+func TestNewDirTree(t *testing.T) {
+	fsGate := make(chan bool, 20)
+	rootfs := gatefs.New(vfs.OS(runtime.GOROOT()), fsGate)
+	fs := vfs.NameSpace{}
+	fs.Bind("/", rootfs, "/", vfs.BindReplace)
+
+	c := NewCorpus(fs)
+	// 3 levels deep is enough for testing
+	dir := c.newDirectory("/", 3)
+
+	processDir(t, dir)
+}
+
+func processDir(t *testing.T, dir *Directory) {
+	var list []string
+	for _, d := range dir.Dirs {
+		list = append(list, d.Name)
+		// recursively process the lower level
+		processDir(t, d)
+	}
+
+	if sort.StringsAreSorted(list) == false {
+		t.Errorf("list: %v is not sorted\n", list)
+	}
+}
+
+func BenchmarkNewDirectory(b *testing.B) {
+	if testing.Short() {
+		b.Skip("not running tests requiring large file scan in short mode")
+	}
+
+	fsGate := make(chan bool, 20)
+
+	goroot := runtime.GOROOT()
+	rootfs := gatefs.New(vfs.OS(goroot), fsGate)
+	fs := vfs.NameSpace{}
+	fs.Bind("/", rootfs, "/", vfs.BindReplace)
+	for _, p := range filepath.SplitList(build.Default.GOPATH) {
+		fs.Bind("/src/golang.org", gatefs.New(vfs.OS(p), fsGate), "/src/golang.org", vfs.BindAfter)
+	}
+	b.ResetTimer()
+	b.ReportAllocs()
+	for tries := 0; tries < b.N; tries++ {
+		corpus := NewCorpus(fs)
+		corpus.newDirectory("/", -1)
+	}
+}
internal/godoc/format.go
@@ -0,0 +1,371 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file implements FormatSelections and FormatText.
+// FormatText is used to HTML-format Go and non-Go source
+// text with line numbers and highlighted sections. It is
+// built on top of FormatSelections, a generic formatter
+// for "selected" text.
+
+package godoc
+
+import (
+	"fmt"
+	"go/scanner"
+	"go/token"
+	"io"
+	"regexp"
+	"strconv"
+	"text/template"
+)
+
+// ----------------------------------------------------------------------------
+// Implementation of FormatSelections
+
+// A Segment describes a text segment [start, end).
+// The zero value of a Segment is a ready-to-use empty segment.
+//
+type Segment struct {
+	start, end int
+}
+
+func (seg *Segment) isEmpty() bool { return seg.start >= seg.end }
+
+// A Selection is an "iterator" function returning a text segment.
+// Repeated calls to a selection return consecutive, non-overlapping,
+// non-empty segments, followed by an infinite sequence of empty
+// segments. The first empty segment marks the end of the selection.
+//
+type Selection func() Segment
+
+// A LinkWriter writes some start or end "tag" to w for the text offset offs.
+// It is called by FormatSelections at the start or end of each link segment.
+//
+type LinkWriter func(w io.Writer, offs int, start bool)
+
+// A SegmentWriter formats a text according to selections and writes it to w.
+// The selections parameter is a bit set indicating which selections provided
+// to FormatSelections overlap with the text segment: If the n'th bit is set
+// in selections, the n'th selection provided to FormatSelections is overlapping
+// with the text.
+//
+type SegmentWriter func(w io.Writer, text []byte, selections int)
+
+// FormatSelections takes a text and writes it to w using link and segment
+// writers lw and sw as follows: lw is invoked for consecutive segment starts
+// and ends as specified through the links selection, and sw is invoked for
+// consecutive segments of text overlapped by the same selections as specified
+// by selections. The link writer lw may be nil, in which case the links
+// Selection is ignored.
+//
+func FormatSelections(w io.Writer, text []byte, lw LinkWriter, links Selection, sw SegmentWriter, selections ...Selection) {
+	// If we have a link writer, make the links
+	// selection the last entry in selections
+	if lw != nil {
+		selections = append(selections, links)
+	}
+
+	// compute the sequence of consecutive segment changes
+	changes := newMerger(selections)
+
+	// The i'th bit in bitset indicates that the text
+	// at the current offset is covered by selections[i].
+	bitset := 0
+	lastOffs := 0
+
+	// Text segments are written in a delayed fashion
+	// such that consecutive segments belonging to the
+	// same selection can be combined (peephole optimization).
+	// last describes the last segment which has not yet been written.
+	var last struct {
+		begin, end int // valid if begin < end
+		bitset     int
+	}
+
+	// flush writes the last delayed text segment
+	flush := func() {
+		if last.begin < last.end {
+			sw(w, text[last.begin:last.end], last.bitset)
+		}
+		last.begin = last.end // invalidate last
+	}
+
+	// segment runs the segment [lastOffs, end) with the selection
+	// indicated by bitset through the segment peephole optimizer.
+	segment := func(end int) {
+		if lastOffs < end { // ignore empty segments
+			if last.end != lastOffs || last.bitset != bitset {
+				// the last segment is not adjacent to or
+				// differs from the new one
+				flush()
+				// start a new segment
+				last.begin = lastOffs
+			}
+			last.end = end
+			last.bitset = bitset
+		}
+	}
+
+	for {
+		// get the next segment change
+		index, offs, start := changes.next()
+		if index < 0 || offs > len(text) {
+			// no more segment changes or the next change
+			// is past the end of the text - we're done
+			break
+		}
+		// determine the kind of segment change
+		if lw != nil && index == len(selections)-1 {
+			// we have a link segment change (see start of this function):
+			// format the previous selection segment, write the
+			// link tag and start a new selection segment
+			segment(offs)
+			flush()
+			lastOffs = offs
+			lw(w, offs, start)
+		} else {
+			// we have a selection change:
+			// format the previous selection segment, determine
+			// the new selection bitset and start a new segment
+			segment(offs)
+			lastOffs = offs
+			mask := 1 << uint(index)
+			if start {
+				bitset |= mask
+			} else {
+				bitset &^= mask
+			}
+		}
+	}
+	segment(len(text))
+	flush()
+}
+
+// A merger merges a slice of Selections and produces a sequence of
+// consecutive segment change events through repeated next() calls.
+//
+type merger struct {
+	selections []Selection
+	segments   []Segment // segments[i] is the next segment of selections[i]
+}
+
+const infinity int = 2e9
+
+func newMerger(selections []Selection) *merger {
+	segments := make([]Segment, len(selections))
+	for i, sel := range selections {
+		segments[i] = Segment{infinity, infinity}
+		if sel != nil {
+			if seg := sel(); !seg.isEmpty() {
+				segments[i] = seg
+			}
+		}
+	}
+	return &merger{selections, segments}
+}
+
+// next returns the next segment change: index specifies the Selection
+// to which the segment belongs, offs is the segment start or end offset
+// as determined by the start value. If there are no more segment changes,
+// next returns an index value < 0.
+//
+func (m *merger) next() (index, offs int, start bool) {
+	// find the next smallest offset where a segment starts or ends
+	offs = infinity
+	index = -1
+	for i, seg := range m.segments {
+		switch {
+		case seg.start < offs:
+			offs = seg.start
+			index = i
+			start = true
+		case seg.end < offs:
+			offs = seg.end
+			index = i
+			start = false
+		}
+	}
+	if index < 0 {
+		// no offset found => all selections merged
+		return
+	}
+	// offset found - it's either the start or end offset but
+	// either way it is ok to consume the start offset: set it
+	// to infinity so it won't be considered in the following
+	// next call
+	m.segments[index].start = infinity
+	if start {
+		return
+	}
+	// end offset found - consume it
+	m.segments[index].end = infinity
+	// advance to the next segment for that selection
+	seg := m.selections[index]()
+	if !seg.isEmpty() {
+		m.segments[index] = seg
+	}
+	return
+}
+
+// ----------------------------------------------------------------------------
+// Implementation of FormatText
+
+// lineSelection returns the line segments for text as a Selection.
+func lineSelection(text []byte) Selection {
+	i, j := 0, 0
+	return func() (seg Segment) {
+		// find next newline, if any
+		for j < len(text) {
+			j++
+			if text[j-1] == '\n' {
+				break
+			}
+		}
+		if i < j {
+			// text[i:j] constitutes a line
+			seg = Segment{i, j}
+			i = j
+		}
+		return
+	}
+}
+
+// tokenSelection returns, as a selection, the sequence of
+// consecutive occurrences of token sel in the Go src text.
+//
+func tokenSelection(src []byte, sel token.Token) Selection {
+	var s scanner.Scanner
+	fset := token.NewFileSet()
+	file := fset.AddFile("", fset.Base(), len(src))
+	s.Init(file, src, nil, scanner.ScanComments)
+	return func() (seg Segment) {
+		for {
+			pos, tok, lit := s.Scan()
+			if tok == token.EOF {
+				break
+			}
+			offs := file.Offset(pos)
+			if tok == sel {
+				seg = Segment{offs, offs + len(lit)}
+				break
+			}
+		}
+		return
+	}
+}
+
+// makeSelection is a helper function to make a Selection from a slice of pairs.
+// Pairs describing empty segments are ignored.
+//
+func makeSelection(matches [][]int) Selection {
+	i := 0
+	return func() Segment {
+		for i < len(matches) {
+			m := matches[i]
+			i++
+			if m[0] < m[1] {
+				// non-empty segment
+				return Segment{m[0], m[1]}
+			}
+		}
+		return Segment{}
+	}
+}
+
+// regexpSelection computes the Selection for the regular expression expr in text.
+func regexpSelection(text []byte, expr string) Selection {
+	var matches [][]int
+	if rx, err := regexp.Compile(expr); err == nil {
+		matches = rx.FindAllIndex(text, -1)
+	}
+	return makeSelection(matches)
+}
+
+var selRx = regexp.MustCompile(`^([0-9]+):([0-9]+)`)
+
+// RangeSelection computes the Selection for a text range described
+// by the argument str; the range description must match the selRx
+// regular expression.
+func RangeSelection(str string) Selection {
+	m := selRx.FindStringSubmatch(str)
+	if len(m) >= 2 {
+		from, _ := strconv.Atoi(m[1])
+		to, _ := strconv.Atoi(m[2])
+		if from < to {
+			return makeSelection([][]int{{from, to}})
+		}
+	}
+	return nil
+}
+
+// Span tags for all the possible selection combinations that may
+// be generated by FormatText. Selections are indicated by a bitset,
+// and the value of the bitset specifies the tag to be used.
+//
+// bit 0: comments
+// bit 1: highlights
+// bit 2: selections
+//
+var startTags = [][]byte{
+	/* 000 */ []byte(``),
+	/* 001 */ []byte(`<span class="comment">`),
+	/* 010 */ []byte(`<span class="highlight">`),
+	/* 011 */ []byte(`<span class="highlight-comment">`),
+	/* 100 */ []byte(`<span class="selection">`),
+	/* 101 */ []byte(`<span class="selection-comment">`),
+	/* 110 */ []byte(`<span class="selection-highlight">`),
+	/* 111 */ []byte(`<span class="selection-highlight-comment">`),
+}
+
+var endTag = []byte(`</span>`)
+
+func selectionTag(w io.Writer, text []byte, selections int) {
+	if selections < len(startTags) {
+		if tag := startTags[selections]; len(tag) > 0 {
+			w.Write(tag)
+			template.HTMLEscape(w, text)
+			w.Write(endTag)
+			return
+		}
+	}
+	template.HTMLEscape(w, text)
+}
+
+// FormatText HTML-escapes text and writes it to w.
+// Consecutive text segments are wrapped in HTML spans (with tags as
+// defined by startTags and endTag) as follows:
+//
+//	- if line >= 0, line number (ln) spans are inserted before each line,
+//	  starting with the value of line
+//	- if the text is Go source, comments get the "comment" span class
+//	- each occurrence of the regular expression pattern gets the "highlight"
+//	  span class
+//	- text segments covered by selection get the "selection" span class
+//
+// Comments, highlights, and selections may overlap arbitrarily; the respective
+// HTML span classes are specified in the startTags variable.
+//
+func FormatText(w io.Writer, text []byte, line int, goSource bool, pattern string, selection Selection) {
+	var comments, highlights Selection
+	if goSource {
+		comments = tokenSelection(text, token.COMMENT)
+	}
+	if pattern != "" {
+		highlights = regexpSelection(text, pattern)
+	}
+	if line >= 0 || comments != nil || highlights != nil || selection != nil {
+		var lineTag LinkWriter
+		if line >= 0 {
+			lineTag = func(w io.Writer, _ int, start bool) {
+				if start {
+					fmt.Fprintf(w, "<span id=\"L%d\" class=\"ln\">%6d</span>", line, line)
+					line++
+				}
+			}
+		}
+		FormatSelections(w, text, lineTag, lineSelection(text), selectionTag, comments, highlights, selection)
+	} else {
+		template.HTMLEscape(w, text)
+	}
+}
internal/godoc/godoc.go
@@ -0,0 +1,939 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package godoc is a work-in-progress (2013-07-17) package to
+// begin splitting up the godoc binary into multiple pieces.
+//
+// This package comment will evolve over time as this package splits
+// into smaller pieces.
+package godoc // import "golang.org/x/website/internal/godoc"
+
+import (
+	"bufio"
+	"bytes"
+	"fmt"
+	"go/ast"
+	"go/doc"
+	"go/format"
+	"go/printer"
+	"go/token"
+	htmltemplate "html/template"
+	"io"
+	"log"
+	"os"
+	pathpkg "path"
+	"regexp"
+	"strconv"
+	"strings"
+	"text/template"
+	"time"
+	"unicode"
+	"unicode/utf8"
+)
+
+// Fake relative package path for built-ins. Documentation for all globals
+// (not just exported ones) will be shown for packages in this directory,
+// and there will be no association of consts, vars, and factory functions
+// with types (see issue 6645).
+const builtinPkgPath = "builtin"
+
+// FuncMap defines template functions used in godoc templates.
+//
+// Convention: template function names ending in "_html" or "_url" produce
+//             HTML- or URL-escaped strings; all other function results may
+//             require explicit escaping in the template.
+func (p *Presentation) FuncMap() template.FuncMap {
+	p.initFuncMapOnce.Do(p.initFuncMap)
+	return p.funcMap
+}
+
+func (p *Presentation) TemplateFuncs() template.FuncMap {
+	p.initFuncMapOnce.Do(p.initFuncMap)
+	return p.templateFuncs
+}
+
+func (p *Presentation) initFuncMap() {
+	if p.Corpus == nil {
+		panic("nil Presentation.Corpus")
+	}
+	p.templateFuncs = template.FuncMap{
+		"code": p.code,
+	}
+	p.funcMap = template.FuncMap{
+		// various helpers
+		"filename": filenameFunc,
+		"repeat":   strings.Repeat,
+		"since":    p.Corpus.pkgAPIInfo.sinceVersionFunc,
+
+		// access to FileInfos (directory listings)
+		"fileInfoName": fileInfoNameFunc,
+		"fileInfoTime": fileInfoTimeFunc,
+
+		// access to search result information
+		"infoKind_html":    infoKind_htmlFunc,
+		"infoLine":         p.infoLineFunc,
+		"infoSnippet_html": p.infoSnippet_htmlFunc,
+
+		// formatting of AST nodes
+		"node":         p.nodeFunc,
+		"node_html":    p.node_htmlFunc,
+		"comment_html": comment_htmlFunc,
+		"sanitize":     sanitizeFunc,
+
+		// support for URL attributes
+		"pkgLink":       pkgLinkFunc,
+		"srcLink":       srcLinkFunc,
+		"posLink_url":   newPosLink_urlFunc(srcPosLinkFunc),
+		"docLink":       docLinkFunc,
+		"queryLink":     queryLinkFunc,
+		"srcBreadcrumb": srcBreadcrumbFunc,
+		"srcToPkgLink":  srcToPkgLinkFunc,
+
+		// formatting of Examples
+		"example_html":   p.example_htmlFunc,
+		"example_name":   p.example_nameFunc,
+		"example_suffix": p.example_suffixFunc,
+
+		// formatting of analysis information
+		"callgraph_html":  p.callgraph_htmlFunc,
+		"implements_html": p.implements_htmlFunc,
+		"methodset_html":  p.methodset_htmlFunc,
+
+		// formatting of Notes
+		"noteTitle": noteTitle,
+
+		// Number operation
+		"multiply": multiply,
+
+		// formatting of PageInfoMode query string
+		"modeQueryString": modeQueryString,
+
+		// check whether to display third party section or not
+		"hasThirdParty": hasThirdParty,
+
+		// get the no. of columns to split the toc in search page
+		"tocColCount": tocColCount,
+	}
+	if p.URLForSrc != nil {
+		p.funcMap["srcLink"] = p.URLForSrc
+	}
+	if p.URLForSrcPos != nil {
+		p.funcMap["posLink_url"] = newPosLink_urlFunc(p.URLForSrcPos)
+	}
+	if p.URLForSrcQuery != nil {
+		p.funcMap["queryLink"] = p.URLForSrcQuery
+	}
+}
+
+func multiply(a, b int) int { return a * b }
+
+func filenameFunc(path string) string {
+	_, localname := pathpkg.Split(path)
+	return localname
+}
+
+func fileInfoNameFunc(fi os.FileInfo) string {
+	name := fi.Name()
+	if fi.IsDir() {
+		name += "/"
+	}
+	return name
+}
+
+func fileInfoTimeFunc(fi os.FileInfo) string {
+	if t := fi.ModTime(); t.Unix() != 0 {
+		return t.Local().String()
+	}
+	return "" // don't return epoch if time is obviously not set
+}
+
+// The strings in infoKinds must be properly html-escaped.
+var infoKinds = [nKinds]string{
+	PackageClause: "package&nbsp;clause",
+	ImportDecl:    "import&nbsp;decl",
+	ConstDecl:     "const&nbsp;decl",
+	TypeDecl:      "type&nbsp;decl",
+	VarDecl:       "var&nbsp;decl",
+	FuncDecl:      "func&nbsp;decl",
+	MethodDecl:    "method&nbsp;decl",
+	Use:           "use",
+}
+
+func infoKind_htmlFunc(info SpotInfo) string {
+	return infoKinds[info.Kind()] // infoKind entries are html-escaped
+}
+
+func (p *Presentation) infoLineFunc(info SpotInfo) int {
+	line := info.Lori()
+	if info.IsIndex() {
+		index, _ := p.Corpus.searchIndex.Get()
+		if index != nil {
+			line = index.(*Index).Snippet(line).Line
+		} else {
+			// no line information available because
+			// we don't have an index - this should
+			// never happen; be conservative and don't
+			// crash
+			line = 0
+		}
+	}
+	return line
+}
+
+func (p *Presentation) infoSnippet_htmlFunc(info SpotInfo) string {
+	if info.IsIndex() {
+		index, _ := p.Corpus.searchIndex.Get()
+		// Snippet.Text was HTML-escaped when it was generated
+		return index.(*Index).Snippet(info.Lori()).Text
+	}
+	return `<span class="alert">no snippet text available</span>`
+}
+
+func (p *Presentation) nodeFunc(info *PageInfo, node interface{}) string {
+	var buf bytes.Buffer
+	p.writeNode(&buf, info, info.FSet, node)
+	return buf.String()
+}
+
+func (p *Presentation) node_htmlFunc(info *PageInfo, node interface{}, linkify bool) string {
+	var buf1 bytes.Buffer
+	p.writeNode(&buf1, info, info.FSet, node)
+
+	var buf2 bytes.Buffer
+	if n, _ := node.(ast.Node); n != nil && linkify && p.DeclLinks {
+		LinkifyText(&buf2, buf1.Bytes(), n)
+		if st, name := isStructTypeDecl(n); st != nil {
+			addStructFieldIDAttributes(&buf2, name, st)
+		}
+	} else {
+		FormatText(&buf2, buf1.Bytes(), -1, true, "", nil)
+	}
+
+	return buf2.String()
+}
+
+// isStructTypeDecl checks whether n is a struct declaration.
+// It either returns a non-nil StructType and its name, or zero values.
+func isStructTypeDecl(n ast.Node) (st *ast.StructType, name string) {
+	gd, ok := n.(*ast.GenDecl)
+	if !ok || gd.Tok != token.TYPE {
+		return nil, ""
+	}
+	if gd.Lparen > 0 {
+		// Parenthesized type. Who does that, anyway?
+		// TODO: Reportedly gri does. Fix this to handle that too.
+		return nil, ""
+	}
+	if len(gd.Specs) != 1 {
+		return nil, ""
+	}
+	ts, ok := gd.Specs[0].(*ast.TypeSpec)
+	if !ok {
+		return nil, ""
+	}
+	st, ok = ts.Type.(*ast.StructType)
+	if !ok {
+		return nil, ""
+	}
+	return st, ts.Name.Name
+}
+
+// addStructFieldIDAttributes modifies the contents of buf such that
+// all struct fields of the named struct have <span id='name.Field'>
+// in them, so people can link to /#Struct.Field.
+func addStructFieldIDAttributes(buf *bytes.Buffer, name string, st *ast.StructType) {
+	if st.Fields == nil {
+		return
+	}
+	// needsLink is a set of identifiers that still need to be
+	// linked, where value == key, to avoid an allocation in func
+	// linkedField.
+	needsLink := make(map[string]string)
+
+	for _, f := range st.Fields.List {
+		if len(f.Names) == 0 {
+			continue
+		}
+		fieldName := f.Names[0].Name
+		needsLink[fieldName] = fieldName
+	}
+	var newBuf bytes.Buffer
+	foreachLine(buf.Bytes(), func(line []byte) {
+		if fieldName := linkedField(line, needsLink); fieldName != "" {
+			fmt.Fprintf(&newBuf, `<span id="%s.%s"></span>`, name, fieldName)
+			delete(needsLink, fieldName)
+		}
+		newBuf.Write(line)
+	})
+	buf.Reset()
+	buf.Write(newBuf.Bytes())
+}
+
+// foreachLine calls fn for each line of in, where a line includes
+// the trailing "\n", except on the last line, if it doesn't exist.
+func foreachLine(in []byte, fn func(line []byte)) {
+	for len(in) > 0 {
+		nl := bytes.IndexByte(in, '\n')
+		if nl == -1 {
+			fn(in)
+			return
+		}
+		fn(in[:nl+1])
+		in = in[nl+1:]
+	}
+}
+
+// commentPrefix is the line prefix for comments after they've been HTMLified.
+var commentPrefix = []byte(`<span class="comment">// `)
+
+// linkedField determines whether the given line starts with an
+// identifier in the provided ids map (mapping from identifier to the
+// same identifier). The line can start with either an identifier or
+// an identifier in a comment. If one matches, it returns the
+// identifier that matched. Otherwise it returns the empty string.
+func linkedField(line []byte, ids map[string]string) string {
+	line = bytes.TrimSpace(line)
+
+	// For fields with a doc string of the
+	// conventional form, we put the new span into
+	// the comment instead of the field.
+	// The "conventional" form is a complete sentence
+	// per https://golang.org/s/style#comment-sentences like:
+	//
+	//    // Foo is an optional Fooer to foo the foos.
+	//    Foo Fooer
+	//
+	// In this case, we want the #StructName.Foo
+	// link to make the browser go to the comment
+	// line "Foo is an optional Fooer" instead of
+	// the "Foo Fooer" line, which could otherwise
+	// obscure the docs above the browser's "fold".
+	//
+	// TODO: do this better, so it works for all
+	// comments, including unconventional ones.
+	line = bytes.TrimPrefix(line, commentPrefix)
+	id := scanIdentifier(line)
+	if len(id) == 0 {
+		// No leading identifier. Avoid map lookup for
+		// somewhat common case.
+		return ""
+	}
+	return ids[string(id)]
+}
+
+// scanIdentifier scans a valid Go identifier off the front of v and
+// either returns a subslice of v if there's a valid identifier, or
+// returns a zero-length slice.
+func scanIdentifier(v []byte) []byte {
+	var n int // number of leading bytes of v belonging to an identifier
+	for {
+		r, width := utf8.DecodeRune(v[n:])
+		if !(isLetter(r) || n > 0 && isDigit(r)) {
+			break
+		}
+		n += width
+	}
+	return v[:n]
+}
+
+func isLetter(ch rune) bool {
+	return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= utf8.RuneSelf && unicode.IsLetter(ch)
+}
+
+func isDigit(ch rune) bool {
+	return '0' <= ch && ch <= '9' || ch >= utf8.RuneSelf && unicode.IsDigit(ch)
+}
+
+func comment_htmlFunc(comment string) string {
+	var buf bytes.Buffer
+	// TODO(gri) Provide list of words (e.g. function parameters)
+	//           to be emphasized by ToHTML.
+	doc.ToHTML(&buf, comment, nil) // does html-escaping
+	return buf.String()
+}
+
+// sanitizeFunc sanitizes the argument src by replacing newlines with
+// blanks, removing extra blanks, and by removing trailing whitespace
+// and commas before closing parentheses.
+func sanitizeFunc(src string) string {
+	buf := make([]byte, len(src))
+	j := 0      // buf index
+	comma := -1 // comma index if >= 0
+	for i := 0; i < len(src); i++ {
+		ch := src[i]
+		switch ch {
+		case '\t', '\n', ' ':
+			// ignore whitespace at the beginning, after a blank, or after opening parentheses
+			if j == 0 {
+				continue
+			}
+			if p := buf[j-1]; p == ' ' || p == '(' || p == '{' || p == '[' {
+				continue
+			}
+			// replace all whitespace with blanks
+			ch = ' '
+		case ',':
+			comma = j
+		case ')', '}', ']':
+			// remove any trailing comma
+			if comma >= 0 {
+				j = comma
+			}
+			// remove any trailing whitespace
+			if j > 0 && buf[j-1] == ' ' {
+				j--
+			}
+		default:
+			comma = -1
+		}
+		buf[j] = ch
+		j++
+	}
+	// remove trailing blank, if any
+	if j > 0 && buf[j-1] == ' ' {
+		j--
+	}
+	return string(buf[:j])
+}
+
+type PageInfo struct {
+	Dirname  string // directory containing the package
+	Err      error  // error or nil
+	GoogleCN bool   // page is being served from golang.google.cn
+
+	Mode PageInfoMode // display metadata from query string
+
+	// package info
+	FSet       *token.FileSet         // nil if no package documentation
+	PDoc       *doc.Package           // nil if no package documentation
+	Examples   []*doc.Example         // nil if no example code
+	Notes      map[string][]*doc.Note // nil if no package Notes
+	PAst       map[string]*ast.File   // nil if no AST with package exports
+	IsMain     bool                   // true for package main
+	IsFiltered bool                   // true if results were filtered
+
+	// analysis info
+	TypeInfoIndex  map[string]int  // index of JSON datum for type T (if -analysis=type)
+	AnalysisData   htmltemplate.JS // array of TypeInfoJSON values
+	CallGraph      htmltemplate.JS // array of PCGNodeJSON values    (if -analysis=pointer)
+	CallGraphIndex map[string]int  // maps func name to index in CallGraph
+
+	// directory info
+	Dirs    *DirList  // nil if no directory information
+	DirTime time.Time // directory time stamp
+	DirFlat bool      // if set, show directory in a flat (non-indented) manner
+}
+
+func (info *PageInfo) IsEmpty() bool {
+	return info.Err != nil || info.PAst == nil && info.PDoc == nil && info.Dirs == nil
+}
+
+func pkgLinkFunc(path string) string {
+	// because of the irregular mapping under goroot
+	// we need to correct certain relative paths
+	path = strings.TrimPrefix(path, "/")
+	path = strings.TrimPrefix(path, "src/")
+	path = strings.TrimPrefix(path, "pkg/")
+	return "pkg/" + path
+}
+
+// srcToPkgLinkFunc builds an <a> tag linking to the package
+// documentation of relpath.
+func srcToPkgLinkFunc(relpath string) string {
+	relpath = pkgLinkFunc(relpath)
+	relpath = pathpkg.Dir(relpath)
+	if relpath == "pkg" {
+		return `<a href="/pkg">Index</a>`
+	}
+	return fmt.Sprintf(`<a href="/%s">%s</a>`, relpath, relpath[len("pkg/"):])
+}
+
+// srcBreadcrumbFun converts each segment of relpath to a HTML <a>.
+// Each segment links to its corresponding src directories.
+func srcBreadcrumbFunc(relpath string) string {
+	segments := strings.Split(relpath, "/")
+	var buf bytes.Buffer
+	var selectedSegment string
+	var selectedIndex int
+
+	if strings.HasSuffix(relpath, "/") {
+		// relpath is a directory ending with a "/".
+		// Selected segment is the segment before the last slash.
+		selectedIndex = len(segments) - 2
+		selectedSegment = segments[selectedIndex] + "/"
+	} else {
+		selectedIndex = len(segments) - 1
+		selectedSegment = segments[selectedIndex]
+	}
+
+	for i := range segments[:selectedIndex] {
+		buf.WriteString(fmt.Sprintf(`<a href="/%s">%s</a>/`,
+			strings.Join(segments[:i+1], "/"),
+			segments[i],
+		))
+	}
+
+	buf.WriteString(`<span class="text-muted">`)
+	buf.WriteString(selectedSegment)
+	buf.WriteString(`</span>`)
+	return buf.String()
+}
+
+func newPosLink_urlFunc(srcPosLinkFunc func(s string, line, low, high int) string) func(info *PageInfo, n interface{}) string {
+	// n must be an ast.Node or a *doc.Note
+	return func(info *PageInfo, n interface{}) string {
+		var pos, end token.Pos
+
+		switch n := n.(type) {
+		case ast.Node:
+			pos = n.Pos()
+			end = n.End()
+		case *doc.Note:
+			pos = n.Pos
+			end = n.End
+		default:
+			panic(fmt.Sprintf("wrong type for posLink_url template formatter: %T", n))
+		}
+
+		var relpath string
+		var line int
+		var low, high int // selection offset range
+
+		if pos.IsValid() {
+			p := info.FSet.Position(pos)
+			relpath = p.Filename
+			line = p.Line
+			low = p.Offset
+		}
+		if end.IsValid() {
+			high = info.FSet.Position(end).Offset
+		}
+
+		return srcPosLinkFunc(relpath, line, low, high)
+	}
+}
+
+func srcPosLinkFunc(s string, line, low, high int) string {
+	s = srcLinkFunc(s)
+	var buf bytes.Buffer
+	template.HTMLEscape(&buf, []byte(s))
+	// selection ranges are of form "s=low:high"
+	if low < high {
+		fmt.Fprintf(&buf, "?s=%d:%d", low, high) // no need for URL escaping
+		// if we have a selection, position the page
+		// such that the selection is a bit below the top
+		line -= 10
+		if line < 1 {
+			line = 1
+		}
+	}
+	// line id's in html-printed source are of the
+	// form "L%d" where %d stands for the line number
+	if line > 0 {
+		fmt.Fprintf(&buf, "#L%d", line) // no need for URL escaping
+	}
+	return buf.String()
+}
+
+func srcLinkFunc(s string) string {
+	s = pathpkg.Clean("/" + s)
+	if !strings.HasPrefix(s, "/src/") {
+		s = "/src" + s
+	}
+	return s
+}
+
+// queryLinkFunc returns a URL for a line in a source file with a highlighted
+// query term.
+// s is expected to be a path to a source file.
+// query is expected to be a string that has already been appropriately escaped
+// for use in a URL query.
+func queryLinkFunc(s, query string, line int) string {
+	url := pathpkg.Clean("/"+s) + "?h=" + query
+	if line > 0 {
+		url += "#L" + strconv.Itoa(line)
+	}
+	return url
+}
+
+func docLinkFunc(s string, ident string) string {
+	return pathpkg.Clean("/pkg/"+s) + "/#" + ident
+}
+
+func (p *Presentation) example_htmlFunc(info *PageInfo, funcName string) string {
+	var buf bytes.Buffer
+	for _, eg := range info.Examples {
+		name := stripExampleSuffix(eg.Name)
+
+		if name != funcName {
+			continue
+		}
+
+		// print code
+		cnode := &printer.CommentedNode{Node: eg.Code, Comments: eg.Comments}
+		code := p.node_htmlFunc(info, cnode, true)
+		out := eg.Output
+		wholeFile := true
+
+		// Additional formatting if this is a function body.
+		if n := len(code); n >= 2 && code[0] == '{' && code[n-1] == '}' {
+			wholeFile = false
+			// remove surrounding braces
+			code = code[1 : n-1]
+			// unindent
+			code = replaceLeadingIndentation(code, strings.Repeat(" ", p.TabWidth), "")
+			// remove output comment
+			if loc := exampleOutputRx.FindStringIndex(code); loc != nil {
+				code = strings.TrimSpace(code[:loc[0]])
+			}
+		}
+
+		// Write out the playground code in standard Go style
+		// (use tabs, no comment highlight, etc).
+		play := ""
+		if eg.Play != nil && p.ShowPlayground {
+			var buf bytes.Buffer
+			eg.Play.Comments = filterOutBuildAnnotations(eg.Play.Comments)
+			if err := format.Node(&buf, info.FSet, eg.Play); err != nil {
+				log.Print(err)
+			} else {
+				play = buf.String()
+			}
+		}
+
+		// Drop output, as the output comment will appear in the code.
+		if wholeFile && play == "" {
+			out = ""
+		}
+
+		if p.ExampleHTML == nil {
+			out = ""
+			return ""
+		}
+
+		err := p.ExampleHTML.Execute(&buf, struct {
+			Name, Doc, Code, Play, Output string
+			GoogleCN                      bool
+		}{eg.Name, eg.Doc, code, play, out, info.GoogleCN})
+		if err != nil {
+			log.Print(err)
+		}
+	}
+	return buf.String()
+}
+
+func filterOutBuildAnnotations(cg []*ast.CommentGroup) []*ast.CommentGroup {
+	if len(cg) == 0 {
+		return cg
+	}
+
+	for i := range cg {
+		if !strings.HasPrefix(cg[i].Text(), "+build ") {
+			// Found the first non-build tag, return from here until the end
+			// of the slice.
+			return cg[i:]
+		}
+	}
+
+	// There weren't any non-build tags, return an empty slice.
+	return []*ast.CommentGroup{}
+}
+
+// example_nameFunc takes an example function name and returns its display
+// name. For example, "Foo_Bar_quux" becomes "Foo.Bar (Quux)".
+func (p *Presentation) example_nameFunc(s string) string {
+	name, suffix := splitExampleName(s)
+	// replace _ with . for method names
+	name = strings.Replace(name, "_", ".", 1)
+	// use "Package" if no name provided
+	if name == "" {
+		name = "Package"
+	}
+	return name + suffix
+}
+
+// example_suffixFunc takes an example function name and returns its suffix in
+// parenthesized form. For example, "Foo_Bar_quux" becomes " (Quux)".
+func (p *Presentation) example_suffixFunc(name string) string {
+	_, suffix := splitExampleName(name)
+	return suffix
+}
+
+// implements_html returns the "> Implements" toggle for a package-level named type.
+// Its contents are populated from JSON data by client-side JS at load time.
+func (p *Presentation) implements_htmlFunc(info *PageInfo, typeName string) string {
+	if p.ImplementsHTML == nil {
+		return ""
+	}
+	index, ok := info.TypeInfoIndex[typeName]
+	if !ok {
+		return ""
+	}
+	var buf bytes.Buffer
+	err := p.ImplementsHTML.Execute(&buf, struct{ Index int }{index})
+	if err != nil {
+		log.Print(err)
+	}
+	return buf.String()
+}
+
+// methodset_html returns the "> Method set" toggle for a package-level named type.
+// Its contents are populated from JSON data by client-side JS at load time.
+func (p *Presentation) methodset_htmlFunc(info *PageInfo, typeName string) string {
+	if p.MethodSetHTML == nil {
+		return ""
+	}
+	index, ok := info.TypeInfoIndex[typeName]
+	if !ok {
+		return ""
+	}
+	var buf bytes.Buffer
+	err := p.MethodSetHTML.Execute(&buf, struct{ Index int }{index})
+	if err != nil {
+		log.Print(err)
+	}
+	return buf.String()
+}
+
+// callgraph_html returns the "> Call graph" toggle for a package-level func.
+// Its contents are populated from JSON data by client-side JS at load time.
+func (p *Presentation) callgraph_htmlFunc(info *PageInfo, recv, name string) string {
+	if p.CallGraphHTML == nil {
+		return ""
+	}
+	if recv != "" {
+		// Format must match (*ssa.Function).RelString().
+		name = fmt.Sprintf("(%s).%s", recv, name)
+	}
+	index, ok := info.CallGraphIndex[name]
+	if !ok {
+		return ""
+	}
+	var buf bytes.Buffer
+	err := p.CallGraphHTML.Execute(&buf, struct{ Index int }{index})
+	if err != nil {
+		log.Print(err)
+	}
+	return buf.String()
+}
+
+func noteTitle(note string) string {
+	return strings.Title(strings.ToLower(note))
+}
+
+func startsWithUppercase(s string) bool {
+	r, _ := utf8.DecodeRuneInString(s)
+	return unicode.IsUpper(r)
+}
+
+var exampleOutputRx = regexp.MustCompile(`(?i)//[[:space:]]*(unordered )?output:`)
+
+// stripExampleSuffix strips lowercase braz in Foo_braz or Foo_Bar_braz from name
+// while keeping uppercase Braz in Foo_Braz.
+func stripExampleSuffix(name string) string {
+	if i := strings.LastIndex(name, "_"); i != -1 {
+		if i < len(name)-1 && !startsWithUppercase(name[i+1:]) {
+			name = name[:i]
+		}
+	}
+	return name
+}
+
+func splitExampleName(s string) (name, suffix string) {
+	i := strings.LastIndex(s, "_")
+	if 0 <= i && i < len(s)-1 && !startsWithUppercase(s[i+1:]) {
+		name = s[:i]
+		suffix = " (" + strings.Title(s[i+1:]) + ")"
+		return
+	}
+	name = s
+	return
+}
+
+// replaceLeadingIndentation replaces oldIndent at the beginning of each line
+// with newIndent. This is used for formatting examples. Raw strings that
+// span multiple lines are handled specially: oldIndent is not removed (since
+// go/printer will not add any indentation there), but newIndent is added
+// (since we may still want leading indentation).
+func replaceLeadingIndentation(body, oldIndent, newIndent string) string {
+	// Handle indent at the beginning of the first line. After this, we handle
+	// indentation only after a newline.
+	var buf bytes.Buffer
+	if strings.HasPrefix(body, oldIndent) {
+		buf.WriteString(newIndent)
+		body = body[len(oldIndent):]
+	}
+
+	// Use a state machine to keep track of whether we're in a string or
+	// rune literal while we process the rest of the code.
+	const (
+		codeState = iota
+		runeState
+		interpretedStringState
+		rawStringState
+	)
+	searchChars := []string{
+		"'\"`\n", // codeState
+		`\'`,     // runeState
+		`\"`,     // interpretedStringState
+		"`\n",    // rawStringState
+		// newlineState does not need to search
+	}
+	state := codeState
+	for {
+		i := strings.IndexAny(body, searchChars[state])
+		if i < 0 {
+			buf.WriteString(body)
+			break
+		}
+		c := body[i]
+		buf.WriteString(body[:i+1])
+		body = body[i+1:]
+		switch state {
+		case codeState:
+			switch c {
+			case '\'':
+				state = runeState
+			case '"':
+				state = interpretedStringState
+			case '`':
+				state = rawStringState
+			case '\n':
+				if strings.HasPrefix(body, oldIndent) {
+					buf.WriteString(newIndent)
+					body = body[len(oldIndent):]
+				}
+			}
+
+		case runeState:
+			switch c {
+			case '\\':
+				r, size := utf8.DecodeRuneInString(body)
+				buf.WriteRune(r)
+				body = body[size:]
+			case '\'':
+				state = codeState
+			}
+
+		case interpretedStringState:
+			switch c {
+			case '\\':
+				r, size := utf8.DecodeRuneInString(body)
+				buf.WriteRune(r)
+				body = body[size:]
+			case '"':
+				state = codeState
+			}
+
+		case rawStringState:
+			switch c {
+			case '`':
+				state = codeState
+			case '\n':
+				buf.WriteString(newIndent)
+			}
+		}
+	}
+	return buf.String()
+}
+
+// writeNode writes the AST node x to w.
+//
+// The provided fset must be non-nil. The pageInfo is optional. If
+// present, the pageInfo is used to add comments to struct fields to
+// say which version of Go introduced them.
+func (p *Presentation) writeNode(w io.Writer, pageInfo *PageInfo, fset *token.FileSet, x interface{}) {
+	// convert trailing tabs into spaces using a tconv filter
+	// to ensure a good outcome in most browsers (there may still
+	// be tabs in comments and strings, but converting those into
+	// the right number of spaces is much harder)
+	//
+	// TODO(gri) rethink printer flags - perhaps tconv can be eliminated
+	//           with an another printer mode (which is more efficiently
+	//           implemented in the printer than here with another layer)
+
+	var pkgName, structName string
+	var apiInfo pkgAPIVersions
+	if gd, ok := x.(*ast.GenDecl); ok && pageInfo != nil && pageInfo.PDoc != nil &&
+		p.Corpus != nil &&
+		gd.Tok == token.TYPE && len(gd.Specs) != 0 {
+		pkgName = pageInfo.PDoc.ImportPath
+		if ts, ok := gd.Specs[0].(*ast.TypeSpec); ok {
+			if _, ok := ts.Type.(*ast.StructType); ok {
+				structName = ts.Name.Name
+			}
+		}
+		apiInfo = p.Corpus.pkgAPIInfo[pkgName]
+	}
+
+	var out = w
+	var buf bytes.Buffer
+	if structName != "" {
+		out = &buf
+	}
+
+	mode := printer.TabIndent | printer.UseSpaces
+	err := (&printer.Config{Mode: mode, Tabwidth: p.TabWidth}).Fprint(&tconv{p: p, output: out}, fset, x)
+	if err != nil {
+		log.Print(err)
+	}
+
+	// Add comments to struct fields saying which Go version introduced them.
+	if structName != "" {
+		fieldSince := apiInfo.fieldSince[structName]
+		typeSince := apiInfo.typeSince[structName]
+		// Add/rewrite comments on struct fields to note which Go version added them.
+		var buf2 bytes.Buffer
+		buf2.Grow(buf.Len() + len(" // Added in Go 1.n")*10)
+		bs := bufio.NewScanner(&buf)
+		for bs.Scan() {
+			line := bs.Bytes()
+			field := firstIdent(line)
+			var since string
+			if field != "" {
+				since = fieldSince[field]
+				if since != "" && since == typeSince {
+					// Don't highlight field versions if they were the
+					// same as the struct itself.
+					since = ""
+				}
+			}
+			if since == "" {
+				buf2.Write(line)
+			} else {
+				if bytes.Contains(line, slashSlash) {
+					line = bytes.TrimRight(line, " \t.")
+					buf2.Write(line)
+					buf2.WriteString("; added in Go ")
+				} else {
+					buf2.Write(line)
+					buf2.WriteString(" // Go ")
+				}
+				buf2.WriteString(since)
+			}
+			buf2.WriteByte('\n')
+		}
+		w.Write(buf2.Bytes())
+	}
+}
+
+var slashSlash = []byte("//")
+
+// WriteNode writes x to w.
+// TODO(bgarcia) Is this method needed? It's just a wrapper for p.writeNode.
+func (p *Presentation) WriteNode(w io.Writer, fset *token.FileSet, x interface{}) {
+	p.writeNode(w, nil, fset, x)
+}
+
+// firstIdent returns the first identifier in x.
+// This actually parses "identifiers" that begin with numbers too, but we
+// never feed it such input, so it's fine.
+func firstIdent(x []byte) string {
+	x = bytes.TrimSpace(x)
+	i := bytes.IndexFunc(x, func(r rune) bool { return !unicode.IsLetter(r) && !unicode.IsNumber(r) })
+	if i == -1 {
+		return string(x)
+	}
+	return string(x[:i])
+}
internal/godoc/godoc_test.go
@@ -0,0 +1,393 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"fmt"
+	"go/parser"
+	"go/token"
+	"strings"
+	"testing"
+)
+
+func TestPkgLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		path string
+		want string
+	}{
+		{"/src/fmt", "pkg/fmt"},
+		{"src/fmt", "pkg/fmt"},
+		{"/fmt", "pkg/fmt"},
+		{"fmt", "pkg/fmt"},
+	} {
+		if got := pkgLinkFunc(tc.path); got != tc.want {
+			t.Errorf("pkgLinkFunc(%v) = %v; want %v", tc.path, got, tc.want)
+		}
+	}
+}
+
+func TestSrcPosLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		src  string
+		line int
+		low  int
+		high int
+		want string
+	}{
+		{"/src/fmt/print.go", 42, 30, 50, "/src/fmt/print.go?s=30:50#L32"},
+		{"/src/fmt/print.go", 2, 1, 5, "/src/fmt/print.go?s=1:5#L1"},
+		{"/src/fmt/print.go", 2, 0, 0, "/src/fmt/print.go#L2"},
+		{"/src/fmt/print.go", 0, 0, 0, "/src/fmt/print.go"},
+		{"/src/fmt/print.go", 0, 1, 5, "/src/fmt/print.go?s=1:5#L1"},
+		{"fmt/print.go", 0, 0, 0, "/src/fmt/print.go"},
+		{"fmt/print.go", 0, 1, 5, "/src/fmt/print.go?s=1:5#L1"},
+	} {
+		if got := srcPosLinkFunc(tc.src, tc.line, tc.low, tc.high); got != tc.want {
+			t.Errorf("srcLinkFunc(%v, %v, %v, %v) = %v; want %v", tc.src, tc.line, tc.low, tc.high, got, tc.want)
+		}
+	}
+}
+
+func TestSrcLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		src  string
+		want string
+	}{
+		{"/src/fmt/print.go", "/src/fmt/print.go"},
+		{"src/fmt/print.go", "/src/fmt/print.go"},
+		{"/fmt/print.go", "/src/fmt/print.go"},
+		{"fmt/print.go", "/src/fmt/print.go"},
+	} {
+		if got := srcLinkFunc(tc.src); got != tc.want {
+			t.Errorf("srcLinkFunc(%v) = %v; want %v", tc.src, got, tc.want)
+		}
+	}
+}
+
+func TestQueryLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		src   string
+		query string
+		line  int
+		want  string
+	}{
+		{"/src/fmt/print.go", "Sprintf", 33, "/src/fmt/print.go?h=Sprintf#L33"},
+		{"/src/fmt/print.go", "Sprintf", 0, "/src/fmt/print.go?h=Sprintf"},
+		{"src/fmt/print.go", "EOF", 33, "/src/fmt/print.go?h=EOF#L33"},
+		{"src/fmt/print.go", "a%3f+%26b", 1, "/src/fmt/print.go?h=a%3f+%26b#L1"},
+	} {
+		if got := queryLinkFunc(tc.src, tc.query, tc.line); got != tc.want {
+			t.Errorf("queryLinkFunc(%v, %v, %v) = %v; want %v", tc.src, tc.query, tc.line, got, tc.want)
+		}
+	}
+}
+
+func TestDocLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		src   string
+		ident string
+		want  string
+	}{
+		{"fmt", "Sprintf", "/pkg/fmt/#Sprintf"},
+		{"fmt", "EOF", "/pkg/fmt/#EOF"},
+	} {
+		if got := docLinkFunc(tc.src, tc.ident); got != tc.want {
+			t.Errorf("docLinkFunc(%v, %v) = %v; want %v", tc.src, tc.ident, got, tc.want)
+		}
+	}
+}
+
+func TestSanitizeFunc(t *testing.T) {
+	for _, tc := range []struct {
+		src  string
+		want string
+	}{
+		{},
+		{"foo", "foo"},
+		{"func   f()", "func f()"},
+		{"func f(a int,)", "func f(a int)"},
+		{"func f(a int,\n)", "func f(a int)"},
+		{"func f(\n\ta int,\n\tb int,\n\tc int,\n)", "func f(a int, b int, c int)"},
+		{"  (   a,   b,  c  )  ", "(a, b, c)"},
+		{"(  a,  b, c    int, foo   bar  ,  )", "(a, b, c int, foo bar)"},
+		{"{   a,   b}", "{a, b}"},
+		{"[   a,   b]", "[a, b]"},
+	} {
+		if got := sanitizeFunc(tc.src); got != tc.want {
+			t.Errorf("sanitizeFunc(%v) = %v; want %v", tc.src, got, tc.want)
+		}
+	}
+}
+
+// Test that we add <span id="StructName.FieldName"> elements
+// to the HTML of struct fields.
+func TestStructFieldsIDAttributes(t *testing.T) {
+	got := linkifySource(t, []byte(`
+package foo
+
+type T struct {
+	NoDoc string
+
+	// Doc has a comment.
+	Doc string
+
+	// Opt, if non-nil, is an option.
+	Opt *int
+
+	// Опция - другое поле.
+	Опция bool
+}
+`))
+	want := `type T struct {
+<span id="T.NoDoc"></span>NoDoc <a href="/pkg/builtin/#string">string</a>
+
+<span id="T.Doc"></span><span class="comment">// Doc has a comment.</span>
+Doc <a href="/pkg/builtin/#string">string</a>
+
+<span id="T.Opt"></span><span class="comment">// Opt, if non-nil, is an option.</span>
+Opt *<a href="/pkg/builtin/#int">int</a>
+
+<span id="T.Опция"></span><span class="comment">// Опция - другое поле.</span>
+Опция <a href="/pkg/builtin/#bool">bool</a>
+}`
+	if got != want {
+		t.Errorf("got: %s\n\nwant: %s\n", got, want)
+	}
+}
+
+// Test that we add <span id="ConstName"> elements to the HTML
+// of definitions in const and var specs.
+func TestValueSpecIDAttributes(t *testing.T) {
+	got := linkifySource(t, []byte(`
+package foo
+
+const (
+	NoDoc string = "NoDoc"
+
+	// Doc has a comment
+	Doc = "Doc"
+
+	NoVal
+)`))
+	want := `const (
+<span id="NoDoc">NoDoc</span> <a href="/pkg/builtin/#string">string</a> = &#34;NoDoc&#34;
+
+<span class="comment">// Doc has a comment</span>
+<span id="Doc">Doc</span> = &#34;Doc&#34;
+
+<span id="NoVal">NoVal</span>
+)`
+	if got != want {
+		t.Errorf("got: %s\n\nwant: %s\n", got, want)
+	}
+}
+
+func TestCompositeLitLinkFields(t *testing.T) {
+	got := linkifySource(t, []byte(`
+package foo
+
+type T struct {
+	X int
+}
+
+var S T = T{X: 12}`))
+	want := `type T struct {
+<span id="T.X"></span>X <a href="/pkg/builtin/#int">int</a>
+}
+var <span id="S">S</span> <a href="#T">T</a> = <a href="#T">T</a>{<a href="#T.X">X</a>: 12}`
+	if got != want {
+		t.Errorf("got: %s\n\nwant: %s\n", got, want)
+	}
+}
+
+func TestFuncDeclNotLink(t *testing.T) {
+	// Function.
+	got := linkifySource(t, []byte(`
+package http
+
+func Get(url string) (resp *Response, err error)`))
+	want := `func Get(url <a href="/pkg/builtin/#string">string</a>) (resp *<a href="#Response">Response</a>, err <a href="/pkg/builtin/#error">error</a>)`
+	if got != want {
+		t.Errorf("got: %s\n\nwant: %s\n", got, want)
+	}
+
+	// Method.
+	got = linkifySource(t, []byte(`
+package http
+
+func (h Header) Get(key string) string`))
+	want = `func (h <a href="#Header">Header</a>) Get(key <a href="/pkg/builtin/#string">string</a>) <a href="/pkg/builtin/#string">string</a>`
+	if got != want {
+		t.Errorf("got: %s\n\nwant: %s\n", got, want)
+	}
+}
+
+func linkifySource(t *testing.T, src []byte) string {
+	p := &Presentation{
+		DeclLinks: true,
+	}
+	fset := token.NewFileSet()
+	af, err := parser.ParseFile(fset, "foo.go", src, parser.ParseComments)
+	if err != nil {
+		t.Fatal(err)
+	}
+	var buf bytes.Buffer
+	pi := &PageInfo{
+		FSet: fset,
+	}
+	sep := ""
+	for _, decl := range af.Decls {
+		buf.WriteString(sep)
+		sep = "\n"
+		buf.WriteString(p.node_htmlFunc(pi, decl, true))
+	}
+	return buf.String()
+}
+
+func TestScanIdentifier(t *testing.T) {
+	tests := []struct {
+		in, want string
+	}{
+		{"foo bar", "foo"},
+		{"foo/bar", "foo"},
+		{" foo", ""},
+		{"фоо", "фоо"},
+		{"f123", "f123"},
+		{"123f", ""},
+	}
+	for _, tt := range tests {
+		got := scanIdentifier([]byte(tt.in))
+		if string(got) != tt.want {
+			t.Errorf("scanIdentifier(%q) = %q; want %q", tt.in, got, tt.want)
+		}
+	}
+}
+
+func TestReplaceLeadingIndentation(t *testing.T) {
+	oldIndent := strings.Repeat(" ", 2)
+	newIndent := strings.Repeat(" ", 4)
+	tests := []struct {
+		src, want string
+	}{
+		{"  foo\n    bar\n  baz", "    foo\n      bar\n    baz"},
+		{"  '`'\n  '`'\n", "    '`'\n    '`'\n"},
+		{"  '\\''\n  '`'\n", "    '\\''\n    '`'\n"},
+		{"  \"`\"\n  \"`\"\n", "    \"`\"\n    \"`\"\n"},
+		{"  `foo\n  bar`", "    `foo\n      bar`"},
+		{"  `foo\\`\n  bar", "    `foo\\`\n    bar"},
+		{"  '\\`'`foo\n  bar", "    '\\`'`foo\n      bar"},
+		{
+			"  if true {\n    foo := `One\n    \tTwo\nThree`\n  }\n",
+			"    if true {\n      foo := `One\n        \tTwo\n    Three`\n    }\n",
+		},
+	}
+	for _, tc := range tests {
+		if got := replaceLeadingIndentation(tc.src, oldIndent, newIndent); got != tc.want {
+			t.Errorf("replaceLeadingIndentation:\n%v\n---\nhave:\n%v\n---\nwant:\n%v\n",
+				tc.src, got, tc.want)
+		}
+	}
+}
+
+func TestSrcBreadcrumbFunc(t *testing.T) {
+	for _, tc := range []struct {
+		path string
+		want string
+	}{
+		{"src/", `<span class="text-muted">src/</span>`},
+		{"src/fmt/", `<a href="/src">src</a>/<span class="text-muted">fmt/</span>`},
+		{"src/fmt/print.go", `<a href="/src">src</a>/<a href="/src/fmt">fmt</a>/<span class="text-muted">print.go</span>`},
+	} {
+		if got := srcBreadcrumbFunc(tc.path); got != tc.want {
+			t.Errorf("srcBreadcrumbFunc(%v) = %v; want %v", tc.path, got, tc.want)
+		}
+	}
+}
+
+func TestSrcToPkgLinkFunc(t *testing.T) {
+	for _, tc := range []struct {
+		path string
+		want string
+	}{
+		{"src/", `<a href="/pkg">Index</a>`},
+		{"src/fmt/", `<a href="/pkg/fmt">fmt</a>`},
+		{"pkg/", `<a href="/pkg">Index</a>`},
+		{"pkg/LICENSE", `<a href="/pkg">Index</a>`},
+	} {
+		if got := srcToPkgLinkFunc(tc.path); got != tc.want {
+			t.Errorf("srcToPkgLinkFunc(%v) = %v; want %v", tc.path, got, tc.want)
+		}
+	}
+}
+
+func TestFilterOutBuildAnnotations(t *testing.T) {
+	// TODO: simplify this by using a multiline string once we stop
+	// using go vet from 1.10 on the build dashboard.
+	// https://golang.org/issue/26627
+	src := []byte("// +build !foo\n" +
+		"// +build !anothertag\n" +
+		"\n" +
+		"// non-tag comment\n" +
+		"\n" +
+		"package foo\n" +
+		"\n" +
+		"func bar() int {\n" +
+		"	return 42\n" +
+		"}\n")
+
+	fset := token.NewFileSet()
+	af, err := parser.ParseFile(fset, "foo.go", src, parser.ParseComments)
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	var found bool
+	for _, cg := range af.Comments {
+		if strings.HasPrefix(cg.Text(), "+build ") {
+			found = true
+			break
+		}
+	}
+	if !found {
+		t.Errorf("TestFilterOutBuildAnnotations is broken: missing build tag in test input")
+	}
+
+	found = false
+	for _, cg := range filterOutBuildAnnotations(af.Comments) {
+		if strings.HasPrefix(cg.Text(), "+build ") {
+			t.Errorf("filterOutBuildAnnotations failed to filter build tag")
+		}
+
+		if strings.Contains(cg.Text(), "non-tag comment") {
+			found = true
+		}
+	}
+	if !found {
+		t.Errorf("filterOutBuildAnnotations should not remove non-build tag comment")
+	}
+}
+
+// Verify that scanIdentifier isn't quadratic.
+// This doesn't actually measure and fail on its own, but it was previously
+// very obvious when running by hand.
+//
+// TODO: if there's a reliable and non-flaky way to test this, do so.
+// Maybe count user CPU time instead of wall time? But that's not easy
+// to do portably in Go.
+func TestStructField(t *testing.T) {
+	for _, n := range []int{10, 100, 1000, 10000} {
+		n := n
+		t.Run(fmt.Sprint(n), func(t *testing.T) {
+			var buf bytes.Buffer
+			fmt.Fprintf(&buf, "package foo\n\ntype T struct {\n")
+			for i := 0; i < n; i++ {
+				fmt.Fprintf(&buf, "\t// Field%d is foo.\n\tField%d int\n\n", i, i)
+			}
+			fmt.Fprintf(&buf, "}\n")
+			linkifySource(t, buf.Bytes())
+		})
+	}
+}
internal/godoc/golangorgenv/golangorgenv.go
@@ -0,0 +1,42 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package golangorgenv provides environment information for programs running at
+// golang.org and its subdomains.
+package golangorgenv
+
+import (
+	"log"
+	"os"
+	"strconv"
+)
+
+var (
+	checkCountry = boolEnv("GOLANGORG_CHECK_COUNTRY")
+	enforceHosts = boolEnv("GOLANGORG_ENFORCE_HOSTS")
+)
+
+// CheckCountry reports whether country restrictions should be enforced.
+func CheckCountry() bool {
+	return checkCountry
+}
+
+// EnforceHosts reports whether host filtering should be enforced.
+func EnforceHosts() bool {
+	return enforceHosts
+}
+
+func boolEnv(key string) bool {
+	v := os.Getenv(key)
+	if v == "" {
+		// TODO(dmitshur): In the future, consider detecting if running in App Engine,
+		// and if so, making the environment variables mandatory rather than optional.
+		return false
+	}
+	b, err := strconv.ParseBool(v)
+	if err != nil {
+		log.Fatalf("environment variable %s (%q) must be a boolean", key, v)
+	}
+	return b
+}
internal/godoc/index.go
@@ -0,0 +1,1580 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file contains the infrastructure to create an
+// identifier and full-text index for a set of Go files.
+//
+// Algorithm for identifier index:
+// - traverse all .go files of the file tree specified by root
+// - for each identifier (word) encountered, collect all occurrences (spots)
+//   into a list; this produces a list of spots for each word
+// - reduce the lists: from a list of spots to a list of FileRuns,
+//   and from a list of FileRuns into a list of PakRuns
+// - make a HitList from the PakRuns
+//
+// Details:
+// - keep two lists per word: one containing package-level declarations
+//   that have snippets, and one containing all other spots
+// - keep the snippets in a separate table indexed by snippet index
+//   and store the snippet index in place of the line number in a SpotInfo
+//   (the line number for spots with snippets is stored in the snippet)
+// - at the end, create lists of alternative spellings for a given
+//   word
+//
+// Algorithm for full text index:
+// - concatenate all source code in a byte buffer (in memory)
+// - add the files to a file set in lockstep as they are added to the byte
+//   buffer such that a byte buffer offset corresponds to the Pos value for
+//   that file location
+// - create a suffix array from the concatenated sources
+//
+// String lookup in full text index:
+// - use the suffix array to lookup a string's offsets - the offsets
+//   correspond to the Pos values relative to the file set
+// - translate the Pos values back into file and line information and
+//   sort the result
+
+package godoc
+
+import (
+	"bufio"
+	"bytes"
+	"encoding/gob"
+	"errors"
+	"fmt"
+	"go/ast"
+	"go/doc"
+	"go/parser"
+	"go/token"
+	"index/suffixarray"
+	"io"
+	"log"
+	"os"
+	pathpkg "path"
+	"path/filepath"
+	"regexp"
+	"runtime"
+	"sort"
+	"strconv"
+	"strings"
+	"sync"
+	"time"
+	"unicode"
+
+	"golang.org/x/website/internal/godoc/util"
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// ----------------------------------------------------------------------------
+// InterfaceSlice is a helper type for sorting interface
+// slices according to some slice-specific sort criteria.
+
+type comparer func(x, y interface{}) bool
+
+type interfaceSlice struct {
+	slice []interface{}
+	less  comparer
+}
+
+// ----------------------------------------------------------------------------
+// RunList
+
+// A RunList is a list of entries that can be sorted according to some
+// criteria. A RunList may be compressed by grouping "runs" of entries
+// which are equal (according to the sort criteria) into a new RunList of
+// runs. For instance, a RunList containing pairs (x, y) may be compressed
+// into a RunList containing pair runs (x, {y}) where each run consists of
+// a list of y's with the same x.
+type RunList []interface{}
+
+func (h RunList) sort(less comparer) {
+	sort.Sort(&interfaceSlice{h, less})
+}
+
+func (p *interfaceSlice) Len() int           { return len(p.slice) }
+func (p *interfaceSlice) Less(i, j int) bool { return p.less(p.slice[i], p.slice[j]) }
+func (p *interfaceSlice) Swap(i, j int)      { p.slice[i], p.slice[j] = p.slice[j], p.slice[i] }
+
+// Compress entries which are the same according to a sort criteria
+// (specified by less) into "runs".
+func (h RunList) reduce(less comparer, newRun func(h RunList) interface{}) RunList {
+	if len(h) == 0 {
+		return nil
+	}
+	// len(h) > 0
+
+	// create runs of entries with equal values
+	h.sort(less)
+
+	// for each run, make a new run object and collect them in a new RunList
+	var hh RunList
+	i, x := 0, h[0]
+	for j, y := range h {
+		if less(x, y) {
+			hh = append(hh, newRun(h[i:j]))
+			i, x = j, h[j] // start a new run
+		}
+	}
+	// add final run, if any
+	if i < len(h) {
+		hh = append(hh, newRun(h[i:]))
+	}
+
+	return hh
+}
+
+// ----------------------------------------------------------------------------
+// KindRun
+
+// Debugging support. Disable to see multiple entries per line.
+const removeDuplicates = true
+
+// A KindRun is a run of SpotInfos of the same kind in a given file.
+// The kind (3 bits) is stored in each SpotInfo element; to find the
+// kind of a KindRun, look at any of its elements.
+type KindRun []SpotInfo
+
+// KindRuns are sorted by line number or index. Since the isIndex bit
+// is always the same for all infos in one list we can compare lori's.
+func (k KindRun) Len() int           { return len(k) }
+func (k KindRun) Less(i, j int) bool { return k[i].Lori() < k[j].Lori() }
+func (k KindRun) Swap(i, j int)      { k[i], k[j] = k[j], k[i] }
+
+// FileRun contents are sorted by Kind for the reduction into KindRuns.
+func lessKind(x, y interface{}) bool { return x.(SpotInfo).Kind() < y.(SpotInfo).Kind() }
+
+// newKindRun allocates a new KindRun from the SpotInfo run h.
+func newKindRun(h RunList) interface{} {
+	run := make(KindRun, len(h))
+	for i, x := range h {
+		run[i] = x.(SpotInfo)
+	}
+
+	// Spots were sorted by file and kind to create this run.
+	// Within this run, sort them by line number or index.
+	sort.Sort(run)
+
+	if removeDuplicates {
+		// Since both the lori and kind field must be
+		// same for duplicates, and since the isIndex
+		// bit is always the same for all infos in one
+		// list we can simply compare the entire info.
+		k := 0
+		prev := SpotInfo(1<<32 - 1) // an unlikely value
+		for _, x := range run {
+			if x != prev {
+				run[k] = x
+				k++
+				prev = x
+			}
+		}
+		run = run[0:k]
+	}
+
+	return run
+}
+
+// ----------------------------------------------------------------------------
+// FileRun
+
+// A Pak describes a Go package.
+type Pak struct {
+	Path string // path of directory containing the package
+	Name string // package name as declared by package clause
+}
+
+// Paks are sorted by name (primary key) and by import path (secondary key).
+func (p *Pak) less(q *Pak) bool {
+	return p.Name < q.Name || p.Name == q.Name && p.Path < q.Path
+}
+
+// A File describes a Go file.
+type File struct {
+	Name string // directory-local file name
+	Pak  *Pak   // the package to which the file belongs
+}
+
+// Path returns the file path of f.
+func (f *File) Path() string {
+	return pathpkg.Join(f.Pak.Path, f.Name)
+}
+
+// A Spot describes a single occurrence of a word.
+type Spot struct {
+	File *File
+	Info SpotInfo
+}
+
+// A FileRun is a list of KindRuns belonging to the same file.
+type FileRun struct {
+	File   *File
+	Groups []KindRun
+}
+
+// Spots are sorted by file path for the reduction into FileRuns.
+func lessSpot(x, y interface{}) bool {
+	fx := x.(Spot).File
+	fy := y.(Spot).File
+	// same as "return fx.Path() < fy.Path()" but w/o computing the file path first
+	px := fx.Pak.Path
+	py := fy.Pak.Path
+	return px < py || px == py && fx.Name < fy.Name
+}
+
+// newFileRun allocates a new FileRun from the Spot run h.
+func newFileRun(h RunList) interface{} {
+	file := h[0].(Spot).File
+
+	// reduce the list of Spots into a list of KindRuns
+	h1 := make(RunList, len(h))
+	for i, x := range h {
+		h1[i] = x.(Spot).Info
+	}
+	h2 := h1.reduce(lessKind, newKindRun)
+
+	// create the FileRun
+	groups := make([]KindRun, len(h2))
+	for i, x := range h2 {
+		groups[i] = x.(KindRun)
+	}
+	return &FileRun{file, groups}
+}
+
+// ----------------------------------------------------------------------------
+// PakRun
+
+// A PakRun describes a run of *FileRuns of a package.
+type PakRun struct {
+	Pak   *Pak
+	Files []*FileRun
+}
+
+// Sorting support for files within a PakRun.
+func (p *PakRun) Len() int           { return len(p.Files) }
+func (p *PakRun) Less(i, j int) bool { return p.Files[i].File.Name < p.Files[j].File.Name }
+func (p *PakRun) Swap(i, j int)      { p.Files[i], p.Files[j] = p.Files[j], p.Files[i] }
+
+// FileRuns are sorted by package for the reduction into PakRuns.
+func lessFileRun(x, y interface{}) bool {
+	return x.(*FileRun).File.Pak.less(y.(*FileRun).File.Pak)
+}
+
+// newPakRun allocates a new PakRun from the *FileRun run h.
+func newPakRun(h RunList) interface{} {
+	pak := h[0].(*FileRun).File.Pak
+	files := make([]*FileRun, len(h))
+	for i, x := range h {
+		files[i] = x.(*FileRun)
+	}
+	run := &PakRun{pak, files}
+	sort.Sort(run) // files were sorted by package; sort them by file now
+	return run
+}
+
+// ----------------------------------------------------------------------------
+// HitList
+
+// A HitList describes a list of PakRuns.
+type HitList []*PakRun
+
+// PakRuns are sorted by package.
+func lessPakRun(x, y interface{}) bool { return x.(*PakRun).Pak.less(y.(*PakRun).Pak) }
+
+func reduce(h0 RunList) HitList {
+	// reduce a list of Spots into a list of FileRuns
+	h1 := h0.reduce(lessSpot, newFileRun)
+	// reduce a list of FileRuns into a list of PakRuns
+	h2 := h1.reduce(lessFileRun, newPakRun)
+	// sort the list of PakRuns by package
+	h2.sort(lessPakRun)
+	// create a HitList
+	h := make(HitList, len(h2))
+	for i, p := range h2 {
+		h[i] = p.(*PakRun)
+	}
+	return h
+}
+
+// filter returns a new HitList created by filtering
+// all PakRuns from h that have a matching pakname.
+func (h HitList) filter(pakname string) HitList {
+	var hh HitList
+	for _, p := range h {
+		if p.Pak.Name == pakname {
+			hh = append(hh, p)
+		}
+	}
+	return hh
+}
+
+// ----------------------------------------------------------------------------
+// AltWords
+
+type wordPair struct {
+	canon string // canonical word spelling (all lowercase)
+	alt   string // alternative spelling
+}
+
+// An AltWords describes a list of alternative spellings for a
+// canonical (all lowercase) spelling of a word.
+type AltWords struct {
+	Canon string   // canonical word spelling (all lowercase)
+	Alts  []string // alternative spelling for the same word
+}
+
+// wordPairs are sorted by their canonical spelling.
+func lessWordPair(x, y interface{}) bool { return x.(*wordPair).canon < y.(*wordPair).canon }
+
+// newAltWords allocates a new AltWords from the *wordPair run h.
+func newAltWords(h RunList) interface{} {
+	canon := h[0].(*wordPair).canon
+	alts := make([]string, len(h))
+	for i, x := range h {
+		alts[i] = x.(*wordPair).alt
+	}
+	return &AltWords{canon, alts}
+}
+
+func (a *AltWords) filter(s string) *AltWords {
+	var alts []string
+	for _, w := range a.Alts {
+		if w != s {
+			alts = append(alts, w)
+		}
+	}
+	if len(alts) > 0 {
+		return &AltWords{a.Canon, alts}
+	}
+	return nil
+}
+
+// Ident stores information about external identifiers in order to create
+// links to package documentation.
+type Ident struct {
+	Path    string // e.g. "net/http"
+	Package string // e.g. "http"
+	Name    string // e.g. "NewRequest"
+	Doc     string // e.g. "NewRequest returns a new Request..."
+}
+
+// byImportCount sorts the given slice of Idents by the import
+// counts of the packages to which they belong.
+type byImportCount struct {
+	Idents      []Ident
+	ImportCount map[string]int
+}
+
+func (ic byImportCount) Len() int {
+	return len(ic.Idents)
+}
+
+func (ic byImportCount) Less(i, j int) bool {
+	ri := ic.ImportCount[ic.Idents[i].Path]
+	rj := ic.ImportCount[ic.Idents[j].Path]
+	if ri == rj {
+		return ic.Idents[i].Path < ic.Idents[j].Path
+	}
+	return ri > rj
+}
+
+func (ic byImportCount) Swap(i, j int) {
+	ic.Idents[i], ic.Idents[j] = ic.Idents[j], ic.Idents[i]
+}
+
+func (ic byImportCount) String() string {
+	buf := bytes.NewBuffer([]byte("["))
+	for _, v := range ic.Idents {
+		buf.WriteString(fmt.Sprintf("\n\t%s, %s (%d)", v.Path, v.Name, ic.ImportCount[v.Path]))
+	}
+	buf.WriteString("\n]")
+	return buf.String()
+}
+
+// filter creates a new Ident list where the results match the given
+// package name.
+func (ic byImportCount) filter(pakname string) []Ident {
+	if ic.Idents == nil {
+		return nil
+	}
+	var res []Ident
+	for _, i := range ic.Idents {
+		if i.Package == pakname {
+			res = append(res, i)
+		}
+	}
+	return res
+}
+
+// top returns the top n identifiers.
+func (ic byImportCount) top(n int) []Ident {
+	if len(ic.Idents) > n {
+		return ic.Idents[:n]
+	}
+	return ic.Idents
+}
+
+// ----------------------------------------------------------------------------
+// Indexer
+
+type IndexResult struct {
+	Decls  RunList // package-level declarations (with snippets)
+	Others RunList // all other occurrences
+}
+
+// Statistics provides statistics information for an index.
+type Statistics struct {
+	Bytes int // total size of indexed source files
+	Files int // number of indexed source files
+	Lines int // number of lines (all files)
+	Words int // number of different identifiers
+	Spots int // number of identifier occurrences
+}
+
+// An Indexer maintains the data structures and provides the machinery
+// for indexing .go files under a file tree. It implements the path.Visitor
+// interface for walking file trees, and the ast.Visitor interface for
+// walking Go ASTs.
+type Indexer struct {
+	c          *Corpus
+	fset       *token.FileSet // file set for all indexed files
+	fsOpenGate chan bool      // send pre fs.Open; receive on close
+
+	mu            sync.Mutex              // guards all the following
+	sources       bytes.Buffer            // concatenated sources
+	strings       map[string]string       // interned string
+	packages      map[Pak]*Pak            // interned *Paks
+	words         map[string]*IndexResult // RunLists of Spots
+	snippets      []*Snippet              // indices are stored in SpotInfos
+	current       *token.File             // last file added to file set
+	file          *File                   // AST for current file
+	decl          ast.Decl                // AST for current decl
+	stats         Statistics
+	throttle      *util.Throttle
+	importCount   map[string]int                 // package path ("net/http") => count
+	packagePath   map[string]map[string]bool     // "template" => "text/template" => true
+	exports       map[string]map[string]SpotKind // "net/http" => "ListenAndServe" => FuncDecl
+	curPkgExports map[string]SpotKind
+	idents        map[SpotKind]map[string][]Ident // kind => name => list of Idents
+}
+
+func (x *Indexer) intern(s string) string {
+	if s, ok := x.strings[s]; ok {
+		return s
+	}
+	x.strings[s] = s
+	return s
+}
+
+func (x *Indexer) lookupPackage(path, name string) *Pak {
+	// In the source directory tree, more than one package may
+	// live in the same directory. For the packages map, construct
+	// a key that includes both the directory path and the package
+	// name.
+	key := Pak{Path: x.intern(path), Name: x.intern(name)}
+	pak := x.packages[key]
+	if pak == nil {
+		pak = &key
+		x.packages[key] = pak
+	}
+	return pak
+}
+
+func (x *Indexer) addSnippet(s *Snippet) int {
+	index := len(x.snippets)
+	x.snippets = append(x.snippets, s)
+	return index
+}
+
+func (x *Indexer) visitIdent(kind SpotKind, id *ast.Ident) {
+	if id == nil {
+		return
+	}
+	name := x.intern(id.Name)
+
+	switch kind {
+	case TypeDecl, FuncDecl, ConstDecl, VarDecl:
+		x.curPkgExports[name] = kind
+	}
+
+	lists, found := x.words[name]
+	if !found {
+		lists = new(IndexResult)
+		x.words[name] = lists
+	}
+
+	if kind == Use || x.decl == nil {
+		if x.c.IndexGoCode {
+			// not a declaration or no snippet required
+			info := makeSpotInfo(kind, x.current.Line(id.Pos()), false)
+			lists.Others = append(lists.Others, Spot{x.file, info})
+		}
+	} else {
+		// a declaration with snippet
+		index := x.addSnippet(NewSnippet(x.fset, x.decl, id))
+		info := makeSpotInfo(kind, index, true)
+		lists.Decls = append(lists.Decls, Spot{x.file, info})
+	}
+
+	x.stats.Spots++
+}
+
+func (x *Indexer) visitFieldList(kind SpotKind, flist *ast.FieldList) {
+	for _, f := range flist.List {
+		x.decl = nil // no snippets for fields
+		for _, name := range f.Names {
+			x.visitIdent(kind, name)
+		}
+		ast.Walk(x, f.Type)
+		// ignore tag - not indexed at the moment
+	}
+}
+
+func (x *Indexer) visitSpec(kind SpotKind, spec ast.Spec) {
+	switch n := spec.(type) {
+	case *ast.ImportSpec:
+		x.visitIdent(ImportDecl, n.Name)
+		if n.Path != nil {
+			if imp, err := strconv.Unquote(n.Path.Value); err == nil {
+				x.importCount[x.intern(imp)]++
+			}
+		}
+
+	case *ast.ValueSpec:
+		for _, n := range n.Names {
+			x.visitIdent(kind, n)
+		}
+		ast.Walk(x, n.Type)
+		for _, v := range n.Values {
+			ast.Walk(x, v)
+		}
+
+	case *ast.TypeSpec:
+		x.visitIdent(TypeDecl, n.Name)
+		ast.Walk(x, n.Type)
+	}
+}
+
+func (x *Indexer) visitGenDecl(decl *ast.GenDecl) {
+	kind := VarDecl
+	if decl.Tok == token.CONST {
+		kind = ConstDecl
+	}
+	x.decl = decl
+	for _, s := range decl.Specs {
+		x.visitSpec(kind, s)
+	}
+}
+
+func (x *Indexer) Visit(node ast.Node) ast.Visitor {
+	switch n := node.(type) {
+	case nil:
+		// nothing to do
+
+	case *ast.Ident:
+		x.visitIdent(Use, n)
+
+	case *ast.FieldList:
+		x.visitFieldList(VarDecl, n)
+
+	case *ast.InterfaceType:
+		x.visitFieldList(MethodDecl, n.Methods)
+
+	case *ast.DeclStmt:
+		// local declarations should only be *ast.GenDecls;
+		// ignore incorrect ASTs
+		if decl, ok := n.Decl.(*ast.GenDecl); ok {
+			x.decl = nil // no snippets for local declarations
+			x.visitGenDecl(decl)
+		}
+
+	case *ast.GenDecl:
+		x.decl = n
+		x.visitGenDecl(n)
+
+	case *ast.FuncDecl:
+		kind := FuncDecl
+		if n.Recv != nil {
+			kind = MethodDecl
+			ast.Walk(x, n.Recv)
+		}
+		x.decl = n
+		x.visitIdent(kind, n.Name)
+		ast.Walk(x, n.Type)
+		if n.Body != nil {
+			ast.Walk(x, n.Body)
+		}
+
+	case *ast.File:
+		x.decl = nil
+		x.visitIdent(PackageClause, n.Name)
+		for _, d := range n.Decls {
+			ast.Walk(x, d)
+		}
+
+	default:
+		return x
+	}
+
+	return nil
+}
+
+// addFile adds a file to the index if possible and returns the file set file
+// and the file's AST if it was successfully parsed as a Go file. If addFile
+// failed (that is, if the file was not added), it returns file == nil.
+func (x *Indexer) addFile(f vfs.ReadSeekCloser, filename string, goFile bool) (file *token.File, ast *ast.File) {
+	defer f.Close()
+
+	// The file set's base offset and x.sources size must be in lock-step;
+	// this permits the direct mapping of suffix array lookup results to
+	// to corresponding Pos values.
+	//
+	// When a file is added to the file set, its offset base increases by
+	// the size of the file + 1; and the initial base offset is 1. Add an
+	// extra byte to the sources here.
+	x.sources.WriteByte(0)
+
+	// If the sources length doesn't match the file set base at this point
+	// the file set implementation changed or we have another error.
+	base := x.fset.Base()
+	if x.sources.Len() != base {
+		panic("internal error: file base incorrect")
+	}
+
+	// append file contents (src) to x.sources
+	if _, err := x.sources.ReadFrom(f); err == nil {
+		src := x.sources.Bytes()[base:]
+
+		if goFile {
+			// parse the file and in the process add it to the file set
+			if ast, err = parser.ParseFile(x.fset, filename, src, parser.ParseComments); err == nil {
+				file = x.fset.File(ast.Pos()) // ast.Pos() is inside the file
+				return
+			}
+			// file has parse errors, and the AST may be incorrect -
+			// set lines information explicitly and index as ordinary
+			// text file (cannot fall through to the text case below
+			// because the file has already been added to the file set
+			// by the parser)
+			file = x.fset.File(token.Pos(base)) // token.Pos(base) is inside the file
+			file.SetLinesForContent(src)
+			ast = nil
+			return
+		}
+
+		if util.IsText(src) {
+			// only add the file to the file set (for the full text index)
+			file = x.fset.AddFile(filename, x.fset.Base(), len(src))
+			file.SetLinesForContent(src)
+			return
+		}
+	}
+
+	// discard possibly added data
+	x.sources.Truncate(base - 1) // -1 to remove added byte 0 since no file was added
+	return
+}
+
+// Design note: Using an explicit white list of permitted files for indexing
+// makes sure that the important files are included and massively reduces the
+// number of files to index. The advantage over a blacklist is that unexpected
+// (non-blacklisted) files won't suddenly explode the index.
+
+// Files are whitelisted if they have a file name or extension
+// present as key in whitelisted.
+var whitelisted = map[string]bool{
+	".bash":        true,
+	".c":           true,
+	".cc":          true,
+	".cpp":         true,
+	".cxx":         true,
+	".css":         true,
+	".go":          true,
+	".goc":         true,
+	".h":           true,
+	".hh":          true,
+	".hpp":         true,
+	".hxx":         true,
+	".html":        true,
+	".js":          true,
+	".out":         true,
+	".py":          true,
+	".s":           true,
+	".sh":          true,
+	".txt":         true,
+	".xml":         true,
+	"AUTHORS":      true,
+	"CONTRIBUTORS": true,
+	"LICENSE":      true,
+	"Makefile":     true,
+	"PATENTS":      true,
+	"README":       true,
+}
+
+// isWhitelisted returns true if a file is on the list
+// of "permitted" files for indexing. The filename must
+// be the directory-local name of the file.
+func isWhitelisted(filename string) bool {
+	key := pathpkg.Ext(filename)
+	if key == "" {
+		// file has no extension - use entire filename
+		key = filename
+	}
+	return whitelisted[key]
+}
+
+func (x *Indexer) indexDocs(dirname string, filename string, astFile *ast.File) {
+	pkgName := x.intern(astFile.Name.Name)
+	if pkgName == "main" {
+		return
+	}
+	pkgPath := x.intern(strings.TrimPrefix(strings.TrimPrefix(dirname, "/src/"), "pkg/"))
+	astPkg := ast.Package{
+		Name: pkgName,
+		Files: map[string]*ast.File{
+			filename: astFile,
+		},
+	}
+	var m doc.Mode
+	docPkg := doc.New(&astPkg, dirname, m)
+	addIdent := func(sk SpotKind, name string, docstr string) {
+		if x.idents[sk] == nil {
+			x.idents[sk] = make(map[string][]Ident)
+		}
+		name = x.intern(name)
+		x.idents[sk][name] = append(x.idents[sk][name], Ident{
+			Path:    pkgPath,
+			Package: pkgName,
+			Name:    name,
+			Doc:     doc.Synopsis(docstr),
+		})
+	}
+
+	if x.idents[PackageClause] == nil {
+		x.idents[PackageClause] = make(map[string][]Ident)
+	}
+	// List of words under which the package identifier will be stored.
+	// This includes the package name and the components of the directory
+	// in which it resides.
+	words := strings.Split(pathpkg.Dir(pkgPath), "/")
+	if words[0] == "." {
+		words = []string{}
+	}
+	name := x.intern(docPkg.Name)
+	synopsis := doc.Synopsis(docPkg.Doc)
+	words = append(words, name)
+	pkgIdent := Ident{
+		Path:    pkgPath,
+		Package: pkgName,
+		Name:    name,
+		Doc:     synopsis,
+	}
+	for _, word := range words {
+		word = x.intern(word)
+		found := false
+		pkgs := x.idents[PackageClause][word]
+		for i, p := range pkgs {
+			if p.Path == pkgPath {
+				if docPkg.Doc != "" {
+					p.Doc = synopsis
+					pkgs[i] = p
+				}
+				found = true
+				break
+			}
+		}
+		if !found {
+			x.idents[PackageClause][word] = append(x.idents[PackageClause][word], pkgIdent)
+		}
+	}
+
+	for _, c := range docPkg.Consts {
+		for _, name := range c.Names {
+			addIdent(ConstDecl, name, c.Doc)
+		}
+	}
+	for _, t := range docPkg.Types {
+		addIdent(TypeDecl, t.Name, t.Doc)
+		for _, c := range t.Consts {
+			for _, name := range c.Names {
+				addIdent(ConstDecl, name, c.Doc)
+			}
+		}
+		for _, v := range t.Vars {
+			for _, name := range v.Names {
+				addIdent(VarDecl, name, v.Doc)
+			}
+		}
+		for _, f := range t.Funcs {
+			addIdent(FuncDecl, f.Name, f.Doc)
+		}
+		for _, f := range t.Methods {
+			addIdent(MethodDecl, f.Name, f.Doc)
+			// Change the name of methods to be "<typename>.<methodname>".
+			// They will still be indexed as <methodname>.
+			idents := x.idents[MethodDecl][f.Name]
+			idents[len(idents)-1].Name = x.intern(t.Name + "." + f.Name)
+		}
+	}
+	for _, v := range docPkg.Vars {
+		for _, name := range v.Names {
+			addIdent(VarDecl, name, v.Doc)
+		}
+	}
+	for _, f := range docPkg.Funcs {
+		addIdent(FuncDecl, f.Name, f.Doc)
+	}
+}
+
+func (x *Indexer) indexGoFile(dirname string, filename string, file *token.File, astFile *ast.File) {
+	pkgName := astFile.Name.Name
+
+	if x.c.IndexGoCode {
+		x.current = file
+		pak := x.lookupPackage(dirname, pkgName)
+		x.file = &File{filename, pak}
+		ast.Walk(x, astFile)
+	}
+
+	if x.c.IndexDocs {
+		// Test files are already filtered out in visitFile if IndexGoCode and
+		// IndexFullText are false.  Otherwise, check here.
+		isTestFile := (x.c.IndexGoCode || x.c.IndexFullText) &&
+			(strings.HasSuffix(filename, "_test.go") || strings.HasPrefix(dirname, "/test/"))
+		if !isTestFile {
+			x.indexDocs(dirname, filename, astFile)
+		}
+	}
+
+	ppKey := x.intern(pkgName)
+	if _, ok := x.packagePath[ppKey]; !ok {
+		x.packagePath[ppKey] = make(map[string]bool)
+	}
+	pkgPath := x.intern(strings.TrimPrefix(strings.TrimPrefix(dirname, "/src/"), "pkg/"))
+	x.packagePath[ppKey][pkgPath] = true
+
+	// Merge in exported symbols found walking this file into
+	// the map for that package.
+	if len(x.curPkgExports) > 0 {
+		dest, ok := x.exports[pkgPath]
+		if !ok {
+			dest = make(map[string]SpotKind)
+			x.exports[pkgPath] = dest
+		}
+		for k, v := range x.curPkgExports {
+			dest[k] = v
+		}
+	}
+}
+
+func (x *Indexer) visitFile(dirname string, fi os.FileInfo) {
+	if fi.IsDir() || !x.c.IndexEnabled {
+		return
+	}
+
+	filename := pathpkg.Join(dirname, fi.Name())
+	goFile := isGoFile(fi)
+
+	switch {
+	case x.c.IndexFullText:
+		if !isWhitelisted(fi.Name()) {
+			return
+		}
+	case x.c.IndexGoCode:
+		if !goFile {
+			return
+		}
+	case x.c.IndexDocs:
+		if !goFile ||
+			strings.HasSuffix(fi.Name(), "_test.go") ||
+			strings.HasPrefix(dirname, "/test/") {
+			return
+		}
+	default:
+		// No indexing turned on.
+		return
+	}
+
+	x.fsOpenGate <- true
+	defer func() { <-x.fsOpenGate }()
+
+	// open file
+	f, err := x.c.fs.Open(filename)
+	if err != nil {
+		return
+	}
+
+	x.mu.Lock()
+	defer x.mu.Unlock()
+
+	x.throttle.Throttle()
+
+	x.curPkgExports = make(map[string]SpotKind)
+	file, fast := x.addFile(f, filename, goFile)
+	if file == nil {
+		return // addFile failed
+	}
+
+	if fast != nil {
+		x.indexGoFile(dirname, fi.Name(), file, fast)
+	}
+
+	// update statistics
+	x.stats.Bytes += file.Size()
+	x.stats.Files++
+	x.stats.Lines += file.LineCount()
+}
+
+// indexOptions contains information that affects the contents of an index.
+type indexOptions struct {
+	// Docs provides documentation search results.
+	// It is only consulted if IndexEnabled is true.
+	// The default values is true.
+	Docs bool
+
+	// GoCode provides Go source code search results.
+	// It is only consulted if IndexEnabled is true.
+	// The default values is true.
+	GoCode bool
+
+	// FullText provides search results from all files.
+	// It is only consulted if IndexEnabled is true.
+	// The default values is true.
+	FullText bool
+
+	// MaxResults optionally specifies the maximum results for indexing.
+	// The default is 1000.
+	MaxResults int
+}
+
+// ----------------------------------------------------------------------------
+// Index
+
+type LookupResult struct {
+	Decls  HitList // package-level declarations (with snippets)
+	Others HitList // all other occurrences
+}
+
+type Index struct {
+	fset        *token.FileSet           // file set used during indexing; nil if no textindex
+	suffixes    *suffixarray.Index       // suffixes for concatenated sources; nil if no textindex
+	words       map[string]*LookupResult // maps words to hit lists
+	alts        map[string]*AltWords     // maps canonical(words) to lists of alternative spellings
+	snippets    []*Snippet               // all snippets, indexed by snippet index
+	stats       Statistics
+	importCount map[string]int                 // package path ("net/http") => count
+	packagePath map[string]map[string]bool     // "template" => "text/template" => true
+	exports     map[string]map[string]SpotKind // "net/http" => "ListenAndServe" => FuncDecl
+	idents      map[SpotKind]map[string][]Ident
+	opts        indexOptions
+}
+
+func canonical(w string) string { return strings.ToLower(w) }
+
+// Somewhat arbitrary, but I figure low enough to not hurt disk-based filesystems
+// consuming file descriptors, where some systems have low 256 or 512 limits.
+// Go should have a built-in way to cap fd usage under the ulimit.
+const (
+	maxOpenFiles = 200
+	maxOpenDirs  = 50
+)
+
+func (c *Corpus) throttle() float64 {
+	if c.IndexThrottle <= 0 {
+		return 0.9
+	}
+	if c.IndexThrottle > 1.0 {
+		return 1.0
+	}
+	return c.IndexThrottle
+}
+
+// NewIndex creates a new index for the .go files provided by the corpus.
+func (c *Corpus) NewIndex() *Index {
+	// initialize Indexer
+	// (use some reasonably sized maps to start)
+	x := &Indexer{
+		c:           c,
+		fset:        token.NewFileSet(),
+		fsOpenGate:  make(chan bool, maxOpenFiles),
+		strings:     make(map[string]string),
+		packages:    make(map[Pak]*Pak, 256),
+		words:       make(map[string]*IndexResult, 8192),
+		throttle:    util.NewThrottle(c.throttle(), 100*time.Millisecond), // run at least 0.1s at a time
+		importCount: make(map[string]int),
+		packagePath: make(map[string]map[string]bool),
+		exports:     make(map[string]map[string]SpotKind),
+		idents:      make(map[SpotKind]map[string][]Ident, 4),
+	}
+
+	// index all files in the directories given by dirnames
+	var wg sync.WaitGroup // outstanding ReadDir + visitFile
+	dirGate := make(chan bool, maxOpenDirs)
+	for dirname := range c.fsDirnames() {
+		if c.IndexDirectory != nil && !c.IndexDirectory(dirname) {
+			continue
+		}
+		dirGate <- true
+		wg.Add(1)
+		go func(dirname string) {
+			defer func() { <-dirGate }()
+			defer wg.Done()
+
+			list, err := c.fs.ReadDir(dirname)
+			if err != nil {
+				log.Printf("ReadDir(%q): %v; skipping directory", dirname, err)
+				return // ignore this directory
+			}
+			for _, fi := range list {
+				wg.Add(1)
+				go func(fi os.FileInfo) {
+					defer wg.Done()
+					x.visitFile(dirname, fi)
+				}(fi)
+			}
+		}(dirname)
+	}
+	wg.Wait()
+
+	if !c.IndexFullText {
+		// the file set, the current file, and the sources are
+		// not needed after indexing if no text index is built -
+		// help GC and clear them
+		x.fset = nil
+		x.sources.Reset()
+		x.current = nil // contains reference to fset!
+	}
+
+	// for each word, reduce the RunLists into a LookupResult;
+	// also collect the word with its canonical spelling in a
+	// word list for later computation of alternative spellings
+	words := make(map[string]*LookupResult)
+	var wlist RunList
+	for w, h := range x.words {
+		decls := reduce(h.Decls)
+		others := reduce(h.Others)
+		words[w] = &LookupResult{
+			Decls:  decls,
+			Others: others,
+		}
+		wlist = append(wlist, &wordPair{canonical(w), w})
+		x.throttle.Throttle()
+	}
+	x.stats.Words = len(words)
+
+	// reduce the word list {canonical(w), w} into
+	// a list of AltWords runs {canonical(w), {w}}
+	alist := wlist.reduce(lessWordPair, newAltWords)
+
+	// convert alist into a map of alternative spellings
+	alts := make(map[string]*AltWords)
+	for i := 0; i < len(alist); i++ {
+		a := alist[i].(*AltWords)
+		alts[a.Canon] = a
+	}
+
+	// create text index
+	var suffixes *suffixarray.Index
+	if c.IndexFullText {
+		suffixes = suffixarray.New(x.sources.Bytes())
+	}
+
+	// sort idents by the number of imports of their respective packages
+	for _, idMap := range x.idents {
+		for _, ir := range idMap {
+			sort.Sort(byImportCount{ir, x.importCount})
+		}
+	}
+
+	return &Index{
+		fset:        x.fset,
+		suffixes:    suffixes,
+		words:       words,
+		alts:        alts,
+		snippets:    x.snippets,
+		stats:       x.stats,
+		importCount: x.importCount,
+		packagePath: x.packagePath,
+		exports:     x.exports,
+		idents:      x.idents,
+		opts: indexOptions{
+			Docs:       x.c.IndexDocs,
+			GoCode:     x.c.IndexGoCode,
+			FullText:   x.c.IndexFullText,
+			MaxResults: x.c.MaxResults,
+		},
+	}
+}
+
+var ErrFileIndexVersion = errors.New("file index version out of date")
+
+const fileIndexVersion = 3
+
+// fileIndex is the subset of Index that's gob-encoded for use by
+// Index.Write and Index.Read.
+type fileIndex struct {
+	Version     int
+	Words       map[string]*LookupResult
+	Alts        map[string]*AltWords
+	Snippets    []*Snippet
+	Fulltext    bool
+	Stats       Statistics
+	ImportCount map[string]int
+	PackagePath map[string]map[string]bool
+	Exports     map[string]map[string]SpotKind
+	Idents      map[SpotKind]map[string][]Ident
+	Opts        indexOptions
+}
+
+func (x *fileIndex) Write(w io.Writer) error {
+	return gob.NewEncoder(w).Encode(x)
+}
+
+func (x *fileIndex) Read(r io.Reader) error {
+	return gob.NewDecoder(r).Decode(x)
+}
+
+// WriteTo writes the index x to w.
+func (x *Index) WriteTo(w io.Writer) (n int64, err error) {
+	w = countingWriter{&n, w}
+	fulltext := false
+	if x.suffixes != nil {
+		fulltext = true
+	}
+	fx := fileIndex{
+		Version:     fileIndexVersion,
+		Words:       x.words,
+		Alts:        x.alts,
+		Snippets:    x.snippets,
+		Fulltext:    fulltext,
+		Stats:       x.stats,
+		ImportCount: x.importCount,
+		PackagePath: x.packagePath,
+		Exports:     x.exports,
+		Idents:      x.idents,
+		Opts:        x.opts,
+	}
+	if err := fx.Write(w); err != nil {
+		return 0, err
+	}
+	if fulltext {
+		encode := func(x interface{}) error {
+			return gob.NewEncoder(w).Encode(x)
+		}
+		if err := x.fset.Write(encode); err != nil {
+			return 0, err
+		}
+		if err := x.suffixes.Write(w); err != nil {
+			return 0, err
+		}
+	}
+	return n, nil
+}
+
+// ReadFrom reads the index from r into x; x must not be nil.
+// If r does not also implement io.ByteReader, it will be wrapped in a bufio.Reader.
+// If the index is from an old version, the error is ErrFileIndexVersion.
+func (x *Index) ReadFrom(r io.Reader) (n int64, err error) {
+	// We use the ability to read bytes as a plausible surrogate for buffering.
+	if _, ok := r.(io.ByteReader); !ok {
+		r = bufio.NewReader(r)
+	}
+	r = countingReader{&n, r.(byteReader)}
+	var fx fileIndex
+	if err := fx.Read(r); err != nil {
+		return n, err
+	}
+	if fx.Version != fileIndexVersion {
+		return 0, ErrFileIndexVersion
+	}
+	x.words = fx.Words
+	x.alts = fx.Alts
+	x.snippets = fx.Snippets
+	x.stats = fx.Stats
+	x.importCount = fx.ImportCount
+	x.packagePath = fx.PackagePath
+	x.exports = fx.Exports
+	x.idents = fx.Idents
+	x.opts = fx.Opts
+	if fx.Fulltext {
+		x.fset = token.NewFileSet()
+		decode := func(x interface{}) error {
+			return gob.NewDecoder(r).Decode(x)
+		}
+		if err := x.fset.Read(decode); err != nil {
+			return n, err
+		}
+		x.suffixes = new(suffixarray.Index)
+		if err := x.suffixes.Read(r); err != nil {
+			return n, err
+		}
+	}
+	return n, nil
+}
+
+// Stats returns index statistics.
+func (x *Index) Stats() Statistics {
+	return x.stats
+}
+
+// ImportCount returns a map from import paths to how many times they were seen.
+func (x *Index) ImportCount() map[string]int {
+	return x.importCount
+}
+
+// PackagePath returns a map from short package name to a set
+// of full package path names that use that short package name.
+func (x *Index) PackagePath() map[string]map[string]bool {
+	return x.packagePath
+}
+
+// Exports returns a map from full package path to exported
+// symbol name to its type.
+func (x *Index) Exports() map[string]map[string]SpotKind {
+	return x.exports
+}
+
+// Idents returns a map from identifier type to exported
+// symbol name to the list of identifiers matching that name.
+func (x *Index) Idents() map[SpotKind]map[string][]Ident {
+	return x.idents
+}
+
+func (x *Index) lookupWord(w string) (match *LookupResult, alt *AltWords) {
+	match = x.words[w]
+	alt = x.alts[canonical(w)]
+	// remove current spelling from alternatives
+	// (if there is no match, the alternatives do
+	// not contain the current spelling)
+	if match != nil && alt != nil {
+		alt = alt.filter(w)
+	}
+	return
+}
+
+// isIdentifier reports whether s is a Go identifier.
+func isIdentifier(s string) bool {
+	for i, ch := range s {
+		if unicode.IsLetter(ch) || ch == '_' || i > 0 && unicode.IsDigit(ch) {
+			continue
+		}
+		return false
+	}
+	return len(s) > 0
+}
+
+// For a given query, which is either a single identifier or a qualified
+// identifier, Lookup returns a SearchResult containing packages, a LookupResult, a
+// list of alternative spellings, and identifiers, if any. Any and all results
+// may be nil.  If the query syntax is wrong, an error is reported.
+func (x *Index) Lookup(query string) (*SearchResult, error) {
+	ss := strings.Split(query, ".")
+
+	// check query syntax
+	for _, s := range ss {
+		if !isIdentifier(s) {
+			return nil, errors.New("all query parts must be identifiers")
+		}
+	}
+	rslt := &SearchResult{
+		Query:  query,
+		Idents: make(map[SpotKind][]Ident, 5),
+	}
+	// handle simple and qualified identifiers
+	switch len(ss) {
+	case 1:
+		ident := ss[0]
+		rslt.Hit, rslt.Alt = x.lookupWord(ident)
+		if rslt.Hit != nil {
+			// found a match - filter packages with same name
+			// for the list of packages called ident, if any
+			rslt.Pak = rslt.Hit.Others.filter(ident)
+		}
+		for k, v := range x.idents {
+			const rsltLimit = 50
+			ids := byImportCount{v[ident], x.importCount}
+			rslt.Idents[k] = ids.top(rsltLimit)
+		}
+
+	case 2:
+		pakname, ident := ss[0], ss[1]
+		rslt.Hit, rslt.Alt = x.lookupWord(ident)
+		if rslt.Hit != nil {
+			// found a match - filter by package name
+			// (no paks - package names are not qualified)
+			decls := rslt.Hit.Decls.filter(pakname)
+			others := rslt.Hit.Others.filter(pakname)
+			rslt.Hit = &LookupResult{decls, others}
+		}
+		for k, v := range x.idents {
+			ids := byImportCount{v[ident], x.importCount}
+			rslt.Idents[k] = ids.filter(pakname)
+		}
+
+	default:
+		return nil, errors.New("query is not a (qualified) identifier")
+	}
+
+	return rslt, nil
+}
+
+func (x *Index) Snippet(i int) *Snippet {
+	// handle illegal snippet indices gracefully
+	if 0 <= i && i < len(x.snippets) {
+		return x.snippets[i]
+	}
+	return nil
+}
+
+type positionList []struct {
+	filename string
+	line     int
+}
+
+func (list positionList) Len() int           { return len(list) }
+func (list positionList) Less(i, j int) bool { return list[i].filename < list[j].filename }
+func (list positionList) Swap(i, j int)      { list[i], list[j] = list[j], list[i] }
+
+// unique returns the list sorted and with duplicate entries removed
+func unique(list []int) []int {
+	sort.Ints(list)
+	var last int
+	i := 0
+	for _, x := range list {
+		if i == 0 || x != last {
+			last = x
+			list[i] = x
+			i++
+		}
+	}
+	return list[0:i]
+}
+
+// A FileLines value specifies a file and line numbers within that file.
+type FileLines struct {
+	Filename string
+	Lines    []int
+}
+
+// LookupRegexp returns the number of matches and the matches where a regular
+// expression r is found in the full text index. At most n matches are
+// returned (thus found <= n).
+//
+func (x *Index) LookupRegexp(r *regexp.Regexp, n int) (found int, result []FileLines) {
+	if x.suffixes == nil || n <= 0 {
+		return
+	}
+	// n > 0
+
+	var list positionList
+	// FindAllIndex may returns matches that span across file boundaries.
+	// Such matches are unlikely, buf after eliminating them we may end up
+	// with fewer than n matches. If we don't have enough at the end, redo
+	// the search with an increased value n1, but only if FindAllIndex
+	// returned all the requested matches in the first place (if it
+	// returned fewer than that there cannot be more).
+	for n1 := n; found < n; n1 += n - found {
+		found = 0
+		matches := x.suffixes.FindAllIndex(r, n1)
+		// compute files, exclude matches that span file boundaries,
+		// and map offsets to file-local offsets
+		list = make(positionList, len(matches))
+		for _, m := range matches {
+			// by construction, an offset corresponds to the Pos value
+			// for the file set - use it to get the file and line
+			p := token.Pos(m[0])
+			if file := x.fset.File(p); file != nil {
+				if base := file.Base(); base <= m[1] && m[1] <= base+file.Size() {
+					// match [m[0], m[1]) is within the file boundaries
+					list[found].filename = file.Name()
+					list[found].line = file.Line(p)
+					found++
+				}
+			}
+		}
+		if found == n || len(matches) < n1 {
+			// found all matches or there's no chance to find more
+			break
+		}
+	}
+	list = list[0:found]
+	sort.Sort(list) // sort by filename
+
+	// collect matches belonging to the same file
+	var last string
+	var lines []int
+	addLines := func() {
+		if len(lines) > 0 {
+			// remove duplicate lines
+			result = append(result, FileLines{last, unique(lines)})
+			lines = nil
+		}
+	}
+	for _, m := range list {
+		if m.filename != last {
+			addLines()
+			last = m.filename
+		}
+		lines = append(lines, m.line)
+	}
+	addLines()
+
+	return
+}
+
+// InvalidateIndex should be called whenever any of the file systems
+// under godoc's observation change so that the indexer is kicked on.
+func (c *Corpus) invalidateIndex() {
+	c.fsModified.Set(nil)
+	c.refreshMetadata()
+}
+
+// feedDirnames feeds the directory names of all directories
+// under the file system given by root to channel c.
+//
+func (c *Corpus) feedDirnames(ch chan<- string) {
+	if dir, _ := c.fsTree.Get(); dir != nil {
+		for d := range dir.(*Directory).iter(false) {
+			ch <- d.Path
+		}
+	}
+}
+
+// fsDirnames() returns a channel sending all directory names
+// of all the file systems under godoc's observation.
+//
+func (c *Corpus) fsDirnames() <-chan string {
+	ch := make(chan string, 256) // buffered for fewer context switches
+	go func() {
+		c.feedDirnames(ch)
+		close(ch)
+	}()
+	return ch
+}
+
+// CompatibleWith reports whether the Index x is compatible with the corpus
+// indexing options set in c.
+func (x *Index) CompatibleWith(c *Corpus) bool {
+	return x.opts.Docs == c.IndexDocs &&
+		x.opts.GoCode == c.IndexGoCode &&
+		x.opts.FullText == c.IndexFullText &&
+		x.opts.MaxResults == c.MaxResults
+}
+
+func (c *Corpus) readIndex(filenames string) error {
+	matches, err := filepath.Glob(filenames)
+	if err != nil {
+		return err
+	} else if matches == nil {
+		return fmt.Errorf("no index files match %q", filenames)
+	}
+	sort.Strings(matches) // make sure files are in the right order
+	files := make([]io.Reader, 0, len(matches))
+	for _, filename := range matches {
+		f, err := os.Open(filename)
+		if err != nil {
+			return err
+		}
+		defer f.Close()
+		files = append(files, f)
+	}
+	return c.ReadIndexFrom(io.MultiReader(files...))
+}
+
+// ReadIndexFrom sets the current index from the serialized version found in r.
+func (c *Corpus) ReadIndexFrom(r io.Reader) error {
+	x := new(Index)
+	if _, err := x.ReadFrom(r); err != nil {
+		return err
+	}
+	if !x.CompatibleWith(c) {
+		return fmt.Errorf("index file options are incompatible: %v", x.opts)
+	}
+	c.searchIndex.Set(x)
+	return nil
+}
+
+func (c *Corpus) UpdateIndex() {
+	if c.Verbose {
+		log.Printf("updating index...")
+	}
+	start := time.Now()
+	index := c.NewIndex()
+	stop := time.Now()
+	c.searchIndex.Set(index)
+	if c.Verbose {
+		secs := stop.Sub(start).Seconds()
+		stats := index.Stats()
+		log.Printf("index updated (%gs, %d bytes of source, %d files, %d lines, %d unique words, %d spots)",
+			secs, stats.Bytes, stats.Files, stats.Lines, stats.Words, stats.Spots)
+	}
+	memstats := new(runtime.MemStats)
+	runtime.ReadMemStats(memstats)
+	if c.Verbose {
+		log.Printf("before GC: bytes = %d footprint = %d", memstats.HeapAlloc, memstats.Sys)
+	}
+	runtime.GC()
+	runtime.ReadMemStats(memstats)
+	if c.Verbose {
+		log.Printf("after  GC: bytes = %d footprint = %d", memstats.HeapAlloc, memstats.Sys)
+	}
+}
+
+// RunIndexer runs forever, indexing.
+func (c *Corpus) RunIndexer() {
+	// initialize the index from disk if possible
+	if c.IndexFiles != "" {
+		c.initFSTree()
+		if err := c.readIndex(c.IndexFiles); err != nil {
+			log.Printf("error reading index from file %s: %v", c.IndexFiles, err)
+		}
+		return
+	}
+
+	// Repeatedly update the package directory tree and index.
+	for {
+		c.initFSTree()
+		c.UpdateIndex()
+		if c.IndexInterval < 0 {
+			return
+		}
+		delay := 5 * time.Minute // by default, reindex every 5 minutes
+		if c.IndexInterval > 0 {
+			delay = c.IndexInterval
+		}
+		time.Sleep(delay)
+	}
+}
+
+type countingWriter struct {
+	n *int64
+	w io.Writer
+}
+
+func (c countingWriter) Write(p []byte) (n int, err error) {
+	n, err = c.w.Write(p)
+	*c.n += int64(n)
+	return
+}
+
+type byteReader interface {
+	io.Reader
+	io.ByteReader
+}
+
+type countingReader struct {
+	n *int64
+	r byteReader
+}
+
+func (c countingReader) Read(p []byte) (n int, err error) {
+	n, err = c.r.Read(p)
+	*c.n += int64(n)
+	return
+}
+
+func (c countingReader) ReadByte() (b byte, err error) {
+	b, err = c.r.ReadByte()
+	*c.n += 1
+	return
+}
internal/godoc/index_test.go
@@ -0,0 +1,323 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"reflect"
+	"sort"
+	"strings"
+	"testing"
+
+	"golang.org/x/website/internal/godoc/vfs/mapfs"
+)
+
+func newCorpus(t *testing.T) *Corpus {
+	c := NewCorpus(mapfs.New(map[string]string{
+		"src/foo/foo.go": `// Package foo is an example.
+package foo
+
+import "bar"
+
+const Pi = 3.1415
+
+var Foos []Foo
+
+// Foo is stuff.
+type Foo struct{}
+
+func New() *Foo {
+   return new(Foo)
+}
+`,
+		"src/bar/bar.go": `// Package bar is another example to test races.
+package bar
+`,
+		"src/other/bar/bar.go": `// Package bar is another bar package.
+package bar
+func X() {}
+`,
+		"src/skip/skip.go": `// Package skip should be skipped.
+package skip
+func Skip() {}
+`,
+		"src/bar/readme.txt": `Whitelisted text file.
+`,
+		"src/bar/baz.zzz": `Text file not whitelisted.
+`,
+	}))
+	c.IndexEnabled = true
+	c.IndexDirectory = func(dir string) bool {
+		return !strings.Contains(dir, "skip")
+	}
+
+	if err := c.Init(); err != nil {
+		t.Fatal(err)
+	}
+	return c
+}
+
+func TestIndex(t *testing.T) {
+	for _, docs := range []bool{true, false} {
+		for _, goCode := range []bool{true, false} {
+			for _, fullText := range []bool{true, false} {
+				c := newCorpus(t)
+				c.IndexDocs = docs
+				c.IndexGoCode = goCode
+				c.IndexFullText = fullText
+				c.UpdateIndex()
+				ix, _ := c.CurrentIndex()
+				if ix == nil {
+					t.Fatal("no index")
+				}
+				t.Logf("docs, goCode, fullText = %v,%v,%v", docs, goCode, fullText)
+				testIndex(t, c, ix)
+			}
+		}
+	}
+}
+
+func TestIndexWriteRead(t *testing.T) {
+	type key struct {
+		docs, goCode, fullText bool
+	}
+	type val struct {
+		buf *bytes.Buffer
+		c   *Corpus
+	}
+	m := map[key]val{}
+
+	for _, docs := range []bool{true, false} {
+		for _, goCode := range []bool{true, false} {
+			for _, fullText := range []bool{true, false} {
+				k := key{docs, goCode, fullText}
+				c := newCorpus(t)
+				c.IndexDocs = docs
+				c.IndexGoCode = goCode
+				c.IndexFullText = fullText
+				c.UpdateIndex()
+				ix, _ := c.CurrentIndex()
+				if ix == nil {
+					t.Fatal("no index")
+				}
+				var buf bytes.Buffer
+				nw, err := ix.WriteTo(&buf)
+				if err != nil {
+					t.Fatalf("Index.WriteTo: %v", err)
+				}
+				m[k] = val{bytes.NewBuffer(buf.Bytes()), c}
+				ix2 := new(Index)
+				nr, err := ix2.ReadFrom(&buf)
+				if err != nil {
+					t.Fatalf("Index.ReadFrom: %v", err)
+				}
+				if nr != nw {
+					t.Errorf("Wrote %d bytes to index but read %d", nw, nr)
+				}
+				testIndex(t, c, ix)
+			}
+		}
+	}
+	// Test CompatibleWith
+	for k1, v1 := range m {
+		ix := new(Index)
+		if _, err := ix.ReadFrom(v1.buf); err != nil {
+			t.Fatalf("Index.ReadFrom: %v", err)
+		}
+		for k2, v2 := range m {
+			if got, want := ix.CompatibleWith(v2.c), k1 == k2; got != want {
+				t.Errorf("CompatibleWith = %v; want %v for %v, %v", got, want, k1, k2)
+			}
+		}
+	}
+}
+
+func testIndex(t *testing.T, c *Corpus, ix *Index) {
+	if _, ok := ix.words["Skip"]; ok {
+		t.Errorf("the word Skip was found; expected it to be skipped")
+	}
+	checkStats(t, c, ix)
+	checkImportCount(t, c, ix)
+	checkPackagePath(t, c, ix)
+	checkExports(t, c, ix)
+	checkIdents(t, c, ix)
+}
+
+// checkStats checks the Index's statistics.
+// Some statistics are only set when we're indexing Go code.
+func checkStats(t *testing.T, c *Corpus, ix *Index) {
+	want := Statistics{}
+	if c.IndexFullText {
+		want.Bytes = 314
+		want.Files = 4
+		want.Lines = 21
+	} else if c.IndexDocs || c.IndexGoCode {
+		want.Bytes = 291
+		want.Files = 3
+		want.Lines = 20
+	}
+	if c.IndexGoCode {
+		want.Words = 8
+		want.Spots = 12
+	}
+	if got := ix.Stats(); !reflect.DeepEqual(got, want) {
+		t.Errorf("Stats = %#v; want %#v", got, want)
+	}
+}
+
+// checkImportCount checks the Index's import count map.
+// It is only set when we're indexing Go code.
+func checkImportCount(t *testing.T, c *Corpus, ix *Index) {
+	want := map[string]int{}
+	if c.IndexGoCode {
+		want = map[string]int{
+			"bar": 1,
+		}
+	}
+	if got := ix.ImportCount(); !reflect.DeepEqual(got, want) {
+		t.Errorf("ImportCount = %v; want %v", got, want)
+	}
+}
+
+// checkPackagePath checks the Index's package path map.
+// It is set if at least one of the indexing options is enabled.
+func checkPackagePath(t *testing.T, c *Corpus, ix *Index) {
+	want := map[string]map[string]bool{}
+	if c.IndexDocs || c.IndexGoCode || c.IndexFullText {
+		want = map[string]map[string]bool{
+			"foo": {
+				"foo": true,
+			},
+			"bar": {
+				"bar":       true,
+				"other/bar": true,
+			},
+		}
+	}
+	if got := ix.PackagePath(); !reflect.DeepEqual(got, want) {
+		t.Errorf("PackagePath = %v; want %v", got, want)
+	}
+}
+
+// checkExports checks the Index's exports map.
+// It is only set when we're indexing Go code.
+func checkExports(t *testing.T, c *Corpus, ix *Index) {
+	want := map[string]map[string]SpotKind{}
+	if c.IndexGoCode {
+		want = map[string]map[string]SpotKind{
+			"foo": {
+				"Pi":   ConstDecl,
+				"Foos": VarDecl,
+				"Foo":  TypeDecl,
+				"New":  FuncDecl,
+			},
+			"other/bar": {
+				"X": FuncDecl,
+			},
+		}
+	}
+	if got := ix.Exports(); !reflect.DeepEqual(got, want) {
+		t.Errorf("Exports = %v; want %v", got, want)
+	}
+}
+
+// checkIdents checks the Index's indents map.
+// It is only set when we're indexing documentation.
+func checkIdents(t *testing.T, c *Corpus, ix *Index) {
+	want := map[SpotKind]map[string][]Ident{}
+	if c.IndexDocs {
+		want = map[SpotKind]map[string][]Ident{
+			PackageClause: {
+				"bar": {
+					{"bar", "bar", "bar", "Package bar is another example to test races."},
+					{"other/bar", "bar", "bar", "Package bar is another bar package."},
+				},
+				"foo":   {{"foo", "foo", "foo", "Package foo is an example."}},
+				"other": {{"other/bar", "bar", "bar", "Package bar is another bar package."}},
+			},
+			ConstDecl: {
+				"Pi": {{"foo", "foo", "Pi", ""}},
+			},
+			VarDecl: {
+				"Foos": {{"foo", "foo", "Foos", ""}},
+			},
+			TypeDecl: {
+				"Foo": {{"foo", "foo", "Foo", "Foo is stuff."}},
+			},
+			FuncDecl: {
+				"New": {{"foo", "foo", "New", ""}},
+				"X":   {{"other/bar", "bar", "X", ""}},
+			},
+		}
+	}
+	if got := ix.Idents(); !reflect.DeepEqual(got, want) {
+		t.Errorf("Idents = %v; want %v", got, want)
+	}
+}
+
+func TestIdentResultSort(t *testing.T) {
+	ic := map[string]int{
+		"/a/b/pkg1": 10,
+		"/a/b/pkg2": 2,
+		"/b/d/pkg3": 20,
+	}
+	for _, tc := range []struct {
+		ir  []Ident
+		exp []Ident
+	}{
+		{
+			ir: []Ident{
+				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
+				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
+				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
+			},
+			exp: []Ident{
+				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
+				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
+				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
+			},
+		},
+		{
+			ir: []Ident{
+				{"/a/a/pkg1", "pkg1", "MyFunc1", ""},
+				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
+			},
+			exp: []Ident{
+				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
+				{"/a/a/pkg1", "pkg1", "MyFunc1", ""},
+			},
+		},
+	} {
+		if sort.Sort(byImportCount{tc.ir, ic}); !reflect.DeepEqual(tc.ir, tc.exp) {
+			t.Errorf("got: %v, want %v", tc.ir, tc.exp)
+		}
+	}
+}
+
+func TestIdentFilter(t *testing.T) {
+	ic := map[string]int{}
+	for _, tc := range []struct {
+		ir  []Ident
+		pak string
+		exp []Ident
+	}{
+		{
+			ir: []Ident{
+				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
+				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
+				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
+			},
+			pak: "pkg2",
+			exp: []Ident{
+				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
+			},
+		},
+	} {
+		res := byImportCount{tc.ir, ic}.filter(tc.pak)
+		if !reflect.DeepEqual(res, tc.exp) {
+			t.Errorf("got: %v, want %v", res, tc.exp)
+		}
+	}
+}
internal/godoc/linkify.go
@@ -0,0 +1,195 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file implements LinkifyText which introduces
+// links for identifiers pointing to their declarations.
+// The approach does not cover all cases because godoc
+// doesn't have complete type information, but it's
+// reasonably good for browsing.
+
+package godoc
+
+import (
+	"fmt"
+	"go/ast"
+	"go/doc"
+	"go/token"
+	"io"
+	"strconv"
+)
+
+// LinkifyText HTML-escapes source text and writes it to w.
+// Identifiers that are in a "use" position (i.e., that are
+// not being declared), are wrapped with HTML links pointing
+// to the respective declaration, if possible. Comments are
+// formatted the same way as with FormatText.
+//
+func LinkifyText(w io.Writer, text []byte, n ast.Node) {
+	links := linksFor(n)
+
+	i := 0     // links index
+	prev := "" // prev HTML tag
+	linkWriter := func(w io.Writer, _ int, start bool) {
+		// end tag
+		if !start {
+			if prev != "" {
+				fmt.Fprintf(w, `</%s>`, prev)
+				prev = ""
+			}
+			return
+		}
+
+		// start tag
+		prev = ""
+		if i < len(links) {
+			switch info := links[i]; {
+			case info.path != "" && info.name == "":
+				// package path
+				fmt.Fprintf(w, `<a href="/pkg/%s/">`, info.path)
+				prev = "a"
+			case info.path != "" && info.name != "":
+				// qualified identifier
+				fmt.Fprintf(w, `<a href="/pkg/%s/#%s">`, info.path, info.name)
+				prev = "a"
+			case info.path == "" && info.name != "":
+				// local identifier
+				if info.isVal {
+					fmt.Fprintf(w, `<span id="%s">`, info.name)
+					prev = "span"
+				} else if ast.IsExported(info.name) {
+					fmt.Fprintf(w, `<a href="#%s">`, info.name)
+					prev = "a"
+				}
+			}
+			i++
+		}
+	}
+
+	idents := tokenSelection(text, token.IDENT)
+	comments := tokenSelection(text, token.COMMENT)
+	FormatSelections(w, text, linkWriter, idents, selectionTag, comments)
+}
+
+// A link describes the (HTML) link information for an identifier.
+// The zero value of a link represents "no link".
+//
+type link struct {
+	path, name string // package path, identifier name
+	isVal      bool   // identifier is defined in a const or var declaration
+}
+
+// linksFor returns the list of links for the identifiers used
+// by node in the same order as they appear in the source.
+//
+func linksFor(node ast.Node) (links []link) {
+	// linkMap tracks link information for each ast.Ident node. Entries may
+	// be created out of source order (for example, when we visit a parent
+	// definition node). These links are appended to the returned slice when
+	// their ast.Ident nodes are visited.
+	linkMap := make(map[*ast.Ident]link)
+
+	ast.Inspect(node, func(node ast.Node) bool {
+		switch n := node.(type) {
+		case *ast.Field:
+			for _, n := range n.Names {
+				linkMap[n] = link{}
+			}
+		case *ast.ImportSpec:
+			if name := n.Name; name != nil {
+				linkMap[name] = link{}
+			}
+		case *ast.ValueSpec:
+			for _, n := range n.Names {
+				linkMap[n] = link{name: n.Name, isVal: true}
+			}
+		case *ast.FuncDecl:
+			linkMap[n.Name] = link{}
+		case *ast.TypeSpec:
+			linkMap[n.Name] = link{}
+		case *ast.AssignStmt:
+			// Short variable declarations only show up if we apply
+			// this code to all source code (as opposed to exported
+			// declarations only).
+			if n.Tok == token.DEFINE {
+				// Some of the lhs variables may be re-declared,
+				// so technically they are not defs. We don't
+				// care for now.
+				for _, x := range n.Lhs {
+					// Each lhs expression should be an
+					// ident, but we are conservative and check.
+					if n, _ := x.(*ast.Ident); n != nil {
+						linkMap[n] = link{isVal: true}
+					}
+				}
+			}
+		case *ast.SelectorExpr:
+			// Detect qualified identifiers of the form pkg.ident.
+			// If anything fails we return true and collect individual
+			// identifiers instead.
+			if x, _ := n.X.(*ast.Ident); x != nil {
+				// Create links only if x is a qualified identifier.
+				if obj := x.Obj; obj != nil && obj.Kind == ast.Pkg {
+					if spec, _ := obj.Decl.(*ast.ImportSpec); spec != nil {
+						// spec.Path.Value is the import path
+						if path, err := strconv.Unquote(spec.Path.Value); err == nil {
+							// Register two links, one for the package
+							// and one for the qualified identifier.
+							linkMap[x] = link{path: path}
+							linkMap[n.Sel] = link{path: path, name: n.Sel.Name}
+						}
+					}
+				}
+			}
+		case *ast.CompositeLit:
+			// Detect field names within composite literals. These links should
+			// be prefixed by the type name.
+			fieldPath := ""
+			prefix := ""
+			switch typ := n.Type.(type) {
+			case *ast.Ident:
+				prefix = typ.Name + "."
+			case *ast.SelectorExpr:
+				if x, _ := typ.X.(*ast.Ident); x != nil {
+					// Create links only if x is a qualified identifier.
+					if obj := x.Obj; obj != nil && obj.Kind == ast.Pkg {
+						if spec, _ := obj.Decl.(*ast.ImportSpec); spec != nil {
+							// spec.Path.Value is the import path
+							if path, err := strconv.Unquote(spec.Path.Value); err == nil {
+								// Register two links, one for the package
+								// and one for the qualified identifier.
+								linkMap[x] = link{path: path}
+								linkMap[typ.Sel] = link{path: path, name: typ.Sel.Name}
+								fieldPath = path
+								prefix = typ.Sel.Name + "."
+							}
+						}
+					}
+				}
+			}
+			for _, e := range n.Elts {
+				if kv, ok := e.(*ast.KeyValueExpr); ok {
+					if k, ok := kv.Key.(*ast.Ident); ok {
+						// Note: there is some syntactic ambiguity here. We cannot determine
+						// if this is a struct literal or a map literal without type
+						// information. We assume struct literal.
+						name := prefix + k.Name
+						linkMap[k] = link{path: fieldPath, name: name}
+					}
+				}
+			}
+		case *ast.Ident:
+			if l, ok := linkMap[n]; ok {
+				links = append(links, l)
+			} else {
+				l := link{name: n.Name}
+				if n.Obj == nil && doc.IsPredeclared(n.Name) {
+					l.path = builtinPkgPath
+				}
+				links = append(links, l)
+			}
+		}
+		return true
+	})
+	return
+}
internal/godoc/markdown.go
@@ -0,0 +1,31 @@
+// Copyright 2020 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+
+	"github.com/yuin/goldmark"
+	"github.com/yuin/goldmark/parser"
+	"github.com/yuin/goldmark/renderer/html"
+)
+
+// renderMarkdown converts a limited and opinionated flavor of Markdown (compliant with
+// CommonMark 0.29) to HTML for the purposes of Go websites.
+//
+// The Markdown source may contain raw HTML,
+// but Go templates have already been processed.
+func renderMarkdown(src []byte) ([]byte, error) {
+	// parser.WithHeadingAttribute allows custom ids on headings.
+	// html.WithUnsafe allows use of raw HTML, which we need for tables.
+	md := goldmark.New(
+		goldmark.WithParserOptions(parser.WithHeadingAttribute()),
+		goldmark.WithRendererOptions(html.WithUnsafe()))
+	var buf bytes.Buffer
+	if err := md.Convert(src, &buf); err != nil {
+		return nil, err
+	}
+	return buf.Bytes(), nil
+}
internal/godoc/meta.go
@@ -0,0 +1,161 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"encoding/json"
+	"errors"
+	"log"
+	"os"
+	pathpkg "path"
+	"strings"
+	"time"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+var (
+	doctype   = []byte("<!DOCTYPE ")
+	jsonStart = []byte("<!--{")
+	jsonEnd   = []byte("}-->")
+)
+
+// ----------------------------------------------------------------------------
+// Documentation Metadata
+
+type Metadata struct {
+	// These fields can be set in the JSON header at the top of a doc.
+	Title    string
+	Subtitle string
+	Template bool     // execute as template
+	Path     string   // canonical path for this page
+	AltPaths []string // redirect these other paths to this page
+
+	// These are internal to the implementation.
+	filePath string // filesystem path relative to goroot
+}
+
+func (m *Metadata) FilePath() string { return m.filePath }
+
+// extractMetadata extracts the Metadata from a byte slice.
+// It returns the Metadata value and the remaining data.
+// If no metadata is present the original byte slice is returned.
+//
+func extractMetadata(b []byte) (meta Metadata, tail []byte, err error) {
+	tail = b
+	if !bytes.HasPrefix(b, jsonStart) {
+		return
+	}
+	end := bytes.Index(b, jsonEnd)
+	if end < 0 {
+		return
+	}
+	b = b[len(jsonStart)-1 : end+1] // drop leading <!-- and include trailing }
+	if err = json.Unmarshal(b, &meta); err != nil {
+		return
+	}
+	tail = tail[end+len(jsonEnd):]
+	return
+}
+
+// UpdateMetadata scans $GOROOT/doc for HTML and Markdown files, reads their metadata,
+// and updates the DocMetadata map.
+func (c *Corpus) updateMetadata() {
+	metadata := make(map[string]*Metadata)
+	var scan func(string) // scan is recursive
+	scan = func(dir string) {
+		fis, err := c.fs.ReadDir(dir)
+		if err != nil {
+			if dir == "/doc" && errors.Is(err, os.ErrNotExist) {
+				// Be quiet during tests that don't have a /doc tree.
+				return
+			}
+			log.Printf("updateMetadata %s: %v", dir, err)
+			return
+		}
+		for _, fi := range fis {
+			name := pathpkg.Join(dir, fi.Name())
+			if fi.IsDir() {
+				scan(name) // recurse
+				continue
+			}
+			if !strings.HasSuffix(name, ".html") && !strings.HasSuffix(name, ".md") {
+				continue
+			}
+			// Extract metadata from the file.
+			b, err := vfs.ReadFile(c.fs, name)
+			if err != nil {
+				log.Printf("updateMetadata %s: %v", name, err)
+				continue
+			}
+			meta, _, err := extractMetadata(b)
+			if err != nil {
+				log.Printf("updateMetadata: %s: %v", name, err)
+				continue
+			}
+			// Present all .md as if they were .html,
+			// so that it doesn't matter which one a page is written in.
+			if strings.HasSuffix(name, ".md") {
+				name = strings.TrimSuffix(name, ".md") + ".html"
+			}
+			// Store relative filesystem path in Metadata.
+			meta.filePath = name
+			if meta.Path == "" {
+				// If no Path, canonical path is actual path with .html removed.
+				meta.Path = strings.TrimSuffix(name, ".html")
+			}
+			// Store under both paths.
+			metadata[meta.Path] = &meta
+			metadata[meta.filePath] = &meta
+			for _, path := range meta.AltPaths {
+				metadata[path] = &meta
+			}
+		}
+	}
+	scan("/doc")
+	c.docMetadata.Set(metadata)
+}
+
+// MetadataFor returns the *Metadata for a given relative path or nil if none
+// exists.
+//
+func (c *Corpus) MetadataFor(relpath string) *Metadata {
+	if m, _ := c.docMetadata.Get(); m != nil {
+		meta := m.(map[string]*Metadata)
+		// If metadata for this relpath exists, return it.
+		if p := meta[relpath]; p != nil {
+			return p
+		}
+		// Try with or without trailing slash.
+		if strings.HasSuffix(relpath, "/") {
+			relpath = relpath[:len(relpath)-1]
+		} else {
+			relpath = relpath + "/"
+		}
+		return meta[relpath]
+	}
+	return nil
+}
+
+// refreshMetadata sends a signal to update DocMetadata. If a refresh is in
+// progress the metadata will be refreshed again afterward.
+//
+func (c *Corpus) refreshMetadata() {
+	select {
+	case c.refreshMetadataSignal <- true:
+	default:
+	}
+}
+
+// RefreshMetadataLoop runs forever, updating DocMetadata when the underlying
+// file system changes. It should be launched in a goroutine.
+func (c *Corpus) refreshMetadataLoop() {
+	for {
+		<-c.refreshMetadataSignal
+		c.updateMetadata()
+		time.Sleep(10 * time.Second) // at most once every 10 seconds
+	}
+}
internal/godoc/page.go
@@ -0,0 +1,82 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"net/http"
+	"os"
+	"path/filepath"
+	"runtime"
+	"strings"
+
+	"golang.org/x/website/internal/godoc/golangorgenv"
+)
+
+// Page describes the contents of the top-level godoc webpage.
+type Page struct {
+	Title    string
+	Tabtitle string
+	Subtitle string
+	SrcPath  string
+	Query    string
+	Body     []byte
+	GoogleCN bool // page is being served from golang.google.cn
+	TreeView bool // page needs to contain treeview related js and css
+
+	// filled in by ServePage
+	SearchBox       bool
+	Playground      bool
+	Version         string
+	GoogleAnalytics string
+}
+
+func (p *Presentation) ServePage(w http.ResponseWriter, page Page) {
+	if page.Tabtitle == "" {
+		page.Tabtitle = page.Title
+	}
+	page.SearchBox = p.Corpus.IndexEnabled
+	page.Playground = p.ShowPlayground
+	page.Version = runtime.Version()
+	page.GoogleAnalytics = p.GoogleAnalytics
+	applyTemplateToResponseWriter(w, p.GodocHTML, page)
+}
+
+func (p *Presentation) ServeError(w http.ResponseWriter, r *http.Request, relpath string, err error) {
+	w.WriteHeader(http.StatusNotFound)
+	if perr, ok := err.(*os.PathError); ok {
+		rel, err := filepath.Rel(runtime.GOROOT(), perr.Path)
+		if err != nil {
+			perr.Path = "REDACTED"
+		} else {
+			perr.Path = filepath.Join("$GOROOT", rel)
+		}
+	}
+	p.ServePage(w, Page{
+		Title:           "File " + relpath,
+		Subtitle:        relpath,
+		Body:            applyTemplate(p.ErrorHTML, "errorHTML", err),
+		GoogleCN:        googleCN(r),
+		GoogleAnalytics: p.GoogleAnalytics,
+	})
+}
+
+// googleCN reports whether request r is considered
+// to be served from golang.google.cn.
+func googleCN(r *http.Request) bool {
+	if r.FormValue("googlecn") != "" {
+		return true
+	}
+	if strings.HasSuffix(r.Host, ".cn") {
+		return true
+	}
+	if !golangorgenv.CheckCountry() {
+		return false
+	}
+	switch r.Header.Get("X-Appengine-Country") {
+	case "", "ZZ", "CN":
+		return true
+	}
+	return false
+}
internal/godoc/parser.go
@@ -0,0 +1,74 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file contains support functions for parsing .go files
+// accessed via godoc's file system fs.
+
+package godoc
+
+import (
+	"bytes"
+	"go/ast"
+	"go/parser"
+	"go/token"
+	pathpkg "path"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+var linePrefix = []byte("//line ")
+
+// This function replaces source lines starting with "//line " with a blank line.
+// It does this irrespective of whether the line is truly a line comment or not;
+// e.g., the line may be inside a string, or a /*-style comment; however that is
+// rather unlikely (proper testing would require a full Go scan which we want to
+// avoid for performance).
+func replaceLinePrefixCommentsWithBlankLine(src []byte) {
+	for {
+		i := bytes.Index(src, linePrefix)
+		if i < 0 {
+			break // we're done
+		}
+		// 0 <= i && i+len(linePrefix) <= len(src)
+		if i == 0 || src[i-1] == '\n' {
+			// at beginning of line: blank out line
+			for i < len(src) && src[i] != '\n' {
+				src[i] = ' '
+				i++
+			}
+		} else {
+			// not at beginning of line: skip over prefix
+			i += len(linePrefix)
+		}
+		// i <= len(src)
+		src = src[i:]
+	}
+}
+
+func (c *Corpus) parseFile(fset *token.FileSet, filename string, mode parser.Mode) (*ast.File, error) {
+	src, err := vfs.ReadFile(c.fs, filename)
+	if err != nil {
+		return nil, err
+	}
+
+	// Temporary ad-hoc fix for issue 5247.
+	// TODO(gri,dmitshur) Remove this in favor of a better fix, eventually (see issue 32092).
+	replaceLinePrefixCommentsWithBlankLine(src)
+
+	return parser.ParseFile(fset, filename, src, mode)
+}
+
+func (c *Corpus) parseFiles(fset *token.FileSet, relpath string, abspath string, localnames []string) (map[string]*ast.File, error) {
+	files := make(map[string]*ast.File)
+	for _, f := range localnames {
+		absname := pathpkg.Join(abspath, f)
+		file, err := c.parseFile(fset, absname, parser.ParseComments)
+		if err != nil {
+			return nil, err
+		}
+		files[pathpkg.Join(relpath, f)] = file
+	}
+
+	return files, nil
+}
internal/godoc/pres.go
@@ -0,0 +1,164 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"net/http"
+	"regexp"
+	"sync"
+	"text/template"
+
+	"golang.org/x/website/internal/godoc/vfs/httpfs"
+)
+
+// SearchResultFunc functions return an HTML body for displaying search results.
+type SearchResultFunc func(p *Presentation, result SearchResult) []byte
+
+// Presentation generates output from a corpus.
+type Presentation struct {
+	Corpus *Corpus
+
+	mux        *http.ServeMux
+	fileServer http.Handler
+	cmdHandler handlerServer
+	pkgHandler handlerServer
+
+	CallGraphHTML,
+	DirlistHTML,
+	ErrorHTML,
+	ExampleHTML,
+	GodocHTML,
+	ImplementsHTML,
+	MethodSetHTML,
+	PackageHTML,
+	PackageRootHTML,
+	SearchHTML,
+	SearchDocHTML,
+	SearchCodeHTML,
+	SearchTxtHTML,
+	SearchDescXML *template.Template // If not nil, register a /opensearch.xml handler with this template.
+
+	// TabWidth optionally specifies the tab width.
+	TabWidth int
+
+	ShowTimestamps bool
+	ShowPlayground bool
+	DeclLinks      bool
+
+	// NotesRx optionally specifies a regexp to match
+	// notes to render in the output.
+	NotesRx *regexp.Regexp
+
+	// AdjustPageInfoMode optionally specifies a function to
+	// modify the PageInfoMode of a request. The default chosen
+	// value is provided.
+	AdjustPageInfoMode func(req *http.Request, mode PageInfoMode) PageInfoMode
+
+	// URLForSrc optionally specifies a function that takes a source file and
+	// returns a URL for it.
+	// The source file argument has the form /src/<path>/<filename>.
+	URLForSrc func(src string) string
+
+	// URLForSrcPos optionally specifies a function to create a URL given a
+	// source file, a line from the source file (1-based), and low & high offset
+	// positions (0-based, bytes from beginning of file). Ideally, the returned
+	// URL will be for the specified line of the file, while the high & low
+	// positions will be used to highlight a section of the file.
+	// The source file argument has the form /src/<path>/<filename>.
+	URLForSrcPos func(src string, line, low, high int) string
+
+	// URLForSrcQuery optionally specifies a function to create a URL given a
+	// source file, a query string, and a line from the source file (1-based).
+	// The source file argument has the form /src/<path>/<filename>.
+	// The query argument will be escaped for the purposes of embedding in a URL
+	// query parameter.
+	// Ideally, the returned URL will be for the specified line of the file with
+	// the query string highlighted.
+	URLForSrcQuery func(src, query string, line int) string
+
+	// SearchResults optionally specifies a list of functions returning an HTML
+	// body for displaying search results.
+	SearchResults []SearchResultFunc
+
+	// GoogleAnalytics optionally adds Google Analytics via the provided
+	// tracking ID to each page.
+	GoogleAnalytics string
+
+	initFuncMapOnce sync.Once
+	funcMap         template.FuncMap
+	templateFuncs   template.FuncMap
+}
+
+// NewPresentation returns a new Presentation from a corpus.
+// It sets SearchResults to:
+// [SearchResultDoc SearchResultCode SearchResultTxt].
+func NewPresentation(c *Corpus) *Presentation {
+	if c == nil {
+		panic("nil Corpus")
+	}
+	p := &Presentation{
+		Corpus:     c,
+		mux:        http.NewServeMux(),
+		fileServer: http.FileServer(httpfs.New(c.fs)),
+
+		TabWidth:  4,
+		DeclLinks: true,
+		SearchResults: []SearchResultFunc{
+			(*Presentation).SearchResultDoc,
+			(*Presentation).SearchResultCode,
+			(*Presentation).SearchResultTxt,
+		},
+	}
+	p.cmdHandler = handlerServer{
+		p:       p,
+		c:       c,
+		pattern: "/cmd/",
+		fsRoot:  "/src",
+	}
+	p.pkgHandler = handlerServer{
+		p:           p,
+		c:           c,
+		pattern:     "/pkg/",
+		stripPrefix: "pkg/",
+		fsRoot:      "/src",
+		exclude:     []string{"/src/cmd"},
+	}
+	p.cmdHandler.registerWithMux(p.mux)
+	p.pkgHandler.registerWithMux(p.mux)
+	p.mux.HandleFunc("/", p.ServeFile)
+	p.mux.HandleFunc("/search", p.HandleSearch)
+	if p.SearchDescXML != nil {
+		p.mux.HandleFunc("/opensearch.xml", p.serveSearchDesc)
+	}
+	return p
+}
+
+func (p *Presentation) FileServer() http.Handler {
+	return p.fileServer
+}
+
+func (p *Presentation) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	p.mux.ServeHTTP(w, r)
+}
+
+func (p *Presentation) PkgFSRoot() string {
+	return p.pkgHandler.fsRoot
+}
+
+func (p *Presentation) CmdFSRoot() string {
+	return p.cmdHandler.fsRoot
+}
+
+// TODO(bradfitz): move this to be a method on Corpus. Just moving code around for now,
+// but this doesn't feel right.
+func (p *Presentation) GetPkgPageInfo(abspath, relpath string, mode PageInfoMode) *PageInfo {
+	return p.pkgHandler.GetPageInfo(abspath, relpath, mode, "", "")
+}
+
+// TODO(bradfitz): move this to be a method on Corpus. Just moving code around for now,
+// but this doesn't feel right.
+func (p *Presentation) GetCmdPageInfo(abspath, relpath string, mode PageInfoMode) *PageInfo {
+	return p.cmdHandler.GetPageInfo(abspath, relpath, mode, "", "")
+}
internal/godoc/redirect/hash.go
@@ -0,0 +1,138 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file provides a compact encoding of
+// a map of Mercurial hashes to Git hashes.
+
+package redirect
+
+import (
+	"encoding/binary"
+	"fmt"
+	"io"
+	"os"
+	"sort"
+	"strconv"
+	"strings"
+)
+
+// hashMap is a map of Mercurial hashes to Git hashes.
+type hashMap struct {
+	file    *os.File
+	entries int
+}
+
+// newHashMap takes a file handle that contains a map of Mercurial to Git
+// hashes. The file should be a sequence of pairs of little-endian encoded
+// uint32s, representing a hgHash and a gitHash respectively.
+// The sequence must be sorted by hgHash.
+// The file must remain open for as long as the returned hashMap is used.
+func newHashMap(f *os.File) (*hashMap, error) {
+	fi, err := f.Stat()
+	if err != nil {
+		return nil, err
+	}
+	return &hashMap{file: f, entries: int(fi.Size() / 8)}, nil
+}
+
+// Lookup finds an hgHash in the map that matches the given prefix, and returns
+// its corresponding gitHash. The prefix must be at least 8 characters long.
+func (m *hashMap) Lookup(s string) gitHash {
+	if m == nil {
+		return 0
+	}
+	hg, err := hgHashFromString(s)
+	if err != nil {
+		return 0
+	}
+	var git gitHash
+	b := make([]byte, 8)
+	sort.Search(m.entries, func(i int) bool {
+		n, err := m.file.ReadAt(b, int64(i*8))
+		if err != nil {
+			panic(err)
+		}
+		if n != 8 {
+			panic(io.ErrUnexpectedEOF)
+		}
+		v := hgHash(binary.LittleEndian.Uint32(b[:4]))
+		if v == hg {
+			git = gitHash(binary.LittleEndian.Uint32(b[4:]))
+		}
+		return v >= hg
+	})
+	return git
+}
+
+// hgHash represents the lower (leftmost) 32 bits of a Mercurial hash.
+type hgHash uint32
+
+func (h hgHash) String() string {
+	return intToHash(int64(h))
+}
+
+func hgHashFromString(s string) (hgHash, error) {
+	if len(s) < 8 {
+		return 0, fmt.Errorf("string too small: len(s) = %d", len(s))
+	}
+	hash := s[:8]
+	i, err := strconv.ParseInt(hash, 16, 64)
+	if err != nil {
+		return 0, err
+	}
+	return hgHash(i), nil
+}
+
+// gitHash represents the leftmost 28 bits of a Git hash in its upper 28 bits,
+// and it encodes hash's repository in the lower 4  bits.
+type gitHash uint32
+
+func (h gitHash) Hash() string {
+	return intToHash(int64(h))[:7]
+}
+
+func (h gitHash) Repo() string {
+	return repo(h & 0xF).String()
+}
+
+func intToHash(i int64) string {
+	s := strconv.FormatInt(i, 16)
+	if len(s) < 8 {
+		s = strings.Repeat("0", 8-len(s)) + s
+	}
+	return s
+}
+
+// repo represents a Go Git repository.
+type repo byte
+
+const (
+	repoGo repo = iota
+	repoBlog
+	repoCrypto
+	repoExp
+	repoImage
+	repoMobile
+	repoNet
+	repoSys
+	repoTalks
+	repoText
+	repoTools
+)
+
+func (r repo) String() string {
+	return map[repo]string{
+		repoGo:     "go",
+		repoBlog:   "blog",
+		repoCrypto: "crypto",
+		repoExp:    "exp",
+		repoImage:  "image",
+		repoMobile: "mobile",
+		repoNet:    "net",
+		repoSys:    "sys",
+		repoTalks:  "talks",
+		repoText:   "text",
+		repoTools:  "tools",
+	}[r]
+}
internal/godoc/redirect/redirect.go
@@ -0,0 +1,324 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package redirect provides hooks to register HTTP handlers that redirect old
+// godoc paths to their new equivalents and assist in accessing the issue
+// tracker, wiki, code review system, etc.
+package redirect // import "golang.org/x/website/internal/godoc/redirect"
+
+import (
+	"context"
+	"fmt"
+	"html/template"
+	"net/http"
+	"os"
+	"regexp"
+	"strconv"
+	"strings"
+	"sync"
+	"time"
+
+	"golang.org/x/net/context/ctxhttp"
+)
+
+// Register registers HTTP handlers that redirect old godoc paths to their new
+// equivalents and assist in accessing the issue tracker, wiki, code review
+// system, etc. If mux is nil it uses http.DefaultServeMux.
+func Register(mux *http.ServeMux) {
+	if mux == nil {
+		mux = http.DefaultServeMux
+	}
+	handlePathRedirects(mux, pkgRedirects, "/pkg/")
+	handlePathRedirects(mux, cmdRedirects, "/cmd/")
+	for prefix, redirect := range prefixHelpers {
+		p := "/" + prefix + "/"
+		mux.Handle(p, PrefixHandler(p, redirect))
+	}
+	for path, redirect := range redirects {
+		mux.Handle(path, Handler(redirect))
+	}
+	// NB: /src/pkg (sans trailing slash) is the index of packages.
+	mux.HandleFunc("/src/pkg/", srcPkgHandler)
+	mux.HandleFunc("/cl/", clHandler)
+	mux.HandleFunc("/change/", changeHandler)
+	mux.HandleFunc("/design/", designHandler)
+}
+
+func handlePathRedirects(mux *http.ServeMux, redirects map[string]string, prefix string) {
+	for source, target := range redirects {
+		h := Handler(prefix + target + "/")
+		p := prefix + source
+		mux.Handle(p, h)
+		mux.Handle(p+"/", h)
+	}
+}
+
+// Packages that were renamed between r60 and go1.
+var pkgRedirects = map[string]string{
+	"asn1":              "encoding/asn1",
+	"big":               "math/big",
+	"cmath":             "math/cmplx",
+	"csv":               "encoding/csv",
+	"exec":              "os/exec",
+	"exp/template/html": "html/template",
+	"gob":               "encoding/gob",
+	"http":              "net/http",
+	"http/cgi":          "net/http/cgi",
+	"http/fcgi":         "net/http/fcgi",
+	"http/httptest":     "net/http/httptest",
+	"http/pprof":        "net/http/pprof",
+	"json":              "encoding/json",
+	"mail":              "net/mail",
+	"rand":              "math/rand",
+	"rpc":               "net/rpc",
+	"rpc/jsonrpc":       "net/rpc/jsonrpc",
+	"scanner":           "text/scanner",
+	"smtp":              "net/smtp",
+	"tabwriter":         "text/tabwriter",
+	"template":          "text/template",
+	"template/parse":    "text/template/parse",
+	"url":               "net/url",
+	"utf16":             "unicode/utf16",
+	"utf8":              "unicode/utf8",
+	"xml":               "encoding/xml",
+}
+
+// Commands that were renamed between r60 and go1.
+var cmdRedirects = map[string]string{
+	"gofix":     "fix",
+	"goinstall": "go",
+	"gopack":    "pack",
+	"gotest":    "go",
+	"govet":     "vet",
+	"goyacc":    "yacc",
+}
+
+var redirects = map[string]string{
+	"/blog":       "/blog/",
+	"/build":      "http://build.golang.org",
+	"/change":     "https://go.googlesource.com/go",
+	"/cl":         "https://go-review.googlesource.com",
+	"/cmd/godoc/": "https://pkg.go.dev/golang.org/x/tools/cmd/godoc",
+	"/issue":      "https://github.com/golang/go/issues",
+	"/issue/new":  "https://github.com/golang/go/issues/new",
+	"/issues":     "https://github.com/golang/go/issues",
+	"/issues/new": "https://github.com/golang/go/issues/new",
+	"/play":       "http://play.golang.org",
+	"/design":     "https://go.googlesource.com/proposal/+/master/design",
+
+	// In Go 1.2 the references page is part of /doc/.
+	"/ref": "/doc/#references",
+	// This next rule clobbers /ref/spec and /ref/mem.
+	// TODO(adg): figure out what to do here, if anything.
+	// "/ref/": "/doc/#references",
+
+	// Be nice to people who are looking in the wrong place.
+	"/doc/mem":  "/ref/mem",
+	"/doc/spec": "/ref/spec",
+
+	"/talks": "http://talks.golang.org",
+	"/tour":  "http://tour.golang.org",
+	"/wiki":  "https://github.com/golang/go/wiki",
+
+	"/doc/articles/c_go_cgo.html":                    "/blog/c-go-cgo",
+	"/doc/articles/concurrency_patterns.html":        "/blog/go-concurrency-patterns-timing-out-and",
+	"/doc/articles/defer_panic_recover.html":         "/blog/defer-panic-and-recover",
+	"/doc/articles/error_handling.html":              "/blog/error-handling-and-go",
+	"/doc/articles/gobs_of_data.html":                "/blog/gobs-of-data",
+	"/doc/articles/godoc_documenting_go_code.html":   "/blog/godoc-documenting-go-code",
+	"/doc/articles/gos_declaration_syntax.html":      "/blog/gos-declaration-syntax",
+	"/doc/articles/image_draw.html":                  "/blog/go-imagedraw-package",
+	"/doc/articles/image_package.html":               "/blog/go-image-package",
+	"/doc/articles/json_and_go.html":                 "/blog/json-and-go",
+	"/doc/articles/json_rpc_tale_of_interfaces.html": "/blog/json-rpc-tale-of-interfaces",
+	"/doc/articles/laws_of_reflection.html":          "/blog/laws-of-reflection",
+	"/doc/articles/slices_usage_and_internals.html":  "/blog/go-slices-usage-and-internals",
+	"/doc/go_for_cpp_programmers.html":               "/wiki/GoForCPPProgrammers",
+	"/doc/go_tutorial.html":                          "http://tour.golang.org/",
+}
+
+var prefixHelpers = map[string]string{
+	"issue":  "https://github.com/golang/go/issues/",
+	"issues": "https://github.com/golang/go/issues/",
+	"play":   "http://play.golang.org/",
+	"talks":  "http://talks.golang.org/",
+	"wiki":   "https://github.com/golang/go/wiki/",
+}
+
+func Handler(target string) http.Handler {
+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		url := target
+		if qs := r.URL.RawQuery; qs != "" {
+			url += "?" + qs
+		}
+		http.Redirect(w, r, url, http.StatusMovedPermanently)
+	})
+}
+
+var validID = regexp.MustCompile(`^[A-Za-z0-9-]*/?$`)
+
+func PrefixHandler(prefix, baseURL string) http.Handler {
+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		if p := r.URL.Path; p == prefix {
+			// redirect /prefix/ to /prefix
+			http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
+			return
+		}
+		id := r.URL.Path[len(prefix):]
+		if !validID.MatchString(id) {
+			http.Error(w, "Not found", http.StatusNotFound)
+			return
+		}
+		target := baseURL + id
+		http.Redirect(w, r, target, http.StatusFound)
+	})
+}
+
+// Redirect requests from the old "/src/pkg/foo" to the new "/src/foo".
+// See http://golang.org/s/go14nopkg
+func srcPkgHandler(w http.ResponseWriter, r *http.Request) {
+	r.URL.Path = "/src/" + r.URL.Path[len("/src/pkg/"):]
+	http.Redirect(w, r, r.URL.String(), http.StatusMovedPermanently)
+}
+
+func clHandler(w http.ResponseWriter, r *http.Request) {
+	const prefix = "/cl/"
+	if p := r.URL.Path; p == prefix {
+		// redirect /prefix/ to /prefix
+		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
+		return
+	}
+	id := r.URL.Path[len(prefix):]
+	// support /cl/152700045/, which is used in commit 0edafefc36.
+	id = strings.TrimSuffix(id, "/")
+	if !validID.MatchString(id) {
+		http.Error(w, "Not found", http.StatusNotFound)
+		return
+	}
+	target := ""
+
+	if n, err := strconv.Atoi(id); err == nil && isRietveldCL(n) {
+		// Issue 28836: if this Rietveld CL happens to
+		// also be a Gerrit CL, render a disambiguation HTML
+		// page with two links instead. We need to make a
+		// Gerrit API call to figure that out, but we cache
+		// known Gerrit CLs so it's done at most once per CL.
+		if ok, err := isGerritCL(r.Context(), n); err == nil && ok {
+			w.Header().Set("Content-Type", "text/html; charset=utf-8")
+			clDisambiguationHTML.Execute(w, n)
+			return
+		}
+
+		target = "https://codereview.appspot.com/" + id
+	} else {
+		target = "https://go-review.googlesource.com/" + id
+	}
+	http.Redirect(w, r, target, http.StatusFound)
+}
+
+var clDisambiguationHTML = template.Must(template.New("").Parse(`<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<title>Go CL {{.}} Disambiguation</title>
+		<meta name="viewport" content="width=device-width">
+	</head>
+	<body>
+		CL number {{.}} exists in both Gerrit (the current code review system)
+		and Rietveld (the previous code review system). Please make a choice:
+
+		<ul>
+			<li><a href="https://go-review.googlesource.com/{{.}}">Gerrit CL {{.}}</a></li>
+			<li><a href="https://codereview.appspot.com/{{.}}">Rietveld CL {{.}}</a></li>
+		</ul>
+	</body>
+</html>`))
+
+// isGerritCL reports whether a Gerrit CL with the specified numeric change ID (e.g., "4247")
+// is known to exist by querying the Gerrit API at https://go-review.googlesource.com.
+// isGerritCL uses gerritCLCache as a cache of Gerrit CL IDs that exist.
+func isGerritCL(ctx context.Context, id int) (bool, error) {
+	// Check cache first.
+	gerritCLCache.Lock()
+	ok := gerritCLCache.exist[id]
+	gerritCLCache.Unlock()
+	if ok {
+		return true, nil
+	}
+
+	// Query the Gerrit API Get Change endpoint, as documented at
+	// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change.
+	ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
+	defer cancel()
+	resp, err := ctxhttp.Get(ctx, nil, fmt.Sprintf("https://go-review.googlesource.com/changes/%d", id))
+	if err != nil {
+		return false, err
+	}
+	resp.Body.Close()
+	switch resp.StatusCode {
+	case http.StatusOK:
+		// A Gerrit CL with this ID exists. Add it to cache.
+		gerritCLCache.Lock()
+		gerritCLCache.exist[id] = true
+		gerritCLCache.Unlock()
+		return true, nil
+	case http.StatusNotFound:
+		// A Gerrit CL with this ID doesn't exist. It may get created in the future.
+		return false, nil
+	default:
+		return false, fmt.Errorf("unexpected status code: %v", resp.Status)
+	}
+}
+
+var gerritCLCache = struct {
+	sync.Mutex
+	exist map[int]bool // exist is a set of Gerrit CL IDs that are known to exist.
+}{exist: make(map[int]bool)}
+
+var changeMap *hashMap
+
+// LoadChangeMap loads the specified map of Mercurial to Git revisions,
+// which is used by the /change/ handler to intelligently map old hg
+// revisions to their new git equivalents.
+// It should be called before calling Register.
+// The file should remain open as long as the process is running.
+// See the implementation of this package for details.
+func LoadChangeMap(filename string) error {
+	f, err := os.Open(filename)
+	if err != nil {
+		return err
+	}
+	m, err := newHashMap(f)
+	if err != nil {
+		return err
+	}
+	changeMap = m
+	return nil
+}
+
+func changeHandler(w http.ResponseWriter, r *http.Request) {
+	const prefix = "/change/"
+	if p := r.URL.Path; p == prefix {
+		// redirect /prefix/ to /prefix
+		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
+		return
+	}
+	hash := r.URL.Path[len(prefix):]
+	target := "https://go.googlesource.com/go/+/" + hash
+	if git := changeMap.Lookup(hash); git > 0 {
+		target = fmt.Sprintf("https://go.googlesource.com/%v/+/%v", git.Repo(), git.Hash())
+	}
+	http.Redirect(w, r, target, http.StatusFound)
+}
+
+func designHandler(w http.ResponseWriter, r *http.Request) {
+	const prefix = "/design/"
+	if p := r.URL.Path; p == prefix {
+		// redirect /prefix/ to /prefix
+		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
+		return
+	}
+	name := r.URL.Path[len(prefix):]
+	target := "https://go.googlesource.com/proposal/+/master/design/" + name + ".md"
+	http.Redirect(w, r, target, http.StatusFound)
+}
internal/godoc/redirect/redirect_test.go
@@ -0,0 +1,113 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package redirect
+
+import (
+	"net/http"
+	"net/http/httptest"
+	"testing"
+)
+
+type redirectResult struct {
+	status int
+	path   string
+}
+
+func errorResult(status int) redirectResult {
+	return redirectResult{status, ""}
+}
+
+func TestRedirects(t *testing.T) {
+	var tests = map[string]redirectResult{
+		"/build":    {301, "http://build.golang.org"},
+		"/ref":      {301, "/doc/#references"},
+		"/doc/mem":  {301, "/ref/mem"},
+		"/doc/spec": {301, "/ref/spec"},
+		"/tour":     {301, "http://tour.golang.org"},
+		"/foo":      errorResult(404),
+
+		"/pkg/asn1":           {301, "/pkg/encoding/asn1/"},
+		"/pkg/template/parse": {301, "/pkg/text/template/parse/"},
+
+		"/src/pkg/foo": {301, "/src/foo"},
+
+		"/cmd/gofix": {301, "/cmd/fix/"},
+
+		// git commits (/change)
+		// TODO: mercurial tags and LoadChangeMap.
+		"/change":   {301, "https://go.googlesource.com/go"},
+		"/change/a": {302, "https://go.googlesource.com/go/+/a"},
+
+		"/issue":                    {301, "https://github.com/golang/go/issues"},
+		"/issue?":                   {301, "https://github.com/golang/go/issues"},
+		"/issue/1":                  {302, "https://github.com/golang/go/issues/1"},
+		"/issue/new":                {301, "https://github.com/golang/go/issues/new"},
+		"/issue/new?a=b&c=d%20&e=f": {301, "https://github.com/golang/go/issues/new?a=b&c=d%20&e=f"},
+		"/issues":                   {301, "https://github.com/golang/go/issues"},
+		"/issues/1":                 {302, "https://github.com/golang/go/issues/1"},
+		"/issues/new":               {301, "https://github.com/golang/go/issues/new"},
+		"/issues/1/2/3":             errorResult(404),
+
+		"/wiki/foo":  {302, "https://github.com/golang/go/wiki/foo"},
+		"/wiki/foo/": {302, "https://github.com/golang/go/wiki/foo/"},
+
+		"/design":              {301, "https://go.googlesource.com/proposal/+/master/design"},
+		"/design/":             {302, "/design"},
+		"/design/123-foo":      {302, "https://go.googlesource.com/proposal/+/master/design/123-foo.md"},
+		"/design/text/123-foo": {302, "https://go.googlesource.com/proposal/+/master/design/text/123-foo.md"},
+
+		"/cl/1":          {302, "https://go-review.googlesource.com/1"},
+		"/cl/1/":         {302, "https://go-review.googlesource.com/1"},
+		"/cl/267120043":  {302, "https://codereview.appspot.com/267120043"},
+		"/cl/267120043/": {302, "https://codereview.appspot.com/267120043"},
+
+		// Verify that we're using the Rietveld CL table:
+		"/cl/152046": {302, "https://codereview.appspot.com/152046"},
+		"/cl/152047": {302, "https://go-review.googlesource.com/152047"},
+		"/cl/152048": {302, "https://codereview.appspot.com/152048"},
+
+		// And verify we're using the "bigEnoughAssumeRietveld" value:
+		"/cl/299999": {302, "https://go-review.googlesource.com/299999"},
+		"/cl/300000": {302, "https://codereview.appspot.com/300000"},
+	}
+
+	mux := http.NewServeMux()
+	Register(mux)
+	ts := httptest.NewServer(mux)
+	defer ts.Close()
+
+	for path, want := range tests {
+		if want.path != "" && want.path[0] == '/' {
+			// All redirects are absolute.
+			want.path = ts.URL + want.path
+		}
+
+		req, err := http.NewRequest("GET", ts.URL+path, nil)
+		if err != nil {
+			t.Errorf("(path: %q) unexpected error: %v", path, err)
+			continue
+		}
+
+		resp, err := http.DefaultTransport.RoundTrip(req)
+		if err != nil {
+			t.Errorf("(path: %q) unexpected error: %v", path, err)
+			continue
+		}
+
+		if resp.StatusCode != want.status {
+			t.Errorf("(path: %q) got status %d, want %d", path, resp.StatusCode, want.status)
+		}
+
+		if want.status != 301 && want.status != 302 {
+			// Not a redirect. Just check status.
+			continue
+		}
+
+		out, _ := resp.Location()
+		if got := out.String(); got != want.path {
+			t.Errorf("(path: %q) got %s, want %s", path, got, want.path)
+		}
+	}
+}
internal/godoc/redirect/rietveld.go
@@ -0,0 +1,1093 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package redirect
+
+// bigEnoughAssumeRietveld is the value where CLs equal or great are
+// assumed to be on Rietveld. By including this threshold we shrink
+// the size of the table below. When Go amasses 150,000 more CLs, we'll
+// need to bump this number and regenerate the list below.
+const bigEnoughAssumeRietveld = 300000
+
+// isRietveldCL reports whether cl was a Rietveld CL number.
+func isRietveldCL(cl int) bool {
+	return cl >= bigEnoughAssumeRietveld || lowRietveldCL[cl]
+}
+
+// lowRietveldCLs are the old CL numbers assigned by Rietveld code
+// review system as used by Go prior to Gerrit which are less than
+// bigEnoughAssumeRietveld.
+//
+// This list of numbers is registered with the /cl/NNNN redirect
+// handler to disambiguate which code review system a particular
+// number corresponds to. In some rare cases there may be duplicates,
+// in which case we might render an HTML choice for the user.
+//
+// To re-generate this list, run:
+//
+// $ cd $GOROOT
+// $ git log 7d7c6a9..94151eb | grep "^    https://golang.org/cl/" | perl -ne 's,^\s+https://golang.org/cl/(\d+).*$,$1,; chomp; print "$_: true,\n" if $_ < 300000' | sort -n | uniq
+//
+// Note that we ignore the x/* repos because we didn't start using
+// "subrepos" until the Rietveld CLs numbers were already 4,000,000+,
+// well above bigEnoughAssumeRietveld.
+var lowRietveldCL = map[int]bool{
+	152046: true,
+	152048: true,
+	152049: true,
+	152050: true,
+	152051: true,
+	152052: true,
+	152055: true,
+	152056: true,
+	152057: true,
+	152072: true,
+	152073: true,
+	152075: true,
+	152076: true,
+	152077: true,
+	152078: true,
+	152079: true,
+	152080: true,
+	152082: true,
+	152084: true,
+	152085: true,
+	152086: true,
+	152088: true,
+	152089: true,
+	152091: true,
+	152098: true,
+	152101: true,
+	152102: true,
+	152105: true,
+	152106: true,
+	152107: true,
+	152108: true,
+	152109: true,
+	152110: true,
+	152114: true,
+	152117: true,
+	152118: true,
+	152120: true,
+	152123: true,
+	152124: true,
+	152128: true,
+	152130: true,
+	152131: true,
+	152138: true,
+	152141: true,
+	152142: true,
+	153048: true,
+	153049: true,
+	153050: true,
+	153051: true,
+	153055: true,
+	153056: true,
+	153057: true,
+	154043: true,
+	154044: true,
+	154045: true,
+	154049: true,
+	154055: true,
+	154057: true,
+	154058: true,
+	154059: true,
+	154061: true,
+	154064: true,
+	154065: true,
+	154067: true,
+	154068: true,
+	154069: true,
+	154071: true,
+	154072: true,
+	154073: true,
+	154076: true,
+	154079: true,
+	154096: true,
+	154097: true,
+	154099: true,
+	154100: true,
+	154101: true,
+	154102: true,
+	154108: true,
+	154118: true,
+	154121: true,
+	154122: true,
+	154123: true,
+	154125: true,
+	154126: true,
+	154128: true,
+	154136: true,
+	154138: true,
+	154139: true,
+	154140: true,
+	154141: true,
+	154142: true,
+	154143: true,
+	154144: true,
+	154145: true,
+	154146: true,
+	154152: true,
+	154153: true,
+	154156: true,
+	154159: true,
+	154161: true,
+	154166: true,
+	154167: true,
+	154169: true,
+	154171: true,
+	154172: true,
+	154173: true,
+	154174: true,
+	154175: true,
+	154176: true,
+	154177: true,
+	154178: true,
+	154179: true,
+	154180: true,
+	155041: true,
+	155042: true,
+	155045: true,
+	155047: true,
+	155048: true,
+	155049: true,
+	155050: true,
+	155054: true,
+	155055: true,
+	155056: true,
+	155057: true,
+	155058: true,
+	155059: true,
+	155061: true,
+	155062: true,
+	155063: true,
+	155065: true,
+	155067: true,
+	155069: true,
+	155072: true,
+	155074: true,
+	155075: true,
+	155077: true,
+	155078: true,
+	155079: true,
+	156041: true,
+	156044: true,
+	156045: true,
+	156046: true,
+	156047: true,
+	156051: true,
+	156052: true,
+	156054: true,
+	156055: true,
+	156056: true,
+	156058: true,
+	156059: true,
+	156060: true,
+	156061: true,
+	156062: true,
+	156063: true,
+	156066: true,
+	156067: true,
+	156070: true,
+	156071: true,
+	156073: true,
+	156075: true,
+	156077: true,
+	156079: true,
+	156080: true,
+	156081: true,
+	156083: true,
+	156084: true,
+	156085: true,
+	156086: true,
+	156089: true,
+	156091: true,
+	156092: true,
+	156093: true,
+	156094: true,
+	156097: true,
+	156099: true,
+	156100: true,
+	156102: true,
+	156103: true,
+	156104: true,
+	156106: true,
+	156107: true,
+	156108: true,
+	156109: true,
+	156110: true,
+	156113: true,
+	156115: true,
+	156116: true,
+	157041: true,
+	157042: true,
+	157043: true,
+	157044: true,
+	157046: true,
+	157053: true,
+	157055: true,
+	157056: true,
+	157058: true,
+	157060: true,
+	157061: true,
+	157062: true,
+	157065: true,
+	157066: true,
+	157067: true,
+	157068: true,
+	157069: true,
+	157071: true,
+	157072: true,
+	157073: true,
+	157074: true,
+	157075: true,
+	157076: true,
+	157077: true,
+	157082: true,
+	157084: true,
+	157085: true,
+	157087: true,
+	157088: true,
+	157091: true,
+	157095: true,
+	157096: true,
+	157099: true,
+	157100: true,
+	157101: true,
+	157102: true,
+	157103: true,
+	157104: true,
+	157106: true,
+	157110: true,
+	157111: true,
+	157112: true,
+	157114: true,
+	157116: true,
+	157119: true,
+	157140: true,
+	157142: true,
+	157143: true,
+	157144: true,
+	157146: true,
+	157147: true,
+	157149: true,
+	157151: true,
+	157152: true,
+	157153: true,
+	157154: true,
+	157156: true,
+	157157: true,
+	157158: true,
+	157159: true,
+	157160: true,
+	157162: true,
+	157166: true,
+	157167: true,
+	157168: true,
+	157170: true,
+	158041: true,
+	159044: true,
+	159049: true,
+	159050: true,
+	159051: true,
+	160043: true,
+	160044: true,
+	160045: true,
+	160046: true,
+	160047: true,
+	160054: true,
+	160056: true,
+	160057: true,
+	160059: true,
+	160060: true,
+	160061: true,
+	160064: true,
+	160065: true,
+	160069: true,
+	160070: true,
+	161049: true,
+	161050: true,
+	161056: true,
+	161058: true,
+	161060: true,
+	161061: true,
+	161069: true,
+	161070: true,
+	161073: true,
+	161075: true,
+	162041: true,
+	162044: true,
+	162046: true,
+	162053: true,
+	162054: true,
+	162055: true,
+	162056: true,
+	162057: true,
+	162058: true,
+	162059: true,
+	162061: true,
+	162062: true,
+	163042: true,
+	163044: true,
+	163049: true,
+	163050: true,
+	163051: true,
+	163052: true,
+	163053: true,
+	163055: true,
+	163058: true,
+	163061: true,
+	163062: true,
+	163064: true,
+	163067: true,
+	163068: true,
+	163069: true,
+	163070: true,
+	163071: true,
+	163072: true,
+	163082: true,
+	163083: true,
+	163085: true,
+	163088: true,
+	163091: true,
+	163092: true,
+	163097: true,
+	163098: true,
+	164043: true,
+	164047: true,
+	164049: true,
+	164052: true,
+	164053: true,
+	164056: true,
+	164059: true,
+	164060: true,
+	164062: true,
+	164068: true,
+	164069: true,
+	164071: true,
+	164073: true,
+	164074: true,
+	164075: true,
+	164078: true,
+	164079: true,
+	164081: true,
+	164082: true,
+	164083: true,
+	164085: true,
+	164086: true,
+	164088: true,
+	164090: true,
+	164091: true,
+	164092: true,
+	164093: true,
+	164094: true,
+	164095: true,
+	165042: true,
+	165044: true,
+	165045: true,
+	165048: true,
+	165049: true,
+	165050: true,
+	165051: true,
+	165055: true,
+	165057: true,
+	165058: true,
+	165059: true,
+	165061: true,
+	165062: true,
+	165063: true,
+	165064: true,
+	165065: true,
+	165068: true,
+	165070: true,
+	165076: true,
+	165078: true,
+	165080: true,
+	165083: true,
+	165086: true,
+	165097: true,
+	165100: true,
+	165101: true,
+	166041: true,
+	166043: true,
+	166044: true,
+	166047: true,
+	166049: true,
+	166052: true,
+	166053: true,
+	166055: true,
+	166058: true,
+	166059: true,
+	166060: true,
+	166064: true,
+	166066: true,
+	166067: true,
+	166068: true,
+	166070: true,
+	166071: true,
+	166072: true,
+	166073: true,
+	166074: true,
+	166076: true,
+	166077: true,
+	166078: true,
+	166080: true,
+	167043: true,
+	167044: true,
+	167047: true,
+	167050: true,
+	167055: true,
+	167057: true,
+	167058: true,
+	168041: true,
+	168045: true,
+	170042: true,
+	170043: true,
+	170044: true,
+	170046: true,
+	170047: true,
+	170048: true,
+	170049: true,
+	171044: true,
+	171046: true,
+	171047: true,
+	171048: true,
+	171051: true,
+	172041: true,
+	172042: true,
+	172043: true,
+	172045: true,
+	172049: true,
+	173041: true,
+	173044: true,
+	173045: true,
+	174042: true,
+	174047: true,
+	174048: true,
+	174050: true,
+	174051: true,
+	174052: true,
+	174053: true,
+	174063: true,
+	174064: true,
+	174072: true,
+	174076: true,
+	174077: true,
+	174078: true,
+	174082: true,
+	174083: true,
+	174087: true,
+	175045: true,
+	175046: true,
+	175047: true,
+	175048: true,
+	176056: true,
+	176057: true,
+	176058: true,
+	176061: true,
+	176062: true,
+	176063: true,
+	176064: true,
+	176066: true,
+	176067: true,
+	176070: true,
+	176071: true,
+	176076: true,
+	178043: true,
+	178044: true,
+	178046: true,
+	178048: true,
+	179047: true,
+	179055: true,
+	179061: true,
+	179062: true,
+	179063: true,
+	179067: true,
+	179069: true,
+	179070: true,
+	179072: true,
+	179079: true,
+	179088: true,
+	179095: true,
+	179096: true,
+	179097: true,
+	179099: true,
+	179105: true,
+	179106: true,
+	179108: true,
+	179118: true,
+	179120: true,
+	179125: true,
+	179126: true,
+	179128: true,
+	179129: true,
+	179130: true,
+	180044: true,
+	180045: true,
+	180046: true,
+	180047: true,
+	180048: true,
+	180049: true,
+	180050: true,
+	180052: true,
+	180053: true,
+	180054: true,
+	180055: true,
+	180056: true,
+	180057: true,
+	180059: true,
+	180061: true,
+	180064: true,
+	180065: true,
+	180068: true,
+	180069: true,
+	180070: true,
+	180074: true,
+	180075: true,
+	180081: true,
+	180082: true,
+	180085: true,
+	180092: true,
+	180099: true,
+	180105: true,
+	180108: true,
+	180112: true,
+	180118: true,
+	181041: true,
+	181043: true,
+	181044: true,
+	181045: true,
+	181049: true,
+	181050: true,
+	181055: true,
+	181057: true,
+	181058: true,
+	181059: true,
+	181063: true,
+	181071: true,
+	181073: true,
+	181075: true,
+	181077: true,
+	181080: true,
+	181083: true,
+	181084: true,
+	181085: true,
+	181086: true,
+	181087: true,
+	181089: true,
+	181097: true,
+	181099: true,
+	181102: true,
+	181111: true,
+	181130: true,
+	181135: true,
+	181137: true,
+	181138: true,
+	181139: true,
+	181151: true,
+	181152: true,
+	181153: true,
+	181155: true,
+	181156: true,
+	181157: true,
+	181158: true,
+	181160: true,
+	181161: true,
+	181163: true,
+	181164: true,
+	181171: true,
+	181179: true,
+	181183: true,
+	181184: true,
+	181186: true,
+	182041: true,
+	182043: true,
+	182044: true,
+	183042: true,
+	183043: true,
+	183044: true,
+	183047: true,
+	183049: true,
+	183065: true,
+	183066: true,
+	183073: true,
+	183074: true,
+	183075: true,
+	183083: true,
+	183084: true,
+	183087: true,
+	183088: true,
+	183090: true,
+	183095: true,
+	183104: true,
+	183107: true,
+	183109: true,
+	183111: true,
+	183112: true,
+	183113: true,
+	183116: true,
+	183123: true,
+	183124: true,
+	183125: true,
+	183126: true,
+	183132: true,
+	183133: true,
+	183135: true,
+	183136: true,
+	183137: true,
+	183138: true,
+	183139: true,
+	183140: true,
+	183141: true,
+	183142: true,
+	183153: true,
+	183155: true,
+	183156: true,
+	183157: true,
+	183160: true,
+	184043: true,
+	184055: true,
+	184058: true,
+	184059: true,
+	184068: true,
+	184069: true,
+	184079: true,
+	184080: true,
+	184081: true,
+	185043: true,
+	185045: true,
+	186042: true,
+	186043: true,
+	186073: true,
+	186076: true,
+	186077: true,
+	186078: true,
+	186079: true,
+	186081: true,
+	186095: true,
+	186108: true,
+	186113: true,
+	186115: true,
+	186116: true,
+	186118: true,
+	186119: true,
+	186132: true,
+	186137: true,
+	186138: true,
+	186139: true,
+	186143: true,
+	186144: true,
+	186145: true,
+	186146: true,
+	186147: true,
+	186148: true,
+	186159: true,
+	186160: true,
+	186161: true,
+	186165: true,
+	186169: true,
+	186173: true,
+	186180: true,
+	186210: true,
+	186211: true,
+	186212: true,
+	186213: true,
+	186214: true,
+	186215: true,
+	186216: true,
+	186228: true,
+	186229: true,
+	186230: true,
+	186232: true,
+	186234: true,
+	186255: true,
+	186263: true,
+	186276: true,
+	186279: true,
+	186282: true,
+	186283: true,
+	188043: true,
+	189042: true,
+	189057: true,
+	189059: true,
+	189062: true,
+	189078: true,
+	189080: true,
+	189083: true,
+	189088: true,
+	189093: true,
+	189095: true,
+	189096: true,
+	189098: true,
+	189100: true,
+	190041: true,
+	190042: true,
+	190043: true,
+	190044: true,
+	190059: true,
+	190062: true,
+	190068: true,
+	190074: true,
+	190076: true,
+	190077: true,
+	190079: true,
+	190085: true,
+	190088: true,
+	190103: true,
+	190104: true,
+	193055: true,
+	193066: true,
+	193067: true,
+	193070: true,
+	193075: true,
+	193079: true,
+	193080: true,
+	193081: true,
+	193091: true,
+	193092: true,
+	193095: true,
+	193101: true,
+	193104: true,
+	194043: true,
+	194045: true,
+	194046: true,
+	194050: true,
+	194051: true,
+	194052: true,
+	194053: true,
+	194064: true,
+	194066: true,
+	194069: true,
+	194071: true,
+	194072: true,
+	194073: true,
+	194074: true,
+	194076: true,
+	194077: true,
+	194078: true,
+	194082: true,
+	194084: true,
+	194085: true,
+	194090: true,
+	194091: true,
+	194092: true,
+	194094: true,
+	194097: true,
+	194098: true,
+	194099: true,
+	194100: true,
+	194114: true,
+	194116: true,
+	194118: true,
+	194119: true,
+	194120: true,
+	194121: true,
+	194122: true,
+	194126: true,
+	194129: true,
+	194131: true,
+	194132: true,
+	194133: true,
+	194134: true,
+	194146: true,
+	194151: true,
+	194156: true,
+	194157: true,
+	194159: true,
+	194161: true,
+	194165: true,
+	195041: true,
+	195044: true,
+	195050: true,
+	195051: true,
+	195052: true,
+	195068: true,
+	195075: true,
+	195076: true,
+	195079: true,
+	195080: true,
+	195081: true,
+	196042: true,
+	196044: true,
+	196050: true,
+	196051: true,
+	196055: true,
+	196056: true,
+	196061: true,
+	196063: true,
+	196065: true,
+	196070: true,
+	196071: true,
+	196075: true,
+	196077: true,
+	196079: true,
+	196087: true,
+	196088: true,
+	196090: true,
+	196091: true,
+	197041: true,
+	197042: true,
+	197043: true,
+	197044: true,
+	198044: true,
+	198045: true,
+	198046: true,
+	198048: true,
+	198049: true,
+	198050: true,
+	198053: true,
+	198057: true,
+	198058: true,
+	198066: true,
+	198071: true,
+	198074: true,
+	198081: true,
+	198084: true,
+	198085: true,
+	198102: true,
+	199042: true,
+	199044: true,
+	199045: true,
+	199046: true,
+	199047: true,
+	199052: true,
+	199054: true,
+	199057: true,
+	199066: true,
+	199070: true,
+	199082: true,
+	199091: true,
+	199094: true,
+	199096: true,
+	201041: true,
+	201042: true,
+	201043: true,
+	201047: true,
+	201048: true,
+	201049: true,
+	201058: true,
+	201061: true,
+	201064: true,
+	201065: true,
+	201068: true,
+	202042: true,
+	202043: true,
+	202044: true,
+	202051: true,
+	202054: true,
+	202055: true,
+	203043: true,
+	203050: true,
+	203051: true,
+	203053: true,
+	203060: true,
+	203062: true,
+	204042: true,
+	204044: true,
+	204048: true,
+	204052: true,
+	204053: true,
+	204061: true,
+	204062: true,
+	204064: true,
+	204065: true,
+	204067: true,
+	204068: true,
+	204069: true,
+	205042: true,
+	205044: true,
+	206043: true,
+	206044: true,
+	206047: true,
+	206050: true,
+	206051: true,
+	206052: true,
+	206053: true,
+	206054: true,
+	206055: true,
+	206058: true,
+	206059: true,
+	206060: true,
+	206067: true,
+	206069: true,
+	206077: true,
+	206078: true,
+	206079: true,
+	206084: true,
+	206089: true,
+	206101: true,
+	206107: true,
+	206109: true,
+	207043: true,
+	207044: true,
+	207049: true,
+	207050: true,
+	207051: true,
+	207052: true,
+	207053: true,
+	207054: true,
+	207055: true,
+	207061: true,
+	207062: true,
+	207069: true,
+	207071: true,
+	207085: true,
+	207086: true,
+	207087: true,
+	207088: true,
+	207095: true,
+	207096: true,
+	207102: true,
+	207103: true,
+	207106: true,
+	207108: true,
+	207110: true,
+	207111: true,
+	207112: true,
+	209041: true,
+	209042: true,
+	209043: true,
+	209044: true,
+	210042: true,
+	210043: true,
+	210044: true,
+	210047: true,
+	211041: true,
+	212041: true,
+	212045: true,
+	212046: true,
+	212047: true,
+	213041: true,
+	213042: true,
+	214042: true,
+	214046: true,
+	214049: true,
+	214050: true,
+	215042: true,
+	215048: true,
+	215050: true,
+	216043: true,
+	216046: true,
+	216047: true,
+	216052: true,
+	216053: true,
+	216054: true,
+	216059: true,
+	216068: true,
+	217041: true,
+	217044: true,
+	217047: true,
+	217048: true,
+	217049: true,
+	217056: true,
+	217058: true,
+	217059: true,
+	217060: true,
+	217061: true,
+	217064: true,
+	217066: true,
+	217069: true,
+	217071: true,
+	217085: true,
+	217086: true,
+	217088: true,
+	217093: true,
+	217094: true,
+	217108: true,
+	217109: true,
+	217111: true,
+	217115: true,
+	217116: true,
+	218042: true,
+	218044: true,
+	218046: true,
+	218050: true,
+	218060: true,
+	218061: true,
+	218063: true,
+	218064: true,
+	218065: true,
+	218070: true,
+	218071: true,
+	218072: true,
+	218074: true,
+	218076: true,
+	222041: true,
+	223041: true,
+	223043: true,
+	223044: true,
+	223050: true,
+	223052: true,
+	223054: true,
+	223058: true,
+	223059: true,
+	223061: true,
+	223068: true,
+	223069: true,
+	223070: true,
+	223071: true,
+	223073: true,
+	223075: true,
+	223076: true,
+	223083: true,
+	223087: true,
+	223094: true,
+	223096: true,
+	223101: true,
+	223106: true,
+	223108: true,
+	224041: true,
+	224042: true,
+	224043: true,
+	224045: true,
+	224051: true,
+	224053: true,
+	224057: true,
+	224060: true,
+	224061: true,
+	224062: true,
+	224063: true,
+	224068: true,
+	224069: true,
+	224081: true,
+	224084: true,
+	224087: true,
+	224090: true,
+	224096: true,
+	224105: true,
+	225042: true,
+	227041: true,
+	229045: true,
+	229046: true,
+	229048: true,
+	229049: true,
+	229050: true,
+	231042: true,
+	236041: true,
+	237041: true,
+	238041: true,
+	238042: true,
+	240041: true,
+	240042: true,
+	240043: true,
+	241041: true,
+	243041: true,
+	244041: true,
+	245041: true,
+	247041: true,
+	250041: true,
+	252041: true,
+	253041: true,
+	253045: true,
+	254043: true,
+	255042: true,
+	255043: true,
+	257041: true,
+	257042: true,
+	258041: true,
+	261041: true,
+	264041: true,
+	294042: true,
+	296042: true,
+}
internal/godoc/search.go
@@ -0,0 +1,186 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"fmt"
+	"net/http"
+	"regexp"
+	"strings"
+)
+
+type SearchResult struct {
+	Query string
+	Alert string // error or warning message
+
+	// identifier matches
+	Pak HitList       // packages matching Query
+	Hit *LookupResult // identifier matches of Query
+	Alt *AltWords     // alternative identifiers to look for
+
+	// textual matches
+	Found    int         // number of textual occurrences found
+	Textual  []FileLines // textual matches of Query
+	Complete bool        // true if all textual occurrences of Query are reported
+	Idents   map[SpotKind][]Ident
+}
+
+func (c *Corpus) Lookup(query string) SearchResult {
+	result := &SearchResult{Query: query}
+
+	index, timestamp := c.CurrentIndex()
+	if index != nil {
+		// identifier search
+		if r, err := index.Lookup(query); err == nil {
+			result = r
+		} else if err != nil && !c.IndexFullText {
+			// ignore the error if full text search is enabled
+			// since the query may be a valid regular expression
+			result.Alert = "Error in query string: " + err.Error()
+			return *result
+		}
+
+		// full text search
+		if c.IndexFullText && query != "" {
+			rx, err := regexp.Compile(query)
+			if err != nil {
+				result.Alert = "Error in query regular expression: " + err.Error()
+				return *result
+			}
+			// If we get maxResults+1 results we know that there are more than
+			// maxResults results and thus the result may be incomplete (to be
+			// precise, we should remove one result from the result set, but
+			// nobody is going to count the results on the result page).
+			result.Found, result.Textual = index.LookupRegexp(rx, c.MaxResults+1)
+			result.Complete = result.Found <= c.MaxResults
+			if !result.Complete {
+				result.Found-- // since we looked for maxResults+1
+			}
+		}
+	}
+
+	// is the result accurate?
+	if c.IndexEnabled {
+		if ts := c.FSModifiedTime(); timestamp.Before(ts) {
+			// The index is older than the latest file system change under godoc's observation.
+			result.Alert = "Indexing in progress: result may be inaccurate"
+		}
+	} else {
+		result.Alert = "Search index disabled: no results available"
+	}
+
+	return *result
+}
+
+// SearchResultDoc optionally specifies a function returning an HTML body
+// displaying search results matching godoc documentation.
+func (p *Presentation) SearchResultDoc(result SearchResult) []byte {
+	return applyTemplate(p.SearchDocHTML, "searchDocHTML", result)
+}
+
+// SearchResultCode optionally specifies a function returning an HTML body
+// displaying search results matching source code.
+func (p *Presentation) SearchResultCode(result SearchResult) []byte {
+	return applyTemplate(p.SearchCodeHTML, "searchCodeHTML", result)
+}
+
+// SearchResultTxt optionally specifies a function returning an HTML body
+// displaying search results of textual matches.
+func (p *Presentation) SearchResultTxt(result SearchResult) []byte {
+	return applyTemplate(p.SearchTxtHTML, "searchTxtHTML", result)
+}
+
+// HandleSearch obtains results for the requested search and returns a page
+// to display them.
+func (p *Presentation) HandleSearch(w http.ResponseWriter, r *http.Request) {
+	query := strings.TrimSpace(r.FormValue("q"))
+	result := p.Corpus.Lookup(query)
+
+	var contents bytes.Buffer
+	for _, f := range p.SearchResults {
+		contents.Write(f(p, result))
+	}
+
+	var title string
+	if haveResults := contents.Len() > 0; haveResults {
+		title = fmt.Sprintf(`Results for query: %v`, query)
+		if !p.Corpus.IndexEnabled {
+			result.Alert = ""
+		}
+	} else {
+		title = fmt.Sprintf(`No results found for query %q`, query)
+	}
+
+	body := bytes.NewBuffer(applyTemplate(p.SearchHTML, "searchHTML", result))
+	body.Write(contents.Bytes())
+
+	p.ServePage(w, Page{
+		Title:    title,
+		Tabtitle: query,
+		Query:    query,
+		Body:     body.Bytes(),
+		GoogleCN: googleCN(r),
+	})
+}
+
+func (p *Presentation) serveSearchDesc(w http.ResponseWriter, r *http.Request) {
+	w.Header().Set("Content-Type", "application/opensearchdescription+xml")
+	data := map[string]interface{}{
+		"BaseURL": fmt.Sprintf("http://%s", r.Host),
+	}
+	applyTemplateToResponseWriter(w, p.SearchDescXML, &data)
+}
+
+// tocColCount returns the no. of columns
+// to split the toc table to.
+func tocColCount(result SearchResult) int {
+	tocLen := tocLen(result)
+	colCount := 0
+	// Simple heuristic based on visual aesthetic in manual testing.
+	switch {
+	case tocLen <= 10:
+		colCount = 1
+	case tocLen <= 20:
+		colCount = 2
+	case tocLen <= 80:
+		colCount = 3
+	default:
+		colCount = 4
+	}
+	return colCount
+}
+
+// tocLen calculates the no. of items in the toc table
+// by going through various fields in the SearchResult
+// that is rendered in the UI.
+func tocLen(result SearchResult) int {
+	tocLen := 0
+	for _, val := range result.Idents {
+		if len(val) != 0 {
+			tocLen++
+		}
+	}
+	// If no identifiers, then just one item for the header text "Package <result.Query>".
+	// See searchcode.html for further details.
+	if len(result.Idents) == 0 {
+		tocLen++
+	}
+	if result.Hit != nil {
+		if len(result.Hit.Decls) > 0 {
+			tocLen += len(result.Hit.Decls)
+			// We need one extra item for the header text "Package-level declarations".
+			tocLen++
+		}
+		if len(result.Hit.Others) > 0 {
+			tocLen += len(result.Hit.Others)
+			// We need one extra item for the header text "Local declarations and uses".
+			tocLen++
+		}
+	}
+	// For "textual occurrences".
+	tocLen++
+	return tocLen
+}
internal/godoc/server.go
@@ -0,0 +1,858 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"encoding/json"
+	"errors"
+	"fmt"
+	"go/ast"
+	"go/build"
+	"go/doc"
+	"go/token"
+	htmlpkg "html"
+	htmltemplate "html/template"
+	"io"
+	"io/ioutil"
+	"log"
+	"net/http"
+	"os"
+	pathpkg "path"
+	"path/filepath"
+	"sort"
+	"strings"
+	"text/template"
+	"time"
+
+	"golang.org/x/website/internal/godoc/analysis"
+	"golang.org/x/website/internal/godoc/util"
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// handlerServer is a migration from an old godoc http Handler type.
+// This should probably merge into something else.
+type handlerServer struct {
+	p           *Presentation
+	c           *Corpus  // copy of p.Corpus
+	pattern     string   // url pattern; e.g. "/pkg/"
+	stripPrefix string   // prefix to strip from import path; e.g. "pkg/"
+	fsRoot      string   // file system root to which the pattern is mapped; e.g. "/src"
+	exclude     []string // file system paths to exclude; e.g. "/src/cmd"
+}
+
+func (s *handlerServer) registerWithMux(mux *http.ServeMux) {
+	mux.Handle(s.pattern, s)
+}
+
+// GetPageInfo returns the PageInfo for a package directory abspath. If the
+// parameter genAST is set, an AST containing only the package exports is
+// computed (PageInfo.PAst), otherwise package documentation (PageInfo.Doc)
+// is extracted from the AST. If there is no corresponding package in the
+// directory, PageInfo.PAst and PageInfo.PDoc are nil. If there are no sub-
+// directories, PageInfo.Dirs is nil. If an error occurred, PageInfo.Err is
+// set to the respective error but the error is not logged.
+//
+func (h *handlerServer) GetPageInfo(abspath, relpath string, mode PageInfoMode, goos, goarch string) *PageInfo {
+	info := &PageInfo{Dirname: abspath, Mode: mode}
+
+	// Restrict to the package files that would be used when building
+	// the package on this system.  This makes sure that if there are
+	// separate implementations for, say, Windows vs Unix, we don't
+	// jumble them all together.
+	// Note: If goos/goarch aren't set, the current binary's GOOS/GOARCH
+	// are used.
+	ctxt := build.Default
+	ctxt.IsAbsPath = pathpkg.IsAbs
+	ctxt.IsDir = func(path string) bool {
+		fi, err := h.c.fs.Stat(filepath.ToSlash(path))
+		return err == nil && fi.IsDir()
+	}
+	ctxt.ReadDir = func(dir string) ([]os.FileInfo, error) {
+		f, err := h.c.fs.ReadDir(filepath.ToSlash(dir))
+		filtered := make([]os.FileInfo, 0, len(f))
+		for _, i := range f {
+			if mode&NoFiltering != 0 || i.Name() != "internal" {
+				filtered = append(filtered, i)
+			}
+		}
+		return filtered, err
+	}
+	ctxt.OpenFile = func(name string) (r io.ReadCloser, err error) {
+		data, err := vfs.ReadFile(h.c.fs, filepath.ToSlash(name))
+		if err != nil {
+			return nil, err
+		}
+		return ioutil.NopCloser(bytes.NewReader(data)), nil
+	}
+
+	// Make the syscall/js package always visible by default.
+	// It defaults to the host's GOOS/GOARCH, and golang.org's
+	// linux/amd64 means the wasm syscall/js package was blank.
+	// And you can't run godoc on js/wasm anyway, so host defaults
+	// don't make sense here.
+	if goos == "" && goarch == "" && relpath == "syscall/js" {
+		goos, goarch = "js", "wasm"
+	}
+	if goos != "" {
+		ctxt.GOOS = goos
+	}
+	if goarch != "" {
+		ctxt.GOARCH = goarch
+	}
+
+	pkginfo, err := ctxt.ImportDir(abspath, 0)
+	// continue if there are no Go source files; we still want the directory info
+	if _, nogo := err.(*build.NoGoError); err != nil && !nogo {
+		info.Err = err
+		return info
+	}
+
+	// collect package files
+	pkgname := pkginfo.Name
+	pkgfiles := append(pkginfo.GoFiles, pkginfo.CgoFiles...)
+	if len(pkgfiles) == 0 {
+		// Commands written in C have no .go files in the build.
+		// Instead, documentation may be found in an ignored file.
+		// The file may be ignored via an explicit +build ignore
+		// constraint (recommended), or by defining the package
+		// documentation (historic).
+		pkgname = "main" // assume package main since pkginfo.Name == ""
+		pkgfiles = pkginfo.IgnoredGoFiles
+	}
+
+	// get package information, if any
+	if len(pkgfiles) > 0 {
+		// build package AST
+		fset := token.NewFileSet()
+		files, err := h.c.parseFiles(fset, relpath, abspath, pkgfiles)
+		if err != nil {
+			info.Err = err
+			return info
+		}
+
+		// ignore any errors - they are due to unresolved identifiers
+		pkg, _ := ast.NewPackage(fset, files, poorMansImporter, nil)
+
+		// extract package documentation
+		info.FSet = fset
+		if mode&ShowSource == 0 {
+			// show extracted documentation
+			var m doc.Mode
+			if mode&NoFiltering != 0 {
+				m |= doc.AllDecls
+			}
+			if mode&AllMethods != 0 {
+				m |= doc.AllMethods
+			}
+			info.PDoc = doc.New(pkg, pathpkg.Clean(relpath), m) // no trailing '/' in importpath
+			if mode&NoTypeAssoc != 0 {
+				for _, t := range info.PDoc.Types {
+					info.PDoc.Consts = append(info.PDoc.Consts, t.Consts...)
+					info.PDoc.Vars = append(info.PDoc.Vars, t.Vars...)
+					info.PDoc.Funcs = append(info.PDoc.Funcs, t.Funcs...)
+					t.Consts = nil
+					t.Vars = nil
+					t.Funcs = nil
+				}
+				// for now we cannot easily sort consts and vars since
+				// go/doc.Value doesn't export the order information
+				sort.Sort(funcsByName(info.PDoc.Funcs))
+			}
+
+			// collect examples
+			testfiles := append(pkginfo.TestGoFiles, pkginfo.XTestGoFiles...)
+			files, err = h.c.parseFiles(fset, relpath, abspath, testfiles)
+			if err != nil {
+				log.Println("parsing examples:", err)
+			}
+			info.Examples = collectExamples(h.c, pkg, files)
+
+			// collect any notes that we want to show
+			if info.PDoc.Notes != nil {
+				// could regexp.Compile only once per godoc, but probably not worth it
+				if rx := h.p.NotesRx; rx != nil {
+					for m, n := range info.PDoc.Notes {
+						if rx.MatchString(m) {
+							if info.Notes == nil {
+								info.Notes = make(map[string][]*doc.Note)
+							}
+							info.Notes[m] = n
+						}
+					}
+				}
+			}
+
+		} else {
+			// show source code
+			// TODO(gri) Consider eliminating export filtering in this mode,
+			//           or perhaps eliminating the mode altogether.
+			if mode&NoFiltering == 0 {
+				packageExports(fset, pkg)
+			}
+			info.PAst = files
+		}
+		info.IsMain = pkgname == "main"
+	}
+
+	// get directory information, if any
+	var dir *Directory
+	var timestamp time.Time
+	if tree, ts := h.c.fsTree.Get(); tree != nil && tree.(*Directory) != nil {
+		// directory tree is present; lookup respective directory
+		// (may still fail if the file system was updated and the
+		// new directory tree has not yet been computed)
+		dir = tree.(*Directory).lookup(abspath)
+		timestamp = ts
+	}
+	if dir == nil {
+		// TODO(agnivade): handle this case better, now since there is no CLI mode.
+		// no directory tree present (happens in command-line mode);
+		// compute 2 levels for this page. The second level is to
+		// get the synopses of sub-directories.
+		// note: cannot use path filter here because in general
+		// it doesn't contain the FSTree path
+		dir = h.c.newDirectory(abspath, 2)
+		timestamp = time.Now()
+	}
+	info.Dirs = dir.listing(true, func(path string) bool { return h.includePath(path, mode) })
+
+	info.DirTime = timestamp
+	info.DirFlat = mode&FlatDir != 0
+
+	return info
+}
+
+func (h *handlerServer) includePath(path string, mode PageInfoMode) (r bool) {
+	// if the path is under one of the exclusion paths, don't list.
+	for _, e := range h.exclude {
+		if strings.HasPrefix(path, e) {
+			return false
+		}
+	}
+
+	// if the path includes 'internal', don't list unless we are in the NoFiltering mode.
+	if mode&NoFiltering != 0 {
+		return true
+	}
+	if strings.Contains(path, "internal") || strings.Contains(path, "vendor") {
+		for _, c := range strings.Split(filepath.Clean(path), string(os.PathSeparator)) {
+			if c == "internal" || c == "vendor" {
+				return false
+			}
+		}
+	}
+	return true
+}
+
+type funcsByName []*doc.Func
+
+func (s funcsByName) Len() int           { return len(s) }
+func (s funcsByName) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
+func (s funcsByName) Less(i, j int) bool { return s[i].Name < s[j].Name }
+
+func (h *handlerServer) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	if redirect(w, r) {
+		return
+	}
+
+	relpath := pathpkg.Clean(r.URL.Path[len(h.stripPrefix)+1:])
+
+	if !h.corpusInitialized() {
+		h.p.ServeError(w, r, relpath, errors.New("Scan is not yet complete. Please retry after a few moments"))
+		return
+	}
+
+	abspath := pathpkg.Join(h.fsRoot, relpath)
+	mode := h.p.GetPageInfoMode(r)
+	if relpath == builtinPkgPath {
+		// The fake built-in package contains unexported identifiers,
+		// but we want to show them. Also, disable type association,
+		// since it's not helpful for this fake package (see issue 6645).
+		mode |= NoFiltering | NoTypeAssoc
+	}
+	info := h.GetPageInfo(abspath, relpath, mode, r.FormValue("GOOS"), r.FormValue("GOARCH"))
+	if info.Err != nil {
+		log.Print(info.Err)
+		h.p.ServeError(w, r, relpath, info.Err)
+		return
+	}
+
+	var tabtitle, title, subtitle string
+	switch {
+	case info.PAst != nil:
+		for _, ast := range info.PAst {
+			tabtitle = ast.Name.Name
+			break
+		}
+	case info.PDoc != nil:
+		tabtitle = info.PDoc.Name
+	default:
+		tabtitle = info.Dirname
+		title = "Directory "
+		if h.p.ShowTimestamps {
+			subtitle = "Last update: " + info.DirTime.String()
+		}
+	}
+	if title == "" {
+		if info.IsMain {
+			// assume that the directory name is the command name
+			_, tabtitle = pathpkg.Split(relpath)
+			title = "Command "
+		} else {
+			title = "Package "
+		}
+	}
+	title += tabtitle
+
+	// special cases for top-level package/command directories
+	switch tabtitle {
+	case "/src":
+		title = "Packages"
+		tabtitle = "Packages"
+	case "/src/cmd":
+		title = "Commands"
+		tabtitle = "Commands"
+	}
+
+	// Emit JSON array for type information.
+	pi := h.c.Analysis.PackageInfo(relpath)
+	hasTreeView := len(pi.CallGraph) != 0
+	info.CallGraphIndex = pi.CallGraphIndex
+	info.CallGraph = htmltemplate.JS(marshalJSON(pi.CallGraph))
+	info.AnalysisData = htmltemplate.JS(marshalJSON(pi.Types))
+	info.TypeInfoIndex = make(map[string]int)
+	for i, ti := range pi.Types {
+		info.TypeInfoIndex[ti.Name] = i
+	}
+
+	info.GoogleCN = googleCN(r)
+	var body []byte
+	if info.Dirname == "/src" {
+		body = applyTemplate(h.p.PackageRootHTML, "packageRootHTML", info)
+	} else {
+		body = applyTemplate(h.p.PackageHTML, "packageHTML", info)
+	}
+	h.p.ServePage(w, Page{
+		Title:    title,
+		Tabtitle: tabtitle,
+		Subtitle: subtitle,
+		Body:     body,
+		GoogleCN: info.GoogleCN,
+		TreeView: hasTreeView,
+	})
+}
+
+func (h *handlerServer) corpusInitialized() bool {
+	h.c.initMu.RLock()
+	defer h.c.initMu.RUnlock()
+	return h.c.initDone
+}
+
+type PageInfoMode uint
+
+const (
+	PageInfoModeQueryString = "m" // query string where PageInfoMode is stored
+
+	NoFiltering PageInfoMode = 1 << iota // do not filter exports
+	AllMethods                           // show all embedded methods
+	ShowSource                           // show source code, do not extract documentation
+	FlatDir                              // show directory in a flat (non-indented) manner
+	NoTypeAssoc                          // don't associate consts, vars, and factory functions with types (not exposed via ?m= query parameter, used for package builtin, see issue 6645)
+)
+
+// modeNames defines names for each PageInfoMode flag.
+var modeNames = map[string]PageInfoMode{
+	"all":     NoFiltering,
+	"methods": AllMethods,
+	"src":     ShowSource,
+	"flat":    FlatDir,
+}
+
+// generate a query string for persisting PageInfoMode between pages.
+func modeQueryString(mode PageInfoMode) string {
+	if modeNames := mode.names(); len(modeNames) > 0 {
+		return "?m=" + strings.Join(modeNames, ",")
+	}
+	return ""
+}
+
+// alphabetically sorted names of active flags for a PageInfoMode.
+func (m PageInfoMode) names() []string {
+	var names []string
+	for name, mode := range modeNames {
+		if m&mode != 0 {
+			names = append(names, name)
+		}
+	}
+	sort.Strings(names)
+	return names
+}
+
+// GetPageInfoMode computes the PageInfoMode flags by analyzing the request
+// URL form value "m". It is value is a comma-separated list of mode names
+// as defined by modeNames (e.g.: m=src,text).
+func (p *Presentation) GetPageInfoMode(r *http.Request) PageInfoMode {
+	var mode PageInfoMode
+	for _, k := range strings.Split(r.FormValue(PageInfoModeQueryString), ",") {
+		if m, found := modeNames[strings.TrimSpace(k)]; found {
+			mode |= m
+		}
+	}
+	if p.AdjustPageInfoMode != nil {
+		mode = p.AdjustPageInfoMode(r, mode)
+	}
+	return mode
+}
+
+// poorMansImporter returns a (dummy) package object named
+// by the last path component of the provided package path
+// (as is the convention for packages). This is sufficient
+// to resolve package identifiers without doing an actual
+// import. It never returns an error.
+//
+func poorMansImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) {
+	pkg := imports[path]
+	if pkg == nil {
+		// note that strings.LastIndex returns -1 if there is no "/"
+		pkg = ast.NewObj(ast.Pkg, path[strings.LastIndex(path, "/")+1:])
+		pkg.Data = ast.NewScope(nil) // required by ast.NewPackage for dot-import
+		imports[path] = pkg
+	}
+	return pkg, nil
+}
+
+// globalNames returns a set of the names declared by all package-level
+// declarations. Method names are returned in the form Receiver_Method.
+func globalNames(pkg *ast.Package) map[string]bool {
+	names := make(map[string]bool)
+	for _, file := range pkg.Files {
+		for _, decl := range file.Decls {
+			addNames(names, decl)
+		}
+	}
+	return names
+}
+
+// collectExamples collects examples for pkg from testfiles.
+func collectExamples(c *Corpus, pkg *ast.Package, testfiles map[string]*ast.File) []*doc.Example {
+	var files []*ast.File
+	for _, f := range testfiles {
+		files = append(files, f)
+	}
+
+	var examples []*doc.Example
+	globals := globalNames(pkg)
+	for _, e := range doc.Examples(files...) {
+		name := stripExampleSuffix(e.Name)
+		if name == "" || globals[name] {
+			examples = append(examples, e)
+		} else if c.Verbose {
+			log.Printf("skipping example 'Example%s' because '%s' is not a known function or type", e.Name, e.Name)
+		}
+	}
+
+	return examples
+}
+
+// addNames adds the names declared by decl to the names set.
+// Method names are added in the form ReceiverTypeName_Method.
+func addNames(names map[string]bool, decl ast.Decl) {
+	switch d := decl.(type) {
+	case *ast.FuncDecl:
+		name := d.Name.Name
+		if d.Recv != nil {
+			var typeName string
+			switch r := d.Recv.List[0].Type.(type) {
+			case *ast.StarExpr:
+				typeName = r.X.(*ast.Ident).Name
+			case *ast.Ident:
+				typeName = r.Name
+			}
+			name = typeName + "_" + name
+		}
+		names[name] = true
+	case *ast.GenDecl:
+		for _, spec := range d.Specs {
+			switch s := spec.(type) {
+			case *ast.TypeSpec:
+				names[s.Name.Name] = true
+			case *ast.ValueSpec:
+				for _, id := range s.Names {
+					names[id.Name] = true
+				}
+			}
+		}
+	}
+}
+
+// packageExports is a local implementation of ast.PackageExports
+// which correctly updates each package file's comment list.
+// (The ast.PackageExports signature is frozen, hence the local
+// implementation).
+//
+func packageExports(fset *token.FileSet, pkg *ast.Package) {
+	for _, src := range pkg.Files {
+		cmap := ast.NewCommentMap(fset, src, src.Comments)
+		ast.FileExports(src)
+		src.Comments = cmap.Filter(src).Comments()
+	}
+}
+
+func applyTemplate(t *template.Template, name string, data interface{}) []byte {
+	var buf bytes.Buffer
+	if err := t.Execute(&buf, data); err != nil {
+		log.Printf("%s.Execute: %s", name, err)
+	}
+	return buf.Bytes()
+}
+
+type writerCapturesErr struct {
+	w   io.Writer
+	err error
+}
+
+func (w *writerCapturesErr) Write(p []byte) (int, error) {
+	n, err := w.w.Write(p)
+	if err != nil {
+		w.err = err
+	}
+	return n, err
+}
+
+// applyTemplateToResponseWriter uses an http.ResponseWriter as the io.Writer
+// for the call to template.Execute.  It uses an io.Writer wrapper to capture
+// errors from the underlying http.ResponseWriter.  Errors are logged only when
+// they come from the template processing and not the Writer; this avoid
+// polluting log files with error messages due to networking issues, such as
+// client disconnects and http HEAD protocol violations.
+func applyTemplateToResponseWriter(rw http.ResponseWriter, t *template.Template, data interface{}) {
+	w := &writerCapturesErr{w: rw}
+	err := t.Execute(w, data)
+	// There are some cases where template.Execute does not return an error when
+	// rw returns an error, and some where it does.  So check w.err first.
+	if w.err == nil && err != nil {
+		// Log template errors.
+		log.Printf("%s.Execute: %s", t.Name(), err)
+	}
+}
+
+func redirect(w http.ResponseWriter, r *http.Request) (redirected bool) {
+	canonical := pathpkg.Clean(r.URL.Path)
+	if !strings.HasSuffix(canonical, "/") {
+		canonical += "/"
+	}
+	if r.URL.Path != canonical {
+		url := *r.URL
+		url.Path = canonical
+		http.Redirect(w, r, url.String(), http.StatusMovedPermanently)
+		redirected = true
+	}
+	return
+}
+
+func redirectFile(w http.ResponseWriter, r *http.Request) (redirected bool) {
+	c := pathpkg.Clean(r.URL.Path)
+	c = strings.TrimRight(c, "/")
+	if r.URL.Path != c {
+		url := *r.URL
+		url.Path = c
+		http.Redirect(w, r, url.String(), http.StatusMovedPermanently)
+		redirected = true
+	}
+	return
+}
+
+func (p *Presentation) serveTextFile(w http.ResponseWriter, r *http.Request, abspath, relpath, title string) {
+	src, err := vfs.ReadFile(p.Corpus.fs, abspath)
+	if err != nil {
+		log.Printf("ReadFile: %s", err)
+		p.ServeError(w, r, relpath, err)
+		return
+	}
+
+	if r.FormValue(PageInfoModeQueryString) == "text" {
+		p.ServeText(w, src)
+		return
+	}
+
+	h := r.FormValue("h")
+	s := RangeSelection(r.FormValue("s"))
+
+	var buf bytes.Buffer
+	if pathpkg.Ext(abspath) == ".go" {
+		// Find markup links for this file (e.g. "/src/fmt/print.go").
+		fi := p.Corpus.Analysis.FileInfo(abspath)
+		buf.WriteString("<script type='text/javascript'>document.ANALYSIS_DATA = ")
+		buf.Write(marshalJSON(fi.Data))
+		buf.WriteString(";</script>\n")
+
+		if status := p.Corpus.Analysis.Status(); status != "" {
+			buf.WriteString("<a href='/lib/godoc/analysis/help.html'>Static analysis features</a> ")
+			// TODO(adonovan): show analysis status at per-file granularity.
+			fmt.Fprintf(&buf, "<span style='color: grey'>[%s]</span><br/>", htmlpkg.EscapeString(status))
+		}
+
+		buf.WriteString("<pre>")
+		formatGoSource(&buf, src, fi.Links, h, s)
+		buf.WriteString("</pre>")
+	} else {
+		buf.WriteString("<pre>")
+		FormatText(&buf, src, 1, false, h, s)
+		buf.WriteString("</pre>")
+	}
+	fmt.Fprintf(&buf, `<p><a href="/%s?m=text">View as plain text</a></p>`, htmlpkg.EscapeString(relpath))
+
+	p.ServePage(w, Page{
+		Title:    title,
+		SrcPath:  relpath,
+		Tabtitle: relpath,
+		Body:     buf.Bytes(),
+		GoogleCN: googleCN(r),
+	})
+}
+
+// formatGoSource HTML-escapes Go source text and writes it to w,
+// decorating it with the specified analysis links.
+//
+func formatGoSource(buf *bytes.Buffer, text []byte, links []analysis.Link, pattern string, selection Selection) {
+	// Emit to a temp buffer so that we can add line anchors at the end.
+	saved, buf := buf, new(bytes.Buffer)
+
+	var i int
+	var link analysis.Link // shared state of the two funcs below
+	segmentIter := func() (seg Segment) {
+		if i < len(links) {
+			link = links[i]
+			i++
+			seg = Segment{link.Start(), link.End()}
+		}
+		return
+	}
+	linkWriter := func(w io.Writer, offs int, start bool) {
+		link.Write(w, offs, start)
+	}
+
+	comments := tokenSelection(text, token.COMMENT)
+	var highlights Selection
+	if pattern != "" {
+		highlights = regexpSelection(text, pattern)
+	}
+
+	FormatSelections(buf, text, linkWriter, segmentIter, selectionTag, comments, highlights, selection)
+
+	// Now copy buf to saved, adding line anchors.
+
+	// The lineSelection mechanism can't be composed with our
+	// linkWriter, so we have to add line spans as another pass.
+	n := 1
+	for _, line := range bytes.Split(buf.Bytes(), []byte("\n")) {
+		// The line numbers are inserted into the document via a CSS ::before
+		// pseudo-element. This prevents them from being copied when users
+		// highlight and copy text.
+		// ::before is supported in 98% of browsers: https://caniuse.com/#feat=css-gencontent
+		// This is also the trick Github uses to hide line numbers.
+		//
+		// The first tab for the code snippet needs to start in column 9, so
+		// it indents a full 8 spaces, hence the two nbsp's. Otherwise the tab
+		// character only indents a short amount.
+		//
+		// Due to rounding and font width Firefox might not treat 8 rendered
+		// characters as 8 characters wide, and subsequently may treat the tab
+		// character in the 9th position as moving the width from (7.5 or so) up
+		// to 8. See
+		// https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
+		// for a fuller explanation. The solution is to add a CSS class to
+		// explicitly declare the width to be 8 characters.
+		fmt.Fprintf(saved, `<span id="L%d" class="ln">%6d&nbsp;&nbsp;</span>`, n, n)
+		n++
+		saved.Write(line)
+		saved.WriteByte('\n')
+	}
+}
+
+func (p *Presentation) serveDirectory(w http.ResponseWriter, r *http.Request, abspath, relpath string) {
+	if redirect(w, r) {
+		return
+	}
+
+	list, err := p.Corpus.fs.ReadDir(abspath)
+	if err != nil {
+		p.ServeError(w, r, relpath, err)
+		return
+	}
+
+	p.ServePage(w, Page{
+		Title:    "Directory",
+		SrcPath:  relpath,
+		Tabtitle: relpath,
+		Body:     applyTemplate(p.DirlistHTML, "dirlistHTML", list),
+		GoogleCN: googleCN(r),
+	})
+}
+
+func (p *Presentation) ServeHTMLDoc(w http.ResponseWriter, r *http.Request, abspath, relpath string) {
+	// get HTML body contents
+	isMarkdown := false
+	src, err := vfs.ReadFile(p.Corpus.fs, abspath)
+	if err != nil && strings.HasSuffix(abspath, ".html") {
+		if md, errMD := vfs.ReadFile(p.Corpus.fs, strings.TrimSuffix(abspath, ".html")+".md"); errMD == nil {
+			src = md
+			isMarkdown = true
+			err = nil
+		}
+	}
+	if err != nil {
+		log.Printf("ReadFile: %s", err)
+		p.ServeError(w, r, relpath, err)
+		return
+	}
+
+	// if it begins with "<!DOCTYPE " assume it is standalone
+	// html that doesn't need the template wrapping.
+	if bytes.HasPrefix(src, doctype) {
+		w.Write(src)
+		return
+	}
+
+	// if it begins with a JSON blob, read in the metadata.
+	meta, src, err := extractMetadata(src)
+	if err != nil {
+		log.Printf("decoding metadata %s: %v", relpath, err)
+	}
+
+	page := Page{
+		Title:    meta.Title,
+		Subtitle: meta.Subtitle,
+		GoogleCN: googleCN(r),
+	}
+
+	// evaluate as template if indicated
+	if meta.Template {
+		tmpl, err := template.New("main").Funcs(p.TemplateFuncs()).Parse(string(src))
+		if err != nil {
+			log.Printf("parsing template %s: %v", relpath, err)
+			p.ServeError(w, r, relpath, err)
+			return
+		}
+		var buf bytes.Buffer
+		if err := tmpl.Execute(&buf, page); err != nil {
+			log.Printf("executing template %s: %v", relpath, err)
+			p.ServeError(w, r, relpath, err)
+			return
+		}
+		src = buf.Bytes()
+	}
+
+	// Apply markdown as indicated.
+	// (Note template applies before Markdown.)
+	if isMarkdown {
+		html, err := renderMarkdown(src)
+		if err != nil {
+			log.Printf("executing markdown %s: %v", relpath, err)
+			p.ServeError(w, r, relpath, err)
+			return
+		}
+		src = html
+	}
+
+	// if it's the language spec, add tags to EBNF productions
+	if strings.HasSuffix(abspath, "go_spec.html") {
+		var buf bytes.Buffer
+		Linkify(&buf, src)
+		src = buf.Bytes()
+	}
+
+	page.Body = src
+	p.ServePage(w, page)
+}
+
+func (p *Presentation) ServeFile(w http.ResponseWriter, r *http.Request) {
+	p.serveFile(w, r)
+}
+
+func (p *Presentation) serveFile(w http.ResponseWriter, r *http.Request) {
+	if strings.HasSuffix(r.URL.Path, "/index.html") {
+		// We'll show index.html for the directory.
+		// Use the dir/ version as canonical instead of dir/index.html.
+		http.Redirect(w, r, r.URL.Path[0:len(r.URL.Path)-len("index.html")], http.StatusMovedPermanently)
+		return
+	}
+
+	// Check to see if we need to redirect or serve another file.
+	relpath := r.URL.Path
+	if m := p.Corpus.MetadataFor(relpath); m != nil {
+		if m.Path != relpath {
+			// Redirect to canonical path.
+			http.Redirect(w, r, m.Path, http.StatusMovedPermanently)
+			return
+		}
+		// Serve from the actual filesystem path.
+		relpath = m.filePath
+	}
+
+	abspath := relpath
+	relpath = relpath[1:] // strip leading slash
+
+	switch pathpkg.Ext(relpath) {
+	case ".html":
+		p.ServeHTMLDoc(w, r, abspath, relpath)
+		return
+
+	case ".go":
+		p.serveTextFile(w, r, abspath, relpath, "Source file")
+		return
+	}
+
+	dir, err := p.Corpus.fs.Lstat(abspath)
+	if err != nil {
+		log.Print(err)
+		p.ServeError(w, r, relpath, err)
+		return
+	}
+
+	if dir != nil && dir.IsDir() {
+		if redirect(w, r) {
+			return
+		}
+		index := pathpkg.Join(abspath, "index.html")
+		if util.IsTextFile(p.Corpus.fs, index) || util.IsTextFile(p.Corpus.fs, pathpkg.Join(abspath, "index.md")) {
+			p.ServeHTMLDoc(w, r, index, index)
+			return
+		}
+		p.serveDirectory(w, r, abspath, relpath)
+		return
+	}
+
+	if util.IsTextFile(p.Corpus.fs, abspath) {
+		if redirectFile(w, r) {
+			return
+		}
+		p.serveTextFile(w, r, abspath, relpath, "Text file")
+		return
+	}
+
+	p.fileServer.ServeHTTP(w, r)
+}
+
+func (p *Presentation) ServeText(w http.ResponseWriter, text []byte) {
+	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
+	w.Write(text)
+}
+
+func marshalJSON(x interface{}) []byte {
+	var data []byte
+	var err error
+	const indentJSON = false // for easier debugging
+	if indentJSON {
+		data, err = json.MarshalIndent(x, "", "    ")
+	} else {
+		data, err = json.Marshal(x)
+	}
+	if err != nil {
+		panic(fmt.Sprintf("json.Marshal failed: %s", err))
+	}
+	return data
+}
internal/godoc/server_test.go
@@ -0,0 +1,130 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"net/http"
+	"net/http/httptest"
+	"net/url"
+	"strings"
+	"testing"
+	"text/template"
+
+	"golang.org/x/website/internal/godoc/vfs/mapfs"
+)
+
+// TestIgnoredGoFiles tests the scenario where a folder has no .go or .c files,
+// but has an ignored go file.
+func TestIgnoredGoFiles(t *testing.T) {
+	packagePath := "github.com/package"
+	packageComment := "main is documented in an ignored .go file"
+
+	c := NewCorpus(mapfs.New(map[string]string{
+		"src/" + packagePath + "/ignored.go": `// +build ignore
+
+// ` + packageComment + `
+package main`}))
+	srv := &handlerServer{
+		p: &Presentation{
+			Corpus: c,
+		},
+		c: c,
+	}
+	pInfo := srv.GetPageInfo("/src/"+packagePath, packagePath, NoFiltering, "linux", "amd64")
+
+	if pInfo.PDoc == nil {
+		t.Error("pInfo.PDoc = nil; want non-nil.")
+	} else {
+		if got, want := pInfo.PDoc.Doc, packageComment+"\n"; got != want {
+			t.Errorf("pInfo.PDoc.Doc = %q; want %q.", got, want)
+		}
+		if got, want := pInfo.PDoc.Name, "main"; got != want {
+			t.Errorf("pInfo.PDoc.Name = %q; want %q.", got, want)
+		}
+		if got, want := pInfo.PDoc.ImportPath, packagePath; got != want {
+			t.Errorf("pInfo.PDoc.ImportPath = %q; want %q.", got, want)
+		}
+	}
+	if pInfo.FSet == nil {
+		t.Error("pInfo.FSet = nil; want non-nil.")
+	}
+}
+
+func TestIssue5247(t *testing.T) {
+	const packagePath = "example.com/p"
+	c := NewCorpus(mapfs.New(map[string]string{
+		"src/" + packagePath + "/p.go": `package p
+
+//line notgen.go:3
+// F doc //line 1 should appear
+// line 2 should appear
+func F()
+//line foo.go:100`})) // No newline at end to check corner cases.
+
+	srv := &handlerServer{
+		p: &Presentation{Corpus: c},
+		c: c,
+	}
+	pInfo := srv.GetPageInfo("/src/"+packagePath, packagePath, 0, "linux", "amd64")
+	if got, want := pInfo.PDoc.Funcs[0].Doc, "F doc //line 1 should appear\nline 2 should appear\n"; got != want {
+		t.Errorf("pInfo.PDoc.Funcs[0].Doc = %q; want %q", got, want)
+	}
+}
+
+func testServeBody(t *testing.T, p *Presentation, path, body string) {
+	t.Helper()
+	r := &http.Request{URL: &url.URL{Path: path}}
+	rw := httptest.NewRecorder()
+	p.ServeFile(rw, r)
+	if rw.Code != 200 || !strings.Contains(rw.Body.String(), body) {
+		t.Fatalf("GET %s: expected 200 w/ %q: got %d w/ body:\n%s",
+			path, body, rw.Code, rw.Body)
+	}
+}
+
+func TestRedirectAndMetadata(t *testing.T) {
+	c := NewCorpus(mapfs.New(map[string]string{
+		"doc/y/index.html": "Hello, y.",
+		"doc/x/index.html": `<!--{
+		"Path": "/doc/x/"
+}-->
+
+Hello, x.
+`}))
+	c.updateMetadata()
+	p := &Presentation{
+		Corpus:    c,
+		GodocHTML: template.Must(template.New("").Parse(`{{printf "%s" .Body}}`)),
+	}
+
+	// Test that redirect is sent back correctly.
+	// Used to panic. See golang.org/issue/40665.
+	for _, elem := range []string{"x", "y"} {
+		dir := "/doc/" + elem + "/"
+
+		r := &http.Request{URL: &url.URL{Path: dir + "index.html"}}
+		rw := httptest.NewRecorder()
+		p.ServeFile(rw, r)
+		loc := rw.Result().Header.Get("Location")
+		if rw.Code != 301 || loc != dir {
+			t.Errorf("GET %s: expected 301 -> %q, got %d -> %q", r.URL.Path, dir, rw.Code, loc)
+		}
+
+		testServeBody(t, p, dir, "Hello, "+elem)
+	}
+}
+
+func TestMarkdown(t *testing.T) {
+	p := &Presentation{
+		Corpus: NewCorpus(mapfs.New(map[string]string{
+			"doc/test.md":  "**bold**",
+			"doc/test2.md": `{{"*template*"}}`,
+		})),
+		GodocHTML: template.Must(template.New("").Parse(`{{printf "%s" .Body}}`)),
+	}
+
+	testServeBody(t, p, "/doc/test.html", "<strong>bold</strong>")
+	testServeBody(t, p, "/doc/test2.html", "<em>template</em>")
+}
internal/godoc/snippet.go
@@ -0,0 +1,123 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file contains the infrastructure to create a code
+// snippet for search results.
+//
+// Note: At the moment, this only creates HTML snippets.
+
+package godoc
+
+import (
+	"bytes"
+	"fmt"
+	"go/ast"
+	"go/token"
+)
+
+type Snippet struct {
+	Line int
+	Text string // HTML-escaped
+}
+
+func (p *Presentation) newSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
+	// TODO instead of pretty-printing the node, should use the original source instead
+	var buf1 bytes.Buffer
+	p.writeNode(&buf1, nil, fset, decl)
+	// wrap text with <pre> tag
+	var buf2 bytes.Buffer
+	buf2.WriteString("<pre>")
+	FormatText(&buf2, buf1.Bytes(), -1, true, id.Name, nil)
+	buf2.WriteString("</pre>")
+	return &Snippet{fset.Position(id.Pos()).Line, buf2.String()}
+}
+
+func findSpec(list []ast.Spec, id *ast.Ident) ast.Spec {
+	for _, spec := range list {
+		switch s := spec.(type) {
+		case *ast.ImportSpec:
+			if s.Name == id {
+				return s
+			}
+		case *ast.ValueSpec:
+			for _, n := range s.Names {
+				if n == id {
+					return s
+				}
+			}
+		case *ast.TypeSpec:
+			if s.Name == id {
+				return s
+			}
+		}
+	}
+	return nil
+}
+
+func (p *Presentation) genSnippet(fset *token.FileSet, d *ast.GenDecl, id *ast.Ident) *Snippet {
+	s := findSpec(d.Specs, id)
+	if s == nil {
+		return nil //  declaration doesn't contain id - exit gracefully
+	}
+
+	// only use the spec containing the id for the snippet
+	dd := &ast.GenDecl{
+		Doc:    d.Doc,
+		TokPos: d.Pos(),
+		Tok:    d.Tok,
+		Lparen: d.Lparen,
+		Specs:  []ast.Spec{s},
+		Rparen: d.Rparen,
+	}
+
+	return p.newSnippet(fset, dd, id)
+}
+
+func (p *Presentation) funcSnippet(fset *token.FileSet, d *ast.FuncDecl, id *ast.Ident) *Snippet {
+	if d.Name != id {
+		return nil //  declaration doesn't contain id - exit gracefully
+	}
+
+	// only use the function signature for the snippet
+	dd := &ast.FuncDecl{
+		Doc:  d.Doc,
+		Recv: d.Recv,
+		Name: d.Name,
+		Type: d.Type,
+	}
+
+	return p.newSnippet(fset, dd, id)
+}
+
+// NewSnippet creates a text snippet from a declaration decl containing an
+// identifier id. Parts of the declaration not containing the identifier
+// may be removed for a more compact snippet.
+func NewSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
+	// TODO(bradfitz, adg): remove this function.  But it's used by indexer, which
+	// doesn't have a *Presentation, and NewSnippet needs a TabWidth.
+	var p Presentation
+	p.TabWidth = 4
+	return p.NewSnippet(fset, decl, id)
+}
+
+// NewSnippet creates a text snippet from a declaration decl containing an
+// identifier id. Parts of the declaration not containing the identifier
+// may be removed for a more compact snippet.
+func (p *Presentation) NewSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
+	var s *Snippet
+	switch d := decl.(type) {
+	case *ast.GenDecl:
+		s = p.genSnippet(fset, d, id)
+	case *ast.FuncDecl:
+		s = p.funcSnippet(fset, d, id)
+	}
+
+	// handle failure gracefully
+	if s == nil {
+		var buf bytes.Buffer
+		fmt.Fprintf(&buf, `<span class="alert">could not generate a snippet for <span class="highlight">%s</span></span>`, id.Name)
+		s = &Snippet{fset.Position(id.Pos()).Line, buf.String()}
+	}
+	return s
+}
internal/godoc/spec.go
@@ -0,0 +1,179 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+// This file contains the mechanism to "linkify" html source
+// text containing EBNF sections (as found in go_spec.html).
+// The result is the input source text with the EBNF sections
+// modified such that identifiers are linked to the respective
+// definitions.
+
+import (
+	"bytes"
+	"fmt"
+	"io"
+	"text/scanner"
+)
+
+type ebnfParser struct {
+	out     io.Writer // parser output
+	src     []byte    // parser input
+	scanner scanner.Scanner
+	prev    int    // offset of previous token
+	pos     int    // offset of current token
+	tok     rune   // one token look-ahead
+	lit     string // token literal
+}
+
+func (p *ebnfParser) flush() {
+	p.out.Write(p.src[p.prev:p.pos])
+	p.prev = p.pos
+}
+
+func (p *ebnfParser) next() {
+	p.tok = p.scanner.Scan()
+	p.pos = p.scanner.Position.Offset
+	p.lit = p.scanner.TokenText()
+}
+
+func (p *ebnfParser) printf(format string, args ...interface{}) {
+	p.flush()
+	fmt.Fprintf(p.out, format, args...)
+}
+
+func (p *ebnfParser) errorExpected(msg string) {
+	p.printf(`<span class="highlight">error: expected %s, found %s</span>`, msg, scanner.TokenString(p.tok))
+}
+
+func (p *ebnfParser) expect(tok rune) {
+	if p.tok != tok {
+		p.errorExpected(scanner.TokenString(tok))
+	}
+	p.next() // make progress in any case
+}
+
+func (p *ebnfParser) parseIdentifier(def bool) {
+	if p.tok == scanner.Ident {
+		name := p.lit
+		if def {
+			p.printf(`<a id="%s">%s</a>`, name, name)
+		} else {
+			p.printf(`<a href="#%s" class="noline">%s</a>`, name, name)
+		}
+		p.prev += len(name) // skip identifier when printing next time
+		p.next()
+	} else {
+		p.expect(scanner.Ident)
+	}
+}
+
+func (p *ebnfParser) parseTerm() bool {
+	switch p.tok {
+	case scanner.Ident:
+		p.parseIdentifier(false)
+
+	case scanner.String, scanner.RawString:
+		p.next()
+		const ellipsis = '…' // U+2026, the horizontal ellipsis character
+		if p.tok == ellipsis {
+			p.next()
+			p.expect(scanner.String)
+		}
+
+	case '(':
+		p.next()
+		p.parseExpression()
+		p.expect(')')
+
+	case '[':
+		p.next()
+		p.parseExpression()
+		p.expect(']')
+
+	case '{':
+		p.next()
+		p.parseExpression()
+		p.expect('}')
+
+	default:
+		return false // no term found
+	}
+
+	return true
+}
+
+func (p *ebnfParser) parseSequence() {
+	if !p.parseTerm() {
+		p.errorExpected("term")
+	}
+	for p.parseTerm() {
+	}
+}
+
+func (p *ebnfParser) parseExpression() {
+	for {
+		p.parseSequence()
+		if p.tok != '|' {
+			break
+		}
+		p.next()
+	}
+}
+
+func (p *ebnfParser) parseProduction() {
+	p.parseIdentifier(true)
+	p.expect('=')
+	if p.tok != '.' {
+		p.parseExpression()
+	}
+	p.expect('.')
+}
+
+func (p *ebnfParser) parse(out io.Writer, src []byte) {
+	// initialize ebnfParser
+	p.out = out
+	p.src = src
+	p.scanner.Init(bytes.NewBuffer(src))
+	p.next() // initializes pos, tok, lit
+
+	// process source
+	for p.tok != scanner.EOF {
+		p.parseProduction()
+	}
+	p.flush()
+}
+
+// Markers around EBNF sections
+var (
+	openTag  = []byte(`<pre class="ebnf">`)
+	closeTag = []byte(`</pre>`)
+)
+
+func Linkify(out io.Writer, src []byte) {
+	for len(src) > 0 {
+		// i: beginning of EBNF text (or end of source)
+		i := bytes.Index(src, openTag)
+		if i < 0 {
+			i = len(src) - len(openTag)
+		}
+		i += len(openTag)
+
+		// j: end of EBNF text (or end of source)
+		j := bytes.Index(src[i:], closeTag) // close marker
+		if j < 0 {
+			j = len(src) - i
+		}
+		j += i
+
+		// write text before EBNF
+		out.Write(src[0:i])
+		// process EBNF
+		var p ebnfParser
+		p.parse(out, src[i:j])
+
+		// advance
+		src = src[j:]
+	}
+}
internal/godoc/spec_test.go
@@ -0,0 +1,22 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"bytes"
+	"strings"
+	"testing"
+)
+
+func TestParseEBNFString(t *testing.T) {
+	var p ebnfParser
+	var buf bytes.Buffer
+	src := []byte("octal_byte_value = `\\` octal_digit octal_digit octal_digit .")
+	p.parse(&buf, src)
+
+	if strings.Contains(buf.String(), "error") {
+		t.Error(buf.String())
+	}
+}
internal/godoc/spot.go
@@ -0,0 +1,83 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+// ----------------------------------------------------------------------------
+// SpotInfo
+
+// A SpotInfo value describes a particular identifier spot in a given file;
+// It encodes three values: the SpotKind (declaration or use), a line or
+// snippet index "lori", and whether it's a line or index.
+//
+// The following encoding is used:
+//
+//   bits    32   4    1       0
+//   value    [lori|kind|isIndex]
+//
+type SpotInfo uint32
+
+// SpotKind describes whether an identifier is declared (and what kind of
+// declaration) or used.
+type SpotKind uint32
+
+const (
+	PackageClause SpotKind = iota
+	ImportDecl
+	ConstDecl
+	TypeDecl
+	VarDecl
+	FuncDecl
+	MethodDecl
+	Use
+	nKinds
+)
+
+var (
+	// These must match the SpotKind values above.
+	name = []string{
+		"Packages",
+		"Imports",
+		"Constants",
+		"Types",
+		"Variables",
+		"Functions",
+		"Methods",
+		"Uses",
+		"Unknown",
+	}
+)
+
+func (x SpotKind) Name() string { return name[x] }
+
+func init() {
+	// sanity check: if nKinds is too large, the SpotInfo
+	// accessor functions may need to be updated
+	if nKinds > 8 {
+		panic("internal error: nKinds > 8")
+	}
+}
+
+// makeSpotInfo makes a SpotInfo.
+func makeSpotInfo(kind SpotKind, lori int, isIndex bool) SpotInfo {
+	// encode lori: bits [4..32)
+	x := SpotInfo(lori) << 4
+	if int(x>>4) != lori {
+		// lori value doesn't fit - since snippet indices are
+		// most certainly always smaller then 1<<28, this can
+		// only happen for line numbers; give it no line number (= 0)
+		x = 0
+	}
+	// encode kind: bits [1..4)
+	x |= SpotInfo(kind) << 1
+	// encode isIndex: bit 0
+	if isIndex {
+		x |= 1
+	}
+	return x
+}
+
+func (x SpotInfo) Kind() SpotKind { return SpotKind(x >> 1 & 7) }
+func (x SpotInfo) Lori() int      { return int(x >> 4) }
+func (x SpotInfo) IsIndex() bool  { return x&1 != 0 }
internal/godoc/static/analysis/call-eg.png

	
internal/godoc/static/analysis/call3.png

	
internal/godoc/static/analysis/callers1.png

	
internal/godoc/static/analysis/callers2.png

	
internal/godoc/static/analysis/chan1.png

	
internal/godoc/static/analysis/chan2a.png

	
internal/godoc/static/analysis/chan2b.png

	
internal/godoc/static/analysis/error1.png

	
internal/godoc/static/analysis/help.html
@@ -0,0 +1,254 @@
+<!--{
+        "Title": "Static analysis features of godoc"
+}-->
+
+<style>
+  span.err { 'font-size:120%; color:darkred; background-color: yellow; }
+  img.ss { margin-left: 1in; } /* screenshot */
+  img.dotted { border: thin dotted; }
+</style>
+
+<!-- Images were grabbed from Chrome/Linux at 150% zoom, and are
+     displayed at 66% of natural size.  This allows users to zoom a
+     little before seeing pixels. -->
+
+<p>
+  When invoked with the <code>-analysis</code> flag, godoc performs
+  static analysis on the Go packages it indexes and displays the
+  results in the source and package views.  This document provides a
+  brief tour of these features.
+</p>
+
+<h2>Type analysis features</h2>
+<p>
+  <code>godoc -analysis=type</code> performs static checking similar
+  to that done by a compiler: it detects ill-formed programs, resolves
+  each identifier to the entity it denotes, computes the type of each
+  expression and the method set of each type, and determines which
+  types are assignable to each interface type.
+
+  <b>Type analysis</b> is relatively quick, requiring about 10 seconds for
+  the &gt;200 packages of the standard library, for example.
+</p>
+
+<h3>Compiler errors</h3>
+<p>
+  If any source file contains a compilation error, the source view
+  will highlight the errant location in red.  Hovering over it
+  displays the error message.
+</p>
+<img class="ss" width='811' src='error1.png'><br/>
+
+<h3>Identifier resolution</h3>
+<p>
+  In the source view, every referring identifier is annotated with
+  information about the language entity it refers to: a package,
+  constant, variable, type, function or statement label.
+
+  Hovering over the identifier reveals the entity's kind and type
+  (e.g. <code>var x int</code> or <code>func f
+  func(int) string</code>).
+</p>
+<img class="ss" width='652' src='ident-field.png'><br/>
+<br/>
+<img class="ss" width='652' src='ident-func.png'>
+<p>
+  Clicking the link takes you to the entity's definition.
+</p>
+<img class="ss" width='652' src='ident-def.png'><br/>
+
+<h3>Type information: size/alignment, method set, interfaces</h3>
+<p>
+  Clicking on the identifier that defines a named type causes a panel
+  to appear, displaying information about the named type, including
+  its size and alignment in bytes, its
+  <a href='http://golang.org/ref/spec#Method_sets'>method set</a>, and its
+  <i>implements</i> relation: the set of types T that are assignable to
+  or from this type U where at least one of T or U is an interface.
+
+  This example shows information about <code>net/rpc.methodType</code>.
+</p>
+<img class="ss" width='470' src='typeinfo-src.png'>
+<p>
+  The method set includes not only the declared methods of the type,
+  but also any methods "promoted" from anonymous fields of structs,
+  such as <code>sync.Mutex</code> in this example.
+
+  In addition, the receiver type is displayed as <code>*T</code> or
+  <code>T</code> depending on whether it requires the address or just
+  a copy of the receiver value.
+</p>
+<p>
+  The method set and <i>implements</i> relation are also available
+  via the package view.
+</p>
+<img class="ss dotted" width='716' src='typeinfo-pkg.png'>
+
+<h2>Pointer analysis features</h2>
+<p>
+  <code>godoc -analysis=pointer</code> additionally performs a precise
+  whole-program <b>pointer analysis</b>.  In other words, it
+  approximates the set of memory locations to which each
+  reference&mdash;not just vars of kind <code>*T</code>, but also
+  <code>[]T</code>, <code>func</code>, <code>map</code>,
+  <code>chan</code>, and <code>interface</code>&mdash;may refer.  This
+  information reveals the possible destinations of each dynamic call
+  (via a <code>func</code> variable or interface method), and the
+  relationship between send and receive operations on the same
+  channel.
+</p>
+<p>
+  Compared to type analysis, pointer analysis requires more time and
+  memory, and is impractical for code bases exceeding a million lines.
+</p>
+
+<h3>Call graph navigation</h3>
+<p>
+  When pointer analysis is complete, the source view annotates the
+  code with <b>callers</b> and <b>callees</b> information: callers
+  information is associated with the <code>func</code> keyword that
+  declares a function, and callees information is associated with the
+  open paren '<span style="color: dark-blue"><code>(</code></span>' of
+  a function call.
+</p>
+<p>
+  In this example, hovering over the declaration of the
+  <code>rot13</code> function (defined in strings/strings_test.go)
+  reveals that it is called in exactly one place.
+</p>
+<img class="ss" width='612' src='callers1.png'>
+<p>
+  Clicking the link navigates to the sole caller.  (If there were
+  multiple callers, a list of choices would be displayed first.)
+</p>
+<img class="ss" width='680' src='callers2.png'>
+<p>
+  Notice that hovering over this call reveals that there are 19
+  possible callees at this site, of which our <code>rot13</code>
+  function was just one: this is a dynamic call through a variable of
+  type <code>func(rune) rune</code>.
+
+  Clicking on the call brings up the list of all 19 potential callees,
+  shown truncated.  Many of them are anonymous functions.
+</p>
+<img class="ss" width='564' src='call3.png'>
+<p>
+  Pointer analysis gives a very precise approximation of the call
+  graph compared to type-based techniques.
+
+  As a case in point, the next example shows the dynamic call inside
+  the <code>testing</code> package responsible for calling all
+  user-defined functions named <code>Example<i>XYZ</i></code>.
+</p>
+<img class="ss" width='361' src='call-eg.png'>
+<p>
+  Recall that all such functions have type <code>func()</code>,
+  i.e. no arguments and no results.  A type-based approximation could
+  only conclude that this call might dispatch to any function matching
+  that type&mdash;and these are very numerous in most
+  programs&mdash;but pointer analysis can track the flow of specific
+  <code>func</code> values through the testing package.
+
+  As an indication of its precision, the result contains only
+  functions whose name starts with <code>Example</code>.
+</p>
+
+<h3>Intra-package call graph</h3>
+<p>
+  The same call graph information is presented in a very different way
+  in the package view.  For each package, an interactive tree view
+  allows exploration of the call graph as it relates to just that
+  package; all functions from other packages are elided.
+
+  The roots of the tree are the external entry points of the package:
+  not only its exported functions, but also any unexported or
+  anonymous functions that are called (dynamically) from outside the
+  package.
+</p>
+<p>
+  This example shows the entry points of the
+  <code>path/filepath</code> package, with the call graph for
+  <code>Glob</code> expanded several levels
+</p>
+<img class="ss dotted" width='501' src='ipcg-pkg.png'>
+<p>
+  Notice that the nodes for Glob and Join appear multiple times: the
+  tree is a partial unrolling of a cyclic graph; the full unrolling
+  is in general infinite.
+</p>
+<p>
+  For each function documented in the package view, another
+  interactive tree view allows exploration of the same graph starting
+  at that function.
+
+  This is a portion of the internal graph of
+  <code>net/http.ListenAndServe</code>.
+</p>
+<img class="ss dotted" width='455' src='ipcg-func.png'>
+
+<h3>Channel peers (send ↔ receive)</h3>
+<p>
+  Because concurrent Go programs use channels to pass not just values
+  but also control between different goroutines, it is natural when
+  reading Go code to want to navigate from a channel send to the
+  corresponding receive so as to understand the sequence of events.
+</p>
+<p>
+  Godoc annotates every channel operation&mdash;make, send, range,
+  receive, close&mdash;with a link to a panel displaying information
+  about other operations that might alias the same channel.
+</p>
+<p>
+  This example, from the tests of <code>net/http</code>, shows a send
+  operation on a <code>chan bool</code>.
+</p>
+<img class="ss" width='811' src='chan1.png'>
+<p>
+  Clicking on the <code>&lt;-</code> send operator reveals that this
+  channel is made at a unique location (line 332) and that there are
+  three receive operations that might read this value.
+
+  It hardly needs pointing out that some channel element types are
+  very widely used (e.g. struct{}, bool, int, interface{}) and that a
+  typical Go program might contain dozens of receive operations on a
+  value of type <code>chan bool</code>; yet the pointer analysis is
+  able to distinguish operations on channels at a much finer precision
+  than based on their type alone.
+</p>
+<p>
+  Notice also that the send occurs in a different (anonymous) function
+  from the outer one containing the <code>make</code> and the receive
+  operations.
+</p>
+<p>
+  Here's another example of send on a different <code>chan
+  bool</code>, also in package <code>net/http</code>:
+</p>
+<img class="ss" width='774' src='chan2a.png'>
+<p>
+  The analysis finds just one receive operation that might receive
+  from this channel, in the test for this feature.
+</p>
+<img class="ss" width='737' src='chan2b.png'>
+
+<h2>Known issues</h2>
+<p>
+  All analysis results pertain to exactly
+  one configuration (e.g. amd64 linux).  Files that are conditionally
+  compiled based on different platforms or build tags are not visible
+  to the analysis.
+</p>
+<p>
+  Files that <code>import "C"</code> require
+  preprocessing by the cgo tool.  The file offsets after preprocessing
+  do not align with the unpreprocessed file, so markup is misaligned.
+</p>
+<p>
+  Files are not periodically re-analyzed.
+  If the files change underneath the running server, the displayed
+  markup is misaligned.
+</p>
+<p>
+  Additional issues are listed at
+  <a href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.
+</p>
internal/godoc/static/analysis/ident-def.png

	
internal/godoc/static/analysis/ident-field.png

	
internal/godoc/static/analysis/ident-func.png

	
internal/godoc/static/analysis/ipcg-func.png

	
internal/godoc/static/analysis/ipcg-pkg.png

	
internal/godoc/static/analysis/typeinfo-pkg.png

	
internal/godoc/static/analysis/typeinfo-src.png

	
internal/godoc/static/callgraph.html
@@ -0,0 +1,15 @@
+<div class="toggle" style="display: none">
+	<div class="collapsed">
+		<p class="exampleHeading toggleButton">▹ <span class="text">Internal call graph</span></p>
+	</div>
+	<div class="expanded">
+		<p class="exampleHeading toggleButton">▾ <span class="text">Internal call graph</span></p>
+		<p>
+		  This viewer shows the portion of the internal call
+		  graph of this package that is reachable from this function.
+		  See the <a href='#pkg-callgraph'>package's call
+		  graph</a> for more information.
+		</p>
+		<ul style="margin-left: 0.5in" id="callgraph-{{.Index}}" class="treeview"></ul>
+	</div>
+</div>
internal/godoc/static/dirlist.html
@@ -0,0 +1,31 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<p>
+<table class="layout">
+<tr>
+	<th align="left">File</th>
+	<td width="25">&nbsp;</td>
+	<th align="right">Bytes</th>
+	<td width="25">&nbsp;</td>
+	<th align="left">Modified</th>
+</tr>
+<tr>
+	<td><a href="..">..</a></td>
+</tr>
+{{range .}}
+<tr>
+	{{$name_html := fileInfoName . | html}}
+	<td align="left"><a href="{{$name_html}}">{{$name_html}}</a></td>
+	<td></td>
+	<td align="right">{{html .Size}}</td>
+	<td></td>
+	<td align="left">{{fileInfoTime . | html}}</td>
+</tr>
+{{end}}
+
+</table>
+</p>
internal/godoc/static/doc.go
@@ -0,0 +1,8 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package static exports a map of static file content that supports the godoc
+// user interface. The map should be used with the mapfs package, see
+// golang.org/x/website/internal/godoc/vfs/mapfs.
+package static // import "golang.org/x/website/internal/godoc/static"
internal/godoc/static/error.html
@@ -0,0 +1,9 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+<p>
+<span class="alert" style="font-size:120%">{{html .}}</span>
+</p>
internal/godoc/static/example.html
@@ -0,0 +1,30 @@
+<div id="example_{{.Name}}" class="toggle">
+	<div class="collapsed">
+		<p class="exampleHeading toggleButton">▹ <span class="text">Example{{example_suffix .Name}}</span></p>
+	</div>
+	<div class="expanded">
+		<p class="exampleHeading toggleButton">▾ <span class="text">Example{{example_suffix .Name}}</span></p>
+		{{with .Doc}}<p>{{html .}}</p>{{end}}
+		{{$output := .Output}}
+		{{with .Play}}
+			<div class="play">
+				<div class="input"><textarea class="code" spellcheck="false">{{html .}}</textarea></div>
+				<div class="output"><pre>{{html $output}}</pre></div>
+				<div class="buttons">
+					<a class="run" title="Run this code [shift-enter]">Run</a>
+					<a class="fmt" title="Format this code">Format</a>
+					{{if not $.GoogleCN}}
+					<a class="share" title="Share this code">Share</a>
+					{{end}}
+				</div>
+			</div>
+		{{else}}
+			<p>Code:</p>
+			<pre class="code">{{.Code}}</pre>
+			{{with .Output}}
+			<p>Output:</p>
+			<pre class="output">{{html .}}</pre>
+			{{end}}
+		{{end}}
+	</div>
+</div>
internal/godoc/static/gen.go
@@ -0,0 +1,105 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package static
+
+//go:generate go run makestatic.go
+
+import (
+	"bytes"
+	"fmt"
+	"go/format"
+	"io/ioutil"
+	"unicode"
+)
+
+var files = []string{
+	"analysis/call3.png",
+	"analysis/call-eg.png",
+	"analysis/callers1.png",
+	"analysis/callers2.png",
+	"analysis/chan1.png",
+	"analysis/chan2a.png",
+	"analysis/chan2b.png",
+	"analysis/error1.png",
+	"analysis/help.html",
+	"analysis/ident-def.png",
+	"analysis/ident-field.png",
+	"analysis/ident-func.png",
+	"analysis/ipcg-func.png",
+	"analysis/ipcg-pkg.png",
+	"analysis/typeinfo-pkg.png",
+	"analysis/typeinfo-src.png",
+	"callgraph.html",
+	"dirlist.html",
+	"error.html",
+	"example.html",
+	"godoc.html",
+	"godocs.js",
+	"images/minus.gif",
+	"images/plus.gif",
+	"images/treeview-black-line.gif",
+	"images/treeview-black.gif",
+	"images/treeview-default-line.gif",
+	"images/treeview-default.gif",
+	"images/treeview-gray-line.gif",
+	"images/treeview-gray.gif",
+	"implements.html",
+	"jquery.js",
+	"jquery.treeview.css",
+	"jquery.treeview.edit.js",
+	"jquery.treeview.js",
+	"methodset.html",
+	"package.html",
+	"packageroot.html",
+	"play.js",
+	"playground.js",
+	"search.html",
+	"searchcode.html",
+	"searchdoc.html",
+	"searchtxt.html",
+	"style.css",
+}
+
+// Generate reads a set of files and returns a file buffer that declares
+// a map of string constants containing contents of the input files.
+func Generate() ([]byte, error) {
+	buf := new(bytes.Buffer)
+	fmt.Fprintf(buf, "%v\n\n%v\n\npackage static\n\n", license, warning)
+	fmt.Fprintf(buf, "var Files = map[string]string{\n")
+	for _, fn := range files {
+		b, err := ioutil.ReadFile(fn)
+		if err != nil {
+			return b, err
+		}
+		fmt.Fprintf(buf, "\t%q: ", fn)
+		appendQuote(buf, b)
+		fmt.Fprintf(buf, ",\n\n")
+	}
+	fmt.Fprintln(buf, "}")
+	return format.Source(buf.Bytes())
+}
+
+// appendQuote is like strconv.AppendQuote, but we avoid the latter
+// because it changes when Unicode evolves, breaking gen_test.go.
+func appendQuote(out *bytes.Buffer, data []byte) {
+	out.WriteByte('"')
+	for _, b := range data {
+		if b == '\\' || b == '"' {
+			out.WriteByte('\\')
+			out.WriteByte(b)
+		} else if b <= unicode.MaxASCII && unicode.IsPrint(rune(b)) && !unicode.IsSpace(rune(b)) {
+			out.WriteByte(b)
+		} else {
+			fmt.Fprintf(out, "\\x%02x", b)
+		}
+	}
+	out.WriteByte('"')
+}
+
+const warning = `// Code generated by "makestatic"; DO NOT EDIT.`
+
+const license = `// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.`
internal/godoc/static/gen_test.go
@@ -0,0 +1,53 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package static
+
+import (
+	"bytes"
+	"io/ioutil"
+	"runtime"
+	"strconv"
+	"testing"
+	"unicode"
+)
+
+func TestStaticIsUpToDate(t *testing.T) {
+	if runtime.GOOS == "android" {
+		t.Skip("files not available on android")
+	}
+	oldBuf, err := ioutil.ReadFile("static.go")
+	if err != nil {
+		t.Errorf("error while reading static.go: %v\n", err)
+	}
+
+	newBuf, err := Generate()
+	if err != nil {
+		t.Errorf("error while generating static.go: %v\n", err)
+	}
+
+	if !bytes.Equal(oldBuf, newBuf) {
+		t.Error(`static.go is stale.  Run:
+  $ go generate golang.org/x/website/internal/godoc/static
+  $ git diff
+to see the differences.`)
+
+	}
+}
+
+// TestAppendQuote ensures that AppendQuote produces a valid literal.
+func TestAppendQuote(t *testing.T) {
+	var in, out bytes.Buffer
+	for r := rune(0); r < unicode.MaxRune; r++ {
+		in.WriteRune(r)
+	}
+	appendQuote(&out, in.Bytes())
+	in2, err := strconv.Unquote(out.String())
+	if err != nil {
+		t.Fatalf("AppendQuote produced invalid string literal: %v", err)
+	}
+	if got, want := in2, in.String(); got != want {
+		t.Fatal("AppendQuote modified string") // no point printing got/want: huge
+	}
+}
internal/godoc/static/godoc.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="theme-color" content="#375EAB">
+{{with .Tabtitle}}
+  <title>{{html .}} - Go Documentation Server</title>
+{{else}}
+  <title>Go Documentation Server</title>
+{{end}}
+<link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
+{{if .TreeView}}
+<link rel="stylesheet" href="/lib/godoc/jquery.treeview.css">
+{{end}}
+<script>window.initFuncs = [];</script>
+<script src="/lib/godoc/jquery.js" defer></script>
+{{if .TreeView}}
+<script src="/lib/godoc/jquery.treeview.js" defer></script>
+<script src="/lib/godoc/jquery.treeview.edit.js" defer></script>
+{{end}}
+
+{{if .Playground}}
+<script src="/lib/godoc/playground.js" defer></script>
+{{end}}
+{{with .Version}}<script>var goVersion = {{printf "%q" .}};</script>{{end}}
+<script src="/lib/godoc/godocs.js" defer></script>
+</head>
+<body>
+
+<div id='lowframe' style="position: fixed; bottom: 0; left: 0; height: 0; width: 100%; border-top: thin solid grey; background-color: white; overflow: auto;">
+...
+</div><!-- #lowframe -->
+
+<div id="topbar"{{if .Title}} class="wide"{{end}}><div class="container">
+<div class="top-heading" id="heading-wide"><a href="/pkg/">Go Documentation Server</a></div>
+<div class="top-heading" id="heading-narrow"><a href="/pkg/">GoDoc</a></div>
+<a href="#" id="menu-button"><span id="menu-button-arrow">&#9661;</span></a>
+<form method="GET" action="/search">
+<div id="menu">
+{{if (and .Playground .Title)}}
+<a id="playgroundButton" href="http://play.golang.org/" title="Show Go Playground">Play</a>
+{{end}}
+<span class="search-box"><input type="search" id="search" name="q" placeholder="Search" aria-label="Search" required><button type="submit"><span><!-- magnifying glass: --><svg width="24" height="24" viewBox="0 0 24 24"><title>submit search</title><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg></span></button></span>
+</div>
+</form>
+
+</div></div>
+
+{{if .Playground}}
+<div id="playground" class="play">
+	<div class="input"><textarea class="code" spellcheck="false">package main
+
+import "fmt"
+
+func main() {
+	fmt.Println("Hello, 世界")
+}</textarea></div>
+	<div class="output"></div>
+	<div class="buttons">
+		<a class="run" title="Run this code [shift-enter]">Run</a>
+		<a class="fmt" title="Format this code">Format</a>
+		{{if not $.GoogleCN}}
+		<a class="share" title="Share this code">Share</a>
+		{{end}}
+	</div>
+</div>
+{{end}}
+
+<div id="page"{{if .Title}} class="wide"{{end}}>
+<div class="container">
+
+{{if or .Title .SrcPath}}
+  <h1>
+    {{html .Title}}
+    {{html .SrcPath | srcBreadcrumb}}
+  </h1>
+{{end}}
+
+{{with .Subtitle}}
+  <h2>{{html .}}</h2>
+{{end}}
+
+{{with .SrcPath}}
+  <h2>
+    Documentation: {{html . | srcToPkgLink}}
+  </h2>
+{{end}}
+
+{{/* The Table of Contents is automatically inserted in this <div>.
+     Do not delete this <div>. */}}
+<div id="nav"></div>
+
+{{/* Body is HTML-escaped elsewhere */}}
+{{printf "%s" .Body}}
+
+<div id="footer">
+Build version {{html .Version}}.<br>
+Except as <a href="https://developers.google.com/site-policies#restrictions">noted</a>,
+the content of this page is licensed under the
+Creative Commons Attribution 3.0 License,
+and code is licensed under a <a href="/LICENSE">BSD license</a>.<br>
+<a href="/doc/tos.html">Terms of Service</a> |
+<a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a>
+</div>
+
+</div><!-- .container -->
+</div><!-- #page -->
+</body>
+</html>
internal/godoc/static/godocs.js
@@ -0,0 +1,688 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+/* A little code to ease navigation of these documents.
+ *
+ * On window load we:
+ *  + Generate a table of contents (generateTOC)
+ *  + Bind foldable sections (bindToggles)
+ *  + Bind links to foldable sections (bindToggleLinks)
+ */
+
+(function() {
+  'use strict';
+
+  // Mobile-friendly topbar menu
+  $(function() {
+    var menu = $('#menu');
+    var menuButton = $('#menu-button');
+    var menuButtonArrow = $('#menu-button-arrow');
+    menuButton.click(function(event) {
+      menu.toggleClass('menu-visible');
+      menuButtonArrow.toggleClass('vertical-flip');
+      event.preventDefault();
+      return false;
+    });
+  });
+
+  /* Generates a table of contents: looks for h2 and h3 elements and generates
+   * links. "Decorates" the element with id=="nav" with this table of contents.
+   */
+  function generateTOC() {
+    if ($('#manual-nav').length > 0) {
+      return;
+    }
+
+    // For search, we send the toc precomputed from server-side.
+    // TODO: Ideally, this should always be precomputed for all pages, but then
+    // we need to do HTML parsing on the server-side.
+    if (location.pathname === '/search') {
+      return;
+    }
+
+    var nav = $('#nav');
+    if (nav.length === 0) {
+      return;
+    }
+
+    var toc_items = [];
+    $(nav)
+      .nextAll('h2, h3')
+      .each(function() {
+        var node = this;
+        if (node.id == '') node.id = 'tmp_' + toc_items.length;
+        var link = $('<a/>')
+          .attr('href', '#' + node.id)
+          .text($(node).text());
+        var item;
+        if ($(node).is('h2')) {
+          item = $('<dt/>');
+        } else {
+          // h3
+          item = $('<dd class="indent"/>');
+        }
+        item.append(link);
+        toc_items.push(item);
+      });
+    if (toc_items.length <= 1) {
+      return;
+    }
+    var dl1 = $('<dl/>');
+    var dl2 = $('<dl/>');
+
+    var split_index = toc_items.length / 2 + 1;
+    if (split_index < 8) {
+      split_index = toc_items.length;
+    }
+    for (var i = 0; i < split_index; i++) {
+      dl1.append(toc_items[i]);
+    }
+    for (; /* keep using i */ i < toc_items.length; i++) {
+      dl2.append(toc_items[i]);
+    }
+
+    var tocTable = $('<table class="unruled"/>').appendTo(nav);
+    var tocBody = $('<tbody/>').appendTo(tocTable);
+    var tocRow = $('<tr/>').appendTo(tocBody);
+
+    // 1st column
+    $('<td class="first"/>')
+      .appendTo(tocRow)
+      .append(dl1);
+    // 2nd column
+    $('<td/>')
+      .appendTo(tocRow)
+      .append(dl2);
+  }
+
+  function bindToggle(el) {
+    $('.toggleButton', el).click(function() {
+      if ($(this).closest('.toggle, .toggleVisible')[0] != el) {
+        // Only trigger the closest toggle header.
+        return;
+      }
+
+      if ($(el).is('.toggle')) {
+        $(el)
+          .addClass('toggleVisible')
+          .removeClass('toggle');
+      } else {
+        $(el)
+          .addClass('toggle')
+          .removeClass('toggleVisible');
+      }
+    });
+  }
+
+  function bindToggles(selector) {
+    $(selector).each(function(i, el) {
+      bindToggle(el);
+    });
+  }
+
+  function bindToggleLink(el, prefix) {
+    $(el).click(function() {
+      var href = $(el).attr('href');
+      var i = href.indexOf('#' + prefix);
+      if (i < 0) {
+        return;
+      }
+      var id = '#' + prefix + href.slice(i + 1 + prefix.length);
+      if ($(id).is('.toggle')) {
+        $(id)
+          .find('.toggleButton')
+          .first()
+          .click();
+      }
+    });
+  }
+  function bindToggleLinks(selector, prefix) {
+    $(selector).each(function(i, el) {
+      bindToggleLink(el, prefix);
+    });
+  }
+
+  function setupDropdownPlayground() {
+    if (!$('#page').is('.wide')) {
+      return; // don't show on front page
+    }
+    var button = $('#playgroundButton');
+    var div = $('#playground');
+    var setup = false;
+    button.toggle(
+      function() {
+        button.addClass('active');
+        div.show();
+        if (setup) {
+          return;
+        }
+        setup = true;
+        playground({
+          codeEl: $('.code', div),
+          outputEl: $('.output', div),
+          runEl: $('.run', div),
+          fmtEl: $('.fmt', div),
+          shareEl: $('.share', div),
+          shareRedirect: '//play.golang.org/p/',
+        });
+      },
+      function() {
+        button.removeClass('active');
+        div.hide();
+      }
+    );
+    $('#menu').css('min-width', '+=60');
+
+    // Hide inline playground if we click somewhere on the page.
+    // This is needed in mobile devices, where the "Play" button
+    // is not clickable once the playground opens up.
+    $('#page').click(function() {
+      if (button.hasClass('active')) {
+        button.click();
+      }
+    });
+  }
+
+  function setupInlinePlayground() {
+    'use strict';
+    // Set up playground when each element is toggled.
+    $('div.play').each(function(i, el) {
+      // Set up playground for this example.
+      var setup = function() {
+        var code = $('.code', el);
+        playground({
+          codeEl: code,
+          outputEl: $('.output', el),
+          runEl: $('.run', el),
+          fmtEl: $('.fmt', el),
+          shareEl: $('.share', el),
+          shareRedirect: '//play.golang.org/p/',
+        });
+
+        // Make the code textarea resize to fit content.
+        var resize = function() {
+          code.height(0);
+          var h = code[0].scrollHeight;
+          code.height(h + 20); // minimize bouncing.
+          code.closest('.input').height(h);
+        };
+        code.on('keydown', resize);
+        code.on('keyup', resize);
+        code.keyup(); // resize now.
+      };
+
+      // If example already visible, set up playground now.
+      if ($(el).is(':visible')) {
+        setup();
+        return;
+      }
+
+      // Otherwise, set up playground when example is expanded.
+      var built = false;
+      $(el)
+        .closest('.toggle')
+        .click(function() {
+          // Only set up once.
+          if (!built) {
+            setup();
+            built = true;
+          }
+        });
+    });
+  }
+
+  // fixFocus tries to put focus to div#page so that keyboard navigation works.
+  function fixFocus() {
+    var page = $('div#page');
+    var topbar = $('div#topbar');
+    page.css('outline', 0); // disable outline when focused
+    page.attr('tabindex', -1); // and set tabindex so that it is focusable
+    $(window)
+      .resize(function(evt) {
+        // only focus page when the topbar is at fixed position (that is, it's in
+        // front of page, and keyboard event will go to the former by default.)
+        // by focusing page, keyboard event will go to page so that up/down arrow,
+        // space, etc. will work as expected.
+        if (topbar.css('position') == 'fixed') page.focus();
+      })
+      .resize();
+  }
+
+  function toggleHash() {
+    var id = window.location.hash.substring(1);
+    // Open all of the toggles for a particular hash.
+    var els = $(
+      document.getElementById(id),
+      $('a[name]').filter(function() {
+        return $(this).attr('name') == id;
+      })
+    );
+
+    while (els.length) {
+      for (var i = 0; i < els.length; i++) {
+        var el = $(els[i]);
+        if (el.is('.toggle')) {
+          el.find('.toggleButton')
+            .first()
+            .click();
+        }
+      }
+      els = el.parent();
+    }
+  }
+
+  function personalizeInstallInstructions() {
+    var prefix = '?download=';
+    var s = window.location.search;
+    if (s.indexOf(prefix) != 0) {
+      // No 'download' query string; detect "test" instructions from User Agent.
+      if (navigator.platform.indexOf('Win') != -1) {
+        $('.testUnix').hide();
+        $('.testWindows').show();
+      } else {
+        $('.testUnix').show();
+        $('.testWindows').hide();
+      }
+      return;
+    }
+
+    var filename = s.substr(prefix.length);
+    var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/;
+    var m = filenameRE.exec(filename);
+    if (!m) {
+      // Can't interpret file name; bail.
+      return;
+    }
+    $('.downloadFilename').text(filename);
+    $('.hideFromDownload').hide();
+
+    var os = m[3];
+    var ext = m[6];
+    if (ext != 'tar.gz') {
+      $('#tarballInstructions').hide();
+    }
+    if (os != 'darwin' || ext != 'pkg') {
+      $('#darwinPackageInstructions').hide();
+    }
+    if (os != 'windows') {
+      $('#windowsInstructions').hide();
+      $('.testUnix').show();
+      $('.testWindows').hide();
+    } else {
+      if (ext != 'msi') {
+        $('#windowsInstallerInstructions').hide();
+      }
+      if (ext != 'zip') {
+        $('#windowsZipInstructions').hide();
+      }
+      $('.testUnix').hide();
+      $('.testWindows').show();
+    }
+
+    var download = 'https://dl.google.com/go/' + filename;
+
+    var message = $(
+      '<p class="downloading">' +
+        'Your download should begin shortly. ' +
+        'If it does not, click <a>this link</a>.</p>'
+    );
+    message.find('a').attr('href', download);
+    message.insertAfter('#nav');
+
+    window.location = download;
+  }
+
+  function updateVersionTags() {
+    var v = window.goVersion;
+    if (/^go[0-9.]+$/.test(v)) {
+      $('.versionTag')
+        .empty()
+        .text(v);
+      $('.whereTag').hide();
+    }
+  }
+
+  function addPermalinks() {
+    function addPermalink(source, parent) {
+      var id = source.attr('id');
+      if (id == '' || id.indexOf('tmp_') === 0) {
+        // Auto-generated permalink.
+        return;
+      }
+      if (parent.find('> .permalink').length) {
+        // Already attached.
+        return;
+      }
+      parent
+        .append(' ')
+        .append($("<a class='permalink'>&#xb6;</a>").attr('href', '#' + id));
+    }
+
+    $('#page .container')
+      .find('h2[id], h3[id]')
+      .each(function() {
+        var el = $(this);
+        addPermalink(el, el);
+      });
+
+    $('#page .container')
+      .find('dl[id]')
+      .each(function() {
+        var el = $(this);
+        // Add the anchor to the "dt" element.
+        addPermalink(el, el.find('> dt').first());
+      });
+  }
+
+  $('.js-expandAll').click(function() {
+    if ($(this).hasClass('collapsed')) {
+      toggleExamples('toggle');
+      $(this).text('(Collapse All)');
+    } else {
+      toggleExamples('toggleVisible');
+      $(this).text('(Expand All)');
+    }
+    $(this).toggleClass('collapsed');
+  });
+
+  function toggleExamples(className) {
+    // We need to explicitly iterate through divs starting with "example_"
+    // to avoid toggling Overview and Index collapsibles.
+    $("[id^='example_']").each(function() {
+      // Check for state and click it only if required.
+      if ($(this).hasClass(className)) {
+        $(this)
+          .find('.toggleButton')
+          .first()
+          .click();
+      }
+    });
+  }
+
+  $(document).ready(function() {
+    generateTOC();
+    addPermalinks();
+    bindToggles('.toggle');
+    bindToggles('.toggleVisible');
+    bindToggleLinks('.exampleLink', 'example_');
+    bindToggleLinks('.overviewLink', '');
+    bindToggleLinks('.examplesLink', '');
+    bindToggleLinks('.indexLink', '');
+    setupDropdownPlayground();
+    setupInlinePlayground();
+    fixFocus();
+    setupTypeInfo();
+    setupCallgraphs();
+    toggleHash();
+    personalizeInstallInstructions();
+    updateVersionTags();
+
+    // godoc.html defines window.initFuncs in the <head> tag, and root.html and
+    // codewalk.js push their on-page-ready functions to the list.
+    // We execute those functions here, to avoid loading jQuery until the page
+    // content is loaded.
+    for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i]();
+  });
+
+  // -- analysis ---------------------------------------------------------
+
+  // escapeHTML returns HTML for s, with metacharacters quoted.
+  // It is safe for use in both elements and attributes
+  // (unlike the "set innerText, read innerHTML" trick).
+  function escapeHTML(s) {
+    return s
+      .replace(/&/g, '&amp;')
+      .replace(/\"/g, '&quot;')
+      .replace(/\'/g, '&#39;')
+      .replace(/</g, '&lt;')
+      .replace(/>/g, '&gt;');
+  }
+
+  // makeAnchor returns HTML for an <a> element, given an anchorJSON object.
+  function makeAnchor(json) {
+    var html = escapeHTML(json.Text);
+    if (json.Href != '') {
+      html = "<a href='" + escapeHTML(json.Href) + "'>" + html + '</a>';
+    }
+    return html;
+  }
+
+  function showLowFrame(html) {
+    var lowframe = document.getElementById('lowframe');
+    lowframe.style.height = '200px';
+    lowframe.innerHTML =
+      "<p style='text-align: left;'>" +
+      html +
+      '</p>\n' +
+      "<div onclick='hideLowFrame()' style='position: absolute; top: 0; right: 0; cursor: pointer;'>✘</div>";
+  }
+
+  document.hideLowFrame = function() {
+    var lowframe = document.getElementById('lowframe');
+    lowframe.style.height = '0px';
+  };
+
+  // onClickCallers is the onclick action for the 'func' tokens of a
+  // function declaration.
+  document.onClickCallers = function(index) {
+    var data = document.ANALYSIS_DATA[index];
+    if (data.Callers.length == 1 && data.Callers[0].Sites.length == 1) {
+      document.location = data.Callers[0].Sites[0].Href; // jump to sole caller
+      return;
+    }
+
+    var html =
+      'Callers of <code>' + escapeHTML(data.Callee) + '</code>:<br/>\n';
+    for (var i = 0; i < data.Callers.length; i++) {
+      var caller = data.Callers[i];
+      html += '<code>' + escapeHTML(caller.Func) + '</code>';
+      var sites = caller.Sites;
+      if (sites != null && sites.length > 0) {
+        html += ' at line ';
+        for (var j = 0; j < sites.length; j++) {
+          if (j > 0) {
+            html += ', ';
+          }
+          html += '<code>' + makeAnchor(sites[j]) + '</code>';
+        }
+      }
+      html += '<br/>\n';
+    }
+    showLowFrame(html);
+  };
+
+  // onClickCallees is the onclick action for the '(' token of a function call.
+  document.onClickCallees = function(index) {
+    var data = document.ANALYSIS_DATA[index];
+    if (data.Callees.length == 1) {
+      document.location = data.Callees[0].Href; // jump to sole callee
+      return;
+    }
+
+    var html = 'Callees of this ' + escapeHTML(data.Descr) + ':<br/>\n';
+    for (var i = 0; i < data.Callees.length; i++) {
+      html += '<code>' + makeAnchor(data.Callees[i]) + '</code><br/>\n';
+    }
+    showLowFrame(html);
+  };
+
+  // onClickTypeInfo is the onclick action for identifiers declaring a named type.
+  document.onClickTypeInfo = function(index) {
+    var data = document.ANALYSIS_DATA[index];
+    var html =
+      'Type <code>' +
+      data.Name +
+      '</code>: ' +
+      '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>(size=' +
+      data.Size +
+      ', align=' +
+      data.Align +
+      ')</small><br/>\n';
+    html += implementsHTML(data);
+    html += methodsetHTML(data);
+    showLowFrame(html);
+  };
+
+  // implementsHTML returns HTML for the implements relation of the
+  // specified TypeInfoJSON value.
+  function implementsHTML(info) {
+    var html = '';
+    if (info.ImplGroups != null) {
+      for (var i = 0; i < info.ImplGroups.length; i++) {
+        var group = info.ImplGroups[i];
+        var x = '<code>' + escapeHTML(group.Descr) + '</code> ';
+        for (var j = 0; j < group.Facts.length; j++) {
+          var fact = group.Facts[j];
+          var y = '<code>' + makeAnchor(fact.Other) + '</code>';
+          if (fact.ByKind != null) {
+            html += escapeHTML(fact.ByKind) + ' type ' + y + ' implements ' + x;
+          } else {
+            html += x + ' implements ' + y;
+          }
+          html += '<br/>\n';
+        }
+      }
+    }
+    return html;
+  }
+
+  // methodsetHTML returns HTML for the methodset of the specified
+  // TypeInfoJSON value.
+  function methodsetHTML(info) {
+    var html = '';
+    if (info.Methods != null) {
+      for (var i = 0; i < info.Methods.length; i++) {
+        html += '<code>' + makeAnchor(info.Methods[i]) + '</code><br/>\n';
+      }
+    }
+    return html;
+  }
+
+  // onClickComm is the onclick action for channel "make" and "<-"
+  // send/receive tokens.
+  document.onClickComm = function(index) {
+    var ops = document.ANALYSIS_DATA[index].Ops;
+    if (ops.length == 1) {
+      document.location = ops[0].Op.Href; // jump to sole element
+      return;
+    }
+
+    var html = 'Operations on this channel:<br/>\n';
+    for (var i = 0; i < ops.length; i++) {
+      html +=
+        makeAnchor(ops[i].Op) +
+        ' by <code>' +
+        escapeHTML(ops[i].Fn) +
+        '</code><br/>\n';
+    }
+    if (ops.length == 0) {
+      html += '(none)<br/>\n';
+    }
+    showLowFrame(html);
+  };
+
+  $(window).load(function() {
+    // Scroll window so that first selection is visible.
+    // (This means we don't need to emit id='L%d' spans for each line.)
+    // TODO(adonovan): ideally, scroll it so that it's under the pointer,
+    // but I don't know how to get the pointer y coordinate.
+    var elts = document.getElementsByClassName('selection');
+    if (elts.length > 0) {
+      elts[0].scrollIntoView();
+    }
+  });
+
+  // setupTypeInfo populates the "Implements" and "Method set" toggle for
+  // each type in the package doc.
+  function setupTypeInfo() {
+    for (var i in document.ANALYSIS_DATA) {
+      var data = document.ANALYSIS_DATA[i];
+
+      var el = document.getElementById('implements-' + i);
+      if (el != null) {
+        // el != null => data is TypeInfoJSON.
+        if (data.ImplGroups != null) {
+          el.innerHTML = implementsHTML(data);
+          el.parentNode.parentNode.style.display = 'block';
+        }
+      }
+
+      var el = document.getElementById('methodset-' + i);
+      if (el != null) {
+        // el != null => data is TypeInfoJSON.
+        if (data.Methods != null) {
+          el.innerHTML = methodsetHTML(data);
+          el.parentNode.parentNode.style.display = 'block';
+        }
+      }
+    }
+  }
+
+  function setupCallgraphs() {
+    if (document.CALLGRAPH == null) {
+      return;
+    }
+    document.getElementById('pkg-callgraph').style.display = 'block';
+
+    var treeviews = document.getElementsByClassName('treeview');
+    for (var i = 0; i < treeviews.length; i++) {
+      var tree = treeviews[i];
+      if (tree.id == null || tree.id.indexOf('callgraph-') != 0) {
+        continue;
+      }
+      var id = tree.id.substring('callgraph-'.length);
+      $(tree).treeview({ collapsed: true, animated: 'fast' });
+      document.cgAddChildren(tree, tree, [id]);
+      tree.parentNode.parentNode.style.display = 'block';
+    }
+  }
+
+  document.cgAddChildren = function(tree, ul, indices) {
+    if (indices != null) {
+      for (var i = 0; i < indices.length; i++) {
+        var li = cgAddChild(tree, ul, document.CALLGRAPH[indices[i]]);
+        if (i == indices.length - 1) {
+          $(li).addClass('last');
+        }
+      }
+    }
+    $(tree).treeview({ animated: 'fast', add: ul });
+  };
+
+  // cgAddChild adds an <li> element for document.CALLGRAPH node cgn to
+  // the parent <ul> element ul. tree is the tree's root <ul> element.
+  function cgAddChild(tree, ul, cgn) {
+    var li = document.createElement('li');
+    ul.appendChild(li);
+    li.className = 'closed';
+
+    var code = document.createElement('code');
+
+    if (cgn.Callees != null) {
+      $(li).addClass('expandable');
+
+      // Event handlers and innerHTML updates don't play nicely together,
+      // hence all this explicit DOM manipulation.
+      var hitarea = document.createElement('div');
+      hitarea.className = 'hitarea expandable-hitarea';
+      li.appendChild(hitarea);
+
+      li.appendChild(code);
+
+      var childUL = document.createElement('ul');
+      li.appendChild(childUL);
+      childUL.setAttribute('style', 'display: none;');
+
+      var onClick = function() {
+        document.cgAddChildren(tree, childUL, cgn.Callees);
+        hitarea.removeEventListener('click', onClick);
+      };
+      hitarea.addEventListener('click', onClick);
+    } else {
+      li.appendChild(code);
+    }
+    code.innerHTML += '&nbsp;' + makeAnchor(cgn.Func);
+    return li;
+  }
+})();
internal/godoc/static/images/minus.gif

	
internal/godoc/static/images/plus.gif

	
internal/godoc/static/images/treeview-black-line.gif

	
internal/godoc/static/images/treeview-black.gif

	
internal/godoc/static/images/treeview-default-line.gif

	
internal/godoc/static/images/treeview-default.gif

	
internal/godoc/static/images/treeview-gray-line.gif

	
internal/godoc/static/images/treeview-gray.gif

	
internal/godoc/static/implements.html
@@ -0,0 +1,9 @@
+<div class="toggle" style="display: none">
+	<div class="collapsed">
+		<p class="exampleHeading toggleButton">▹ <span class="text">Implements</span></p>
+	</div>
+	<div class="expanded">
+		<p class="exampleHeading toggleButton">▾ <span class="text">Implements</span></p>
+		<div style="margin-left: 1in" id='implements-{{.Index}}'>...</div>
+	</div>
+</div>
internal/godoc/static/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v1.8.2 jquery.com | jquery.org/license */
+(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
\ No newline at end of file
internal/godoc/static/jquery.treeview.css
@@ -0,0 +1,76 @@
+/* https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.css */
+/* License: MIT. */
+.treeview, .treeview ul {
+	padding: 0;
+	margin: 0;
+	list-style: none;
+}
+
+.treeview ul {
+	background-color: white;
+	margin-top: 4px;
+}
+
+.treeview .hitarea {
+	background: url(images/treeview-default.gif) -64px -25px no-repeat;
+	height: 16px;
+	width: 16px;
+	margin-left: -16px;
+	float: left;
+	cursor: pointer;
+}
+/* fix for IE6 */
+* html .hitarea {
+	display: inline;
+	float:none;
+}
+
+.treeview li {
+	margin: 0;
+	padding: 3px 0pt 3px 16px;
+}
+
+.treeview a.selected {
+	background-color: #eee;
+}
+
+#treecontrol { margin: 1em 0; display: none; }
+
+.treeview .hover { color: red; cursor: pointer; }
+
+.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
+.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
+
+.treeview .expandable-hitarea { background-position: -80px -3px; }
+
+.treeview li.last { background-position: 0 -1766px }
+.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
+.treeview li.lastCollapsable { background-position: 0 -111px }
+.treeview li.lastExpandable { background-position: -32px -67px }
+
+.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
+
+.treeview-red li { background-image: url(images/treeview-red-line.gif); }
+.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
+
+.treeview-black li { background-image: url(images/treeview-black-line.gif); }
+.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
+
+.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
+.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
+
+.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
+.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
+
+.treeview .placeholder {
+	background: url(images/ajax-loader.gif) 0 0 no-repeat;
+	height: 16px;
+	width: 16px;
+	display: block;
+}
+
+.filetree li { padding: 3px 0 2px 16px; }
+.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
+.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
+.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
+.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }
internal/godoc/static/jquery.treeview.edit.js
@@ -0,0 +1,39 @@
+/* https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.edit.js */
+/* License: MIT. */
+(function($) {
+	var CLASSES = $.treeview.classes;
+	var proxied = $.fn.treeview;
+	$.fn.treeview = function(settings) {
+		settings = $.extend({}, settings);
+		if (settings.add) {
+			return this.trigger("add", [settings.add]);
+		}
+		if (settings.remove) {
+			return this.trigger("remove", [settings.remove]);
+		}
+		return proxied.apply(this, arguments).bind("add", function(event, branches) {
+			$(branches).prev()
+				.removeClass(CLASSES.last)
+				.removeClass(CLASSES.lastCollapsable)
+				.removeClass(CLASSES.lastExpandable)
+			.find(">.hitarea")
+				.removeClass(CLASSES.lastCollapsableHitarea)
+				.removeClass(CLASSES.lastExpandableHitarea);
+			$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, $(this).data("toggler"));
+		}).bind("remove", function(event, branches) {
+			var prev = $(branches).prev();
+			var parent = $(branches).parent();
+			$(branches).remove();
+			prev.filter(":last-child").addClass(CLASSES.last)
+				.filter("." + CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable).end()
+				.find(">.hitarea").replaceClass(CLASSES.expandableHitarea, CLASSES.lastExpandableHitarea).end()
+				.filter("." + CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable).end()
+				.find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.lastCollapsableHitarea);
+			if (parent.is(":not(:has(>))") && parent[0] != this) {
+				parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable)
+				parent.siblings(".hitarea").andSelf().remove();
+			}
+		});
+	};
+
+})(jQuery);
internal/godoc/static/jquery.treeview.js
@@ -0,0 +1,250 @@
+/*
+ * Treeview 1.4.2 - jQuery plugin to hide and show branches of a tree
+ *
+ * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
+ *
+ * Copyright Jörn Zaefferer
+ * Released under the MIT license:
+ *   http://www.opensource.org/licenses/mit-license.php
+ */
+
+;(function($) {
+
+	// TODO rewrite as a widget, removing all the extra plugins
+	$.extend($.fn, {
+		swapClass: function(c1, c2) {
+			var c1Elements = this.filter('.' + c1);
+			this.filter('.' + c2).removeClass(c2).addClass(c1);
+			c1Elements.removeClass(c1).addClass(c2);
+			return this;
+		},
+		replaceClass: function(c1, c2) {
+			return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
+		},
+		hoverClass: function(className) {
+			className = className || "hover";
+			return this.hover(function() {
+				$(this).addClass(className);
+			}, function() {
+				$(this).removeClass(className);
+			});
+		},
+		heightToggle: function(animated, callback) {
+			animated ?
+				this.animate({ height: "toggle" }, animated, callback) :
+				this.each(function(){
+					jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
+					if(callback)
+						callback.apply(this, arguments);
+				});
+		},
+		heightHide: function(animated, callback) {
+			if (animated) {
+				this.animate({ height: "hide" }, animated, callback);
+			} else {
+				this.hide();
+				if (callback)
+					this.each(callback);
+			}
+		},
+		prepareBranches: function(settings) {
+			if (!settings.prerendered) {
+				// mark last tree items
+				this.filter(":last-child:not(ul)").addClass(CLASSES.last);
+				// collapse whole tree, or only those marked as closed, anyway except those marked as open
+				this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
+			}
+			// return all items with sublists
+			return this.filter(":has(>ul)");
+		},
+		applyClasses: function(settings, toggler) {
+			// TODO use event delegation
+			this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview", function(event) {
+				// don't handle click events on children, eg. checkboxes
+				if ( this == event.target )
+					toggler.apply($(this).next());
+			}).add( $("a", this) ).hoverClass();
+
+			if (!settings.prerendered) {
+				// handle closed ones first
+				this.filter(":has(>ul:hidden)")
+						.addClass(CLASSES.expandable)
+						.replaceClass(CLASSES.last, CLASSES.lastExpandable);
+
+				// handle open ones
+				this.not(":has(>ul:hidden)")
+						.addClass(CLASSES.collapsable)
+						.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
+
+	            // create hitarea if not present
+				var hitarea = this.find("div." + CLASSES.hitarea);
+				if (!hitarea.length)
+					hitarea = this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea);
+				hitarea.removeClass().addClass(CLASSES.hitarea).each(function() {
+					var classes = "";
+					$.each($(this).parent().attr("class").split(" "), function() {
+						classes += this + "-hitarea ";
+					});
+					$(this).addClass( classes );
+				})
+			}
+
+			// apply event to hitarea
+			this.find("div." + CLASSES.hitarea).click( toggler );
+		},
+		treeview: function(settings) {
+
+			settings = $.extend({
+				cookieId: "treeview"
+			}, settings);
+
+			if ( settings.toggle ) {
+				var callback = settings.toggle;
+				settings.toggle = function() {
+					return callback.apply($(this).parent()[0], arguments);
+				};
+			}
+
+			// factory for treecontroller
+			function treeController(tree, control) {
+				// factory for click handlers
+				function handler(filter) {
+					return function() {
+						// reuse toggle event handler, applying the elements to toggle
+						// start searching for all hitareas
+						toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
+							// for plain toggle, no filter is provided, otherwise we need to check the parent element
+							return filter ? $(this).parent("." + filter).length : true;
+						}) );
+						return false;
+					};
+				}
+				// click on first element to collapse tree
+				$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
+				// click on second to expand tree
+				$("a:eq(1)", control).click( handler(CLASSES.expandable) );
+				// click on third to toggle tree
+				$("a:eq(2)", control).click( handler() );
+			}
+
+			// handle toggle event
+			function toggler() {
+				$(this)
+					.parent()
+					// swap classes for hitarea
+					.find(">.hitarea")
+						.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
+						.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
+					.end()
+					// swap classes for parent li
+					.swapClass( CLASSES.collapsable, CLASSES.expandable )
+					.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
+					// find child lists
+					.find( ">ul" )
+					// toggle them
+					.heightToggle( settings.animated, settings.toggle );
+				if ( settings.unique ) {
+					$(this).parent()
+						.siblings()
+						// swap classes for hitarea
+						.find(">.hitarea")
+							.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
+							.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
+						.end()
+						.replaceClass( CLASSES.collapsable, CLASSES.expandable )
+						.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
+						.find( ">ul" )
+						.heightHide( settings.animated, settings.toggle );
+				}
+			}
+			this.data("toggler", toggler);
+
+			function serialize() {
+				function binary(arg) {
+					return arg ? 1 : 0;
+				}
+				var data = [];
+				branches.each(function(i, e) {
+					data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
+				});
+				$.cookie(settings.cookieId, data.join(""), settings.cookieOptions );
+			}
+
+			function deserialize() {
+				var stored = $.cookie(settings.cookieId);
+				if ( stored ) {
+					var data = stored.split("");
+					branches.each(function(i, e) {
+						$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
+					});
+				}
+			}
+
+			// add treeview class to activate styles
+			this.addClass("treeview");
+
+			// prepare branches and find all tree items with child lists
+			var branches = this.find("li").prepareBranches(settings);
+
+			switch(settings.persist) {
+			case "cookie":
+				var toggleCallback = settings.toggle;
+				settings.toggle = function() {
+					serialize();
+					if (toggleCallback) {
+						toggleCallback.apply(this, arguments);
+					}
+				};
+				deserialize();
+				break;
+			case "location":
+				var current = this.find("a").filter(function() {
+					return location.href.toLowerCase().indexOf(this.href.toLowerCase()) == 0;
+				});
+				if ( current.length ) {
+					// TODO update the open/closed classes
+					var items = current.addClass("selected").parents("ul, li").add( current.next() ).show();
+					if (settings.prerendered) {
+						// if prerendered is on, replicate the basic class swapping
+						items.filter("li")
+							.swapClass( CLASSES.collapsable, CLASSES.expandable )
+							.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
+							.find(">.hitarea")
+								.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
+								.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );
+					}
+				}
+				break;
+			}
+
+			branches.applyClasses(settings, toggler);
+
+			// if control option is set, create the treecontroller and show it
+			if ( settings.control ) {
+				treeController(this, settings.control);
+				$(settings.control).show();
+			}
+
+			return this;
+		}
+	});
+
+	// classes used by the plugin
+	// need to be styled via external stylesheet, see first example
+	$.treeview = {};
+	var CLASSES = ($.treeview.classes = {
+		open: "open",
+		closed: "closed",
+		expandable: "expandable",
+		expandableHitarea: "expandable-hitarea",
+		lastExpandableHitarea: "lastExpandable-hitarea",
+		collapsable: "collapsable",
+		collapsableHitarea: "collapsable-hitarea",
+		lastCollapsableHitarea: "lastCollapsable-hitarea",
+		lastCollapsable: "lastCollapsable",
+		lastExpandable: "lastExpandable",
+		last: "last",
+		hitarea: "hitarea"
+	});
+
+})(jQuery);
internal/godoc/static/makestatic.go
@@ -0,0 +1,37 @@
+//go:build ignore
+// +build ignore
+
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Command makestatic writes the generated file buffer to "static.go".
+// It is intended to be invoked via "go generate" (directive in "gen.go").
+package main
+
+import (
+	"fmt"
+	"io/ioutil"
+	"os"
+
+	"golang.org/x/website/internal/godoc/static"
+)
+
+func main() {
+	if err := makestatic(); err != nil {
+		fmt.Fprintln(os.Stderr, err)
+		os.Exit(1)
+	}
+}
+
+func makestatic() error {
+	buf, err := static.Generate()
+	if err != nil {
+		return fmt.Errorf("error while generating static.go: %v\n", err)
+	}
+	err = ioutil.WriteFile("static.go", buf, 0666)
+	if err != nil {
+		return fmt.Errorf("error while writing static.go: %v\n", err)
+	}
+	return nil
+}
internal/godoc/static/methodset.html
@@ -0,0 +1,9 @@
+<div class="toggle" style="display: none">
+	<div class="collapsed">
+		<p class="exampleHeading toggleButton">▹ <span class="text">Method set</span></p>
+	</div>
+	<div class="expanded">
+		<p class="exampleHeading toggleButton">▾ <span class="text">Method set</span></p>
+		<div style="margin-left: 1in" id='methodset-{{.Index}}'>...</div>
+	</div>
+</div>
internal/godoc/static/package.html
@@ -0,0 +1,292 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+<!--
+	Note: Static (i.e., not template-generated) href and id
+	attributes start with "pkg-" to make it impossible for
+	them to conflict with generated attributes (some of which
+	correspond to Go identifiers).
+-->
+{{with .PDoc}}
+	<script>
+	document.ANALYSIS_DATA = {{$.AnalysisData}};
+	document.CALLGRAPH = {{$.CallGraph}};
+	</script>
+
+	{{if $.IsMain}}
+		{{/* command documentation */}}
+		{{comment_html .Doc}}
+	{{else}}
+		{{/* package documentation */}}
+		<div id="short-nav">
+			<dl>
+			<dd><code>import "{{html .ImportPath}}"</code></dd>
+			</dl>
+			<dl>
+			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
+			<dd><a href="#pkg-index" class="indexLink">Index</a></dd>
+			{{if $.Examples}}
+				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
+			{{end}}
+			{{if $.Dirs}}
+				<dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
+			{{end}}
+			</dl>
+		</div>
+		<!-- The package's Name is printed as title by the top-level template -->
+		<div id="pkg-overview" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
+				{{comment_html .Doc}}
+				{{example_html $ ""}}
+			</div>
+		</div>
+
+		<div id="pkg-index" class="toggleVisible">
+		<div class="collapsed">
+			<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
+		</div>
+		<div class="expanded">
+			<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
+
+		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
+			<div id="manual-nav">
+			<dl>
+			{{if .Consts}}
+				<dd><a href="#pkg-constants">Constants</a></dd>
+			{{end}}
+			{{if .Vars}}
+				<dd><a href="#pkg-variables">Variables</a></dd>
+			{{end}}
+			{{range .Funcs}}
+				{{$name_html := html .Name}}
+				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+			{{end}}
+			{{range .Types}}
+				{{$tname_html := html .Name}}
+				<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
+				{{range .Funcs}}
+					{{$name_html := html .Name}}
+					<dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+				{{end}}
+				{{range .Methods}}
+					{{$name_html := html .Name}}
+					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
+				{{end}}
+			{{end}}
+			{{if $.Notes}}
+				{{range $marker, $item := $.Notes}}
+				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
+				{{end}}
+			{{end}}
+			</dl>
+			</div><!-- #manual-nav -->
+
+		{{if $.Examples}}
+		<div id="pkg-examples">
+			<h3>Examples</h3>
+			<div class="js-expandAll expandAll collapsed">(Expand All)</div>
+			<dl>
+			{{range $.Examples}}
+			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
+			{{end}}
+			</dl>
+		</div>
+		{{end}}
+
+		{{with .Filenames}}
+			<h3>Package files</h3>
+			<p>
+			<span style="font-size:90%">
+			{{range .}}
+				<a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
+			{{end}}
+			</span>
+			</p>
+		{{end}}
+		</div><!-- .expanded -->
+		</div><!-- #pkg-index -->
+
+		{{if ne $.CallGraph "null"}}
+		<div id="pkg-callgraph" class="toggle" style="display: none">
+		<div class="collapsed">
+			<h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
+		</div> <!-- .expanded -->
+		<div class="expanded">
+			<h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
+			<p>
+			  In the call graph viewer below, each node
+			  is a function belonging to this package
+			  and its children are the functions it
+			  calls&mdash;perhaps dynamically.
+			</p>
+			<p>
+			  The root nodes are the entry points of the
+			  package: functions that may be called from
+			  outside the package.
+			  There may be non-exported or anonymous
+			  functions among them if they are called
+			  dynamically from another package.
+			</p>
+			<p>
+			  Click a node to visit that function's source code.
+			  From there you can visit its callers by
+			  clicking its declaring <code>func</code>
+			  token.
+			</p>
+			<p>
+			  Functions may be omitted if they were
+			  determined to be unreachable in the
+			  particular programs or tests that were
+			  analyzed.
+			</p>
+			<!-- Zero means show all package entry points. -->
+			<ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
+		</div>
+		</div> <!-- #pkg-callgraph -->
+		{{end}}
+
+		{{with .Consts}}
+			<h2 id="pkg-constants">Constants</h2>
+			{{range .}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+		{{end}}
+		{{with .Vars}}
+			<h2 id="pkg-variables">Variables</h2>
+			{{range .}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+		{{end}}
+		{{range .Funcs}}
+			{{/* Name is a string - no need for FSet */}}
+			{{$name_html := html .Name}}
+			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+				<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
+				{{$since := since "func" "" .Name $.PDoc.ImportPath}}
+				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+			</h2>
+			<pre>{{node_html $ .Decl true}}</pre>
+			{{comment_html .Doc}}
+			{{example_html $ .Name}}
+			{{callgraph_html $ "" .Name}}
+
+		{{end}}
+		{{range .Types}}
+			{{$tname := .Name}}
+			{{$tname_html := html .Name}}
+			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
+				<a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
+				{{$since := since "type" "" .Name $.PDoc.ImportPath}}
+				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+			</h2>
+			{{comment_html .Doc}}
+			<pre>{{node_html $ .Decl true}}</pre>
+
+			{{range .Consts}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+
+			{{range .Vars}}
+				{{comment_html .Doc}}
+				<pre>{{node_html $ .Decl true}}</pre>
+			{{end}}
+
+			{{example_html $ $tname}}
+			{{implements_html $ $tname}}
+			{{methodset_html $ $tname}}
+
+			{{range .Funcs}}
+				{{$name_html := html .Name}}
+				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+					<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
+					{{$since := since "func" "" .Name $.PDoc.ImportPath}}
+					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+				</h3>
+				<pre>{{node_html $ .Decl true}}</pre>
+				{{comment_html .Doc}}
+				{{example_html $ .Name}}
+				{{callgraph_html $ "" .Name}}
+			{{end}}
+
+			{{range .Methods}}
+				{{$name_html := html .Name}}
+				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
+					<a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
+					{{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
+					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
+				</h3>
+				<pre>{{node_html $ .Decl true}}</pre>
+				{{comment_html .Doc}}
+				{{$name := printf "%s_%s" $tname .Name}}
+				{{example_html $ $name}}
+				{{callgraph_html $ .Recv .Name}}
+			{{end}}
+		{{end}}
+	{{end}}
+
+	{{with $.Notes}}
+		{{range $marker, $content := .}}
+			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
+			<ul style="list-style: none; padding: 0;">
+			{{range .}}
+			<li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html .Body}}</li>
+			{{end}}
+			</ul>
+		{{end}}
+	{{end}}
+{{end}}
+
+{{with .PAst}}
+	{{range $filename, $ast := .}}
+		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
+	{{end}}
+{{end}}
+
+{{with .Dirs}}
+	{{/* DirList entries are numbers and strings - no need for FSet */}}
+	{{if $.PDoc}}
+		<h2 id="pkg-subdirectories">Subdirectories</h2>
+	{{end}}
+	<div class="pkg-dir">
+		<table>
+			<tr>
+				<th class="pkg-name">Name</th>
+				<th class="pkg-synopsis">Synopsis</th>
+			</tr>
+
+			{{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
+			<tr>
+				<td colspan="2"><a href="..">..</a></td>
+			</tr>
+			{{end}}
+
+			{{range .List}}
+				<tr>
+				{{if $.DirFlat}}
+					{{if .HasPkg}}
+						<td class="pkg-name">
+							<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+						</td>
+					{{end}}
+				{{else}}
+					<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+						<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+					</td>
+				{{end}}
+					<td class="pkg-synopsis">
+						{{html .Synopsis}}
+					</td>
+				</tr>
+			{{end}}
+		</table>
+	</div>
+{{end}}
internal/godoc/static/packageroot.html
@@ -0,0 +1,150 @@
+<!--
+	Copyright 2018 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+<!--
+	Note: Static (i.e., not template-generated) href and id
+	attributes start with "pkg-" to make it impossible for
+	them to conflict with generated attributes (some of which
+	correspond to Go identifiers).
+-->
+{{with .PAst}}
+	{{range $filename, $ast := .}}
+		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
+	{{end}}
+{{end}}
+
+{{with .Dirs}}
+	{{/* DirList entries are numbers and strings - no need for FSet */}}
+	{{if $.PDoc}}
+		<h2 id="pkg-subdirectories">Subdirectories</h2>
+	{{end}}
+		<div id="manual-nav">
+			<dl>
+				<dt><a href="#stdlib">Standard library</a></dt>
+				{{if hasThirdParty .List }}
+					<dt><a href="#thirdparty">Third party</a></dt>
+				{{end}}
+				<dt><a href="#other">Other packages</a></dt>
+				<dd><a href="#subrepo">Sub-repositories</a></dd>
+				<dd><a href="#community">Community</a></dd>
+			</dl>
+		</div>
+
+		<div id="stdlib" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
+				<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
+				<div class="pkg-dir">
+					<table>
+						<tr>
+							<th class="pkg-name">Name</th>
+							<th class="pkg-synopsis">Synopsis</th>
+						</tr>
+
+						{{range .List}}
+							<tr>
+							{{if eq .RootType "GOROOT"}}
+							{{if $.DirFlat}}
+								{{if .HasPkg}}
+										<td class="pkg-name">
+											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+										</td>
+								{{end}}
+							{{else}}
+									<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+										<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+									</td>
+							{{end}}
+								<td class="pkg-synopsis">
+									{{html .Synopsis}}
+								</td>
+							{{end}}
+							</tr>
+						{{end}}
+					</table>
+				</div> <!-- .pkg-dir -->
+			</div> <!-- .expanded -->
+		</div> <!-- #stdlib .toggleVisible -->
+
+	{{if hasThirdParty .List }}
+		<div id="thirdparty" class="toggleVisible">
+			<div class="collapsed">
+				<h2 class="toggleButton" title="Click to show Third party section">Third party ▹</h2>
+			</div>
+			<div class="expanded">
+				<h2 class="toggleButton" title="Click to hide Third party section">Third party ▾</h2>
+				<div class="pkg-dir">
+					<table>
+						<tr>
+							<th class="pkg-name">Name</th>
+							<th class="pkg-synopsis">Synopsis</th>
+						</tr>
+
+						{{range .List}}
+							<tr>
+								{{if eq .RootType "GOPATH"}}
+								{{if $.DirFlat}}
+									{{if .HasPkg}}
+											<td class="pkg-name">
+												<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
+											</td>
+									{{end}}
+								{{else}}
+										<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
+											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
+										</td>
+								{{end}}
+									<td class="pkg-synopsis">
+										{{html .Synopsis}}
+									</td>
+								{{end}}
+							</tr>
+						{{end}}
+					</table>
+				</div> <!-- .pkg-dir -->
+			</div> <!-- .expanded -->
+		</div> <!-- #stdlib .toggleVisible -->
+	{{end}}
+
+	<h2 id="other">Other packages</h2>
+	<h3 id="subrepo">Sub-repositories</h3>
+	<p>
+	These packages are part of the Go Project but outside the main Go tree.
+	They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
+	Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
+	</p>
+	<ul>
+		<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
+		<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
+	</ul>
+
+	<h3 id="community">Community</h3>
+	<p>
+	These services can help you find Open Source packages provided by the community.
+	</p>
+	<ul>
+		<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
+		<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
+	</ul>
+{{end}}
internal/godoc/static/play.js
@@ -0,0 +1,114 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+function initPlayground(transport) {
+  'use strict';
+
+  function text(node) {
+    var s = '';
+    for (var i = 0; i < node.childNodes.length; i++) {
+      var n = node.childNodes[i];
+      if (n.nodeType === 1) {
+        if (n.tagName === 'BUTTON') continue;
+        if (n.tagName === 'SPAN' && n.className === 'number') continue;
+        if (n.tagName === 'DIV' || n.tagName === 'BR' || n.tagName === 'PRE') {
+          s += '\n';
+        }
+        s += text(n);
+        continue;
+      }
+      if (n.nodeType === 3) {
+        s += n.nodeValue;
+      }
+    }
+    return s.replace('\xA0', ' '); // replace non-breaking spaces
+  }
+
+  // When presenter notes are enabled, the index passed
+  // here will identify the playground to be synced
+  function init(code, index) {
+    var output = document.createElement('div');
+    var outpre = document.createElement('pre');
+    var running;
+
+    if ($ && $(output).resizable) {
+      $(output).resizable({
+        handles: 'n,w,nw',
+        minHeight: 27,
+        minWidth: 135,
+        maxHeight: 608,
+        maxWidth: 990,
+      });
+    }
+
+    function onKill() {
+      if (running) running.Kill();
+      if (window.notesEnabled) updatePlayStorage('onKill', index);
+    }
+
+    function onRun(e) {
+      var sk = e.shiftKey || localStorage.getItem('play-shiftKey') === 'true';
+      if (running) running.Kill();
+      output.style.display = 'block';
+      outpre.textContent = '';
+      run1.style.display = 'none';
+      var options = { Race: sk };
+      running = transport.Run(text(code), PlaygroundOutput(outpre), options);
+      if (window.notesEnabled) updatePlayStorage('onRun', index, e);
+    }
+
+    function onClose() {
+      if (running) running.Kill();
+      output.style.display = 'none';
+      run1.style.display = 'inline-block';
+      if (window.notesEnabled) updatePlayStorage('onClose', index);
+    }
+
+    if (window.notesEnabled) {
+      playgroundHandlers.onRun.push(onRun);
+      playgroundHandlers.onClose.push(onClose);
+      playgroundHandlers.onKill.push(onKill);
+    }
+
+    var run1 = document.createElement('button');
+    run1.textContent = 'Run';
+    run1.className = 'run';
+    run1.addEventListener('click', onRun, false);
+    var run2 = document.createElement('button');
+    run2.className = 'run';
+    run2.textContent = 'Run';
+    run2.addEventListener('click', onRun, false);
+    var kill = document.createElement('button');
+    kill.className = 'kill';
+    kill.textContent = 'Kill';
+    kill.addEventListener('click', onKill, false);
+    var close = document.createElement('button');
+    close.className = 'close';
+    close.textContent = 'Close';
+    close.addEventListener('click', onClose, false);
+
+    var button = document.createElement('div');
+    button.classList.add('buttons');
+    button.appendChild(run1);
+    // Hack to simulate insertAfter
+    code.parentNode.insertBefore(button, code.nextSibling);
+
+    var buttons = document.createElement('div');
+    buttons.classList.add('buttons');
+    buttons.appendChild(run2);
+    buttons.appendChild(kill);
+    buttons.appendChild(close);
+
+    output.classList.add('output');
+    output.appendChild(buttons);
+    output.appendChild(outpre);
+    output.style.display = 'none';
+    code.parentNode.insertBefore(output, button.nextSibling);
+  }
+
+  var play = document.querySelectorAll('div.playground');
+  for (var i = 0; i < play.length; i++) {
+    init(play[i], i);
+  }
+}
internal/godoc/static/playground.js
@@ -0,0 +1,593 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+/*
+In the absence of any formal way to specify interfaces in JavaScript,
+here's a skeleton implementation of a playground transport.
+
+        function Transport() {
+                // Set up any transport state (eg, make a websocket connection).
+                return {
+                        Run: function(body, output, options) {
+                                // Compile and run the program 'body' with 'options'.
+				// Call the 'output' callback to display program output.
+                                return {
+                                        Kill: function() {
+                                                // Kill the running program.
+                                        }
+                                };
+                        }
+                };
+        }
+
+	// The output callback is called multiple times, and each time it is
+	// passed an object of this form.
+        var write = {
+                Kind: 'string', // 'start', 'stdout', 'stderr', 'end'
+                Body: 'string'  // content of write or end status message
+        }
+
+	// The first call must be of Kind 'start' with no body.
+	// Subsequent calls may be of Kind 'stdout' or 'stderr'
+	// and must have a non-null Body string.
+	// The final call should be of Kind 'end' with an optional
+	// Body string, signifying a failure ("killed", for example).
+
+	// The output callback must be of this form.
+	// See PlaygroundOutput (below) for an implementation.
+        function outputCallback(write) {
+        }
+*/
+
+// HTTPTransport is the default transport.
+// enableVet enables running vet if a program was compiled and ran successfully.
+// If vet returned any errors, display them before the output of a program.
+function HTTPTransport(enableVet) {
+  'use strict';
+
+  function playback(output, data) {
+    // Backwards compatibility: default values do not affect the output.
+    var events = data.Events || [];
+    var errors = data.Errors || '';
+    var status = data.Status || 0;
+    var isTest = data.IsTest || false;
+    var testsFailed = data.TestsFailed || 0;
+
+    var timeout;
+    output({ Kind: 'start' });
+    function next() {
+      if (!events || events.length === 0) {
+        if (isTest) {
+          if (testsFailed > 0) {
+            output({
+              Kind: 'system',
+              Body:
+                '\n' +
+                testsFailed +
+                ' test' +
+                (testsFailed > 1 ? 's' : '') +
+                ' failed.',
+            });
+          } else {
+            output({ Kind: 'system', Body: '\nAll tests passed.' });
+          }
+        } else {
+          if (status > 0) {
+            output({ Kind: 'end', Body: 'status ' + status + '.' });
+          } else {
+            if (errors !== '') {
+              // errors are displayed only in the case of timeout.
+              output({ Kind: 'end', Body: errors + '.' });
+            } else {
+              output({ Kind: 'end' });
+            }
+          }
+        }
+        return;
+      }
+      var e = events.shift();
+      if (e.Delay === 0) {
+        output({ Kind: e.Kind, Body: e.Message });
+        next();
+        return;
+      }
+      timeout = setTimeout(function() {
+        output({ Kind: e.Kind, Body: e.Message });
+        next();
+      }, e.Delay / 1000000);
+    }
+    next();
+    return {
+      Stop: function() {
+        clearTimeout(timeout);
+      },
+    };
+  }
+
+  function error(output, msg) {
+    output({ Kind: 'start' });
+    output({ Kind: 'stderr', Body: msg });
+    output({ Kind: 'end' });
+  }
+
+  function buildFailed(output, msg) {
+    output({ Kind: 'start' });
+    output({ Kind: 'stderr', Body: msg });
+    output({ Kind: 'system', Body: '\nGo build failed.' });
+  }
+
+  var seq = 0;
+  return {
+    Run: function(body, output, options) {
+      seq++;
+      var cur = seq;
+      var playing;
+      $.ajax('/compile', {
+        type: 'POST',
+        data: { version: 2, body: body, withVet: enableVet },
+        dataType: 'json',
+        success: function(data) {
+          if (seq != cur) return;
+          if (!data) return;
+          if (playing != null) playing.Stop();
+          if (data.Errors) {
+            if (data.Errors === 'process took too long') {
+              // Playback the output that was captured before the timeout.
+              playing = playback(output, data);
+            } else {
+              buildFailed(output, data.Errors);
+            }
+            return;
+          }
+          if (!data.Events) {
+            data.Events = [];
+          }
+          if (data.VetErrors) {
+            // Inject errors from the vet as the first events in the output.
+            data.Events.unshift({
+              Message: 'Go vet exited.\n\n',
+              Kind: 'system',
+              Delay: 0,
+            });
+            data.Events.unshift({
+              Message: data.VetErrors,
+              Kind: 'stderr',
+              Delay: 0,
+            });
+          }
+
+          if (!enableVet || data.VetOK || data.VetErrors) {
+            playing = playback(output, data);
+            return;
+          }
+
+          // In case the server support doesn't support
+          // compile+vet in same request signaled by the
+          // 'withVet' parameter above, also try the old way.
+          // TODO: remove this when it falls out of use.
+          // It is 2019-05-13 now.
+          $.ajax('/vet', {
+            data: { body: body },
+            type: 'POST',
+            dataType: 'json',
+            success: function(dataVet) {
+              if (dataVet.Errors) {
+                // inject errors from the vet as the first events in the output
+                data.Events.unshift({
+                  Message: 'Go vet exited.\n\n',
+                  Kind: 'system',
+                  Delay: 0,
+                });
+                data.Events.unshift({
+                  Message: dataVet.Errors,
+                  Kind: 'stderr',
+                  Delay: 0,
+                });
+              }
+              playing = playback(output, data);
+            },
+            error: function() {
+              playing = playback(output, data);
+            },
+          });
+        },
+        error: function() {
+          error(output, 'Error communicating with remote server.');
+        },
+      });
+      return {
+        Kill: function() {
+          if (playing != null) playing.Stop();
+          output({ Kind: 'end', Body: 'killed' });
+        },
+      };
+    },
+  };
+}
+
+function SocketTransport() {
+  'use strict';
+
+  var id = 0;
+  var outputs = {};
+  var started = {};
+  var websocket;
+  if (window.location.protocol == 'http:') {
+    websocket = new WebSocket('ws://' + window.location.host + '/socket');
+  } else if (window.location.protocol == 'https:') {
+    websocket = new WebSocket('wss://' + window.location.host + '/socket');
+  }
+
+  websocket.onclose = function() {
+    console.log('websocket connection closed');
+  };
+
+  websocket.onmessage = function(e) {
+    var m = JSON.parse(e.data);
+    var output = outputs[m.Id];
+    if (output === null) return;
+    if (!started[m.Id]) {
+      output({ Kind: 'start' });
+      started[m.Id] = true;
+    }
+    output({ Kind: m.Kind, Body: m.Body });
+  };
+
+  function send(m) {
+    websocket.send(JSON.stringify(m));
+  }
+
+  return {
+    Run: function(body, output, options) {
+      var thisID = id + '';
+      id++;
+      outputs[thisID] = output;
+      send({ Id: thisID, Kind: 'run', Body: body, Options: options });
+      return {
+        Kill: function() {
+          send({ Id: thisID, Kind: 'kill' });
+        },
+      };
+    },
+  };
+}
+
+function PlaygroundOutput(el) {
+  'use strict';
+
+  return function(write) {
+    if (write.Kind == 'start') {
+      el.innerHTML = '';
+      return;
+    }
+
+    var cl = 'system';
+    if (write.Kind == 'stdout' || write.Kind == 'stderr') cl = write.Kind;
+
+    var m = write.Body;
+    if (write.Kind == 'end') {
+      m = '\nProgram exited' + (m ? ': ' + m : '.');
+    }
+
+    if (m.indexOf('IMAGE:') === 0) {
+      // TODO(adg): buffer all writes before creating image
+      var url = 'data:image/png;base64,' + m.substr(6);
+      var img = document.createElement('img');
+      img.src = url;
+      el.appendChild(img);
+      return;
+    }
+
+    // ^L clears the screen.
+    var s = m.split('\x0c');
+    if (s.length > 1) {
+      el.innerHTML = '';
+      m = s.pop();
+    }
+
+    m = m.replace(/&/g, '&amp;');
+    m = m.replace(/</g, '&lt;');
+    m = m.replace(/>/g, '&gt;');
+
+    var needScroll = el.scrollTop + el.offsetHeight == el.scrollHeight;
+
+    var span = document.createElement('span');
+    span.className = cl;
+    span.innerHTML = m;
+    el.appendChild(span);
+
+    if (needScroll) el.scrollTop = el.scrollHeight - el.offsetHeight;
+  };
+}
+
+(function() {
+  function lineHighlight(error) {
+    var regex = /prog.go:([0-9]+)/g;
+    var r = regex.exec(error);
+    while (r) {
+      $('.lines div')
+        .eq(r[1] - 1)
+        .addClass('lineerror');
+      r = regex.exec(error);
+    }
+  }
+  function highlightOutput(wrappedOutput) {
+    return function(write) {
+      if (write.Body) lineHighlight(write.Body);
+      wrappedOutput(write);
+    };
+  }
+  function lineClear() {
+    $('.lineerror').removeClass('lineerror');
+  }
+
+  // opts is an object with these keys
+  //  codeEl - code editor element
+  //  outputEl - program output element
+  //  runEl - run button element
+  //  fmtEl - fmt button element (optional)
+  //  fmtImportEl - fmt "imports" checkbox element (optional)
+  //  shareEl - share button element (optional)
+  //  shareURLEl - share URL text input element (optional)
+  //  shareRedirect - base URL to redirect to on share (optional)
+  //  toysEl - toys select element (optional)
+  //  enableHistory - enable using HTML5 history API (optional)
+  //  transport - playground transport to use (default is HTTPTransport)
+  //  enableShortcuts - whether to enable shortcuts (Ctrl+S/Cmd+S to save) (default is false)
+  //  enableVet - enable running vet and displaying its errors
+  function playground(opts) {
+    var code = $(opts.codeEl);
+    var transport = opts['transport'] || new HTTPTransport(opts['enableVet']);
+    var running;
+
+    // autoindent helpers.
+    function insertTabs(n) {
+      // find the selection start and end
+      var start = code[0].selectionStart;
+      var end = code[0].selectionEnd;
+      // split the textarea content into two, and insert n tabs
+      var v = code[0].value;
+      var u = v.substr(0, start);
+      for (var i = 0; i < n; i++) {
+        u += '\t';
+      }
+      u += v.substr(end);
+      // set revised content
+      code[0].value = u;
+      // reset caret position after inserted tabs
+      code[0].selectionStart = start + n;
+      code[0].selectionEnd = start + n;
+    }
+    function autoindent(el) {
+      var curpos = el.selectionStart;
+      var tabs = 0;
+      while (curpos > 0) {
+        curpos--;
+        if (el.value[curpos] == '\t') {
+          tabs++;
+        } else if (tabs > 0 || el.value[curpos] == '\n') {
+          break;
+        }
+      }
+      setTimeout(function() {
+        insertTabs(tabs);
+      }, 1);
+    }
+
+    // NOTE(cbro): e is a jQuery event, not a DOM event.
+    function handleSaveShortcut(e) {
+      if (e.isDefaultPrevented()) return false;
+      if (!e.metaKey && !e.ctrlKey) return false;
+      if (e.key != 'S' && e.key != 's') return false;
+
+      e.preventDefault();
+
+      // Share and save
+      share(function(url) {
+        window.location.href = url + '.go?download=true';
+      });
+
+      return true;
+    }
+
+    function keyHandler(e) {
+      if (opts.enableShortcuts && handleSaveShortcut(e)) return;
+
+      if (e.keyCode == 9 && !e.ctrlKey) {
+        // tab (but not ctrl-tab)
+        insertTabs(1);
+        e.preventDefault();
+        return false;
+      }
+      if (e.keyCode == 13) {
+        // enter
+        if (e.shiftKey) {
+          // +shift
+          run();
+          e.preventDefault();
+          return false;
+        }
+        if (e.ctrlKey) {
+          // +control
+          fmt();
+          e.preventDefault();
+        } else {
+          autoindent(e.target);
+        }
+      }
+      return true;
+    }
+    code.unbind('keydown').bind('keydown', keyHandler);
+    var outdiv = $(opts.outputEl).empty();
+    var output = $('<pre/>').appendTo(outdiv);
+
+    function body() {
+      return $(opts.codeEl).val();
+    }
+    function setBody(text) {
+      $(opts.codeEl).val(text);
+    }
+    function origin(href) {
+      return ('' + href)
+        .split('/')
+        .slice(0, 3)
+        .join('/');
+    }
+
+    var pushedEmpty = window.location.pathname == '/';
+    function inputChanged() {
+      if (pushedEmpty) {
+        return;
+      }
+      pushedEmpty = true;
+      $(opts.shareURLEl).hide();
+      window.history.pushState(null, '', '/');
+    }
+    function popState(e) {
+      if (e === null) {
+        return;
+      }
+      if (e && e.state && e.state.code) {
+        setBody(e.state.code);
+      }
+    }
+    var rewriteHistory = false;
+    if (
+      window.history &&
+      window.history.pushState &&
+      window.addEventListener &&
+      opts.enableHistory
+    ) {
+      rewriteHistory = true;
+      code[0].addEventListener('input', inputChanged);
+      window.addEventListener('popstate', popState);
+    }
+
+    function setError(error) {
+      if (running) running.Kill();
+      lineClear();
+      lineHighlight(error);
+      output
+        .empty()
+        .addClass('error')
+        .text(error);
+    }
+    function loading() {
+      lineClear();
+      if (running) running.Kill();
+      output.removeClass('error').text('Waiting for remote server...');
+    }
+    function run() {
+      loading();
+      running = transport.Run(
+        body(),
+        highlightOutput(PlaygroundOutput(output[0]))
+      );
+    }
+
+    function fmt() {
+      loading();
+      var data = { body: body() };
+      if ($(opts.fmtImportEl).is(':checked')) {
+        data['imports'] = 'true';
+      }
+      $.ajax('/fmt', {
+        data: data,
+        type: 'POST',
+        dataType: 'json',
+        success: function(data) {
+          if (data.Error) {
+            setError(data.Error);
+          } else {
+            setBody(data.Body);
+            setError('');
+          }
+        },
+      });
+    }
+
+    var shareURL; // jQuery element to show the shared URL.
+    var sharing = false; // true if there is a pending request.
+    var shareCallbacks = [];
+    function share(opt_callback) {
+      if (opt_callback) shareCallbacks.push(opt_callback);
+
+      if (sharing) return;
+      sharing = true;
+
+      var sharingData = body();
+      $.ajax('/share', {
+        processData: false,
+        data: sharingData,
+        type: 'POST',
+        contentType: 'text/plain; charset=utf-8',
+        complete: function(xhr) {
+          sharing = false;
+          if (xhr.status != 200) {
+            alert('Server error; try again.');
+            return;
+          }
+          if (opts.shareRedirect) {
+            window.location = opts.shareRedirect + xhr.responseText;
+          }
+          var path = '/p/' + xhr.responseText;
+          var url = origin(window.location) + path;
+
+          for (var i = 0; i < shareCallbacks.length; i++) {
+            shareCallbacks[i](url);
+          }
+          shareCallbacks = [];
+
+          if (shareURL) {
+            shareURL
+              .show()
+              .val(url)
+              .focus()
+              .select();
+
+            if (rewriteHistory) {
+              var historyData = { code: sharingData };
+              window.history.pushState(historyData, '', path);
+              pushedEmpty = false;
+            }
+          }
+        },
+      });
+    }
+
+    $(opts.runEl).click(run);
+    $(opts.fmtEl).click(fmt);
+
+    if (
+      opts.shareEl !== null &&
+      (opts.shareURLEl !== null || opts.shareRedirect !== null)
+    ) {
+      if (opts.shareURLEl) {
+        shareURL = $(opts.shareURLEl).hide();
+      }
+      $(opts.shareEl).click(function() {
+        share();
+      });
+    }
+
+    if (opts.toysEl !== null) {
+      $(opts.toysEl).bind('change', function() {
+        var toy = $(this).val();
+        $.ajax('/doc/play/' + toy, {
+          processData: false,
+          type: 'GET',
+          complete: function(xhr) {
+            if (xhr.status != 200) {
+              alert('Server error; try again.');
+              return;
+            }
+            setBody(xhr.responseText);
+          },
+        });
+      });
+    }
+  }
+
+  window.playground = playground;
+})();
internal/godoc/static/search.html
@@ -0,0 +1,66 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+
+{{ $colCount := tocColCount .}}
+{{/* Generate the TOC */}}
+<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
+{{range $key, $val := .Idents}}
+	{{if $val}}
+		<a href="#{{$key.Name}}">{{$key.Name}}</a>
+		<br />
+	{{end}}
+{{end}}
+
+{{if not .Idents}}
+	{{with .Pak}}
+		<a href="#Packages">Package {{html $.Query}}</a>
+		<br />
+	{{end}}
+{{end}}
+
+{{with .Hit}}
+	{{with .Decls}}
+		<a href="#Global">Package-level declarations</a>
+		<br />
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
+			<br />
+		{{end}}
+	{{end}}
+	{{with .Others}}
+		<a href="#Local">Local declarations and uses</a>
+		<br />
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
+			<br />
+		{{end}}
+	{{end}}
+{{end}}
+
+{{with .Textual}}
+	{{if $.Complete}}
+		<a href="#Textual">{{html $.Found}} textual occurrences</a>
+	{{else}}
+		<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
+	{{end}}
+{{end}}
+</nav>
+
+{{with .Alert}}
+	<p>
+	<span class="alert" style="font-size:120%">{{html .}}</span>
+	</p>
+{{end}}
+{{with .Alt}}
+	<p>
+	<span class="alert" style="font-size:120%">Did you mean: </span>
+	{{range .Alts}}
+		<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
+	{{end}}
+	</p>
+{{end}}
internal/godoc/static/searchcode.html
@@ -0,0 +1,64 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{$query_url := urlquery .Query}}
+{{if not .Idents}}
+	{{with .Pak}}
+		<h2 id="Packages">Package {{html $.Query}}</h2>
+		<p>
+		<table class="layout">
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<tr><td><a href="/{{$pkg_html}}">{{$pkg_html}}</a></td></tr>
+		{{end}}
+		</table>
+		</p>
+	{{end}}
+{{end}}
+{{with .Hit}}
+	{{with .Decls}}
+		<h2 id="Global">Package-level declarations</h2>
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<h3 id="Global_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
+			{{range .Files}}
+				{{$file := .File.Path}}
+				{{range .Groups}}
+					{{range .}}
+						{{$line := infoLine .}}
+						<a href="{{queryLink $file $query_url $line | html}}">{{$file}}:{{$line}}</a>
+						{{infoSnippet_html .}}
+					{{end}}
+				{{end}}
+			{{end}}
+		{{end}}
+	{{end}}
+	{{with .Others}}
+		<h2 id="Local">Local declarations and uses</h2>
+		{{range .}}
+			{{$pkg_html := pkgLink .Pak.Path | html}}
+			<h3 id="Local_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
+			{{range .Files}}
+				{{$file := .File.Path}}
+				<a href="{{queryLink $file $query_url 0 | html}}">{{$file}}</a>
+				<table class="layout">
+				{{range .Groups}}
+					<tr>
+					<td width="25"></td>
+					<th align="left" valign="top">{{index . 0 | infoKind_html}}</th>
+					<td align="left" width="4"></td>
+					<td>
+					{{range .}}
+						{{$line := infoLine .}}
+						<a href="{{queryLink $file $query_url $line | html}}">{{$line}}</a>
+					{{end}}
+					</td>
+					</tr>
+				{{end}}
+				</table>
+			{{end}}
+		{{end}}
+	{{end}}
+{{end}}
internal/godoc/static/searchdoc.html
@@ -0,0 +1,24 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{range $key, $val := .Idents}}
+	{{if $val}}
+		<h2 id="{{$key.Name}}">{{$key.Name}}</h2>
+		{{range $val}}
+			{{$pkg_html := pkgLink .Path | html}}
+			{{if eq "Packages" $key.Name}}
+				<a href="/{{$pkg_html}}">{{html .Path}}</a>
+			{{else}}
+				{{$doc_html := docLink .Path .Name| html}}
+				<a href="/{{$pkg_html}}">{{html .Package}}</a>.<a href="{{$doc_html}}">{{.Name}}</a>
+			{{end}}
+			{{if .Doc}}
+				<p>{{comment_html .Doc}}</p>
+			{{else}}
+				<p><em>No documentation available</em></p>
+			{{end}}
+		{{end}}
+	{{end}}
+{{end}}
internal/godoc/static/searchtxt.html
@@ -0,0 +1,42 @@
+<!--
+	Copyright 2009 The Go Authors. All rights reserved.
+	Use of this source code is governed by a BSD-style
+	license that can be found in the LICENSE file.
+-->
+{{$query_url := urlquery .Query}}
+{{with .Textual}}
+	{{if $.Complete}}
+		<h2 id="Textual">{{html $.Found}} textual occurrences</h2>
+	{{else}}
+		<h2 id="Textual">More than {{html $.Found}} textual occurrences</h2>
+		<p>
+		<span class="alert" style="font-size:120%">Not all files or lines containing "{{html $.Query}}" are shown.</span>
+		</p>
+	{{end}}
+	<p>
+	<table class="layout">
+	{{range .}}
+		{{$file := .Filename}}
+		<tr>
+		<td align="left" valign="top">
+		<a href="{{queryLink $file $query_url 0}}">{{$file}}</a>:
+		</td>
+		<td align="left" width="4"></td>
+		<th align="left" valign="top">{{len .Lines}}</th>
+		<td align="left" width="4"></td>
+		<td align="left">
+		{{range .Lines}}
+			<a href="{{queryLink $file $query_url .}}">{{html .}}</a>
+		{{end}}
+		{{if not $.Complete}}
+			...
+		{{end}}
+		</td>
+		</tr>
+	{{end}}
+	{{if not $.Complete}}
+		<tr><td align="left">...</td></tr>
+	{{end}}
+	</table>
+	</p>
+{{end}}
internal/godoc/static/static.go
@@ -0,0 +1,99 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by "makestatic"; DO NOT EDIT.
+
+package static
+
+var Files = map[string]string{
+	"analysis/call3.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03N\x00\x00\x01\xea\x08\x03\x00\x00\x00\x04l\xeeb\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x06\x03\x06\x09\x05\x0e\x10\x0d\x16\x17\x15$\x18\x0f\x1e\x1d\x17!#\x20#$\"$%#&(%)(\"()'-+\x1f*+),-+-/,41&J-\x1202/241S/\x0e564,7M796<:.:<9!?p=?<B@4@B?DECLH9?JVHIGvD\x13JLIMOLVQ@QRPUWT_ZHY[X,`\xae7]\xaduWG8`\xaa\\^[A`\xa5:b\xab;b\xac<c\xad_a^=d\xae@f\xb0bdaRe\x99lfP\x90^8Ci\xb4egdMj\xafhjgFm\xb1Ol\xb2fj\x90Ip\xb4\xa7c\"}iflnkKr\xb7oqnNu\xba\xb3h\"{s[Xv\xb6tvs\x7fr\x7fZx\xb8ry\x81]{\xbb\\}\xb6y{x_}\xbeX\x80\xbf`\x80\xba\x96xpb\x80\xc0}\x7f|\x89\x80eb\x83\xbd\x7f\x81~\x9a{oe\x85\xc0\x82\x83\x81k\x85\xbb\xa7}fh\x88\xc3m\x88\xbdj\x8a\xc4\xbe~G\x87\x89\x86q\x8c\xc1\x8a\x8c\x89\xbe\x82Y\x96\x8cnt\x8e\xc4z\x8f\xc0\x8f\x91\x8ex\x92\xc8~\x93\xc3x\x95\xc4z\x94\xca\x92\x94\x91\x80\x95\xc5\xd3\x8aJz\x98\xc7\x82\x96\xc7\xa0\x96w|\x99\xc8\x95\x97\x94\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96\x86\x9a\xcc\xe4\x8dA\x80\x9d\xcc\x85\x9d\xc7\x9a\x9c\x98\x83\xa0\xcf\x9c\x9e\x9b\xa8\x9e\x7f\x88\xa0\xcb\xf3\x915\x8a\xa2\xcc\x99\xa0\xb5\x9f\xa1\x9e\x8e\xa2\xc7\x8b\xa3\xce\xa1\xa3\xa0\xfa\x95/\xa2\xa4\xa1\x8e\xa6\xd0\xff\x952\x92\xa6\xcb\xb3\xa6\x82\xa5\xa7\xa4\x91\xa9\xd4\xa7\xa9\xa6\x94\xac\xd6\x99\xac\xd2\xaa\xac\xa8\xb9\xac\x88\x9e\xae\xce\x9b\xaf\xd4\xad\xaf\xac\x9d\xb1\xd6\xa2\xb1\xd1\xaf\xb1\xae\xa1\xb5\xda\xa5\xb5\xd5\xb3\xb5\xb2\xc2\xb5\x90\xa3\xb7\xdd\xb5\xb7\xb4\xac\xb7\xd2\xaa\xb9\xd9\xb7\xb9\xb6\xac\xbc\xdc\xba\xbc\xb9\xb1\xbd\xd7\xaf\xbe\xdf\xcb\xbe\x98\xbd\xbf\xbc\xb1\xc0\xe0\xba\xc1\xd6\xc0\xc2\xbe\xb7\xc2\xdd\xc2\xc4\xc1\xb9\xc5\xe0\xbd\xc5\xda\xc4\xc6\xc3\xbb\xc7\xe2\xd6\xc7\x9d\xbc\xc8\xe3\xbb\xca\xde\xc7\xc9\xc6\xbf\xca\xe5\xc6\xca\xda\xc0\xcc\xda\xca\xcc\xc8\xc1\xcc\xe7\xbf\xcf\xe2\xc2\xce\xe9\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd0\xe5\xcf\xd1\xce\xdf\xd1\xa5\xca\xd1\xe7\xcc\xd3\xe9\xd2\xd4\xd1\xcc\xd5\xdd\xd3\xd3\xde\xce\xd6\xeb\xd6\xd8\xd5\xd0\xd8\xed\xe7\xd8\xac\xd2\xda\xe2\xcb\xdb\xee\xd5\xd9\xe9\xd9\xd9\xe4\xd7\xdb\xeb\xda\xdc\xd9\xd8\xdc\xec\xd2\xde\xec\xd9\xdd\xed\xdc\xdd\xe7\xdd\xdf\xdc\xd4\xe0\xef\xdb\xdf\xef\xf0\xe0\xb3\xdc\xe1\xe4\xdd\xe1\xf1\xe0\xe2\xdf\xd9\xe5\xf4\xe0\xe5\xe8\xe0\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe7\xe5\xe9\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe4\xe9\xeb\xe7\xe9\xe6\xe3\xec\xf4\xeb\xed\xea\xe6\xee\xf7\xec\xed\xf7\xe8\xf0\xf9\xf0\xf0\xfb\xf0\xf3\xef\xf4\xf2\xf6\xee\xf4\xf6\xf0\xf6\xf8\xf4\xf7\xf3\xf2\xf7\xfa\xf5\xfa\xfd\xf8\xfa\xf7\xfd\xfb\xff\xf7\xfd\xff\xf9\xff\xff\xfe\xff\xfc\x9cx\xeb\xab\x00\x00\x20\x00IDATx^\xed\x9d\x0fp\x14\xd7\x81\xa7C\x9c\xf3\x83\x89-\x94\x95V\xa7\xb0\x04r\xac8\x14\xd37l\x09F\\N\xa0\xd1\xe9N\xb27\xd2q\x0e\x845\xc1+\xbc\xb6N\xb0\x11\xb2\x1d\xd8(K!\x8e\x15\x0a\xa9S\x20\"\x18\x08Z\x82\x10QJ\x12\x08,\x84A\x90\x0a\x10\xe1\"\xe0\x80b\xc9v\xe2\x12Nd\x1bk\x89\xd6\xc4j;\x80\x8d\x8d\xf0\xd4\xd4\xbd\xd7\xdd3\xf3\xba\xa7{zz\xd4j\x8dF\xbf\xaf\xa8\xa1\xe7\xe9\xbd\xd7\x7f\xa6\xbf\xe9\xee7=\xbf\xf9\x8c?fD\x00\x80\x8a\xcf\x98Ic\x8cY\xd7\x00L4\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:%27\xcc*\x00{\x81N\x09KwA\x1aYhV\x09\xd8\x0atJXf\xce\xacj|\xc9\xac\x12\xb0\x15Gu\xea\xde_[]w\xa8\x9fM\xde8\xb1\xa7z\xd7\x19m\xa9\xd3\xf4\x15\xa7%\xcd\x8b\xf2\x8c\xa81\xb5\xde\xacJ\\q\x82\xec7\xab\x02\xec\xc6I\x9dz\xab\xea\xcft\x9f\xd9U;@\xa7\xebk\x8e_h\xafn\xd7\x94:Mf\xda\x86\x82\xa4>\xb3Z2\xf5Sw\x99U\x89+\xdaI\xb3Y\x15`7N\xea\xd4U\xd5M\x1f\x07\xaa\xe8A\xe9x5\xdb\x89\xbb\xaa\xfbU\xa5N\xd3G\xd6\x89\xe2\x98\x1c\x16\x1d\xa0\x8d\xb4\x99U\x01v\xe3\xa4N\xa2t\x00\xeae\xfa\xd4\xcb'\"\xb5\xed\xaaR\xa7\xe9\"\xe3\xeb\xfc\xcd\x12\xd0i\x0cpT'\xca@w\x1d\xdb\x85w\xc9'\"{\xeaU\xa5\x8e2\x98J$\x96J\xcf6d$el\xa0\xff\x9f\x98B\xc8\xaa\xae\xdc\xe9I\xf3\x06\xf9\xca}I\x84L\xae\xd5\xeb&H\xd7\xc2TW\xda\xbc\xb07\x85\x9a\xb4*\xf6_w\xb2<7\x92\xcc\xd7\xe0\xe7\xd6\xbf(\xdd5m\xc1\x09ZZL\\UKg$=$\xd5\xec\xcdMM_\xba4uj\x1d\x9d\xae\x9d3u\xc6R\xed\xd1\xb4\xf3\x89|\xf7\xe2\xa7\xf2\x874\xc5b\x13tr\x1egu\xea\xad\xaa\xaa\xaaa\xfb\xc3\xa1Z\xb6\xb7\x0e\xd4\xecR\x95:\xcb\xf1\xe6\xed\xa4\xac\xb9Y\xdai\x0b\\\xab\xeaW\xb9r\xe9\"\xd5\xd5N\x9b\x91<mi.Q\x0f\x8a\xb577\xbb\xcat\xbbQh\x9a\x9aQ\xd1XF*\xb4\xe5\x0b\xc9<\xf6\xdf`\xcd:\x99\x1a^S~n\xf5\xe4\xe1\xa6\xba\x05\x93\xa9\x03gj\xa7\x90\xd4\xb2\x8ad6\xca=83}C\x99+\xa9\xfa!\xdaq\xc1\xe4\xe2\xfau\xa9\x19\xea\xa1\x93_\xce}\xa6\xa5\xe3\xc0b\xe1]U\xe9`o\xd3\xec\x14\xe77\xe9\x84\xc7Y\x9d\xc4\xde\xeeSu\xb5\xf4e\xee\xaf\xa9\xef\x1d\xe8\xdeSU\xa7*u\x9a\xe0\xc9\xde~i\x14L~\x143Hf\xbf\xde%UR$\x9d\x06\xa6\xcd\xa3'\xad\x83ua\xe3\x1a\x17\xd6\\\x90\xfe\xef\xbd\x20\xd3\xab\xf9{pn\x03ul\x96\xb3\xa4O\x8a\\)T\xf2\xdcT:\xb5\x9d\xd0\xe3\xd5\x06r\x8aN\xd6\x93\x1a\x91\x9d\xc3mW\xb5?\xe0e\"\xed\xcbQ\x1f\x9d\x16\xd2\xe3\xa0\xe3\xc7{\xe0\xb4N\"\xdb\xe5\x1a\xe9c_==$\xb5\xd5\xefQ\x97:LP\xa7\x82Y\xd2\x7f3\x0b\xd8c\x86K\xff\xd3\x9a\x88:\xd5\x93\xe3\x11\xfeJ\xad\"\x01.\xa8\xff\x10\x9a[\xef\x86y\xd3\x93\x89\xb4$.\xb6\x20e.\xfa\xb0\"Ed\xcb\xc9\xb6\xd3\xa2\xe9\x83\x8c\xf4\x02U\xfb\xd7\xbc\x85\x1b\x0f\xfcjHs\xae\xf7\xd2\xfe\xaa\x998:9\x8f\x93:)C\xe1'\xaa\xe4g}7\xc4\xdaC\xdaRG\x09\xea4g\x81\xf4\xdf\xbc\xd9\xec1c\xb6~\xed\x88:\xad#&\x03\xfd\xcd\xf52\xda\xd1\xeb\xe0\xdc\xda\xd2\xa6\xad\xd8\xd5\x9c)\xeb\xc4f%\xe9TAz\xd9a\x93\x1d\x9d2\x14\x1f5w:\\;P^$\xe4\xed\x0d\xbbvj\xc6\xb5\x93\xf38\xa9Sm\x93\xf4\xdf\xf1j\xfa\x20]AHc\xe4|\xa9\xc3\x84\x8eN\xd3\xa5\xff\xa6\xcbG'\x83;s\"\xea\xd4hrt2$8\xb7\x99s\x98\x90\x0b5:\xbd4y\xdeK'f\xcca\x85\xb9\xd3\xdb%\xd4\xa7\x8b\xe7\xb6R\x91\xae\xb5\xcc?\x20j\xc0\xc8\xde\x18\xe0\xa8N\xd2\xa5\x89tZw\xa6\x8a\xee\x14\xfd\x92I\\\xa9\xd3\x04u\xaa\x97.H\xb6\xcbO3\x16\xe9\xd7\x0e\xe9t\xa1,\xcc\x9d\xfe\xf4L\xf6\x0eQ\xbcT\xfb\x87\xc0\xb5\x93\x11\xc1\xb9Mc^\xdd\xc8\xd0\xe8\xd4N\xd2\x08\xc9\x94\x86K\xf6\x13\xe9J\xf3\xf15\xaa\xf6;\x85\x0e\xf6\xdf\xcagE\x0d\xd0i\x0cpR\xa7\xae\xaa\xc63\xddg\xea\xd8\xfd\x0f]U\xed\xdd\xc7k\xeb\x07\xd4\xa5\xce\"\x8f\xec\xc9\xfb\\\xee\xe4\x15\xf5+&\xe7R\xad\xdb\x9agd67k\x15\xa0\xc5\xcd\xae\x82\xe6f\xf9rd\x01\x99\x1a6\xe4\xd0\xf4\xc0\xcc\x0d\xf5\xc5$\xec\x18\xbb@\x1e\xd9\xd3\x87\x9f[\x19Y\xb4aM\x06I\xadh\xeb\xa6\xb3j\x13\xdb\x0b\\\xcd\xdd\xe2qWc}\xb32\xb6\xbe\x82,\xaa\xdbS@\xd4\xe3\xf5;\x05\xcf\x0f\x8e\x1cyF\x96\x8a\xa7\x9d\x1c\xd2\x16\x81\xd1\xc6I\x9d\xc4\xee\xa6\xba\xea]m\x927\xc7\xebj\xea\x8f\x87\x95:\xc9@\x8at%2E\xbe\x1bc\xdd\xac\xa4Y\xd2\xe7N\x93\xa5R\xad\x02\xedr1\x91/\xf0\xaa\xa7\xea\xbc\xf3w-JO\x9e\x1d~\x1fRMj\x84\x8bB~n7*f\xb8R\x17\xd5Lwe\x16\xd3\"\xd7\xa9\xa9\xf4\xb1X<\xe4b\x15\\\x99\xec\xe2I\xdc\x9f\x99\x9a2Gs'\xdeO\x97\xef\xccw{W\x86\xd9$\xf6NYt\xa27\xca\xfb\x11\x81M8\xaaS\xc2\xb0\x8784j\xd6;\xb5\xb8wp\xb0\xaf}a\x0c\xc3t{f\x86\x0d[\x80Q\x06:\xc5@M\xca\xc3fUlbO\x8a2\x11\xd3\xed\xec\xbd'\xc6\xe0\xce\xad\x09\x0dt\xb2Nw\xeaR\xa7NM\xdb'Kgy\xe2\xa9\xc91\x0e\x1c\x02G\x81N\xf1MA\xd2\xc3\xdb\x9b\xb6?\x9c\xe4\xd4\xe1\x10\x8c\x08\xe8\x14\xe7\xd4?\x94\xeeJ\x9f\x17\xcb\xa9\x1ep\x1e\xe8\x04\x80m@\xa7D\xe4G!\xcc\xaa\x02;\x81N\x89\x08t\x1a#\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88@\xa71\x02:%\"\xd0i\x8c\x80N\x89\x08t\x1a#\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88(*\xfd\xe3\x7f\xff\xbeJ\xa7\xbe9{D0\x9a8\xaa\x93~\xa82\xe5T\x15>\xf6\xb7H\x87\xf7\x88\xf1\x1fe\x9b\xfeA\xf8{\xcd\xd1\xa9b\xb2\xfa\xbb\x87\xc0f\x9c\xd4I?T\x99\xd2W}(r\x86\x1d\x08\xe3\x88\xa7\xc5\xf8\x8f\xb2M\xee\x7f\x0c;\xd9\xab\x9f\xb2N\xbf\x05\xb0\x05'u\xd2\x0fU\xa6\xd47vC'\xab\x84e\xadp0\x9b\xfe\xaf\xfb\xeft\xae\x9dV\xb9\xf0\x9d\x8dQ\xc4I\x9d\x0cB\x95\xc5S5\x03\xd0\xc9V\x98G\xff\xeb\xbf~\xffG?\xfc\xd1\x8fn\x0c\xaa\xbe\x91\xdb\xaf\xc9\x15\x03\xb6\xe2\xa8N\xa2n\xa8r\x7fu\x97\x98@:\x19\xc42\x8b\x91\xf3\x95\xdf\xcdso\xf5z;6\xe6\xac\xbc&\x8a\xd7\xca\xbd\xee\xfc\xa7.\xd2\xe2\x7f\x16\xdc\xfb\xd6{s\x9e\xfa\x8djR\xbc\xe6\x11\x04A:\xd9\xa3\xa5\x076\x16y\x9ex\x9d=\xb9\xb6v\xb1\xf7_\xfee\xb1\xa7\x85\xda\xf4\xc3\xbf\xf9\x9f\x7f\xf9\x17\x7f\xf1\xd7\x7f9s\xe6\xd2\xdf\xac^\xec\xf6>\xf5\xba<\xa3UIN}Wk\"\xe2\xacN\xba\xa1\xca\xf5\x8db\"\xe9d\x14\xcbl\x92\xaf\xdc\x91-l,\x11\x16\xef\xcc\xdbG\xaf\x8b\x84\xf5\x1d-O\x09\xe7D\xf1b\x8b[\xc8\xdf\xb93\xdfs\x91\x9f\x14\xc5s\x9d\x9d\xf3w\xb2f\xac\xd4\xbbso\xf6j:=T\xe4\xdd\xf7\x83\xf9\x9e\x03O\xec\xa3:\xfd\x93\xfb?L\xce\xcc\x9c\x94\x949{\xd2_}}o\xc7Na\x9f<\x9fC\x088\x1aE\x9c\xd5I/T\xf9\x0c\xf3+\x81t\x12\x0dc\x99#\xe7+{\xd7\x8a\x1d\xc2\x11\xf1\x99\xf5\xa2x\xbd\x85\x1e\xa2\x86\x960E\xc4\xacBv\xb8\xca_\xae\x9e\xa4\xc8:\xd1\xd2\x1cz\xdcY\xeb\xa5S-\x025m\x1f{`\x83\xe4\xee\xfb\xd6\xf8\xfdg>\xf4\xdf\xbb\xef?\xd2\x19\x0d\xb1.\x19\xddd|\xfdL\xd5\xf8\xc2a\x9d\xc4\xb0P\xe5\xfe\xea37n\xdcx\xa96\x912w\x8cb\x99e\x0c\xf2\x95\xbd-\xe29\xe1\x9a\xb8u\xad\xc8\x92]\x9f(\xcc\x16\x96\xb0\xe2\xac\xad\xecq\x1f\xfd\x0b?)r:=C\x1fvf\xd1\x87\xad9\xf4\xe1e\xaa\xa4\xac\xd3_L\x9a4I\\4i\xd2g\xfe7\x9fb\xd6\xad\xc98\x07v\xe2\xa4N\xba\xa1\xca\x17\xaa\x02$\xce\x90\x93Q,\xb3\x82~\xbe\xb2\xb7C<\xe7\x16%\x9d\xcey\xf3\xb7\x1e\xe9,\x91u\x92\xac\xe9dg~\xdc\xa4\xc8\xe9\xc4\xfe\x97t\xda7\x97\x8a\xd6\xa1\x1c\x9d\xfeI\xf8?\x7f\xfd\x97T\xa7\xcf\xfd\xa7\xbf:\xc5\x9fT\xb6!~o\x14qR'\xfdP\xe5^\xc6\xa9\x9a^\xedOK\x8cc\x8cb\x99#\xc2t\xca\x92u*Z~\x9d\x16\x94\xcb:md\x8f\x07\xa4\xa3ShR\xd4\xd3\xe95\xe1\x89\xd7.\x16-\x1f\x92t\xfa\xbe\xfb\xef\xbf\xff?\xa8NS\xfe\x9f\xfb\x1c?\x9b2\x97\xf5\x881\x10-\x8e\xea\xa4\x1b\xaa,\x91`\xd7N\xfa\xb1\xcc\x91\xf3\x959\x9d\xf2\xcb\xe9\xf3\xa1Ge\x9d\xf2\xd8\x05S\xe1J\xf5\xa4\xa8\xa7\xd39!O\x10J\xd8\x08\x9e<P\xfe\xc3\xbfe:\x9d\xf2\xaed\x1fQm\x94\\\x14o\xcc\x8c\x10J\x0bF\x8a\x93:\xe9\x87*Snt\x9f\xaa\xe9\x8e\xf2\x17\x9f\xe3\x1e\x83Xf\xd1$_\xf9b\xce\xbe\xeb-\xee\x8b\xd7\xd7R\x1fv\x0a\xe5\x07v>*,\xde\xdbIm\x11\xbe\xder\xa0(\xe7e\x91\x9f\x1c\xea\xec\xec\x9c\xfflg\xe75\xf1\xb5N\xf7\xb3\x9dC\xbf|\xd6\xdd\xf9\x9axn~GG\xe7\xeb\xcc\x1d\xf9c\xdc\x7f\x90t\xea\xea\x98_t\xa0c\xa3\x20\xff&@\x05i7^\x060R\x9c\xd4\xc9\x20T\x99\x96\xb3K\xa7D9>\x19\xc42\x8b\x91\xf3\x95\x87\xe8\x81\xa5%[\xf0\xb4\x08\xc2jqh_Q\x96w\xed\x81\"\xf7Jv\x86\xf7L\xb6w\xedk\xacNh\xf2\x97\x82\xcc\x01\xf1;\xf4\xd1\xfd+\xf61\xd4w\xc4N7+s/\xbf(\xdfd\xf4\xf7\x7f\xf3\xdf$\x9d\x06_.\xf7f/\x97\xef\xf0kN\x0a\xfbM\x02`#\x8e\xea\x04\xac\x93\xb5SoR\x8f?x\x9e\xfd\xc3\xbb\xef^\xfb\xe5\xea\x9ck\xf2-\xb0\x7f\xf7W\xb2N\xa1*\xdb]\x05\xda\xcf\x96\x81\x9d@\xa78'z\x9d\x8e(?\xe89\xb4\xb8C\xd6\xe9G\xffE\xa3S_:n(\x1f]\xa0S\x9c\x13\xbdN\xe7\xd8\x109\xe5\xa2\xf0+\xe5\\0\xec\xe8\x04F\x19\xe8\x14\xd7\xbc.\x8d4h'\xf5\x19z\xc6\xf3lKG\xcb\xb3\x9e\xf5C\xd0i\x8c\x80Nq\x8d4\xd2\xf0\x9av\xd2\x80\xa1#Ox\xdd\xde'\x8e\x0c\x05\xbe\x8d\xfb\xb7\xd0\xc9a\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88@\xa71\x02:%0u\xd0\xc9a\xa0S\xc22\xb8a!\xbb\x05v\xc5!\xf8\xe4\x18\xd0)a\x99\xa3|A\xe3\xb3\xbb\xe0\x93S@\xa7De\x80}}\xf0C\xbf\xff\xde}\x0b\x13\xe5v\xc8\xf8\x07:%*\x03\x84df\xde\x97\x969{\xd2\xc3\xd0\xc9)\xa0S\xa22\xb8\xe7s\x9f\x9dt\x7fJJJf;\xc2V\x9c\x02:%,3\xa6\x97U\x1f\xba\xd0\xd5\xf5\x12\xbe/\xe8\x18\x8e\xea\xa4\x1b\xaa<P#}\xb5\xbd&\x91\xae\x97\x1bS\x83!\xd1}\xc5iI\xf3TA\x18\xdfQ2\xbdFF`\x16\x05\x84\x90\xa4.\x9d\x0a'\xc8~\x96\xb1\xa7\xc9\xd9\x03\xa3\x8a\x93:\xe9\x87*\xf7U\x1d\xef\xa6$\xd0w\xdb\xe9\xdaM\x0d\xc6\x05e\xa6m(HR]\xbc\xbc\xde\xe9\x8e|/kT\x04f\xd1\xdd\xdc\xbcA7\xeb\xab\x9d\xa8\xb3(\x80\x038\xa9\x93~\xa8r_U\xa4\xd8\x9f\xf1N\x1fY\x17\x1e\x11frk\xb8U\xdatu\xd2/\x05\xa3\x8a\x93:\xe9\x87*'\xb6N]D\xe7\xb7A\xa0S\xa2\xe2\xa8N\xa2^\xa8r\xc2\xe9\xd4\x97D\xc8d\xe9\xab\xfa\x83\xa9r\x9e\x9e\xf6\x0b\xe5Y\x1b\x9fQ\xd2\x91CpQ\xcb\xba\xa9\xcbb1qU-\x9d\x91\xf4\x10+\x0b\xcd\x82\xa1/N\x13tr\x1egu\xd2\x0bU\xee\xabj\xdcUU\xdb\x9c@\x83\xb9\xed\xcd\xcd\xae2i\xeax\xf3vR\xd6\xdc\xacM\x10d\x19*-K<\x17\xf92.jY?u\xf9L\xed\x14\x92ZV\x91,\x85\x8e\x85f!\xea\xea4\xd8\xdb4;EgDo\x92m\x84\xf7\x0d\x9c\xd6I/T\xb9\xbf\xaa\xf6D\xf7\x99\xba\xed\x09\xe4\x93(&\x05\xf6u\xfd\x93\xbd\xa2\xeb\xa2x\xbdh\xb9\xaa\x90\x8bZ\xd6O]\x16])\xd4\xcb\xdcT\xe5YR$\x9d\x16\xd2c\x9b\xde/\xd0Mz\xdb&\xa0\x93.\x0e\xeb$\x86\x85*\x8b\xe2)&\xd2@MB\x9d\x9a\x98\xe8$\xa5#\x07\xf2'e\xb8\xa8e\x83\xd4e\xd1\xc5~K\xa6\xcc\xa5<\x8b\xa8\xd3K\xfb\xabf\xea\x1e\x9d\xcc4\x89\x16\xe8\xa4\x8b\x93:\xe9\x86*\x07hN\xa8$z\x13\x9dT\xe9\xc8\x0a\\\xd4\xb2~\xea\xb2(\x9d\xdeE\xa7\x13\xa5Y\xaf\x14:\x8d.N\xea\xa4\x1f\xaa\xdc(\xefoM\x09\xf5\xeb\xb8&:\xa9\xd2\x91\xa3\xc6\x9aN\xba\xa5\xd0itqT'\xddP\xe5z\xe9\xb0\xd4W\x13\x0c\xb1L\x04Lt\xf2^g\xbf\xc6\xb42\xfc/\x11qR\xa7I\xd2\xbf\x08\x7f\x0f\xef\x1b8\xab\x93~\xa8rw\xd5\xfe\xae\x97\xda\xab\x13\xe7\xe04\xd8\xd6\xdc\xec*hn\xee\x0f\x8c\xec\x85\xed\xd6Y\xc2\x13\xbf\xe8X.\x05%GO7\xed\xb4Ml/p5w\xf3\xb3\x90\xee\x8aX\xd7\xdc\x1c\xf6iC\xbb\xdeOe0E\x9e\xfb\x82,\xca\xab_\xbb\x7f\xd2\x83\xdf3\xd2\x05:\xc5\x82\x93:\x19\x84*\xf76\xd6\xd6\xd4\x9f\x8a\xd4n|\xd1.\xa7*\x93*q\x20E\x9a\x98rFS\xa3hgy\x20(9z\x8aiO\xaeSS\xe9c17\x0b\xe9\x9e=F\xd8\xaf\x0c\xf4NYt\xa2W{\xbf\x1eS\xe4\x8b\xcf\xc9\xa2|\xf5\x8b\xcf\xbf\xfa\xfc\x97~f\xa0\x0bt\x8a\x05Gu\x02N\xb2g&!\xda_\xc6\x99\x14p\x85\xf2\xb9\x9f\xd3\x87\x9f\xffg\xc5\x8f\xef=8\xe9\xfeo\xbd\xfd\xf6\xf3_\xbe\xef\xbe/\xff:\xa8\xd3\xf7>?\xe9\xfe\xaf\xbd\xcdM<\xff\xe5\xcfMz\xf0\xbb\xd0\xc9\x00\xe8\x94\xc0\xf4\x9e\xd0~\x80\x1c\xae\xd3\xfd\x8aM\x9f\xfb\xde\xab\xcfS\xb5\x1e|\xee\xd5_\x7f\xe5+\x01\x9d\xfe\xf5\xc1\x7f\xa5\x07\xb0\xafq\x13\x0f~\xf3\xd7\xaf\xfe\xec\xcb\xd0\xc9\x00\xe84\xa1\xe0u\x92O\xf6\x94S\xba/|\xf7\xed\x20\xbf\xbe?\xa0\xd3\x17\x7f\xa6\x18\x17\x9c\xf8\xec\xcf\xe5:\xd0I\x17\xe84\xa1\xe0ubC\x11\xf7\x7fK\xd1i\xd2\xaf\xe5\xff\x7fNO\xe6&M\x0a\xe8t\x9f|C\x117\xf1\xd5\xfb\xbe\xf2\xad\x9fC'#\xa0\xd3\x84\x82\xd7I\xe2\xb9\xcf\xcb\xff\xdf\xa7\xe8\xf4\xc5\xaf\xfe\xfc\xedW\x83:MR\x8eE\xa1\x89\xb7\x7f\xf6\xb5/\xdf\xf7M\xe8d\x00t\x9aP\x84\xe9\xf4\xe5\xaf)\x1a)'{\x9f}\x95^(\x05u\xfa\xc27\x95j\xc1\x09\xc6\xf3\xf7A'\x03\xa0\xd3\x84\x82\xd7\xe9K?{\xf5\xf9\xaf|\xe1UY\x91\xe7\xeeW\x86\"\xbe\xf9\xea\xcf>\x1f\xd4\xe9\xb9\xfb\xbe\xf5\xebW\x9f\xfb\x127\xf1\xa5\xef\xbd\xfa\xea7\x1f\x84N\x06@\xa7\x09\x05\x13I\xb9\x0az\xfb\xbb\x9f\xff\xcc\xfd_}5p\xc8\xf9\xee\xe7\xa5\x81\xf2\x9f=8\xe9\xfeo\x06uz\xfb\xb9/~v\xd2\x17\x9f\xe3&\xbe\xf7\xc5I\xf7}\xf9y\xe8d\x00t\x9aPp\xa7y#\x03:\xe9\x02\x9d&\x14\xd0it\x81N\x13\x0a\xe84\xba@\xa7\x09\x05t\x1a]\xa0\xd3\x84\x02:\x8d.\xd0iB\xa1\x1f\xa3\x12\x0bfs\x9a\x988\xaa\x93n\xa82\xe5\xcc\xfe\x9a\xba\xf6\x08\xed\x80B\xc4\xb0f\xdb9A\xf6\x9bU\x01j\x9c\xd4I?TY\x1cl\xacj\xbb\xd0^\xa5\x97\xb3\x0d\xd4D\x0ck\xb6\x1d\xc42[\xc6I\x9d\xf4C\x95\xc5\xc6\xean\xa6\x9a\xf6;v\x20\x12\xbaa\xcd6\x83\x1cY\xcb8\xa9\x93~\xa8rw\x95\xf4\xad\xdcQ\xde5\x12\x0d\xdd\x0c\x0a\x9b\x81N\x96qT'Q/T\xb9\xad:\x91~\x8af\x141\x0bk\xbe\xe8\x16\x84\xad\xbfY[8\xff\x89w\xb9R\xd3\xb0f\xcao\xca\x17\xbb\xbdO\xbd.j@,\xb3e\x9c\xd5I/TyO\xfd\x99]U\xb5\x87\x12*\x04vt0\x09k\xbe\xde\xd2\x92_\x94\xed\xdd\xb8v.\x9fBa\x1a\xd6,\x8a\x1d\x9e\xaf\xef\xed\xd8)\xecS\x15\x1a\xc52\x83H8\xab\x93^\xa8r\x9d\x14\xaa\\[\x87cT\x14D\x0e\x1c\x13\x1f\x15J\xae\x89C\xea\xf8>\xd3\xb0\xe6\xeb\xf9O\xb0\x9c\xb2\x16u3\xa3Xf\x10\x09\x87u\x12\xc3C\x95\xeb\xa5\xf1\x88\xfe\xc4\x0aU\x1e-\xcct\xca\x0a\x8bG2\x0fk\xee\x10~\xa5m$\x1a\xc72\x83H8\xa9\x93~\xa8r\x93<\xf6\xdb\xb4\xc7\xa8\x19\x08a\xa6\xd3\xd7\xc3\xcbL\xc3\x9a\xf7\x09\xd7\xc3[I-q\xedd\x15'u\xd2\x0fUn\xaf\x91>\x8cl\xc4\x99E\x14\x98\xe9T\xaeShF\x87:+=\x04F\xf6,\xe3\xa8N\xba\xa1\xca}\xd2@y\x7f5n\x8b\x88\x82\xd1\xd0\xe9\x9aw\xe5\x10\xfdo\xe3F\xed\x1f\xa0\x93e\x9c\xd4I?TYl\xafn\xef>U\xbb\x0bC\x11&\x98\x855\xbf\xfb\x8b\xce\xa2\x95\x9d\x9d\x16\xc3e)\x1d\xf3\x8b\x0etl\x14\x0eh\xcbuc\x99A$\x9c\xd4\xc9\x20TY\xec\xdaS\xb3\xab\x1d6\x99a\x16\xd6|Q\x90x\xca\xa0y\x04^.\xf7f/?\x12V\xac\x1b\xcb\x0c\"\xe1\xa8N`|\xa1\x17\xcb\x0c\"\x01\x9d@\x04\xc2c\x99A$\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\xc3Q\x9d\xf4B\x95\x07k\xabdjM\x1a\x83\xf8\x80\x0bv\x06Z\x9c\xd4I7Ty\xa0\xaa\xbd\x9b\xd2^u\xc2\xac9\x183\x9a\xb8\xafJs\xc1\xce@\x8b\x93:\xe9\x87*\x9fbv\x0d\xd4\xe2\x8b\x9fq\xcc\xecEf5\x80\x84\x93:\xe9\x87*K\xd4\xe3\xbb\xed\xf1L\x06t\x8a\x0eGu\x12\xf5B\x95\x19R\x12\x0b\x18+\xba\x16\xa6\xba\xd2\xe6I_\x14\xdc\x90\x91\x94\xb1\x81\xfe_L\\UKg$=\xc4\xde\xfa\x94p\xbe\x0c\x91\x0fv\xe6*\x14\xb3\xa2\x0b.2S\xea\xacv\xce\xd4\x19K'j@\x9f\xb3:\xe9\x85*3\xa4$K0F4M\xcd\xa8h,#\x15t\xb2\xc0\xb5\xaa~\x95+\x97\xbe\xc1\xd5N!\xa9e\x15\xc9\x0bE\xb1\xffP\xf3\x8c\xcc\xe6\xe6f)\x99\"\x18\xec\xccU\xe8\x96\x8a\xda\x0a\\\xac\xbc`rq\xfd\xba\xd4\x8c\x09\x1a1\xe1\xacNz\xa1\xca\x94\x0bU\xf8\x0a\xf5\xd810m\xde\x00\xcbk\xa3W\xb3\xfb\xa5\x1fH\x93\x1f])\xf4E\xc9M\x95\xaa\xa8N\xf6\x02\xe1d\\\x05\xc9\xb02\xa6S=\xa9\x11Y\xa4\xd8vqB\xe2\xb0Nbx\xa82\xa5\xb1.r\x130\x9a\xd4\x93@\xa4\x94X0K\xfaof\x01}p\xb1\x07I\x11#\x9dB\x15B:-\x9a>\xc8H/\x10'$N\xea\xa4\x1f\xaaL\xa9Ad\xe5\x18\xb2\x8e\x04\x7f\xbdd\xce\x02\xe9\xbfy\xb3E^\x11#\x9dB\x15B\x93\x19\xca\x85\xd6\x04\x0d@rR'\xfdPe\x96\x03\xab\x8a\xa0\x07\xce\xd2\xc8\x1d\x9d\xa6K\xffM\x97\x8eNZ\x9d\xaa_\x92+\x19\xe9\xb4\x8aM\xe6No\x97\x98\xa0CK\x8e\xea\xa4\x1b\xaa\xcc.\x9dF\xf77^AD\xfa\xd33\xd9\x9b[\xf1Rv\xde\xc7\xaey\xb6K\x81\xcd\xbcN\x99\x99\xf4\xb2\x97(\xa7\xe4::%\xad\x10\xc5\x1b\xb3\xd9\xe4~\xb9\xd6\xe3k\xc4\x09\x89\x93:\x19\x84*S\xb7\xf0[icI\xd3\x0337\xd4\x17\x13v\xd2\x90;yE\xfd\x8a\xc9\xb9\xd2h]A\x9b\xd8^\xe0\x92~\x93\xad\xccU\xb1'sj7\x1f\xec\xac\xaa0'u\xcd\x9a9dJ\xcd\x19Q\\A\x16\xd5\xed)\x20\x13\xf4\x961'u2\x0aU\xbe\x80\xbbV\xc6\x96\xaeE\xe9\xc9\xb3\xe5\x17a\xdd\xac\xa4Y\xf2\xe7N\x84\xb8NM\xa5\x8f\xc5\xf4\xd9@qJR&\x8bD\x0f\x05;\xab*te&%?\xf4\xb8\\w\x7ffj\xca\x9c\xfdF\xb3Jp\x1c\xd5\x09\x80\xc4\x06:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x1a7,\"\xa9\xb9g\xcc*\x811\x05:\x8d\x1b\xba\x9bjf\xa6N\xd4\x88\xa0q\x82\xa3:\xe9\x85*\xb3\xa4\x9c]\xd5\xbb\x0ea?\x89\x82&\x82\xac\xdc\xb8\xc6I\x9dtC\x95\xc5\xbe\xda]R)\xbe\x91kN\x1bi3\xab\x02\xc6\x12'u\xd2\x0fUn\xaec_\xad\x1e\xack6i\x0d\xa0S\xdc\xe3\xa4N\xfa\xa1\xca\x8dr8\xd8\x1e$W\x9a\x03\x9d\xe2\x1cGu\x12\xf5B\x95\xfbj\x9b\xfa\x06\xfb\x9aq\xb2\x17\x05'H\x93Y\x150\x968\xab\x93n\xa8\xf2@#-\xdd\x8f\xf4\x95(\x18L\x9d}\xa8{\x82\xe6\x15\x8f\x0b\x9c\xd5I/Ty\xb0\xb1\x8e\xe5\x1b5\xe2'4\xa2`?!d\x81Y%0f8\xac\x93\x18\x1e\xaa\xdc\\7\x20\x95\xe2\x07\x9e\xcc\xe9O\x9d\xbe\xae\x09\x19\x9f\xf1\x8b\x93:\xe9\x87*W\xcb\xf9`R6,\x88L\x1b\xc1\x80M\\\xe3\xa4N\xfa\xa1\xca\xd0)z0\xb2\x17\xe78\xaa\x93n\xa8r\x93t\xb27P\x871+s\xa0S\x9c\xe3\xa4N\xfa\xa1\xca\x03\xdb\xebNu\x9f\xaa\xdb\x8e\xa1=s\xa0S\x9c\xe3\xa4N\x06\xa1\xca\x83m\xbbjv\xb5a`\xcf\x8c\xc1\xee\xf6E.\xfc\xae\\\\\xe3\xa8N`$,$d\xda\x1e\xb3J`L\x81N\xe3\x86\xee\xe384\xc5;\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N@\xcd\xe0\xc0\xc0\xc0`\xf0?`\x09\xe8\x04T\x1c\x9aL\x08I\xea\xefO\xa2\xffMFX\x9bE\xa0\x13\x90\xd83\xa7W\xfa\xbf\x8e\xd4\xb7\xb5\x9d\x12\xc5Smm\xf5\xa4\xce\xa4\xd1X\xd37'\xce\xee\x09vT'\xfdPen\x12\x18\xf3\x1dAh1\xab\x13\x99\x0dd\xf2v\xa3\xbfU\x902y\xa2\x8e\x04o\xb4\xed\x96u*&\x93G[\xab\x98\xd7\xadb\xf2\x1a\xb3*\x8e\xe2\xa4N\xfa\xa1\xca\xfc$0\xe6\xf5N\xf7N\xb3:\x91\xe9k\x9e]f\xf0\xa7u\x93k\x94\xa9p\x9d\xba\x9b]\xfa\xcd\x9al{\xcd\x0c\xd7\xad\xe3\x9cnq\x88\xfa)\xebLj8\x8a\x93:\xe9\x87*s\x93\x20\"Y#\xd4I\x14\x17\x18\xe8t\xc1\xb5\"0\x19\xae\x93(\x1a\xe84{\x91nqL\x18\xac\xdb\xf2r\xddb\x8eUq\xf5\x8dJ'u\xd2\x0fU\xe6&ADFO\xa7\x82\xf4\xe0\x9b\x99\x05\x9d2F_\xa7GMu\xeaO/0\xab\xe2\x20\x8e\xea$\xea\x85*s\x93\x20\"Y\x1b\x9f\xf1\xe6<\xf5\x1bUYw2\x91I\xe6\xde\xa4\x07\xd3\\\x8f\xa7\xa77\x15\xa7d\xb2\x84\xd0E\xe9\xaei\x0b\xe4\x1f\xb2\xa1:\x15\xd3\xba\x0f\xb0Q\x87\xda9Sg,\x95-\x1aL\x0e\x1e\x9c\xf4u*~8=eA\x17}\xeb\xa3\x8d\x1f\x17\xcb\xe8c]\xbd2\xdf\x0c\xa9\x06\xd7Y8\xef\xe6\xb9\xb7z\xbd\x1d\x1bsV^\x13\xc5k\xe5^w\xfeS\x17i\xf1E\xb7\x20<5\xe4\x15\x84\x9c\xeb\xdc\xba\x1d\x11\x04a\xab\xb8\x93>\xb6\xb0I\xc6\xd7Y'C?]\xee)\xdax\x9dMv>\x91\xef^\xfcT\xfe\x90\xdc\xfb\xaa\xa48J\x19qV'\xbdPe>_\x19D\"K\xf8zK\xcb\x12\xcfE\xbel\xb0f\x9dL\x0d\xff!QS2Y\x9aIR\xd7\xa4U0\x05\x1en\xaa[0Y\xcal\xa1:u\xe7N^\xc7\xa6\x0b&\x17\xd7\xafK\xcd\x90\x12\x9a\xdb\xb9\xe8s]\x9dH\xc6\xf6\xed\x19I\xa7\xc4\xfeC\xd3\x8a{\xc5\xde\xb2\xe4\xe6\xfe\xfeC\xcd32\x9b\x9b\x9b\xa51$\xbe3\x1d:\xb2\x85\x8d%\xc2\xe2\x9dy\xfb\x98.\xeb;Z\x9e\x12\xe85\xd1\xd0/v\x0a\xbf\x10\x7f:\xf7\xa7\xbf\x12\xb9u\xbb\xde\x99\xff\xec\x1f\xc4?\xfc\x20\xbb\xf3\xda\xb5\xce\xce\xa2\x95\x9d\x9d\x9d/\xb3>\x9e\x116v\xec\xf3>J\x1d\xfa\xe5\xdcgZ:\x0e,\x16\xde\x95;?\x14Oq4\xce\xea\xa4\x17\xaa\xccM\x82\x88d\x15\xd17\xe7\xebE\xcbU\x85\xbd\x17dzU\xa5\xe9\xb9T\xa3z\xb1\xe0a\x16\xb9\xc6\xde\xbff-d\xc5T\xa7\x0a\x97t\x1aPO\xd8\xd8C\x1b\xd9.?\x09%\xcb\xea\xea4\x93\x1e\x00\x06f\xcc\xa1\x93e\xechT\x20\x9f_\x05O\xf6T\x9d\xe9\xe1]+v\x08G\xc4g\xd6\xd3\xe5o\xa1\x87\xa8\xa1%\xabY\xf1\xd03\xcb\xafy\xe5\xb3<n\xddv\xb2\xa3\xd13\xcfH\xc5\xc1\x93\xbd#\xc2\x01\xfax\x8e\x0d\x00\x1e\xf02\x91\xf6\xe5(G\xa7n\x12Go\xc4\x0e\xeb$\x86\x87*\xf3\x93\x20\x12Y[\xd9\xe3\x01\xe1\x1aWv\x81\x04Pe-\xa7o\xa7{w\xbf\xb8\x82\xed\xf0\xbd\x1b\xe6MO&\xb3X\xf1\x82\xb2UD>\xa9^4}\x90!_x\xec1\xd3\xe9q\xf6\xb8\x81\xf4\xb1\xb2S\xe2@\xb2\x9cE\x1b\xd4I\xd5\x99\x1e\xde\x16j\xc25q\xebZ:}\xed\xc0\x13\x85\xd9\xc2\x12\xa9\xfc\xfa\xa3yO\xc9Vp\xeb\xf6\xfa\xdc_\x89\xd7\xb3;\xa4\xe2\xa0Nk\x0b\x87\xde\xa5x\xa9e\xafy\x0b7\x1e\xf8\xd5\x90b\x13]\"C\x8b\x9d\xc7I\x9d\xf4C\x95\xd5\x93\xc0\x18\xf9r\xbdSP\x0d\x1e7\xd7\xcb\xa8o`H\xdf/\xb6\xb9DI\xa7\xb6\xb4i+v5g\xca:\xa5%\xcf\x94\x0eSb\x86\"\xa1\xf4\x8c\x8f\xef3\x1e\x8ah&l\xb4h\xdeRq\x7f\x8a|b\x19\xd4I\xd5\x99\x1e\xde\x0e\xf1\x9c[\x94t:\xe7\xcd\xdfz\xa4\xb3D\xd6Il\x11:\xe5\x09~\xdd\x9e\xf8\x17\xb1C9\xf6\x04uZ\xa2\\G=%2!\xcb\x8b\x84\xbc\xbd\x8aOm$\x8e\xf6\x1c'u\xd2\x0fU\xe6'A$\xb26\xb2G\xf5\xd1\xc9\x00N\xa7\x99s\xd8\xdb\xd8BY\xa7\xd4S\x17\x92+\xd8T\xee\xf4v\x09\xe9\x1c\xb1\x9f\x1b\xba\xd3\xd5i){\xac&\xec\xac\xb1>uP9\xd7\x93u\xaa~I\xd3\x99\x1eL\xa7,Y\xa7\xa2\xe5l8\xa1\\\xd6\xe9u\xef\xd6|\xf9\x12\x88_\xb7#9C\xca\xb9\x9e\xac\xd3\x81\xd7\xd8\xd1\xe9\x9c\x04\xfd\xfb\xb9\xadT\xa4k-\xf3\x0f\xc8U\xca\\q\xf4\x11\x8b\xa3:\xe9\x86*s\x93\x20\"Y^\xba'\x0e\x15\xad4\xab'\xaat\x9a\xc6\x8e\x1972\x94\x93=Q\xdc\xefb\x87\xa2\xfd\xb2*\x8f\xcb7\x15,\x9a\x1e\x1cE\xd0\xd5)\x9d\x1a983\x93M\x0f\xa6\xd6\xa7(\xafU&-\xe8eu\xd4\x9d](;.j\xe0t\xcag\x82\x0c=*\xe94\xb4\xfc\x07\xe2\xb3%\xd2Q\x86_\xb7\xa1\xc5Gr\xe4s=q%-\xf8\x03\xbb`\xea\x90o\x9b\xd8J\x0fb;\x05\xe9\x8f+\x9f\x95j\xdc\x989O;\xb71\xc4I\x9d\xf4C\x95\xb9I\x10\x91,\xe1\x89_t,\xcfy\xd9\xac\x1e}\x8bJ\xa9\xe8\xdf\xee:\xd1\x9f\x9b\xd9-\x96\x91E\x1b\xd6d\x90\xd4\x8a\xb6\xfe\xe6\xd9\x05m\x83\xfd\xf3\xd2\x9b\xe8\x1b\xd8\x0a\xb2\xa8nO\x01\xa9\x95\xeawM\xae\x084\xd5\x1f\xd9\x9b\xd7\xd64'E\xbe\xc0Z1]9\xd7\xa3\xc7\x85\x8a=\x99SYuUg\x0b\xc8T\xcd/I^\xcc\xd9w\xbd\xc5}\xf1\xfa\xda\x92\xd7\xa9\x0c\xe5\x07v>*,\xde\xdby\xbd\xf3;\xde\xd7\xc5\xdfdo\xec\xbc\xaeY\xb7\xad\x859\xca\xb0\xdd\xce\xac}GJ<\xaf\xb1\xb2\xb9k[\x8e<\xc3\xa4\xda)x~p\x84N\xca\xc6U\x90x\xfa\xc0\xd2I\x9d\x0cB\x95\xb9I\x10\x89\xa2\x9d\xe5\xd9\xde\xb5\xaf\x99U\xa3\xef\xd8i\x84\xd4&\x93\xa9u\xecr\xe6F\xc5\x0cW\xea\xa2\x9a\xe9\xae\xcc\x0d\xec&\xf1\xf6Z\xfa\xb8\x8aV\xda\x9f\x99\x9a2g\xbf\xd2b\xd5\x03\x81\x0b\x90:\xd2\x15\xf8\x82FW@\xa7\x99e\x8b\x92\xd3s\x15\xcd\xba\xc8\xc3J\xd5\x81\xe2\x94\xa4L\xf9\xaa\x8b\xef\xacz\xaaf\xe8z(O\x10Z\xb2\x05O\x8b\x20\xac\x16\x87\xf6\x15ey\xd7\x1e(r\xaf\xec\xa0\x97B\x1b\xc5\x8d\x820\xb7C\xb3n/\x0b\xeb\x95\xa6\xd77\xe6\xcc_)_+v\x94,\xceY\xce\x14\xfa\xe9\xf2\x9d\xf9n\xefJ\xd9\xa6\xe6\xa4\xa5b\x1c\xe1\xa8N\x20nY\xeaR\xd4\x91>\x9eU\xbe\xa0A\xf4>Z\xefw\x99\x9d\x97\xef!#\xbc\x9a\xb9\x96\xd5aVEa\xbb\xab\x20\xae\xbe\x94\x05\x9d\x80DE\xba<\x900x\xa2-\xf0\x05\x8d\xb6\x13z\xbbj]\xaa\xc9\x0e\\\x93\xf2\xb082Z\x16\xbfkVE\xa6/=\xben(\x87N\xc0\x0aeMb\xa6\xd1]\xe9\x0a\xdd\xa9KGt\x1d\xbc\xb3c\xa8\xe4\x07f\x95\xe2\x15\xe8\x04\xa2g\x80d\x14\xa7k\xc6\x19l\xe6\xba\xf0\xf5\x7f\xf6F\xf1Q@|\x02\x9d\x80\x05\xca\xa6f\x8e\xf6\x17=\x7f\xe0)y\xd9\xacN\xdc\x02\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\x8e\x131\xb0y\\\xa79C'\xe04Jn\xb3\xfe\x1f\xc7w\x9a3t\x02#!\x90\xc5l\x85@n\xb3>\\\x9as\xdce&\x9b\xe2\xb4N\xa7\xaa\x94\xbb\x94\xbb\xf7\xd4\xec\xef\x0e\x9b\x04\xd1\x10s\x06\xb1\xedHY\xccV\x17\x87\xfbJ\x15G\x87\xf7H`2\xf8E\xabx\xcbL6\xc5a\x9d\xfa\xaa\x0f\xc9\xdf1\xeb\xaen\xeej\xae\xee\xd6L\x82\xa8\x88=\x83\xd8f\xe4,f\xabq\xcf\xfa:\x1d\xf1\x04\x9d\x0c\xea\x14o\x99\xc9\xa68\xacS}c\xb7\xa4\xd3\x0d)i\xe5P\xed\x0d\xd5$\x88\x96\x983\x88m%\x98\xc5l-\x9fV_'q(8\x15\xd2)\xce2\x93MqV\xa7S5\x03\xb2Ng\xaa\xd9M\xfc\x03\xd5gT\x93\x20Zb\xce\x20\xb6\x95`\x16\xb3-:\x85\xe0t\x8a\xaf\xccdS\x1c\xd5\xa9\xbf\xbaK\x94uj\x94\xbf\x08]\xdf\xa4\x9a\x04\x11\xf8g\xc1}`c\x91\xe7\x89\xd7\xd9\x93\xd83\x88et\xb3\x98\x19]\x0bS]i\xf3\xa4\xc2\x0d\x19I\x19\x1bD\xf6\x834S\xd6\x85\x87*\x8b|\x16\xb3^\xdc\xb3\x0a\xd52p:\xd5\xa4\xc9)q\xd7<\x02w\x01\xc6\xe9\x14_\x99\xc9\xa68\xaaS}\xa3\xa8\xe8\xb4K\x8e&8\xb4G5\x09\"p\xb1\xc5-xw\xee\xcd\x96\xf2Sc\xcf\x20\x96\xd1\xcfb\x16\xc5\xa6\xa9\x19\x15\x8de\xa4\x82N\x16\xb8V\xd5\xafr\xe5\xd2\xd3\x87\xda)d\xda\x9a\xb2i\xeaPe\x91\xcfb\xd6\x8b{\xe6Q/\x03\xa7\xd3B\xa2\xe4\x10\x9d\xeb\xec\x9c\x1f<\xc4\xf1:\xc5Uf\xb2)\x9fy\x1c\x00`\x13#8:\x01\x00\xd4@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\x98\xeb4\xb0f\xf6TW\xfa\xc2C\xe1\x7f\xd9@\x1eV\x1eF\xc0\xbd\x8ai\xae\xf4\xc6\xe0\xd3\x81{\xf4\xa1\x96,\x0aU\xa8#\x0b\xc3\x1a\xf1\xac#\xc5\x11\xffn\x82a\xf7\x9a\x053AZn\xb3E5\xc1\x96\xed\x09\xc6\x12S\x9dj\\\xca\x8f\x12\xcf\xfbP\xfb'[^\xfe\x0a\xd6w{\xe0\xd9\x86$6\x97\xb8\xd0I\xbd`&\xc8\xcbm\xb6\xa8&\xd8\xb2=\xc1Xb\xa6\xd3RB\x16\x9e\x10?\xe9]\xe5\"\x99\xf74\x7f\xb3\xe5\xe5\x9fE\x96~r/\xd0\xf3=B\xc2t\xea\xde\xd0\xac\xd7.\xc8\x08u2\xec^\xb5`&(\xcbm\xb6\xa8&\xd8\xb2=\xc1Xb\xa2S\x13!\xdb\xe5\xa9\xe3\x84\xd4h\xfeh\xcb\xcb\x9fN\xbaBO\xf4t2c\x84:\x19\xa2Z0\x13\x94\xe5\x1e!\xb6lO0\x96D\xd6\xe9^Zh_-&\xd35\x7f\xb5\xe5\xe5O#\xdd\xa1'\xf1\xa4\x93j\xc1L\x80N@\"\xb2Nm\x84\x0c\x04\xa6\xfb6tIE\x8b\xd2]I3W\x89~\xf5\xcb?\xb0t\xba+e\xe1q\xb9*\xff\xa4\xbfx\x9a+yN\x8d\xea\xac\xa9\x97\x96\xa5,d\xd7%s\xa4\xcb\xb2\x80\x0f+\xa4g\xddL'qi\xbakzY\xe8\x82D\xaf\x9bS\x0bR\xa7\xce\xbb\xc0t\xaa%\xb3\xe4\xa2\x0a\xe9\xc9\xba\x0fX\xebU\x1fHE\xdc\x02\xd7\x92\x0d\x83\xc5i\x0fd4\xd2\xc9Y\xae\xb4\x9b\xacD(\x00\x00\x1e\xe5IDAT\xa5\xdc\xf5N\xff\x0a\xb6\xc8g\x82}\x07\x16,\xb0wK\xd2jz\x0e\xb6\x09,\xb7\xd2Wh\xf5\xb4-\x14\xf8\x99\xe9o\xcfYd\x85\x1f\x8c?\"\xeb\xb4\x8a\xcc\xd0\x94\x14\x13\x92\x9e\x91F\x1f>P\xbd\xfc\xc7\xa7\x12\xd7\xac\xe9\x84\xac\xf1k\x9e\xf4&\x93\x94\xd93\x08y\x88\xeb\xa3\xdeE\xa6\xb2>\xe8\x1e\xb3&\xd7E\xe6\xe5\xd6)\x7f\xd8\xb3\x88^\xa9\xe5\x0e0;\xd2HZ\x0a!\xb3\xee)\xfb\xbb^7U\x84\xa4\xcdrM\xc9\xa4;\xfa\x07.\xd2+\x95\xcd\x20gh\xeb\xa5\xe9$\x99\xb6\x9e\xf9\x89f\x81kIq*Is\x11\xd2XL\x1e\xa0e\x99\xfe\x80N\x87\x92\xc8\xd4\xd9\xb4$x\xed\x13X0\x8dN|\xcf\xa16\x81\xe5\x96\xfb\xe2VO\xd3B\x81\x9f\x99\xc1\xf6\x84N\xe3\x93\xc8:-\x20\x05\xea\x826\x92\xc4\x0e:\xa7\xa6\x92\x0d\xfc\xcb?\x90LV\xd0\xfd\xe5T\x0ai\xd4<YHVQ%^J&\x87\x82}\xbc4\x99\xac\xa1e\xfb]\xa4\xd6ot\xb2G\xa6w\xd1\x99\xb9\xc8\x1ee\x7f\xd7\xeb\x86\x10\xaa\xe1\x07\xf3\xa4\x83\xdbBY\xe4\x97\xc84\xa9\xf5\x0c\xfa\xce\xdf\xec\"\xbb4\x0bL\xff2\xb3\xd7\x7f/\x97\xb8\x1e\xa8\xbf\xc7\xae\x0b/(\xdd\x0fNe\xfd\xdf\xab\x20\x0f\x84\x8e\"\xf2\x82it\xe2z\xe6\xdb(\xcb-\xf5\xa5Z=U\x0b\x05\xbe\xa1\xc1\xf6\xf4\xd7W\x9d\xf2\x83\xf1Gd\x9d\xe6h\xdf$W\x902\xe5\xffb\xfe\xe5_A\x16H\xc5\xfb\xd9\xd1L\xf5d\x9alKun[\xb0\x8f\x85\xca\x1eZGR\xef\x19\xea$\x1dl\x8a\xd9\\\xa4}T\xa7\x9b\\y\xd9>Le\x95\x9a\xe5\x0b\xbb\xc7\x99U\xb4u_\xb0\xb5j\x81\x95~{\x09\xa9`e\xb3\xd9>.u_F\xe6I\xb52I\xe0@i\xa4S\xa8g\xbe\x0d\xaf\x93j\xf5T-\x14\xf8\x86\x06\xdb\x13\x8cS\"\xeb\xf4\x10Y\xaa)Q\x86\x8e+\xd8a+\xf4\xf2O#MR\xf1'\x93I\xbf\xfa\xc9Cd\xce\x19\xf5h\xf3\xbd$e\xc8\xec\xdeTzff\xa0\x93|)T\xcd\x86$\xa4}4\xbc\x1b\x7f2;\xb6\xf8\x95=\xf1^\x0a\xeb\xf4^\x1a\xdbyk\xc9\xccPk\xd5\x02\xd7\xca\xe7\xae\x9f\x10y\x9e\xb9\xa4Z\xe9~\xa6\xb2\xc8\x83\x83\xa1\xfeuu\xe2z\xe6\xdbp:\xa9WO\xbd,2\xaa\x99\xe9oO0N\x89\xac\xd3\xc3$W[t\xef\xcc\xae\xb2E\xd3\x88\xea\xe5\xff\x90^\xe5\xcc\x91p\x91v\xd5\x13\xff\x19z\xa5\x92\x9c\xbb\x87\xbb\x12\x1f\x20D\xb9\x8e\x98\xc3\xce\xe5\xf4u\x92\x8fo{\xd8\xff\xd2\xfe\x1e\xde\xcd\x07\x81n\xf6Ho\xfcK\xd9\xb1\xaa\x9d\xcc\xe6Z+\x03\x03\xdc\x02\xd7\xca\xc7\x05:\x17v\xe5\xef/\x20UJ\xad\xc0\xa5\x17\x8f\xaeN\\\xcf|\x1bN'\xf5\xeai\x96EB=3\xbd\xed\x09\xc6+\x91u\xaa\xe0\x87\"\x8e\xb3=\xa6:\x8d\x0dbe\xccQ\xbd\xfc\"\x09\xd1\xa8zB\xcf\xac\x0a\x92\xe8\xc4\x94\xe2\xe0\xa5x7\x99\xa2L-`\x9fdE\x1a(\x0f\xe9\x14\xdeM?!\xf2D\xb3\xa4S\x17I\xbbG\xed\xaf\xe5Z\xcb\x0d\xf9\x05V\xfe\x12\xa6\x13=\\q\x87%\x05]\x9dB=\xab\xdap:\xa9WO\xbd,\x12\xea\x99\xe9nO0^\x89\xacS7\xf7\xd2\xf7\x93\xc9]\xec\xce\x9b\xe2\xfa\x0b\x1fjNN>T\xae\x10$TO\x18\xf7N\xad\x99EB;I\x7f4G\xa70\x9d\xc2\xba\xf9\x20\xf0Q\xcf~\xf9\xb2d\x069q/i\xca\x07~\x8dN\xaa\x056\xd2\xc9\xaf]d\x86Z\xa75Z\x9dTm8\x9d\xfa5G\xa70\x9dT\x0d\xf5\xb7'\x18\xaf\x98\xdc\x151-t\xf1\xb4\x82^Z\xd3\xeb\x01\xf9Z}\xa9\xfa\xe5Oe\xc7!\xc6\xa9\xfe{\xea'\x03\xf2\xa7+\xb5dJ\xf0F\xa2\x07\xa2\xb8v\xd2\xea\x14\xde\x8d?E\xe9f\x8d\xacS\x05Y\xd1.\xef\xb3\xfc.\xac^`C\x9df(#\xe4M\x0fU\x07\xbaW\x16\xacJ\xe9\xec\xe10\x9d\xf86\xfc\xb5\x93j\xf5\xf4t\xe2\x1a\x1amO0N1\xd1i\x17!\xf5\xf2\xd4!B6\xb0\xb3:\xe9\xbc\xff\xc3tvQ\x15z\xf9\x8b\xc9li7o#\xae\x0fTODe\xcf\xed#\x93\x83\x1e\x04\x86\xbev\x91\xe4O\xa2\xd4I\xaf\x9bb\xb9\x9b{\xd3e\x9d\x06\xc8\xb4\x15\xf25>\xbf\x0b\xab\x17\xd8P\xa7\x15\xca\xde\xbe@\x1e\xf2\x93\x90\x17\xac^>\xdd\xfd0-L'\xbe\x8d\xde\xc8\x9e\xb4zz:q\x0d\x8d\xb6'\x18\xa7\x98\xdd\x02\xbb\x90^$\x9f\xf9\xf0^\xef\xe3\x84\xcc\xb9\xe7\xbf\x97,\x8dN\xdf\x98G\xd8\x8e\x1ez\xf9\xfb\\\xa4\x98\xeeO])\xec`\xa6z\xf2\x10y\x88\xee\xba\x1f.R\x06\x87\x19\x17\xa6\x90\x0a*ES\x12\x1bX\xd3\xdc\xcb\xe3\"\x8d\x9f\xdc\xd39:\xe9t\xd3\xef\"\x1b\xee\xf9?\xcc\x0d\xdcT\x91I\x92\x92\xa5\xd3,\xd5\xd1I\xb5\xc0\x86:\xf5'\xb1E\xba\xb7\x8eL\x15\x83\xfd\xcb\x0bF\xcf\xdd\xe8_\xfa3I\x98N\xaa6\xf2rK\xe5\xaa\xd5\xd3\xd3\x89kh\xb4=\xf1\xb9\xd38\xc5L\xa7O\x0a\x02\xc3\x0a\x0b\xa4\x91\x08B\xa6-\x98=9\xa5\x8c\x0des/\x7f\x93\x8b<0{:\x91\xef:\xe7\x9f\x0c\xa4\x10\xd7\xccYI$\xad?\xd4g\xfd\x14\x92<;\x9d\xc8\xe7\x91j\x9df\x13\xf6\xa5\x08\x9d\x93=\x9dn\x1a]$mv\x12Y\xa8\xe8\xb4'\xe0\x95j\x17V-\xb0\xa1N\xecs\xd6\x94\xd9t\x1e\xdc\x1d\xe1\xca\x82\x15\x13\x92\x9cN\x92*\xc2tR\xb5\x91\x97[.\xe7WOO'\xbe\xa1\xd1\xf6\xc4]\x11\xe3\x133\x9d\xfc\xfe3\xc53\x1ep\xa5/R>?m\xcbLu\xcd,\xfb\xe0C\x17\x19T\x9d\x9c\xf4/\x9d\xeeJ\x9a]-\x9f\x8a\xf1O\x06\x96\xcep=@[\xf0]v?\x9c\xeeJ\x97oj\xd3\xe8\xd4\x97\xf9@\xf2~\xbd\xa1\x08\xddnr\xd3\x92\xe6\xb45*\x16\xd1E\x0a\\`\xf1\xbb0\xbf\xc0\xc6:\xf9\xfb\x8a\xd3\xa7\xa4\xe6\xf2\x8b\xa2,\xd8\xbd\xdaY\xae\x94\xdc\xbe\x13\xe1:\xf1m\xe4\xe5V\xca\xb9\xd5\xd3\xd5\x89oh\xb0=\xa1\xd3\xf8\xc4\\\xa7\xf1\xc2\x00\xbb\xc1\x08\x80\xb1$qt\xaa\xe0\x86\x11\x00\x18\x13\x12D\xa7\xbe\xc1\xc6\x07\\\xa1a\x04\x00\xc6\x84\x04\xd1)\x97\x10\x1c\x9c\xc0\x98\x93\x20:U'\xa5\xc1&0\xe6$\x88N\x00\xc4\x03\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1bv\xebt\xb6\xe4\xb6Y\x95h\xb8Sr\xd6\xac\x0a\x00q\x87\xa9N\x1fm\xc9\xf3\x94\xfb\xccj\x058(4D]7\x12\xbe\x83\xc2A\xb3:V\xb8\xec=oV\xc5\x84\x91\xf7\x10-\x97\xe6\x0a2^k\x9br3m\xe2yOS\xd8\x20\xb8\xd9\x1b\xd3\x8b\x1e\xa1A\xaf\x0d\xb0\x17S\x9dJ\xbdG7y>6\xab\xa5\xd0*\xbc`V%Z^t\xb7\x9aU\xb1\xc0\xf9\xec\xa8\x8fvW~\xaf[l\xa1\x07\x0e\x83\xce\"V\x18~\xc5\xbd\xb9\x87\xb2[\xb0v\xa0\xbf\xd9\xd3sX\xf8\x9d\xa6\xf0N\xa5\xa7\x94\xfeW\xea\xa9\xbc\xa3\xd7\x06\xd8\x8b\x99Nw\x84V\xbf\xef\xaeI\xa5\x00\xef\xbbw\x9bU\x89\x9e\xbdY7\xcd\xaaX\x20\xfa7\xfa\x95\xeb\xf5\xcb\xa3\xef\x81\xc3\xa8\xb3\xc8\x15\xb2\xa4#\xc9\x0b\x82e\x03\xae\x86\xe9\xe4\xdf]N\xdf\x0c\xefx\xcam|e\x80!f:\xbd'X8\xc7\xd9\xec\x1d6\xab\x12=\xc3\xde\xcdfUF\x85\xc7\xcc\x0c\xb0\x82ig\xba\x15d\x9d\xde\xdba\xd9`=\x9d*KO\xfb_X]\x09\x9d\x9c\x20\xa2N\xbe\xc5\xf2I\xfc\x0e\xbf\x7f\xab@\xcf\xe3\xdew\x0bK\xd8\xa4\xfb\xd8\x8e%\x9e\xd5\xf2\xc1\xe3\xbdo\xe7\xb9\xbd\xe5\xd2\xb4/[~\xcd\xder\x0b\xc2\xde\xf7*\x0b=\xab?\xe5:\xe3J\x8d:\xf3\xbdP\x92\xbddG@\xc9\xbd\x1e\x8d\x9c\x96{P\xf8\xd8C\xd7\xe1$\x9bR/z\x88\x9e\xd5\x85\xee\xbc\xf2B\x9f\xff\xbcr\xd9\xb2\\\xbd\x16\x06=\xdc\xa9\\\\\xb8c\xc7\xe2\xec\xd3\\\x0f\x1c\\g\xaa%\xd3\x9b\x9b\x8a\xac\xc0u\xce\x1f\xe92\x94\xfb\x0a\x05!\xc7\xe7\xbf\xbb>\xdf]X\xfe\x96\xdf\xffi\x9e\xfb\xc7\x85\xf9W\xb6\xe5\x94\xdee\x8b\xd3\xba%?\xa7\\\xb9d\x0a\xea\x14\x9a\xdb\xee\xca\xc3O\xfb\xcb\x8f2\x9d\x82=h\x9b\x01\xbb\x88|tz\xb3\xe7\xa4\xd0\xd0\xd3s\x8b\x9d\x98\xbb\x1b\xfc\xbe\xab\x9b\xb3\xe8k|\xd2-x\x1b\x0e\xe6<\xcdj\\\xc9^~\xf0r\x83\x20]\xe7\xbc)\xf4H\xad\x86O\x9f,,\xca.\xdcQ9\xf7\xcf\\_\\\xa9Qg\x9b\x85m/\xb6z\x1fS\xf6\xc9W\x84\xdf\xfaUX\xee!\xc0\xd5\x9e\x9e\xf9\xd2\x1e\xaa\xaa\x1b\xe2\x8d\xb9\x9b\xce^>\x96'|J\xaf[z\x8a\x9e\xa4\xd7-\xff\xaeY\x0b\xdd\x1e|\x8fz\x0f7\xcc\xf7\x1c[\xdd\xca\xf5\xc0\xc1u\xc6/\x99\xee\xdcTd\xed\x1d\x1e^\xbf\x83\xcd\xe1\xb7\x0dt#\xbc0\xf7\x857\x99\x9c[\xae\x9c.\x17\xae\xd2m\x9e#\xec(\x15\x16\x1f\xcck\x95\x16\xa7\xb0\xa1\xa1\xd0\xf3\x8e\xd40\xa8Shn\xbb+of\x7f4\xff\x16\xd3)\xd4\x83\xa6\x19\xb0\x8b\xe8O\xf6\xa4\xb7\xcc\x86,i2\x87\xbe9Wz\xe9\xd4p\xe1j\xfa\x92\xf9NKg\xf9/\x0a\x7f\x0a4{L\xa0o\x9da\xd7\\\xa1R\xdd\xce\xceK\x03\x19W\xe5\xc3\x005X\x08\xbf\xf8\xb7\xd6\x03\x87Gy\xc3\x0f\xd5\xe58\xece\x1a\x1c\xce\x91,\xe4N\xbfTk\x11\xde\xc3i\x81\xbe\xd3\x1f\x16\xde\xd1\xf6\xc0\x11\xec\x8c[2\xa3\xb9\x85\xc8b\x87\xacri\xd2\xb7\xa9\xe4N\xa14\xc89|\x92.\x88o\x19\xf3\xd8[I\xb7\xf5y\xff\xa6-\xacn!-\xfe\xb8\xb0D\xaa\x1d\xd0\x89\x9b\xdb\xeeJ\xff\xb2-+\xfdL'\xae\x07u3`\x17\xb1\xe9\xb4)0yIx3T\xf7\xac\xf0~`\xf2\xb1,\xfe\xc0\x14^\xaa\xdb\xd9\xfaG|\x9fR\x0a7\xcbun\x0a\xa7G\xd8\x03GP\x86`]\x8e?\xe7\x17n;\xf6\xa6Ov\x81\xd7\x89_\x8b\xf0\x1ev\xe7\xd0\x87?I\xd2\xabz\xe0\x08v\xc6-\x99\xd1\xdcBdm\xb9zu\x99\xac\x93\x7f\xf8\x1by\xca\xe7\x14w\x0e\xaf~$GXF\xa7\xbc'\xa9*\xc3\xcc\x14ZW:\xc1>,\x0f[\x04t\xe2\xe6F+\xb1\x0f\x1d\xa4k\xa7P\x0f\xeaf\xc0.b\xd3)8\xd9*p\xd7)\xdc\x85\xf0c\xda\xcb\x01M\xa9ng\xcb\x94K\x09\xe5T\xec\xaa\xf0\xca\x08{\xe0\x08\xca\x10j\xc6\xf1\xf1\xd1\xf5K\x84\xbc\x83aG'~-\xc2{h\x9d{\x87\xbd\xa1\xbc\xa3\xed\x81#\xd8\x19\xbfd\x06s\x0b\xc1fq\xe9\xb2\xf2\xe4\xac\xb2\x19\xaez\x0bw\x9f\xed)\x95t\xba\xe4\xbf\xea\xf6+:I\x8b\xd5#H\x03\xee\x81W\x80\x9b\x1b\xadtg\xc7mI'\xae\x07u3`\x17\x16u\xda\xab\xd9\x7f/\xf3\xaf\xc7p\xf0\x12\xda\xff\xd8\xb7\xfd:\x84Ju;\xab|\xe4\xf7\x12\xca;f\x83;|\x80\xdeZ\x0f\x1c\x11u\xba\xba\x9b\xee\xda\x1f\x9f\xf4\x1cfO\xa4\x1d\xfc\x98tXR\xadEx\x0f\x7f\x16\xca\xff\xfcVQ\x89O\xdb\x03G\xb03n\xc9\x8c\xe6\x16B\xd9\x8eo\xb1\xd5\xb8\xe9\xdd[\xf8\x11{\xb6\xa4\x84\xbds};\xa0SV@\xa7m\xec\x8f\xc7\x04i[\x05t\xe2\xe6&U\xf2K:q=\xa8\x9b\x01\xbb\x88^'\x0f}A|+5\xfb\xef]o)\xdb\x9b\xb6I/\x8e\xff\xdbE\x81wg\xfd\x01\xe2P\xa9ng\x97\xe4k\x9e\xbd\xf2\xfd\x10\xbe%\xe5#\xec\x81'\xa2N\x0d\xc2%\xf6_\xe9\x16\xe9\xb1\xd4\xef\xbf-\xf7\xa3Z\x8b\xf0\x1e~/\xe4\x09B\xe9\xcd\xb0\x1e8\x82\x9dqKf47\xff\xfb\x07\xdf\xe7fA\xada\xabX\xb2\xd7\xbfE\xda\xc6\x85\xccm\xdf7\xc2t\xca\xa3F\x0c?R*\xb5\x08\xe8\xc4\xcd\x8d\xd3\x89\xebA\xdd\x0c\xd8E4#{W%IJ\xbc\x07\x1bJ\x04\xf7\x0b\x7f\xbc\xd5\xe3\xde|\xd5\xf7\xe6f7\x1b\xf1\xbb2\xff\xd1\xa3\x97\xb6\x09\xc7\xa4\xea\xef\xc9w\x06}\xfa[i\xc0*x!%\xa3*\xd5\xefl\xf7\xdc\xca\xb3g7+wV\xb4\x86\x9d\x88X\xed!\x80\xefw==\xf37\xf7\xf4\xdc\xf5\xab\xea\x86h\x10\xb2\x7fr\x9e6\xbb\"=\xc9j=[\x9a\xfdg\xd5\xdc\xf4{\xf8\xfd\xfc\xcb/\xf6\xdc\xf4\x85\xf5\xc0\xf7\xact\xc6/\x99\xee\xdc\x18O\xcb\xc3\x0f\x81\xbb\"zrv\x0c\xbf\xb2\xd5{\xd3\xff~\xce\xb6W|\xb4\xd9\xfa\xc3\x0d\x8f\xd1\x93\xc4\xab\x7f\xcci\x1d>\xe9~k\xb8\x92\xa9\x9c%,?y\xac(\xe7O\xf4`\xc9\xee\x8ah\xed\xe9Q\xcd\xed\xa3\xcaR\xb6\xaa\xb7J+?\xe2z\xe0\x9b\x01\x1b\x89\xfc\xb9S\x8et\x06\xee\x96\x06r\xdf+\xf5d\xaf\xfe\xb1\x20l\xdd\xca\x8a\xfe-\x9b>n\xa5\xc5\x7fZ_\x98\x1d\xbc_u\xef|v\x9e\xff\x96|\xe2\xae9\xb8\xa8J\x0d:\xbbT\xba8\xe7I\xe9\xbd\xdb\xdf\xe3\xd9\xe1\xd7`\xb1\x87\x20o(W\x12G\xfd\xea\xbaA^x\xb2\xa1\xd0\xed-\x95]\xf0m\xcb\xf1<yU=7\xfd\x1e^q\xb32\xf7\x93\xefhz\xe0\x08t\xe6\xe7\x96Lwn\x8cc\xde\xa3RE!@+\x9b\xdc\xe6\xdf&\x08s\xaf\xf8}\xadEY\xde\xf5\xc7\x8a\xdcO\xd2c\xe2\xc9l!\xfb\xa4tm\x94\xb5csN~%Sf\x93\xd2j=?\xb7\x06A\xd8D\x9fn\x11\x84\x86P\x0f\xa5|3`#f'{\xd6\xf0ms\x9f4\xab\x13\x1d\xa7\xdd\x9bU\x9f\xe1\xc4!\xb7\xb3\xb7\xdc\xfe\xf4\xd3\x8f\xdfx:'\xda[\x1aG\x83\xd0\xf5\xaa%bl\x06\"c\xafN\xf4\x0d\xb0\xd0\x96\xa1\xd7;\xde\xb0A\xb2\xb8\xe3\xac\xf2)\x93/Ou4\x1c~_\xc6\xc6\xfb\xad\"\x11\xa3\x1716\x03\x91\xb1Y\xa7\x89\xc4\xef\xe5!r\xff;\xfcgo~\xff\x93\xca9\xd7\x93\xba\x8dl'F/bl\x06\"\x03\x9db\xc6\xb7\xd9\xb3\xe5\xf4\x95\xd3[<[T\x07\xd2?\x9d\x97q\xe4*\xff\xa642bV+\x8c\x18\x9b\x013\xa0S\xec\xf8\xce\xaf\xcew\xe7\xaf>?\x86\xfb\xa542\xa2\x19B\x8d\x82\x18\x9b\x013\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6a\xb7N\xc8(\x07\x13\x18S\x9d\x90Q.3\xf2\x1e\xa2\xe5\xa4t\x07\xed\xe2\xa7\xa3\xb9\x09h\xab\xa0\x93\xdad\xc0\xd1P]+\xb3\xb0Rw\xc2'\xa2\x9b\xea\x84\x8cr\x19\x0b=p\xc4\x92Q~\xf7\xbc\xf0\xe3\x9e\x9e\x17\x96\xe5}\xa4S_\x83\x947\x18%\x1f\xf7\x94\x04\xea\x1a\xce\xc2\xca\xe2\xe8\xd4\x9d\xf0\x89\xe8f:!\xa3<@\xf4=p\xc4\x94Q~K:\x8a\xdc\xf1D%\x8a\x95oZ\x94\x07\xeb\x1a\xcd\xc2\xca\xe2\xe8\xd5\x9d\xe8\x89\xe8f:!\xa3|D\x98v\xa6WA\xde\x7f\xfd\xcb\xcc\xdaJ\x8cD\xa7\xf0YXY\x1c\xbd\xba\x13=\x11=rV\x042\xca\xc7\"\xa3\\\xde\x7foK)\xce\xc1fF[=k\x87\\\xca'\x97si\xe4\xaa\xd7\x82\xea\xb4\x8d\xcen\xfe\x1dn\x16l\x19~\xcc\"%\x84\xd3\x06\xcbk\xa5\xeeDOD\x8f&\xc9\x08\x19\xe5\xcef\x94\xdf\x12\x8e\x0d\xdf\xfd\xdd\xb2%w\xf9fF[=KXr\xf2l\xde\xd3\xaa\xe4r.\x8d\\\xb5\x16T\xa7\x9b\x95B\xebU~\x16\xc3\xaf\x14n\xb9\xed\xbf\xfd\x93\x9c\x9e\xbb\x06\xcbk\xa5\xeeDOD\x8f\xfed\x8f\x8f]EF\xf9hf\x94\xdf\x92\xde\xf7\x8bn\xaa\x9b\x19l\xf5,\xefG\xec,\xdb\xafJ.\xe7\xd3\xc8\xb9\xb5\xa0:\xb5f\x9d\xd7\xcc\xc2\xdf\xc0\x8e0\x9b6\xcbuu\x96\xd7J\xdd\x89\x9e\x88\x1e\x9bN\x9b\x02\x93\xc8(\x1f\x85\x8c\xf2[\xc2O\xae^\xbd\xb4i\xf1\x1b\xea\x15\xd2\xdf\xeaY[\x02\xa5|r9\x97F\xce\xadEy\xc3^\xe5\xe5\xe4f\xe1\xbf9\xf7\xdf\xfc\xbe\x1c9\xc3Yoy\xad\xd4\x9d\xe8\x89\xe8\xb1\xe9\x14\x9cDF\xf9(d\x94+\xd7\xfe\xeb\x8b|\xaaf\xfa[=T\xca%\x97\xf3i\xe4\xdcZ\x94{s\x96<\xed\xd3\xcc\x82\x16\xef\xf0_\xca\xd1\xd8\xcd\xcd\xd8J\xdd\x89\x9e\x88nQ'd\x94s=\x8cVF\xb9\xb2\xff\x1e\xa3o\xe6\xfc\x0a\xe9ou\xb5NY\xb2N|\x1a9\xb7\x16\xe5\xdew\xde\xcfi\xd5\xcc\x82\x9e\xac\xe5\xf9\x94\xf37\xdd\xe5\xb5Rw\xa2'\xa2G\xaf\x132\xca\xb5=\x8cVF\xb9\xb2\xffn\xca\xf6\xa9VH\x7f\xab\xeb\xea\xc4\xa7\x91sk\xc1\x06\xca/\xb9\xaf\xaag\xc1\x82\x02\xcf+\xe7o\xba\xcbk\xa5\xeeDOD\x8ffd\x0f\x19\xe5\x8ef\x94\xcb\xb7!\x9c\xad\x946f\xb0\x99\xfeV\xe7J\xf9\xe4\xf2P\x1a9\xb7\x16\x1f\xf7\x94l\xfe\x9d\xefn\xb9\xf7\xcam\xd5,\xe8L\x1e\xc9\xf9\xd4py\xad\xd4\x9d\xf0\x89\xe8\x91?wBF\xf9\x18d\x94\xcb7\xc9\xb9\x97\x1d\xf3\xf1\xcd\xf4\xb7z\xa8t\x0b\x9f\\\x1eJ#\xe7\xd6\xe2(\x9bx\x83\xf5\xbeW=\x0b\xff\x9f\x84\xc0QUgy\xad\xd4\x9d\xf0\x89\xe8f'{\xd6@F\xf9\xb8\xe4nV\xd8\xfb\x80!V\xea\x06\x09]T'8\xf6\xea\x84\x8cr\xc73\xca\xed\xe0\xf4\xe2\xe8\xdf\xba\xac\xd4\x0d\x02\x9d\x80\x19\xf1\x91Q>b\x1a\xae\xf8J\x7fbVI\xc1J]\x1e\xe8\x04\xcc\x88\x87\x8c\xf2\x913,,\xdf\xea\x8d\xf2l\xd5J]\x8e\x09\x94\x88\x0e\x9db'\x0e2\xcam\xa0!\xbbTs\xcf\xa01V\xea\x86\x98@\x89\xe8\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\xc6\xc8ur.\xbc;:\xd6\x1f\x95\xff\xbf\xb2:\xcf]\xb8yb\xdc\xdb\x02\xe2\x04\x0b:\x8dyx\xb7!|\xdd7\x84\xdd\xd2\xffW\xe7\x96\x1c\xbb|\xb4(o\x02|g\x0d\xc4\x0d\x16t\x1a\xfb\xf0n#Bu}=\xf9\x8aNg\x05\x16ipS\xf9\xda=\x00N`A'\xd3\xbcm+\x98vfZ\x81#Tw\xbd\xb0\xde#\xeb\xe4\x93\x0eKz\xe1b\x00\x8c\x16&:\xc5Ux\xb7*o\xdbwt\xb9\xe7\x1b\x87}\x9a\xcen\xdf\xf2\xe7\xec\x0e\xd4\xf7\xdd\xb9T\xf8\x8d\x98\x8e\x9d\x00\xc4Dd\x9d\xe2+\xbc[5\xe3MY{_\xdc\x9b\xb5\xd9\x1fV7\xa8\xd3\x9b\xd4\xb1l\x0cE\x00\x07\x89\xacS\x9c\x85ws3\xbe$\x85\xd5\xc9\x8f\xea\xbaA\x9d|W\xaf\xb4\x16z\xe1\x13p\x8e\xc8:\xc5Yx77\xe3\xcdr$\xe3\xa3\x9b\xc3\xea\x86N\xf6(\x1f\xe7\xebd_\x020J\x98\\;\xc5Wx77\xe3\x12Y\x93\xf2\x92\xb0\xba\x8aNw\xe496\xb8q\xf1\x04\x1c#\xb2Nq\x16\xde\xcd\xcdx\xf3#\xacw_\xe1\xa6\xb0\xba\xb2N\xbe\x1c\xb9f\x83'\x86\x1c+\x00b#\xb2Nq\x16\xde\xcd\xcd\xf8E\xe9O'\x85\x17\xb5u\x03:\xe5\xb1\x9f@\xf2\x7f\\\x18\xfec\x1a\x00\x8c\x16f:\xc5Sx\xb7*\xa3\xbcR\xd8}~\xb7P\xa9\xe9\xecNOO\xf6z)T\xfd\x05\xa1\xfc\xe8\xe5\xd6\xc2<;\x7f\xaf\x1a\x80\xc8D\xd6)\xbe\xc2\xbbU\x19\xe5\xbe\xd6e\x9ee\x87}\x9a\xba{\xa5\x1an\xf6+\xac\xbf}\xbap\xfe\x92m\xb6d\xd2\x02\x10\x1d\x16\xee\x8a\x88\x9a\xc4\x09\xef\x06\xc0\x12\xa3\xa1S\xe2\x84w\x03`\x89\xd1\xd0)A\xc2\xbb\x01\xb0\xcah\xe8\x94\x18\xe1\xdd\x00Xf4tJ\x90\xf0n\x00\xac2*:\x0101\x81N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\xb0[\xa7\xb3%\xb7\xcd\xaa\xa8\xb9S\x12K\x88,\x00\xf1\x88\xa9N\x1fm\xc9\xf3\x94G}\xb7\xd0A\xa1!\xea\xba2\xbe\x83\xc2A\xb3:V\x18yd\xfa\xc8{\x88\x96\xb3n\xe5\xae`\xb7\xf9[J\x83\\\xe9E\x8f\xd0`V\x15\x8c\x19\xa6:\x95z\x8fn\xf2D\xfb\xbd\xa5V)\xe5\xcb\"/\xba[\xcd\xaaX\xc0Bd\xfa\x98\x87\xae\x1f\x14zz\x0e\x0b\xad==s\x8d\xdfQ\x02\xcd\xeeTzJ\xe9\x7f\xa5\x9eJ|#2~1\xd3\xe9\x8e\xd0\x1a\x0c\xd43\xe5}7\x1f\xca\x155{\xb3\xec\xfc\x06z\xf4G\xc71\x0f]ou\xb3\x84\xc1\xdf\xf9\xfd\x1e\xe37\x94`\xb3\xdd\xe5\xf4]\xed\x8e\xa7<\xa6M\x0c\x9c\xc1L\xa7\xf7\x04\x0bg>\x9b\xbd1}5p\xd8\xbb\xd9\xac\xca\xa8`%\x06\xdd\x14\xd3\xcet*\xf8\xdeStz\xcf\xd8\xe0`\xb3\xdd\x95\xa5\xa7\xfd/\xac\xae\x84NqLD\x9d|\x8b\xe5S\xfb\x1d,\x82\x9c\x9e\xc7\xbd\xef\x16\x96h\xd2\xc8\xfd\xef};\xcf\xed-\x97\xa6}\xd9\xf2K\xcde\x89\x1b5\xe3\x82\xc9){=\x1a\x0d-\xf7\xa0`\x10\x99\xce\x11W\xa1\xeb\x0cI\xa7h\x9a\xed\xae<\xfc\xb4\xbf\xfc(\xd3\xe9\xee\xfa|wa\xf9[~i![\xb7\xe4\xe7\x94\xbf\x17\xd6/\x18\x0b\"\x1f\x9d\xde\xec9)4\xf4\xf4\xdc\xf2\xfbo\xf6\xb8\x1b\xfc\xbe\xab\x9b\xb3\xd4i\xe4\xfe+\xd9\xcb\x0f^n\x10\xa4\x93\x957\x85\x1e\xa9\x15\x97%n\xd4,\x14L\xcexE\xf8\xadz\xbe\x96{\x08\xa0\x1b\x99\xce\x11_\xa1\xeb\x8c\xa0Nf\xcdvW\xde\xcc\xfeh\xfe-\xa6\xd3ya\xcb\x95\xd3\xe5\xc2Uy!\x0b\x1b\x1a\x0a=\xef\x84u\x0c\xc6\x80\xe8O\xf6B1z\\\x1a\xf9p!\x8b\xb3\xf3\x9d\x96.\x8f_\x14\x82_\xb4\x0d\x85\x98\xeb6\xe3\x82\xc9\x197\x85\xf0\x8b\x7fk=p\x84G\xa6s\xc4]\xe8zP'\xd3f\xbb+\xfd\xcb\xb6\xac\xf43\x9d\x86O\xd2%\xf5-\x93\xde*\xb2\x0a\xef\xb28\xc1\x12\xbd\xbe\x81\xd3\xc4\xa6\xd3\xa6\xc0\xe4%>\x0e\xe2\xac\x10\xcc\xd7\x0f\x85\x98\xeb6\xe3\x82\xc9\x197\x85\xd3~-\xd6z\xe0\x08\x8fL\xe7\x88\xbb\xd0\xf5\xa0N\xa6\xcd\xa8N\xec3\x05\xe9\xda\xe9\xce\xe1\xd5\x8f\xe4\x08RL{\x96t\x82}X\xc0x_<\x10\x9bN\xc1\xc9V\x81\xbbz\x09\x9e\xb7\xf0!\xe6\xba\xcd\xf8`r\xbf\xfe\x8f\x9aY\xeb\x81#<\x94\x96'\xdeB\xd7\x83\x1b\xcd\xb4\x19\xd5\xe9\xce\x8e\xdb\x92NW\xbd\x85\xbb\xcf\xf6\x94\xca:I\x0b\xdb#\x98\x8d\xd3\x03'\xb0\xa8\xd3^\xcd^}\x99\x7f\x19\x87\xb3\x1a\x02\x93\xa1\x10s\xddf\\09\xa3\xc1\x1d>\x14o\xad\x07\x8e\x88:\xc5]\xe8zP'\xd3f\xbb\xe5\xc4[\xa6\xd3\x92\x12\xf6&\xf6mY\xa7m\xec\xf1\x98\x10\xed\x87\x19`4\x89^'\xf6#\x99\xbe\x95\x9a\xbd\xfa\xae\xb7\x94\xedc\xdb\xa4\xd7\xd4\xff\xed\xa2\xc0{v\xe8\xadX\xb7\x19\x17LN\xf1-\xd1\xf9\xd5\x18K=\xf0D\xd4)\xeeB\xd7\x83:\x996\xe3t*d\xf2\xfb\xbe!\xeb\x94GE\x1a~\xa4\xd4\x0f\xe2\x80hF\xf6\xaeJ\x92\x94x\x0f6\x94\x08\xee\x17\xfe\xc8\xa7\x91\xfb\xaf\xcc\x7f\xf4\xe8\xa5m\xca\x0f:\xbf'\xdf/\xa4\xca\x12\xd7o\x16\x0a&\xf7\xb33F\xed\x99\x8a\xd5\x1e\x02\xe8G\xa6s\xc4W\xe8:\xe5\xcd\xc3B\xab\x1c\x1dm\xd2\xec\xa3\xcaR\xb6&\xb7J+?\xa2\x15\xd6\x1fnx\x8c\x9e\x0e\xd2\x96Y\xc2\xf2\x93\xc7\x8ar\x90\xb6\x16\x17D\xfe\xdc)G:\x9dwK\xc3\xbb\xef\x95z\xb2W\xffX\x10\xb6\xf2i\xe4\xf4\x02}}av\xf0.\xd6\xbd\xf3\xd9E\x90*K\xdc\xa0Y0\x98\x9c\x9e\xf7{vhgl\xb1\x87\x20\xfa\x91\xe9\x1c\xf1\x15\xbaN\x0f+\xac\x7f\xcf\xdd(\x9a5\x08\xc2&\xfat\x8b\x204\xf8}\xadEY\xde\xf5\xc7\x8a\xdc\xf4\x98\x94\xb5csN~\xa5\xea=\x03\x8c\x19f'{\xd6\xf0ms\x87\x8f\\\x9bp\xda\xbd9\xde\x7f\x82)\x9eC\xd7C\xd7\xab`\xec\xb1W'\xfa\xbeYhq\xc4\xf6\x8e7l\x90,\xee\x88\xe7\xd0u\xe8\x14O\xd8\xacSb\x12\xcf\xa1\xeb\xd0)\x9e\x80NQ\x10\xbf\xa1\xeb7\xa5\xf1\x12\xb3Z\xc0)\xa0S4\xc4m\xe8\xba4^\xf2\xbe\x1f\xc4\x09\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\xb0['d\x94\x83\x09\x8c\xa9N\xc8(\x1f=\x90Q\x9eh\x98\xea\x84\x8c\xf2\xe8@F90\xd7\x09\x19\xe5Q\x82\x8cr`\xae\x132\xca\xa3\xc4\xb43d\x94O\x00\"gE\x20\xa3\x1c\x19\xe5\xc0\x02\xd1$\x19!\xa3\x1c\x19\xe5\x20*\xa2?\xd9CF92\xca\x81\x09\xb1\xe9\xb4)0\x89\x8c\xf2`\x0f\x81\xceL\xc3\xc6\xd5\x20\xa3<\x91\x88M\xa7\xe0$2\xca\x83=\x04:3\x0d\x1bW\x83\x8c\xf2D\xc2\xa2N\xc8(GF90&z\x9d\x90Q\x8e\x8cr`B4#{\xc8(GF9\x88\x8a\xc8\x9f;!\xa3\x1c\x19\xe5\xc0\x02f'{\xd6@F\xb9\xe3\x20\x056\x9e\xb0W'd\x94;\x0et\x8a'l\xd6)1AF9\x88\x0e\xe8\x14\x05\xc8(\x07\xd1\x01\x9d\xa2\x01\x19\xe5\x20*\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6a\xb7N\x963\xca\xf5Ar9\x18\x8f\x98\xea4\xda\x19\xe5\xfa\x20\xb9\\@r\xf98\xc4T\xa7\xd1\xcf(\xd7\x07\xc9\xe5H.\x1f\x7f\x98\xe9\xe4DF\xb9>H.Gr\xf9\xb8\xc3L''2\xca\xf5Ar9\x92\xcb\xc7\x1d\x91\xb3\"F\x9cQ\xceuf9w\x1c\xc9\xe5Q4Cry\\\x11M\x92\xd1\x082\xca\xb9\xbe,\xe7\x8e#\xb9<\x8afH.\x8f+\xa2?\xd9\x8b1\xa3\x9c\xc7Z\xee8\x92\xcb\xa3h\x86\xe4\xf2\xb8\"6\x9d6\x05&\xcd3\xcay\xac\xe5\x8e#\xb9<\x8afH.\x8f+b\xd3)8i\x9eQ\xcec-w\x1c\xc9\xe5Q4Cry\\aQ'\xeb\x19\xe5<\xd6r\xc7\x91\\\x1eE3$\x97\xc7\x15\xd1\xeb\x14cF9\x8f\xa5\xdcq$\x97\xfb\xa3h\x86\xe4\xf2\xb8\"\x9a\x91\xbd\x11e\x94\x07\xb1\x9a;\x8e\xe4r\xbfy3$\x97\xc7\x17\x91?w\xb2!\xa3<\x88\xc5\xdcq$\x97#\xb9|\xfcav\xb2g\x8dX2\xca\xf5Ar\xf9\x88@6\xec\xd8`\xafN1d\x94\xeb\x83\xe4\xf2\x91\x01\x9d\xc6\x06\x9bu\x9aH\x20\xb9\x1ch\x81N1\x83\xe4r\xa0\x05:\xc5\x0e\x92\xcb\x81\x06\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xd8\xad\x132\xca\xc1\x04\xc6T'd\x94\xcb\x8c\xbc\x87hAF\xf9\xf8\xc5T'd\x94\xcbX\xe8\x81\x03\x19\xe5\x13\x0b3\x9d\x90Q\x1e\x20\xfa\x1e8\x90Q>\xb10\xd3\x09\x19\xe5#\xc2\xb43d\x94'\x14\x91\xb3\"\x90Q\x8e\x8cr`\x81h\x92\x8c\x90Q\x8e\x8cr\x10\x15\xd1\x9f\xec!\xa3\\\xdb\x032\xca\x81\x86\xd8t\xda\x14\x98DF92\xcaA\x88\xd8t\x0aN\"\xa3\x1c\x19\xe5\x20\x84E\x9d\x90Q\x8e\x8cr`L\xf4:!\xa3\\\xdb\x032\xca\x81\x86hF\xf6\x90Q\x8e\x8cr\x10\x15\x91?wBF92\xca\x81\x05\xccN\xf6\xac\x81\x8c\xf28\x01)\xb0c\x83\xbd:!\xa3\x1c\x19\xe5\x13\x1a\x9bu\x9aH\x20\xa3\x1ch\x81N1\x83\x8cr\xa0\x05:\xc5\x0e2\xca\x81\x06\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xd8\xad\x132\xca\xc1\x04\xc6T'd\x94\xcb\x8c\xbc\x87h9)\xddA\xbb\xf8\xe9h\xee\x12\xda*\xe8\xa46\x19p4T\xd74\xda\xbcg\xaeP\xe2\xf3\x9f\x15\x84\xb9\x97\xd5\x7fxgu\xb6\xb7\xf2\x8a\xf7\xb6\x95\x19O\x20LuBF\xb9\x8c\x85\x1e8b\xc9(\xbf{^\xf8qO\xcf\x0b\xcb\xf2>\xd2\xa9\xafA\xca\x1b\x8c\x92\x8f{J\x02uM\xa3\xcd\x87/\x0b\x9e\x1e\xff\xdd\xb3\xc2e\xf5\xf7L.e\xaf<vr\x99\x20\xfc\xbb\x95\x19O\x20\xcctBFy\x80\xe8{\xe0\x88%\xa3\xdc\x7fKz\xe3\xbf\xe3\x89j\x7f\xb5\xf2U\x8c\xf2`]\xd3h\xf3\xbbB\xe5f\xfa\x82j\xb2[\xee\xe4<M7\xc3p\x91\xf0\xef\xd6f<a0\xd3\x09\x19\xe5#\xc2\xb43\xbd\x0a\xb2N\xfeefm%\xac\xec\xd5\x9cNf\xd1\xe6w\x85\xcb\xd9\xc3a:\xed\xf6H\xdf\x97o\x15\xde\xb36\xe3\x09C\xe4\xac\x08d\x94\x8fEF\xb9\xac\xd3m)\xc59\xd8\xcch\xabg\xed\x90K?\xcds\xff\xb80\xff\xca\xb6\x9c\xd2\xbb|\\\xb9\xea\xb5\xa0:m\xa3\xb3\x9b\x7f\xc7<\xda\xfc\xae\xf0\xfecg\x15\x9d|G\x97{\xbeq\x98\xadZ\xd1&i\xeewZ}\xa1\x19kz\xd0\xdd:z+\x9f\x90D\x93d\x84\x8crg3\xcao\x09\xc7\x86\xef\xfen\xd9\x92\xbb|3\xa3\xad\x9e%,9y6\x8f\x96^\xc9\x11v\x94\x0a\x8b\x0f\xe6\xb5\xf2q\xe5\xaa\xb5\xa0:\xdd\xac\x942\x92L\xa3\xcd\xa9N\xad\xe5\x8aN\x9b\xb2\xf6\xbe\xb87k3]a\x81\xbb\x9e\x0d\xceX\xd3\x83\xce\xd6\xd1]\xf9\x84$\xfa\x93=>v\x15\x19\xe5\xa3\x99Q~K:d\x15\xddT73\xd8\xeaY\xde\x8f\xd8Y6\x9d\xf2V\xd2W\xe0\xbc\x7f\xd3\x16u\\9\xb7\x16T\xa7\xd6,\xe9\xf54\x8d6\xa7:\xdd\x99\x7fG\xd2\xe9\x92\x14\xf0\xc7\x1e\xdf\xe7_\x91\xd0\x8cU=\xe8m\x1d\xa3\x95O<b\xd3iS`\x12\x19\xe5\xa3\x90Q~K\xf8\xc9\xd5\xab\x976-~C\xbdB\xfa[=kK\xa0\xd4{\x92\xee\xb1\xc3r\x90%\x17W\xce\xadEy\xc3^\xe5\xe54\x8d6\xa7:\xf9\xcb[%\x9d6\xcb\xdd<\xba\xd9\xef\xe3G[C3V\xf5\xa0\xb7u\x8cV>\xf1\x88M\xa7\xe0$2\xcaG!\xa3\\\x19\x8aX_\xe4S5\xd3\xdf\xea\xa1R\xef%\xffU\xb7\x9c\x0b\xcb\xc7\x95skQ\xee\xcdY\xf2\xb44[\xd3hs\xa6\xd3\xd9oH:\x95\xc8\xc1\x86\xe5%\xc1k'\xdf%\xd5\x8c\xc3z\xd0n\x1d\xa3\x95O<,\xea\x84\x8cr\xae\x87\xd1\xca(Wt:F\x0f\x12\xfc\x0a\xe9ou\xb5NY\xb2N|\\9\xb7\x16\xe5\xdew\xde\xcf\x91\x0e0\xa6\xd1\xe6L\xa7\xe1\xec\xcb\xd2\xd1\xe9\x11\xb6\x86\xbe\xc2MldO\xda\xb2'\x85\xdb\xfc\x8cU=\xe8m\x1d\xa3\x95O<\xa2\xd7\x09\x19\xe5\xda\x1eF+\xa3\\\xd1iS\xb6O\xb5B\xfa[]W'>\xae\x9c[\x0b6P~\xc9\xcd2gM\xa3\xcd\x99N\xfeM\x95L\xa7\x17\xa5e8)\xbc\x18\xf8\xdc\xc9WZ\xa8\x9a\xb1\xaa\x07\xbd\xadc\xb4\xf2\x89G4#{\xc8(w4\xa3\\\xbe+\xe2l\xa5\xb41\x83\xcd\xf4\xb7:W\xfa\xc7\x9c\xd6\xe1\x93\xee\xb7\x86+\xe9.\x1c\x8a+\xe7\xd6\xe2\xe3\x9e\x92\xcd\xbf\xf3\xdd-\xf7^\xb9m\x1am>|Y8{\xd7\xdf\xe3\x91F\xf6*\x85\xdd\xe7w\x0b\x92\x80\x97<%/\x9c]\xed~E\xb58\xa1\x1e\x0c\xb6\x8e\xd1\xca'\x1e\x91?wBF\xf9\x18d\x94\xcb\xf7\xec\xb9\x97\x1d\xf3\xf1\xcd\xf4\xb7z\xa8t\x0b=\x16\x9c\xcc\x16\xb2O\xb2K\x94P\\9\xb7\x16G\xd9\xc4\x1b\xac\xf7\xbd\xa6\xd1\xe6W\xe6\x0a\xc2i\xbf\xaf\xc4+\x9d\xe7\xb5.\xf3,;,\x8b\xf1\xcejO\xde\xd3\xff\xa6^\x9cP\x0f\x06[\xc7h\xe5\x13\x0f\xb3\x93=k\x20\xa3||\x13\xba\xf8\x1d1\x09\xb8u\xa2\xc0^\x9d\x90Q\x1e'\x19\xe51b\xa3N\x06['\xc1\xb1Y\xa7\x89D<g\x94\xc7\x88\x8d:\x19l\x9d\x04\x07:\xc5L\xfcf\x94\xc7\x88\xad\xd1\xe6\x06['\xc1\x81N\xb1\x13\xb7\x19\xe51bo\xb4y\xa2m\x9d\xa8\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xfc\x7f\xe7\xbd\xe7\x84\xdaB\xea\xf4\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/call-eg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\x1e\x00\x00\x01\xc8\x08\x03\x00\x00\x006\x92\x13\xd7\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x05\x07\x03\x0a\x0d\x09\x0d\x12\x14\x0e\x12\x1d\x11\x13\x10\x1b\x1a\x14\x20\x20\x19\x15\"6\x1f#%!#\x20$%#&(&+)\x1e++$*,*0.\"-/,\x1c0Z120463/6B;8-8:7<>;C@4#Cx@B?AFHDFDKH<MH7\x00f\x00IJH\x00i\x01\x00j\x02LNK8P|0R\x95\x07m\x06PROYTC\x0fp\x0bTVS/Z\xa3\x0es\x18,`\xae7]\xad\x15v\x1c[]Zb]K9a\xab\x19y\x1e;b\xac_a^=d\xae@f\xb0*{!bdaBh\xb3efdDi\xb4fheMj\xaf.\x81.Fm\xb1qjROl\xb2Ho\xb3kmj0\x859Jq\xb5Kr\xb7npmMs\xb8;\x86:cr\x8fNu\xba|t]Xv\xb6sur?\x8a>Zx\xb8vxu]{\xbb_}\xbez|y\x84|dX\x80\xbfL\x91K`\x81\xbbb\x80\xc0}\x7f|\x7f\x81~c\x83\xbdN\x95Ue\x85\xbf\x7f\x83\x92W\x95V\x82\x84\x81\x8d\x84fg\x88\xc2m\x87\xbci\x89\xc3j\x8a\xc4[\x9aZ\x87\x89\x86q\x8c\xc1\x8a\x8b\x88\\\x9dc\x96\x8cnt\x8e\xc4v\x90\xc6g\xa0g}\x91\xc2\x8f\x91\x8ey\x93\xc9\x92\x94\x91\x80\x95\xc6z\x97\xc6\x82\x96\xc7s\xa4l\xa1\x96x\x95\x97\x94\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96\x7f\x9d\xcct\xa9v\x86\x9b\xcc\x81\x9e\xce\x9a\x9c\x99\x82\xa0\xcf\xa8\x9d\x7f\x9c\x9e\x9b\x88\xa0\xca\x7f\xabz\x8a\xa2\xcc\x9f\xa1\x9e\x9e\xa3\xa5\xa1\xa3\xa0\x8d\xa6\xd0\x82\xb1\x85\xa3\xa5\xa2\xb3\xa7\x83\x91\xa9\xd4\xa7\xa9\xa6\x8d\xb5\x8a\x94\xac\xd6\x99\xac\xd1\xaa\xac\xa9\xa4\xac\xc0\x9e\xad\xcd\x8d\xb8\x93\x9b\xaf\xd4\xbb\xae\x89\x9d\xb1\xd6\xaf\xb1\xae\x97\xbb\x97\x9f\xb3\xd8\xa1\xb5\xda\xc2\xb5\x90\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xa9\xb9\xd9\xb7\xb9\xb6\xac\xbc\xdc\xba\xbc\xb9\xa6\xc5\xa8\xb1\xbd\xd7\xaf\xbe\xdf\xbd\xbf\xbc\xcc\xbf\x9a\xb1\xc0\xe1\xb8\xc0\xd5\xb1\xc8\xad\xc0\xc2\xbf\xb7\xc2\xdd\xb9\xc5\xe0\xbd\xc5\xda\xb2\xcd\xb7\xc2\xc6\xd6\xbb\xc7\xe2\xd6\xc7\x9d\xc6\xc8\xc5\xbc\xc8\xe3\xbf\xca\xe5\xbd\xd0\xbc\xc6\xcb\xdb\xca\xcc\xc8\xc1\xcc\xe7\xc2\xcd\xe9\xbf\xcf\xe2\xc7\xce\xe4\xca\xcf\xdf\xce\xd0\xcd\xc8\xd3\xc1\xc8\xd0\xe6\xdf\xd1\xa5\xca\xd1\xe7\xcb\xd3\xe9\xca\xd8\xcc\xd3\xd5\xd1\xce\xd6\xeb\xd3\xd7\xe0\xd6\xd8\xd4\xd0\xd8\xed\xe7\xd8\xac\xd5\xdb\xd0\xcb\xdb\xee\xd5\xd9\xe9\xd9\xdb\xd8\xd7\xdb\xeb\xd8\xdc\xec\xd2\xde\xec\xd5\xdf\xda\xd9\xdd\xed\xdc\xdd\xe7\xdd\xdf\xdc\xd7\xe1\xdb\xdb\xdf\xef\xd5\xe1\xef\xf0\xe0\xb3\xdd\xe1\xf1\xe0\xe2\xdf\xde\xe3\xe6\xd9\xe5\xf4\xe0\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe3\xe9\xeb\xe7\xe9\xe6\xe3\xec\xf4\xeb\xed\xea\xe6\xee\xf7\xec\xed\xf7\xe8\xf0\xf9\xef\xf0\xfb\xf0\xf3\xef\xf4\xf2\xf6\xef\xf4\xf7\xf4\xf7\xf3\xf2\xf7\xfa\xf5\xfa\xfd\xf8\xfa\xf7\xfd\xfb\xff\xf7\xfd\xff\xf9\xfe\xff\xfe\xff\xfcA\x10\x8d\xd1\x00\x00\x20\x00IDATx^\xed\x9d\x0ft\x14U\xbe\xe7\x07wqv+\xfd^\xcc&O\x98\xe51\xd3@va\xc8\x86\x82\x89M\"\x98`^\xc0\x13a}\x20\x08\x0e\x88\x99l\x1c=A\x98\xe1\xafg2\xcf3YI\x8eA\xf2@$\x98\xacsL\x00\xb3J\x88\x12\x91\x80\xae\xe6\x80\xe1\xa8\xbc#\x90LD\x87\x93\x991\x83\xd0\xbe\xc9L\xc4RQD\x12\xfb\xd4\xd9{oUu\xdd[\xa9\xbe71\xe9\xaa\xea\xee\xdf\xe7p\x92\xdb\x95[\xb7nU}\xba\xeaVu\x7f\xa9\xef\xa9#@\x01\xe2\x9c\xef\x89\x14\xe0!j\x1c\x88u@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\xb8\xa7G_kMeM\x9b\xfe\xa2\xad\xaejG\x0b\xaf6\xe0\x0a\xee\xe9QW\xd5z\xaa\xa5\xb2\x05\x17{\x1b\xca\x9bO\xb5\x94\xb7\x0b\xe6\x00\x1c\xc75=Z+\xbb\xd0\xcf\xf6\xca\x1e\xf4\xb3\xa1\xb2CQ\xba\xca\x8dC\x09\xe0\x19\\\xd3\xa3\xae\x81\xfc\xaanQ\x94\x8e\xf2V\\\xec\xe1U\x07\\\xc15=j\x1a\xb5_u\x8a\xd2\\\xd9+\xa8\x0c\xb8\x84kz4Uc'\x82U\xbb\xb0\"m5\xe5\xd5MA\xd1,\x80\xe3\xb8\xa6GOU]W\xb0\xa3\xa6|\x87\xa2\xec(\xafn\xedh\xab\xde\x01\xc7\x10\xcf\xe1\x9a\x1e\xca\xf9\xba\xf2\xf2\xf2\xe6\xba\x1a4\x0c!\xe3\xd3\x9e\xaaf\xd1,\x80\xd3\xb8\xa7\x07:\xb3\x9c\xefS\xaa\x9b\x14\xa5\xb1\x86\xbc\xd4\x7f\x01\x1e\xc2==\xc8\xa9\xa4\xbd\x1c]\xd2\xb6T\xf5\xe1rC\x1d\x7f\x06\xc0y\\\xd3\xa3\xad\xbc\x0b\x9dP\xaa\xf1\xf5\xcbyra\xdb\xa3\xdd\"\x03\xbc\x84kz\xb4\x97\xb7t\xb4V\xd7\x91\xcb\x95\x96\xca\x1644\xad\x81\xa1\xa9\xe7pM\x0f\xa5uWU]\xab^n\xaf\xa9\xda\xd5\x02vx\x0f\xf7\xf4\x00b\x00\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x14e\xcd\x1a\xbb\"\xa0\xb8\xa9G8D\xd9[]\xaeQ-\x9a%:\xfc\x9b\x7f\xa3M\x11\xb3\xc7\x8f\xc8\xbc\xfb\xc4\xe0yF\x8f\x12\xb4\x88\xa9gE\xb5\xdc\xc2==\xc2!\xca`yK\x07\xa2\xa5\xbcUq\x85\x92)\xef\xdb\x141=\xbf\xf5?qd\xcf\"\xff\x8b\x83g\x1a5\xce\x1e9\xb2\xc7\x7fDT\xcb-\\\xd3\x83\x0aQ\xb6\xe1\xaf\x8c\x05\xf1\x97\x92\xdd\xe0\xacy\xc48\xcb\x1e<\x14\xe5\x041c\xd1\xadJTy\x0d\xf4\x18\x04\x15\xa2\xd4^\xefr\xe9\xdbb\x91\x0f\x1e\x86\x1eO\xfa\xa3\x9b\xd0\x02=\x06C\x85(1\xe4\x9b\xc9npv\xf2F\x9b\xa2\x8e\xa6G\xc9LE\xf9\x85\xdf\xbf\x17U\xf0\xdf\x8e\x8b\x93\xf7l\xbcu\xea\xdd\x83\x06\x0c{\x17M\xbdu#2\xe9\xc4d\xbf\x7f\xa52\xd3\xef\x9f\xde\xab\xf4\xac\x9c9y\xe6J4z\xe9\xcb\x9c\xfc\xeb\x993_\xdc8}Q\x10\xb7\xf0\xe4\x9a\x99\xd3W\xea-\x98z\x18-x\x06\xd7\xf4\xa0B\x94\x98]\x0d\xdc\xda\xd1c\xcd\xe4\xb36E\x9d\x13\xfe\x17\x82g7\xfa\x9fP\x94\xf7\x8fL~\x0c\xed\xc8\x92)h\xfc\xbaw\xb2?\xf3\xb1'\xa7\xae\xb4T.\xf1o|\xe1\xc9\xcc\xdb\xfb\x94\xbe\xd7\x1e\xf3\xbf\xa6\xfc\xd6\xbf\x17Y\xf1\x82\x7f\xcd\x8b{W\xa2\x97\xca\x8b\xd3\xfd\x1b\xef\xf6g>\x91\xf9$ia\xe6\x13\x8f\xcd\x9c\xaa\x0dz\xc3z\x84[\xf0\x0c\xae\xe9A\x85(\x11\xa7p\xde\xc5\x0d\xceN^cS48\x81/]\xfc%\xa4<\x05\xe9\xa1<6\x85\x14\xa7#\x8fJ2\xd9\xba/\xf8\x7f\xab\xe0]\xbd\x17\xbf(\xb9\xe3\x8f3\x9f\xc0\x85\xe0^|0\xb8\x1d\xab\x94Y\x82\xea\xfc_\xa5\x04/e\xca-h\xcc\xf5\xe7\x99w\x909\x0d=\x98\x16\xbc\x81kzP!JD\xc3.A\xedh\xf1\x0b\xf3\x88\xf1\x8bA\x07\x0f\xa4\xc7\x93\xaf\xbd\xb0h\x0a\x99N\xebQ\x12.\x9a\xac\xbc\xa5\xb7\x0f1\x93\xc8\x14\xbc=S?\xb8\xfcq\xcf\xdd\xb7L\xc7\xe7$%s/\xda\xf5Ae\xe3\xcfp\x0b\xe44\xb6\xc7\xffg\xfc\xcb\xd0\x83i\xc1\x1b\xb8\xa7\x87\x19\xa2DT\xb5\xf0\xabF\x8b\xf7\xa7\xac\xb1)\x86!c\x8f?\xfb\xf7\xe02\xad\x87Y4\xb9\xdd\xaf\xa1i\xb1W\xdf\xe5\xafe\xce\xdc\xb8\xf7\xc8\xddD\x8f\x17\x95\xd7&+\xba\x1e\xb8\x05\xe5\x88\x9f\x9c]\x0c=\xd8\x16<\x81{z\x98!J\xfc?\x03\x9d\xe2W\x8e\x16\x1b\xfdgm\x8aa\xb4\xa1\xe9t\xb2/Ez\x94\xdcr\x82\xf0G\xfc\xe2\xfd\xcc\xc7f\x92\xc2\xedw\xe0\x93\xcbJC\x8f)\x0a{\xf4\x20\xff\xe5\x8d\xa1\x07\xd3\x827pM\x0f*D\x89\x87\x1e\xe7\x05\xd5\xa3\xc3\xfbSJl\x8a&\x9a\x1e\x99\x1bO\xa0q\xc4T\xb4G\xfb\xee\x88\xac\xc7\x8b\xda\x98\xe11<\xe4\xe8\xbd\xe31e\xcd\xddx\x889\x13\x1f\x0a\xfan\x1f\xa4G&\xb2&x\xcb\"2\xa7\xa1\x07\xdd\x02\x1a\x0a=\xe1\x81{\xa9\xae\xe9A\x87(\x91+\xee\\\xcd\x09\x0e\x1e\xf8\xca\x05\xfd\xbc{e\x09\xda\xbd\x8b2\x9fx\xe2\x0e\xff\xe4\xdf\x9e@\x171%\xaf)'J&\x1fa\xef\x92l\xf4\xffl\xef\xde\x12\xb4\x8b\x83G\xd6d\x9eU\xceN\xdfx\xa4Wy\xcc\xbfr\xcf\x13\xb7\xa3\x0b\x96\xd7NL\x7f2\xb8w\xf2\x89\xe0\xcf\xf0\x15\xf1\x14\xff\xed{\xf7\xdc\x8aG\xb8\xe4\xae\xe9\x93G\x8e\x9c\xa5[\xc0\xac\xf4\xc2I\xc65=\x98\x10\xe5)wF\xa6\xefO-\xb1)\x9a\xecE\x03\x01\xf4V>qk&\xb2\xe4\xec\xa2)S\xef\xfe\xb5\xdf\xbff\x0d\x9a:\xf9\xc4T\xf4\xd32Xy\xf1\xee\xcc\xe9\x8b^\xc0G\x01\xbf\x7f#\xda\xd7~t\xec\xe9{\xf2\xd6)\x99+\xf7\xdc:yQ\xa6\xdf\xbfw\xaa\x7f\xea^2\xb6\x98\xb2\xb1d\xfa\xcc\x12\xacW\x09=\xe00Z\xc0\xec\xc9\xdc\xa3\xb8\x8e{zx\x80_\xfb\xff\xcd\xa6\xe8\x04\xda\xd0\xd4\xfb$\xb4\x1e\xee}\x92\x0fz\x00\x1c@\x0f\x20\"\xda\xe06\x16\x00=\\\x80\x0cn=p\xd9*\x06\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x18\x16/\xad\xfaPQ\xceOK\x98\x87\x03\xb8\xa7\x07\xf5$\xca\x9e\xa6]\x95\xbb\x9a\xbc\xf7\xb0\xb0Wg\xc8\x1a\x81w\xb4\x09\xb5r\xed\xa7\xe8\xd7\xe6\xa4u\xdc\xf9\xe2\x07\xf7\xf40\x9fDy\xbe\xba\xa6\xad\xa3mW\xb5;\xdf\x18\xe3\xf0\xf1\xab\xf9\x0f\xbd\x8a8\x20\xbfB^?#\x1f\xd0\xfeP\x97\xf4\x08g\xb68\xc25=\xa8\x10e#y\x0eT\xef\x0e\x97R\x94<\x0a\x7f\x85\x7f\xfeN\xd3\xe3wY\xbf\xe9\xeb\xeb\xeb\xc5\xdf\x11|\xc0\xe7R\xf0\xc2a\\\xd3\x83\x0aQ6h\xa7\xf2\x1a\xb7\x92P\x1c4=>}\xe6c\xf4\xb3\xfd\x1f\xfe\xd3?\xce\x9a4q\xe2\x0adt\xcf\xb8;\x05s\xc6\x07\xae\xe9A\x85(\xcfW7v\xf5v5V;\x1f\xa3\xfc\xf4\xc0\xaa\xec\xc5\xbf\xc1\xfb^\xf9x\xd3\xbc\xf9\xbf\xf9\xcd\xbc\xec\xe7\x99\x0a\x9a\x1e\x84^\xdf\x7f\xce\xc8\x18\x93\x9c\x91>\xe6\x81\x20:|$\xbb\xf3\xedX\x87qM\x0f:D\x19l(//opa{o\x92\x7f\xf3\xca3\xf9\xf7\xa0\xe1\xe6\xa7\x8b\xf3\x9f\xa9\x0dd?\xf3\xd03L\x85\xc2M\x1f\x7f\xfc\xcc*R\x0c\xfe\x87u\xaa\xdavU\x1d\xb8a6\xf2\xb8IJ\x88'\xdf\xb9\xa6\x07\x15\xa2\xecm\xd8\x81\x86\xa6;\x1a\x1c\x8f\xe8\xbfD\x86\x9ao\xca\xe8\x88\xf1\xbc\xfc\x0e\x1ez\xbec\xa9Q\x88\xaf[\xf2I1\xf8\x0fc\xc6\x8cQ\xf2\xc6\x8c\xb9a\x1d\x1aCwH\xee|{\xdaa\\\xd3\x83\x0aQ6\xed\xc0\x07\x0e\x17\x86\xa6\x9b\x0a?\xfd\x1bb\xfe&E\xd96W\xc1C\xd0\x97,5\x0a\x1fz\xf3\xcdM\x9a\x1e\xca\xff\xf9/\xff\x88\xf4\x18;g]{/\xd6c\x87\xb5\xb5x\xc4==\xcc\x10e\xa5\x96gh\xad\x14\xd4\x1fu\x96\xea\xb75\x1eB\x07\x8e\x19h\x04\xf2\xca\xe0\xa3\x07\x1a{\xbc\xa3\x9fo\xfe\xdf\xff\xf8_H\x8f\xa4\xd6.|\x94k\x96\x1c\x97\xd9\x0d\xdc\xd3\xc3\x0cQ\xba\xa6\xc7\xa6\xc27\x09\x1f\xe3\x03\xc7C\xbf{g\xf1\xaaO-5\xa8\xa1\xa9\xf2q\xe0\x7fb=\xdaI\xc7\xd7\xf9\xbcw\x17/\x0a\xb8\xa6\x07\x15\xa2l\x20'\x97\xe0\x0e\xc7/l_\x91\xc9u\xca\xb6Z<\x00)\x90\xe5\xa2\x0f\xf5?\x9cZ\xd7\xae\x15h=\x94\xf5\xff-\xacG\xdf\xc4YJ\"\xe0\x9a\x1eT\x882\xb8\x83\x0cMw8\x7f\xe9\xb2m\xc6\xa6\xe7_\xda\x84%y3\xf0\xca+\xaf~h\x1c<fKd\xef\x93\xbb\xa6\x1f\x87k\xff\xee\xbf\x86\xf5\xd8,\xb5\x0cn-\x0eqM\x0f:D\xd9\xdb\xbc\xab\xaa\xa6\xd9\xf1\x0b\x17\xc4+E\xf3\xe6\x16\xe1[\xa2\xaff\xe1AHV\x916\xf8\xa8J+\xc7\xbf\xc8g.\xd4\x8d\x90\xf0\xc9\xa5)y\x85]k\xf1\x87{zx\x8a\x0f\xb3\x7f\xf5\xe1\xdf\xfe\xf6\xf1\x9bks\xcd\x83\xc5`\xfeU\xd7c\x87\xefN7\\v\x01\xd0\x83\xf0\xd2\\\xed\xbc\xf2\xe9\xbcW8\xb5vhz\x9c\x1f\x97(\x1f\xd8\x82\x1e\x1ao\xea\x97\xb4\xef\x0c\xba\xb4\xd5!\x17\xc0x\xec\xf1\x1f\xff{\x82\x1c8\x08\xa0\x07\xe1\xd3M\xd9\xbfz\xfe\xd5\xe7\x7f\x95]f\xbd\xb4\xd5\x01=\x86\x8f\xa8\xf1\x18\xe2\xd3\x97\x1e\xca\xcf\xca\x7f\xe8\xa5\x08vh\xec0\xef{$\x08\xa0\xc70\x00=\x86\x85\xa8\xf1x\x03\xf4\x18\x16\xa2\xc6\xe3\x8b\xdeGoCz\xdc\xb8\xba)\x81\xfc\x00=\x86\xcc4\xe3\x03}\xb7\x1e\x0e\xe0\x02\xa0\xc7P\x09\x8e]\xa7\xaaWUu`\xec\x1c\xcf}g:j\x80\x1eC%(I\x19\x19c\xd32\xd2\xc7\xdc\xe9\xfc\xb7\x1e\xdd\x02\xf4\x18*\xbdM\xe3RS'\xa4\xa6\xa6f\xb48\xff\xd9\xa1[\x80\x1eC\xa6\xb7\xa3\xbd\xbd\xfd\x14\xfa\x97\x10\xdf\xf4\xd0\x00=\x86\x01\xce\xb8h9\x97D\xc1==\xa8\x10%U\x04<\x85{z\x98!J\xba\xe8\x09\x1a[D5\x12\x05\xd7\xf4\xa0B\x94T\xd1\x1b\xa4\xe7\x89j\xe8\x8c\x19}D\x8bt\x16\xd7\xf4\xa0B\x94\xd6\x87R\xbaN\xfam\xa2\x1a:c.\x8e6\xa0\x87\x06\x15\xa2\xb4<\x94\xd21Z\x93$\xe9\x81\xf6\x05\xe3\x93g\xe1\xdb\xa0\xd5\xd3\x92'\xe0\xf8l\x9d\xa4\x91\xae(K\xa4\xa4j\xe5\x94O\x9a\xc8\xd4ES\xcb\x97MH\x9e\xd5\x01z\xf0\x115\xce\x83\x0aQZ\x1eJ\xe9\x18\xc1\x1d\xd5\xe3'\xa4\x8c[\x96'\x9dR\x94;\x93\x96\xd5=\x92\x96\xde\xa7\xf445N\xc8hllDC\xe5\x8e\xc6\xa4\x87\x15\xa5y\x81\x8f\xa9\xdbV\x9d$\xa5=\xbc9e\x0e\xe8\xc1G\xd48\x0f*D\xc9>\x94\xd2Q\xd2\xa5\x0c\x9c\xb7\xc7\xc7\x8c*\x05\x87\x9bH\x1f\xcc\x93\x8b\x0f\xe9\xa1<\xecc\xeb*\xbeTt\xe4X\x90\x06z\xf0\x115\xce\x85z\x12%\xf3PJGI\xf7\xe9\x0f\xb1\xcb\x1b\xdf\x8b\xd1\xfe_\x86\x08z\x18u\x15\xdf\x02}\xea\xf0\xf5\x18C\xfeq\xfe\xaex\x0a\xf7\xf4`\x9eDI\x15\x1d%=]/L\xd2G\x1cs\xc8T{=\x8c\xba\xe6T\xbc\xa7\x9f\xbaI\xdb\xdf\xda\x85\xc7X\xaa`\xbb\xfbA\x8f\xa1A=\x89\x92~(\xa5\xb3\x84E\xc8\x1b\xdfB\xe8\x0aO\xad\xc4\xc7\x0a\"\xc2\x03>\xb6.\xab\xc7\xcdOQ\xfb\xfb'\xf7Z\x0b\x16@\x8f\xa1A\x85(\x99\x87R:Kx\x977h\xa3\x8e\xfbID!#CQ\xba\xc8\x84\xe4\xd5\x8a\xd2\x97\xce\xd5\x83\xde\xdf/\xdfx\xceR\xb8\xf8\xf8Mcn\xfc%\x9a\xf0\xa3\xb17\xfc\xe8\xdd\xb0\x1e\x8f\xff\xfd\x98\xef\xff\xf3E\xaa\x80\xfe>\xe6\xa6\x7f\x01=\x0c\xa8\x10%\xf3PJ\x07\xe9m&\xd7(\xda\x88b\xb5\x94\xb7\xab\xe6N\xa9\x1a\x97\x1f\xf6m\xae\xc9H\xc6\x07\xb3ii\xeb\xd6M\x93\x92\xaa\xda\xa8\xba\xe8zfA\xb3\xd2\xb2\x20\xa9\xb1\xc3\xaa\xc7\x8f\xef\xb5\x16\x1e\x1f\xfb\xf8\xb9\x97\x7f|\xf1\xe2\xdf=u\xee\xdd\x9f\xfc\xd8\xd0\xe3\xd9\xbf{\xf6\xdc\xcb?\xf8g\xaap\xd3\xbd\xef\x9e{\xf6\x87\xa0G\x18*DI?\x94\xd2A\xf0\xbd\x0c\x84\x1e\xa6n\xc8HM\xcd\xd0n\xbd\x04\x97\xa5&g\x90\xff\xfd\xa7=#9e\xd6\xfd\x92\xb4\x84\xaa\xbb\x04\xfdNjKF?\x97X\xf4\xb09x\xe0#\x82\xc1\xbb7\x1az\xdc\xfc\x1cz\xf9\xc6\xf7\xa9\xc2\x0dohu@\x8f8\xc2\xa2\xc7\x8f~n-\\\x1c\xf3\xae\xf6\xfb\x8d\x1f\x8eE\xe3UC\x8f\xb1\xda\xf0\x95*\xfc\xd3\xd8\x9f\xfc\xf2\x0d\xd0#\xbe`\xf5x\xce8f\x84\x0bh\xff\xebz\xdc\xfcOo\\<\x17\xd6c\xcc\x1b\x86=F\xe1\xe2s\xf7\xfe\xe8\x86{A\x8f\xb8\x82\xd5\xe3\x07\xbf\xb4\x16\x90\x16\xfa\xc9\xe5\x06$\xcc\xb3a=n6\x8e.\xe1\x02\xe6\xe5\x1b@\x8f\xb8\x82\xd1\xe3\xd9\xef_\xb4\x14\x10O\xdd\xa8\x0dMo\xba\xf7\xdcs\xdf\x0f\xeb\xf1\xd4\xd8_\xbe{\xee\xa9\x1fP\x85\x1f<~\xee\xdc\xcfo\x02=\xe2\x0a,\x86>x@G\x02\xe3\x98q\xb3y\xf0\xb8x\xf1_\xfe\x9e\\\xd8>\x87\xaeo\x7f\x1e\xd6\xe3\xe2S7\xdf0\xe6\xe6\xa7\xa8\xc2\xe37\x8f\x19\xfb\xc3\x97A\x8f\xb8\"<(\x1d5@\x8f8\x02\xf4\xe0!j<\xee\x01=x\x88\x1a\x8f{@\x0f\x1e\xa2\xc6\xe3\x1e\xd0\x83\x87\xa8\xf1\xb8g\xcc\xe8#Z\xa4\xb3\x80\x1e\x00\x87\x98\xd0#OJ]\x00))7\x88\x09=:\x1a\xab&\xa6z&\x05\x93H8\xafG\xa3q\x1c\xe8\xa8\xa9j\xe8\x18T\x8c@\xa3\xe4\xc2'\xfe\x80\xe3zt\x95\xb7h\x85\x8e\xca\xc6\xf6\xc6\xca\x0eK1\x12\xcd\x89\xf1\xf4%\xaf\xe1\xb4\x1e\x1d;t=\xfa\xc87\x8f\x9b\xaa\xfb\x98bD@\x0fWpX\x8f\xc6\xf2F=j\xddVI\x1e\xc6P\xd9\xc6\x14#\x02z\xb8\x82\xc3z\x04\x83F\x94\xb6A\xfb\xde^]#S\x8cH\xab\xe4\xc67\x95\x13\x1e\x87\xf5P\xc2I\xeb\x1a-\xd5\xd2T\xc3\x14#\xd2\x9b:\xad\xa9#\x91\xfe\xe3\x15o\xe0\x9a\x1e\xfa\xaf\x96j\xa6\x18\x19\x9c\x8c\x9e\xcd\xab\x00D\x01\xd7\xf4\xd0c\xf9\x8d5L1\"=i\xe3\x1fi8\xa5\x00\xce\xe2\x9a\x1e\xfa\x80\x03?\x19\x9d*F\xa4Yr\xfcIs\x80\x8bz\xb4\x95\xe3\xdb\xa0=\xe5mL1\"p\xe5\xe2\x0a\xae\xe9\xd1GB\x93\x8d\xda}\x8fp1\"\xa0\x87+8\xacG\xb0\xa3\xa3\xaa\xb1\x83\xe4\x9c\xe1\xaei\x0c\xe0\xb0\x1e-\xe5\x04\xf2\xf1ZGCe\x8d\xf1\x99\x8bY\xb4\xa3\xb7\xa3%\xcf\xe7B~\x1fpX\x8f\xef\xc6\x1cI\x1a\xef\xc2\xff\x0d\x03\xc4\x86\x1e\x1d\xadp\xe8p\x87\x98\xd0\x03p\x0b\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x83\xf3z\xd8\x85(\xa9\xa9\x80\x97p\\\x0f\xbb\x10%5\x15\xf0\x14N\xeba\x17\xa2\xa4\xa6\x02\xde\xc2a=lC\x94\xd4T\xc0[8\xac\x87m\x88\x92\x9a\x0ax\x0b\x87\xf5P\xecB\x94\xd4T\xc0[\xb8\xa6\x87%9\x09zx\x12\xd7\xf4\xb0$'A\x0fO\xe2\x9a\x1e\x96\xe4$\xe8\xe1I\\\xd3\xc3\x92\x9c\x04=<\x89kzX\x92\x93\xa0\x87'qX\x0f\xfb\x10%5\x15\xf0\x14\x0e\xeba\x1f\xa2\xa4\xa7\x02^\xc2a=\x80\xd8\x02\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\xc3\xf7\xee\x07\x80\x88\x8c\xe8\xe8\x01\xc4;\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0eC\xd1#\xb8.=%)\xed\xb6\xa6\xc1\x7fyT\xbaS\xff1\x02\x066\x8f\xf7\x8dk\x08\xbf\x0c\x0e\xa0\x1f\xd5\xd2mf\x85]\xd2\x9c\xc1sQ<\"-\xe3\xfe]@\xc4\xe6-\x1d\x13@\xfa-\xea\xaa\x80Q\xd9\x9e\xa3\xc9\x10\xf4\xa8J\x924f]\xb5\xfeiTVg3n\xbb\xc5x\xf5h2^\x8a'\xf4`;&@\xeb\xb7\xa8\xab\x02Fe{\x8e&b=VH\xd2\x9cV\xe5\x9b\xae\x07|R\xc6\x80\xe5o\xa3\xb2:\x93\xa4\x15\xdf\x0c\x18-\x0fH\xd2\x20=:\x1em\xb4\x9b/\xcc\x08\xf5\x88\xd8<\xd31\x01z\xbfE]\x150*\xdbs4\x11\xea\xd1(I;\xb4R\xab$UY\xfe8*\xab3Nj7_\xd8\xe9!b\x84zD\x84\xe9\x98\x00\xbd\xdf#dT\xb6\xe7h\"\xd2c\x20\xcd\xdc\xf6\xcb\xa4\xf1\x96\xbf\x8e\xca\xea\xa4I\x1d\xe6\x0b/\xe9\xc1tL@\x82\xea\xd1,IA\xa3|\xfeQ\xf2nj\xce\x1b\xe7K\x9e\xf8\x80\xa2\xb2\xab\x13\\1\xde\x97:\xa7U\xabJ\xbf\xe8Y2>)eZ\x15s\x94\xeeZ2.)u\x0e>\xafO#\xc3\x1ac\xff\xae&\xaf:\xb0\x1e\xca\x8aq\xbe\xf1\x0f\x98't\xbbf\xdaf\xa7\xa6\xccj\xc7zTK\x13\xb5I\x9b\xc9\x8bG>'s\x7fN&Q\x1d\xae\x96\x1e\xed]\x92\xe6\x9b\x84\x06\x9c\xd5\x13}i+\xa8\xf1B\xcfj\xdc\xe5\xb6p\xdbF\xc7\x8c\xbd\xf5\x88\xb4D\xb5\xb6\x1c\x9e\xc7\xe8\xb7\xde\x96\xb9z\xd69t\xe8\x85\xd9o\xcf\x89\xd2j\xd5}Dz<\x20M\xb0LY&I\xe3&\xa5\xa1\x1f\x9f3\xab\xd3\x9a,\xf9&\x8d\x97\xa4u\xaa\xe5EW\x8a\x94\x9a>\x01\x0dl\xa96\xea\x92\xa4\x94t\xd4\x06\xda\x02\xeb\xf2|\xd2\xac\xbc]\xfa\x1fj\xf2$\xe9\xb6\xbc\x20\xda\xa8h\x11i\xa9\x924q@\xdf\x7fv\xcd\x94KR\xda$_R\x06\xda\x89\x9f'I]d\xda\x04\xa9\x0d\xcd\xbdb\x9c\x94\x82\xe7\xfe\xc6\xd2\xe1jiY\xaa\x94\xe6\x93\xa4\x86%\x92\x0fM\xcbP\x0d=\x9a\x92\xb5.\x85\xaf\xcf\x8c\x8eY\xf4\xa0[6\xe71\xfa\xad\xb5E\xad\x9ee\x0e\x1dza\x11\xb6gl\xe81[Z\xc0Nh\x96\x92\xf1A\xa1-Ez\x94^\x9d`\x8a\xb4\x1a\xad\x7f[\xaa\xd4`y1Gz\x00\xed\xe2S)\xe6\x86WO%I\xeb\xd0\xb4\x06\x9fT\xadF:\xb9H\xe3\xd1\xa1\xaa9I\xaa\xd1\xf7\x9f]3\x92\x84\xb4\xfa|\x169\xf8\xdc\xa6\x89y\x0a\x9f\x00\xd1\xdc\x13\xd0;\xb3\xc9\x87\xff\xcet\x18\xfdeb\x97:\x90'\xf9|u\x03j\x83$\x9d\xd2\x9b\xefM\xc1\xed\x0fl\x96|\xe6\xbb\\\xeb\x98E\x0f\xaaez\x1e\xbd\xdf\xa4-f\xf5\x989t\xe8\x19#lO\xb5\xae\xdc<\x90\xb9\x87H\x8fiV\x89WK\x0f\xeb\xbf\x97\xd1\xab\xb3Z\x9aM&\xd7\xe1\xa3\x0d\xf3b\xbc\xb6\xf7+\xf3\x9a\xc3m\xdc\xa6o\xf1]R\xea@D=\xc8\xc1`\x09^\x0a\xd9\xe66\xcd,\xd0\xfav\x95\x0c\x8f\x9a\xb4\x81\xd1\xfd\xd8\x124\xf7ym\xee%\x96\x0e\xeb\xedvI\xd2f<m\x1a\xdeg\xa4\xf9\x87\xf5\xc3R\x06\xb5\x17\xed\xf50[\xa6\xe7\xa1\xf5`V\x8f\x99C\x87\x9e1\xc2\xf6\xf4\x08\"=fI+,S\xf4K\xbd\xcd\xe15!?\xc6I\xda\x15\xdd7IR\x0f\xfbb\x964\xad\x8d\xbd:\x1cH\xd6/\x09\x06R\xd0\x99\x20\x82\x1e\xdaP\xa2\x12\x0fQ\xc96\x1f\xdc\x8c\x9a\x82\xdf\xfb\xaa\xbeeQ[\xedd$}\x9e\x9e;Oe;\\\xad\x9d+\xbf\x91\xb4e\xe6I\x95z\xf3\x13%\xed\xfeWo\xaf\xd9\xbe\xad\x1eT\xcb\xf4<\x94\x1e\xec\xea\xb1}\xd1`\x16f\xbf==\x82H\x8f;\xa9\xb5\xd2\x19h\xdb\xb5.\x0f\x0d,\x16P\xabsU\x92&M#$I-\xcc\x0b\xb5\x0d\x9d\xe9S\xf2j\xa8\x91YP\x92\xf4\xf3p\x06>w\xd8\xeb\xa1\x1d\x7fj\xf0o\xb2\xff\x067\xf3\xb9\xd1L\x0d\x19\xd9\xae\xc0\xc7\x92\x16)\x9d\x9a[\x1f(R\x1d\xae\xd6\xde\xb7h)x$\x88\x8e?\xe5z-\x9f>t\xa1\xb1\xd5\x83j\x99\x9e\x87\xd2\x83]=K_\x08\xec\xc2\xec\xb6\xa7W\x10\xe9\xb1\x99\x1e\x9a\xb6\xe2-P\x99\x86\x07\xe9\x93\xa61\xab\xa3H&\x0d\xcc\x0bt$_\x90\x8c\x0aI\xcb\xc2C\xb3\x0e)I/\xcd\xc6wRx\x17\xb6\xa6\x1e\x83\x9b\xe9\x91$\xad\xd0H\xf4h\x97\xd2\x06\x90\xcd\xd5\xd4\xdc\xda\x8ct\x87\xf5\xbf\x0c\xd2\x03\x1dN\xa8\xc3\x86\x8e\xad\x1ef\xcb\xcc<\x94\x1e\xec\xea\xb1}!\xb0\x0b\xb3\xdd\x9e^A\xa4G\x07\xb5*=RR;\xbe\xd3\xbc\xa4\xee\xd4U\xf4\xdbr\xf48\x1f\x9e\x87y\x81\x19h[7I2W\xba'\xfc\xf6\x9a\x16\xf9\xe81H\x8fA\xcd|n\xdcj\xa8\xd3\xae\x8b'H\xad\x03\xc9I\x9f\xab\x16=\x98\x0eG\xd2C\x95\x84G\x8fuV=\x98y(=\xd8\xd5\xb3\xd1\x83\x99\xd1~{z\x05\x91\x1ehH\x18\xbe\xe7\xb4\x1a\x0d\xb5\xd0\xf9T\x1b\xbb\xad`W'M?\x9d\xaam=\x03\xec\x8b\xa06\x02\xaf\x96\x92\x8c\xa1\xc3\x80o\x08c\x0f\xab\x1e\x83\x9bQS\xf5f\xd6i]\xdc,\xadn\xd1\xf6\x01\xbdK\xd8\x0eG\xd4c\x82>\\j\x98Ui4\xafw\xac\\?\xbd.\x19\xa4\x07=\x0f\xa5\x07\xbbzvzP3F\xda\x9e\x1eA\xa8G\x8d$\xd5i\xa5&\x09]{)\xba\xf9W\xc7\xe1\xadf\xae\xce\x12)\x9d\xec\xb6f|\xb1F\xbfP\xf4=\xd1E\xedWch_#\xa5|3D=\xec\x9a\xd1/\x06\x06t\x83\x83\xd2\xf8\xd5\x9a\x97\xf4.a;\x1cQ\x8f\xd5\xfa\xde\x9b\xad]\xd2\x10\xb4\x8e\xd5i\xa7Wt}d\xd5\x83\x9e\x87\xd2\x83]=;=\xa8\x19#mO\x8f\x20\xd4C\x9d\x83\x06MmW\x07\xba\xee\x97\xf0Gr\xc8v|5\xd97K\xc2;\xce\\\x9d.\x9f\xb4\x0cm\x9f\xf6T|\xa5\xc3\xbc\x98%\xcdB\xbb\xe2j\x1euC\xebT\x92\xb4\x19\xed\xe4\xc6d|\xe1`\xb9w\x9d$5|3`s\xf4\xb0i\xa6\xc7'=:\x80'\xe9\x07\xb8\x0c)9\x85\x1c\xd6-G\x0f\xaa\xc3\x11\xf5\xe8I\xc6]\x1axDJV\xc2\xedk\x1dC\xe7\x0a\xf4\x97\x9e\x0ci\x90\x1e\xcc<Z\xbf\xc9tf\xf5\xec\xf4\xa0f\x8c\xb4=c\xe4\xbe\x07\x1aH-0\x86\x99\xb3\xc9\xc8T\x92\xc6\xcfNOJyX\x9a\xc4\xacN\xa3O\xf2\xe1\xbb\x9a\xe4S]\xfaE0U\xf2M\x9c\x94,\xa5\xf5\x98m\x92\xdb\x8a\xe3$\xed\xa2\x99\xd5#]\xc2\x1f\xa2\xdb\x9c\\l\x9aiH\x92\xd2\xd2\x93\xa5\xdbt=j\x0cO\x98]\xc2t8\xa2\x1e\xf8\xbeUJz\xaa\x94D}\xabE\xef\xd8\x12t\xc94NJ\xde<H\x0ff\x1e\xad\xdf\xdatz\xf5\xec\xf4\xa0g\x8c\xb4=c\xe3\xae)\xa6m\xc9\x04_\xd28\xe3~TsF\x9ao\xe2\xc3\x9f_\xf5\xa11+}0\xecY6\xde\x97\x9c^\xa9\x1d\xfa\xe9\x17\xc1\x15\x13|x\x0e\xba\xc9\x8e;\xc7\xf9\xd2n\xd3\xbeK\xc1\xea\xd1\x95\xe1K\xa9\xb3\xd1\xc3\xbe\x99\xbc\xb4\xe4i\xcd\x0d\xba\x15\xa8K\xda;\x8e\xdd%t\x87#\xebA>'I[@wE\xef\xd8@\xf5$_j\xde\xf9\xd6\xc1z\xd0\xf3h\xfd\xd6\xa7S\xabg\xab\x07=c\x84\xed\x19;z\xc4\x0a\xc1A\x9f(\x03#$\x9e\xf4\xd8L\x0d+\x81Q!n\xf48\xdf\xdb\xe0\xf3\x99\xc3J`T\x88\x1b=\xf0\x00\x1a\x0e\x1e\xa3M\xdc\xe8Q\x99\x9c\x06v\x8c:q\xa3\x07\x10\x0d@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\xdc\xd0\xa3\xa2BT\x03\xf0\x08#\xd5c\x9b,\x1f\xa3^\x9e\xce?\x19\xb1\xaa\xc1_\xe5\xdd\xa2*\xa3\xc1\xdb3d\x8d\xfc\x90\xa8*C\x05\x9a%\xfb\xb2\xa8V\x820R=\xaetf\xd5S/O\xe6\x1c\x8fX\xd5\xa0,p\x05\xff:\xf3'QE\x13a]\x9b\x0a\xfd\xefeUt\"v\xcb_\xd9\xcc\x10\x99+\x9d\x9d\x07\xe5\xdf\x8bj%\x08#\xd5CU\x03\xb4\x1e\xaa\xf8\x9dzy\xc6N\xf2\xbb\xa8LP\x91BX\xd7\xb6\x82\xd6\xb3\xa3\xf25\x9b\xbfq\xe9\x06=tF[\x0f1[\x03_\x92\xdf\xf7\x89v9\x85\xb0\xaem\x05\xadg\x97w\x8a\x95\xb5\x00z\x18\x88\xf4\xb8^V\x98U\xb8\xe1\x02*]\xc8\x92\xe5\xda\xcbe\x0b\xb3\xd7~\x8b^]\xdeR\x90\x95\xbf\x1e\x9f%\x02\xbbw.\xcd^\x8bK\xd7\xb2e}$\xf2:*\xd4\xab\xf5\xe8\xe7\xeb\xe8\x80r\xb48g\xe9\xce~\xbd\xc1\xcf\xb2\xb6\xa3\x9f'\xf5q\xc1*\xce\"\x0c\xe8\xbatc\x9dk\x0b\xb3\x0a\xd6/\x0c\xb1\x15(\xc2\xe2\xfe\x05\xb5\xbb!T(\xcb\xb9!si\xdf\x16d=]Xxf{n\xe9u4\x82\xca:XQ\x98\xbbA\x1fr\x84\xf5`\xbb\x9e\x80\x88\xf48)W\x9cy}\x83\xdc\x8d\xce\xe5\xaf\x1f[\xb88\xa7pg\xd9\x8c/\xd0\xb9>g\xd5\xfe\xd3\xf5\xf2\x01T#\x20/=v\xbc`\x0b\xae\xdc\xdd\xd9\xa9\xed\x92\xeb\x9dsk\xbfR\xbf\xaa\xcd\xed\xbc\x8e\xc7z\xdb\xdf:\x98\x7f\x9f\xfe\x1e\xae\xc8\xc2&\xf5\xbf\xd7\xb9\xf8A40\xf8k\xe4E\x84\xa1\xebR\x8d\xfda\xc6\xd6\xe3\xa7\x0f\x15\xc8\xdf\xb2\x15(\x02\xb5\xfd\xfde\xf8L\x16\xfa\xa0^\xfe@=:\xe3\xe8G\xf4\xd2\xce\xcc\x95w\x96\xca\xf3\xf6\x15\x1cP\xffr,K^\xb8\xaf~a\xf6%2cX\x0f\xb6\xeb\x09\x88H\x8f\xfech\x07\x87\x96o\x20/\xee\x93\xd1;-\x84&\xf4\x17\xaeE\x9b,\xf4:>\xab\x07\xf2\xbfF\xdb1_\xaf\x9f\xad\xbfc+\xf0\xd1\xbel\xab\x8a\xf7\xc7Q\x15oq\xed\x02\xe7\xb3\xacmz\xcd\xf0\xf9\xc0~\x11\x0c\xe1\xbaTc\x07\xf3\xf1!\xe6`n\x88\xa9@\x13\xc0\x87\x94\xf5\xa4\x18\xdaZt\xadp\x1f.QK\x9b_\xa6\xbe%\x9fT\xb7\xe2\xeb\xec\xc0B4\xf9Za\x11\xa9m\xe8\xc1v=\x11\x11\xe9\xa1^;\xb8\xf6\xae\xb9\xf2rR\xbe/\xa0\xbf\xab\xdf\x96?\x0aW\x08\xe0\xad[\x1f\xd0_\x19z\x9c\xc9\xeeW\xfb\xb3;Q\xa9\xec\xae\xd0\xb7\x88B\xedf\xc7\xb6\xac\xcf\xf4\x9a\xe6\x1e\xb5]\x04C\xb8.\xd5\xd8\x17\x85\x0b\xb7\x1f\xfa(\x14b+\xd0\x04*\xba\xbbu\xeb\xd4\xfe\x9f\x16\xac\xd7\xaa\x9aK\x9b\x7f\x0c\xed\xfa~u7\x9e7@.\xb6\x0fj\xc3XC\x0f\xb6\xeb\x89\x88H\x8f\xee\xfc\xc2\xdd\xc7;K\xf5}W\xa4O=\x20\x9b\xe7cr:\x19\xa4\xc7\xb7\x05\xc7\xd5\xe3\x05x\x87,\xd7G\x06d?]\x09l5\xe6\x0b\xefQ\xfbE0\x84\xeb\xd2\x8d];T\xb6T.\xd8\xcf9z\xa0\xbe\xbc}Z\x7fq\\~\x8f\xfc\xa6\x966\xff\xb4\xda\x9d\xa5\xeaz\x90~w\xca\xe4\x02\xd9\xd0\x83\xe9zB\"\xd2ci\x11\x16a\x8b\xbe\xef\xb6\xe8SO\xcb\xe6}\x06{=\xd4\xed\x1b\xd4-x\x10\x8a\xde\x82\x7f\"\x90\xf7\xe5N\xd98xh{\xf4\xf0\x17\x91\x16\xc1\x10\xaeK5\xd6\xbd\x1b\x89q\xedX\xf6A\xa6\x02\x8d>4\xbd\x80\x97|e~\xed\xc2\xaf\xf1+jiX\x8f\x80\xa1\x07\xb9\xda>$\x93\xd3\x9ay\xf4\xa0\xba\x9e\x90\x88\xf4(\xc4\xbb+\xf4S}\xdf\x19\xef\xd1\xeb\xf3K\xf1\x9bv;\xde\xa6\x11\xf4\xf8\x20\xf0e\xe0\x03\\8\xad\x9d\xbak\xf1\x99\xffK\xf3\xe0\xa1\x96\x96\xa2\x9d\x86\xfff\xbf\x08\x86p]\xaa\xb1z\x99\x1c\x18J+\x98\x0a\x88\xcf\xf6\xe9\x0a\xeaz\xccG\xe7\x8dPQ\xadZA\xfaL-\x8d\xd1\xa3\x00\x0f\xa9\xee*%s\x18z\xd0]OLDz\xd4\xcbe\x07\xf7\xdd\x87\x8e\xe1\xdd\xdf~@\xae\x0f\xb4M\x7f&p\xcf\xa1\xb7\xb7\xcb\x87\xd5/;\xb3*\xbaC\x1fUdu~\xa9\x86~\x8f\xae\\*:;\xc9;0T\xb8\xb6P;\xd9\xef\x9eQv\xfcx\x05\x19\xe5\xed\x9ca\xde\xad\xae\x0f\x1c8^\x9a\xf3E\xc4E0\xbd0\xeaR\x8d\xd5\xcb9\xb5'Q\xf1\x0c[AU7h\xc3Q\xe3\xaei\xe7\xdc\x9d\xfd\xefm\xcb\xbf\xa2~6w\xfb{!ji\x7f\xc9=\xd0\x7f,\xebB\x7fY\xe9\x15<\x8c]u\xec\xf0\xe2\xdcO\xd0\x98\x06\xdf5=\xd0\xd9\xc9.-A\x11\xe9\x11:\xb08\x90_vxqV\xe9\x05\xed<\xac]\x09\xa8\x9f\x94\x15\xe6\x14\x1d'\x9f\xb9\xc8Y\xff\x9e\x83~nS\xff\xa0\x9f\xaa\x0f\x91\x1a\x07\x02\x07\xf46N\x97\xce\xcb-~[\xc57F\xa8cCh{n\xf6\x83\xdd\x9cEP\x84\xebR\x8d\x1d}\xb0\xbe0k~\xe9\x19k\x05\xf5p>\xe9\xc0\xdb\xb2\xc1\x81\xd3\xe8\xc7Nu\xbb,\xcf8c.\xad\xb8@\x96\x8f\xe5\xc89\xc7\xc8\xd8\"\xb0\xb3bna\x19\xbea\xb7U\x9f\xab\x8cYZ\x82\"\xd2cTyZ\xb6\xde\x9a\xf0\x0c\xc3\xbd\xf7\x9b\x208\xaa\xc7\xd6a\\!\xf6\x7f\xa6\xe1\xd0-K\xd0\xc3\x16G\xf5\x18\x0e\x0f\xea\xc7\xf8\x07E\x15G\x07\xd0\xc3\x16\xcf\xea\xf1\xc9I\x8dOD\x15G\x83+d\x80-\xaa\x95\x80xV\x0fG!\x03\xec\xc1\x17L\x00\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01ppC\x0f\xc8\xd8\xc6\x0c#\xd5ct2\xb6C\x99m\xb8\x8cj\xc6\x16M\xc4\xdf^9\x20\xcbV\xb5\xa3\xd1u\xef0R=\xbe{\xc6\x96F4\x9b\xeb\x19\xdb/r\xf6\xe3/\x9c^\xdb\x9fc\xfd\"\xbd\xd9ua'c\x90\x91\xea\xf1\xdd3\xb6\x0c\x82\xd9\xdc\xcf\xd8.?L~\x1d^>\xa8r\xb8\xeb\xc2N\xc6\x20\xa3\xad\x87\x18#c;\x1c\xdc\xcf\xd8n\xa9%\xbfjm\xbfH\xaf!\xecd\x0c\"\xd2#J\x19[u\xa9>0(\xa6g\xb3D]u<\x91\xb1\xdd\xad\xed\xfb\xb2\xdd\xccv0\xbbn\xdfI\xfb\xd0p\x0c!\xd2#J\x19[5@\xc6\x05E\xf2~z6K\xd4U\xc7\x13\x19\xdb\xc3Ejw\xe1\xef\xd5\xfb\x0e\xb1\xdb!\xdcu\xfbN\xda\x87\x86c\x08\x91\x1e\xd1\xca\xd8\xd6\xa3q\\\xa8B>h\x99\x8d\x89\xba\x9a\xb8\x9f\xb1\xed,Pwg\xedV\x0bp,\x94\x0d\x02\x87\x93=v\x9d\x8c\x14\x1a\x8e\x15DzD/c\xab\x86\xcaf\x84\x03$a=\xe8\xa8\xab\x89\xfb\x19\xdb/\xe4\xfe\x07\xb7\x16_\xd7B~L\x10x\xb0\x1e\xcc\x1a\xdb\x87\x86c\x05\x91\x1e\xd1\xcb\xd8\xf6\xaf\xcf2\xaff\xc3z\x90\xdf\x9d\xb2\xe5\x1a\xd1\xfd\x8cm(p)\xe7O9\x97\xb2\xb4\xa5\x15QK\x19\xac\x07\xb3\xc6L\xdd\x98C\xa4G\xd42\xb6\xd7\x1f\x0cP\xf1\xa2\xb0\x1et\xd4\xd5\xc4\x03\x19\xdb\xc5\xfb\x0b\xd5\xc2\x03\x8b\xc9t&\x08\xcc\xeaa\xe9d\xa4\xd0p\xac\x20\xd2#Z\x19\xdbkE\xe4\xccs\xb2\x94\x9d\x8d\x89\xba\x9ax\x20c\xbb\xbex\x8b\xba\xa5x-\x99\xce\x1c\xab\xc2kl\xd7\xc9X\xbf\xdc\x15\xe9\x11\xa5\x8c\xed\xb5\xe5\xf2>|\xe9\xb2\x15\xed\x1ez63\xea\xca\xf6\xc2\xfd\x8c\xed\xce\x19\xfb\xd5\xfd3\xd0\xf1\x90\xde\x0e\xcc\x1a\xdbt2bh8V\x10\xe9\x11\xa5\x8c\xedGYz\xdd\x85*3\x9b\x19ue\xf0@\xc6\xf6\xad\xec\x0b\xea%|\x03\x9d\xde\x0e\xcc\x1a\xdbt2bh8V\x10\xe91\xaa\x883\xb6\xc3\xbd\x05;j\xb8\xb6`o\xe3\xa8\x1e\xe2\x8c\xad\xb9\x97\x20c\xeb\x05\x1c\xd5C\x8c\xb9\x97\x20c\xeb\x05<\xa5\x07\x1du\x85\x8c\xad\x17\xf0\x94\x1e\xaeE]][\xb0\xd7\xf1\x94\x1e\x80\xd7\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01ppC\x0f\xc8\xd8\xc6\x0c#\xd5#A2\xb6\x87qC\x05k\xcd/`\xdb\xf2Y\x96\xbc\x94_#\xd6\x18\xa9\x1e\x09\x92\xb1\xbd~T\xde\xd7y\xb8x\xc6\x19\xdbY\x0cB\xdd\x15\x015\xae\x18\xa9\x1e\xd6\x8f\xc2\xc5\xef\xd4\xd8\xcc\xd8^\xc2\xdfl\x0d\x15/\xb6\xabNQ\x0fzX\x18\xee7%b3cK\xf4P\x0f\xca\x82o'%\x9a\x1e\x90\xb1\xd5\x96\xa6\xe9QV\xc8N5\xb7\x0e:)\x95\x15\xe6n\xd1N.\x90\xb1M\xb4\x8c\xed%\xf9\xad\xfe\xbf\xee\x96\xf7\xb1S\xcd\xc6\xd4\xcbs\x97\x1e>\xbeV\x0e0\x15\x20c\x9b\x20\x19\xdbK\xe4\xf8T\x16b\xa7R\x8d\x15/\xee\xc7\xc5\x80jYc\xc8\xd8\xaa\x09\x90\xb1\xbd$\xef\xef>Y\x9c\xfd\x19;\xd5l\xec\x9a\x16f\xa8\x0dX*@\xc6\x16\xef\xd9\xb8\xcf\xd8\x92\xb1\x87\xe6\x005\xd5l\xac[&\xd9}\xb2\x1d\x20c\x9bp\x19[mh:\xb7\x96\x9dj6\xf6\xb5v\x9e\xdc\x1aP-k\x0c\x19[5\x012\xb6\x9a\x1e\xf9;/\xec\xa3\xa7R\x8d\x15\x15\"\x1b>\x09\x04\xd8\xd9\x86pM\xeeiDz@\xc6V[\xda\x05\x19\x1f\xebJ\xd7W,g\xfb`4\xa6^\xca.\xac\xaf\xcd\x95\xb3\x8e\xfe\x052\xb6\x09\x97\xb1E\x95\xf05\xf8\x85\xc5\x05'\xe9>\x98[\x07]\xd9n\xc8]\xb8\xfbh\x96\xbc\x8d\xaa\x00\x19\xdb\xe1\x00\x19\xdbX\xc3Q=\x20c\x1bk8\xaa>o5\x06\x00\x00\x09\x1cIDAT\x87\x18\xc8\xd8z\x0bO\xe9\x01\x19[\xaf\xe1)=\\\x8b\xba\xba\xb6`\xaf\xe3)=\x00\xaf\x01z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\x04zX\"\xb4\x14_W\x14d\xeb_\xee\xf5|B6Q\x9fB;r\x04zX\"\xb4\x14\xa5\xf9\x87\xb6fk_(\xf7|B6Q\x9fB;r\x84'\x97\x08\x9ft_\x93\x0f\x9a\xe9\x0d\xc1\x1b\xdc\xfd\x84l\x82>\x85v\xe4|W=.\xcbC?*\x0b\xbf\x8d\x1b\xf5\x84l\x82>\x85v\xe4\x88\xf5\xd8\xbeU\x0b\x9f\xa2a\xc8Q\xfd\x7f\xb0\x08\xcd\xd3\xc6\x05\xf8\x8b\xeafB\x16M?\xb4*\xfb\xa7\x07\xd9\xfd\xe9\x89\x84l\x82>\x85v\xe4\x88\xf5\x90W\xbd~ly\xf6%m\x18\xa2\xff\x0f\x16\x1fu\x1e\x93\xeb;;\xc9W\x86\xc3\x09Y\x9c\xf2\xa8}\xab6\xf0\xbf\x99\xf9=\x91\x90M\xd0\xa7\xd0\x8e\x1c\xb1\x1eK\xd1\xfb\xa8\x7fq\x91\xca&Z\x98\x93\x8b\x9eR9M\xb2\x20\xa7e*\xdeDp?!\x9b\xa0O\xa1\x1d9b=\x9e\xc6?\x0f\xe1\x11\xa2H\x8f\x0am\xe4w\x8f\xf5\xea\xd1\xfd\x84l\x82>\x85v\xe4\x88\xf5\x20\xdb\x8f\x84OEz\x14k\xef\xf5\xf5E*\x8b\xfb\x09\xd9\x04}\x0a\xed\xc8\x11\xebA\xc2\xa7\x87q\xf8\x94\xec\x84Z\xce\xd1\xe3.\xbc\xf9C\x0b\xc3)k\x1d\xf7\x13\xb2\x09\xfa\x14\xda\x91#\xd6\x03G!C\xf7\xe0\xf0i6\x09\xabF\xd6\xe3-r\xbe>&\xbfei\xc2\xfd\x84l\x82>\x85v\xe4\x88\xf5\x90\xd7~p\xba\x98\xa4^\x8b\xf3\xf7\xef+\")R\xed\xca\x85|\xf5\x9fN\xc8\x96\xc9\xbbO\xee\x96\x07mQ\xf7\x13\xb2\x09\xfa\x14\xda\x91#\xd4\xe3\x9e\xfa\xb2\x1c=\xf5z\xb94;g\xed\xd3\xb2\xbc-\x94K\xce\xceY\xf8:\x90N\xc8\x86\x0e.\xcf^n\xb9\xef\xa1z\x20!\x9b\xa8O\xa1\x1d9B=b\x02\xc8\xb8E\x89(\xe9\x01\x09\xd9\xf8\x20Jz@B6>\x88\x92\x1e\x90\x90\x8d\x0f\xa2\xa4\x87\xa3@B6j\xc4\x83\x1e@\xd4\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\x02=\xe2#c\xab\xaa\x17\xd6\x17\xcc}\xf0\xcc\xf2\xf7l\xe6\x18\x09\xec\xd2\xa2\xb1\x1d\\F\xa0G|dl\xd5?e\xad?~t\x0by\xf0\xe1\xa8\xc2.M\xb4\x1db\x10\xe1\xc9%.2\xb6k\xf1\x17UC\x15\xa3\xae\x87\xca.mx\x07\xbaX\xe0\xbb\xea\x11[\x19\xdb\x85$c{A\x8e\xc2\xbb\xdbfiq\x84X\x8fx\xc8\xd8\x96\xcd\xc7\xf9\xca\xd0[\xe4p\x17~\x04\xaf\xf9\x14Z\xd4\xc2!\xfdi\xbcTqHq[ci\xcc\xd3xmZ\xa0\xd68\x86\x10\xeb\x11\x0f\x19\xdb\xcf\x0a\xe5\xb5\xf5\x1fh;\xc6|\x04\xaf\xd9\x18n!\xbf~\xff\xdc-LqHq\xdb\xf0\xd2\x98\xa7\xf1\x0en\x81Z\xe3\x18B\xacG<dl\xd5k\xfb\x8a\xb2\xe4\\\\\xa2\x1e\xc1K?\xa37\x90\x8b\xde\xece\xf9lq(q[\xfa\xe4\x12~\"\x9e]\x0b\xcc\x1a\xc7\x0ab=\x9e\xc6?c<c\x8b\x09\x9d^\x8f\x03Z\xf4#x\xa9g\xf4\x92g\x20j\xebf\x16\x87\x12\xb7\xb5\xd5\xc3\xae\x05f\x8dc\x05\xb1\x1ed\x95c<c\xdb\xad\x8d\x03\x8a70\x8f\xe0\xa5\x9f\xd1K\xad\x9bY\x1cJ\xdc\xd6V\x0f\xdb\x16\xe85\x8e\x15\xc4z\xc4C\xc6v>y\xa2\xaeZ\xbb\x98y\x04/\xfd\x8c^[=\x86\x12\xb7\xe5\xeb\x11i\x8dc\x05\xb1\x1e\xf1\x90\xb1-\xc0\x0f\x99UCx\x0fS\x8f\xe0\xa5\x9f\xd1k\xab\xc7P\xe2\xb6|=\"\xadq\xac\x20\xd6#\x1e2\xb6\x05\xf2\xfc\xfa\xd3\xc7K\xb3\xf1Z\x84\x1f\xc1K5F=\x8d\x97~0\xaf0nK-\xcd\xdc\x0e\xf6-\xb0k\x1c+\x08\xf5\x88\x8b\x8cm\xd1\xe1\xda\xa59\xf9\x1b\xb4\xd4\x8d\xf1\x08^\xea)\xb4\xd4\xd3x\xe9\x07\xf3\x0a\xe3\xb6\xd4\xd2\xcc\xed`\xdf\x02\xbb\xc6\xb1\x82P\x8f\x98\x00RrQ\"Jz\xc4s\xc6\xd6\xe1us\x95(\xe9\x11\xcf\x19[\x87\xd7\xcdU\xa2\xa4G<gl\x1d]7\x97\x89\x92\x1e\x8e\x02\x19\xdb\xa8\x11\x0fz\x00Q\x03\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x08\xf4\x80\x8c\xed\xc8\xd1\xb2A\xb1\x89@\x0f\xc8\xd8\x8e\x1c=\x1b\x14\x93\x08O.\x90\xb1\x1d9\xf5\x09\xa7\x07dl\x87A<\xeb\x01\x19\xdb\x88\x19\xdbZ\xb2\xea\xc7\xd0\xcfZj\xe5\x99\xbaW\xca\x0as\xb7h'\x17\xc8\xd8&X\xc6\xf6\xab\xb2\xe2\xce\xeb\xea\xf5\xf7\x8a\xcb\xaeQ+O\xd7\xbd<w\xe9\xe1\xe3ke\xbc\xcd\x20c\x9bp\x19\xdb\xa3\xda%\xc9\xf2\xa3\x96\x95\x0f\xd7-^\xdc\x8f\x17\x81\xb7\x19dlI\xa0(\x912\xb6\x17\xe4P\xff\xd1k\xdf\x06.XV\xde\xa8{M{\x10\x19I\x16B\xc66\xe12\xb6\xa1\xac\x0b\x07\xe4\xda\xbf\xca!\xcb\xca\x1bu\xbbe\xf2\xdcm\xad]\xc8\xd8\xe2UO\xa8\x8c\xed\xd2c\xa5\xc5K\x8f\xe3S\x0c\xb3\xf2F\xdd\xafe\xb2~[qc\x90\xb1M\xbc\x8cm\xd9\xf6\xac\xd3\xf26\xfc\x17f\xe5\xc3u\x8b\xf0\x82?\x09\xe0\xc6\x20c\x9bp\x19[u_\xf6\xdc\xd0\xe2l\xa2Ox\xe5\xe9\xba\x97\xb2\x0b\xebks\xc96\x83\x8cm\xc2el\xd5\xee\xdcZu\x7f\x0e\xe9zx\xe5\x99\xba\x977\xe4.\xdc}4\x0b5\x06\x19[\xd7p4%\x97HDI\x0f\x87s\xa8\x8e\xea\xe1\xf0\xba\xb9J\x94\xf4p8\x87\xea\xa8\x1e\x0e\xaf\x9b\xabDI\x0fGs\xa8\x90\xb1\x8d\x1aQ\xd2\xc3Q\x20c\x1b5\xe2A\x0f\x20j\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\x81\x1e\x90\xb1Ml\x04z@\xc6v\xa4\x08W\xde\xd3\x08O.\x90\xb1\x1d\x19\xc2\x95\xf74\xdfU\x0f\xc8\xd8\x0e\x11\xe1\xca{\x1a\xb1\x1e\x90\xb1\xe5=\xc7\xd6h\x8c\xda:\x91\xd6\xcd\xd8:t\xd7\xbd\x8eX\x0f\xc8\xd8r\x9ec\x1bn\x8c\xde:\x11\xd6-\xbcu\xa8\xae{\x1d\xb1\x1e\x90\xb1\x8d\x9c\xb1\xa5\x1a\xa3\xb6\x8e\xfd\xbaQ[\x87\xee\xba\xb7\x11\xeb\x01\x19\xdb\xc8\x19[\xba1s\xeb\xd8\xaf\x1b\xb5u\xe8\xae{\x1b\xb1\x1ed\xd7C\xc6\xd66cK5F\xb7`\xbbn\xd4\xd6\xa1\xbb\xeem\xc4z@\xc66r\xc6\x96j\x8c\xda:\xf6\xebFm\x1d\xba\xeb\xdeF\xac\x07dl#gl\xa9\xc6\xa8\xadc\xbfn\xd4\xd6\x89'=\x20c\xcb\xc9\xd8\x9a\x8dQ['\xc2\xba\x85\xb7\x0e\xd3uo#\xd4\x032\xb6\xbc\x8c\xad\xd9\x98\xb9u\"\xad\x9b\xb1uBL\xd7\xbd\x8dP\x8f\x98\xc0\xd1\x94\\\"\x11%=\x1c\xce\xa1:\xaa\x87\xc3\xeb\xe6*Q\xd2\xc3\xe1\x1c\xaa\xa3z8\xbcn\xae\x12%=\x1c\xcd\xa1B\xc66jDI\x0fG\x81\x8cm\xd4\x88\x07=\x80\xa8\x01z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\x04zD\xce\xd8F\x99Q\xcd\xd8\x1e#-\xcd\xdb0\xf8\xc6;\x95\x14\xa6\x8a\x80\x81@\x8f\x88\x19\xdb\xe1DG\x85u\xa3\x9d\xb1\xbd~R~\xba\xb3\xf3\xe8\xf2\x82\xaf\xad\xd5\xa9\xa40U\x04\x0c\x84'\x97\x08\x9f\x95\x0f':*\xac\x1b\xf5\x8c\xed\x97Z\xd8%\xdb\xba.TR\x98\x09\x0d\x03:\xdfU\x8f\xe1DG\x85u\xa3\x9e\xb1\xd5\xf4P\x97[\x97C}\xa1z8\xa1\xe1\xc4A\xac\x87\x91\xb1\xc5y\xd1\xa7\xd5z\xf4\xf3uan\x96BX\xd7\x89\x8c\xad\xa6\xc7\x95\xc0\xbe\x08Ia:4<\x84`m\xe2\x20\xd6\xc3\xc8\xd8\xf6\xbfWXqE\xfd\xaavn\xe7uan\x96BX\xd7\x89\x8c\xed\x97\xf2\xe1\xfe\xeb\xbf_\xbe\xf4z\xa4\xa40\x1d\x1a\x16\x06k\x13\x08\xb1\x1ef\xc6\xb6\x1e\xbf\xc1\xf5`\xa807K!\xac\x1b\xf5\x8c\xed\x97\xe4\xd8\xb0\x98\xe4\x06\"d\xfd\xc2Ea\xb06\x91\x10\xebafl\xaf\xcc\xf8w54W\xcb5\x0as\xb3\x14\xc2\xbaQ\xcf\xd8~)\xd7vw\x9f\xde:\xef\x0f\xaaX\x0fa\xb06\x91\x10\xebA\x86\x00Z|u\xfdN\xf5t\xaee\x8fF\xca\xcdR\x08\xebF=c\xab\x0fM\xcb\x16\x87\xc4z\x08\x83\xb5\x89\x84X\x0f3c\xab\x9e,\x08\x19\xff\xe9\x8007K!\xac\x1b\xf5\x8c\xad\xae\xc7\xe1\xf0\xff308)L\x1d=D\x0f\xafM\x20\xc4z\x98\x19[5Tp2W\x7f?\x0bs\xb3\x14\xc2\xbaQ\xcf\xd8\xeazl\xcd\x09EL\x0a\x87\x8b\xc2`m\"!\xd6\xc3\xcc\xd8\xa2}qW\xae~Y\"\xcc\xcdR\x08\xebF;c\xab\xdd5=^&\xefW#$\x85\xa9\xa28X\x9b@\x08\xf5\xa02\xb6\xaa\xfa\x89l\x1c\x19\x84\xb9Y\x0aa\xddhgl\xb5\xcf\\\xb2\x96\x1f\xc2\xbb\xdf.)L\x87\x86\x87\x10\xacM\x1c\x84z0\\\x0fx\xf3)\xbd\x8e\xa6\xe4\x12\x89\xe1\xe9\xf1\xfa\xbc!\xde?t8\x87\x0azD\x89a\xe8Q\x7f&TZ+\xaa\xa4\xe3p\x0e\x15\xf4\x88\x12C\xd7\xa3_^\xb5m\xfeP?>u4\x87\xeap\xc66\x91\x18\xba\x1ej}N\xa9\xf5s\x11o\x00\x19\xdb\xa81\x0c=\x80\xc4\x03\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\xc3\xff\x07'\xa7c\x12\x8d\x96\x0dF\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/callers1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xa2\x00\x00\x01.\x08\x03\x00\x00\x00\xa3\xcb_?\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x07\x03\x06\x0c\x0f\x0a\x0d\x09\x10\x12\x0f\x17\x17\x13\x1a\x1a\x14\x20\x1f\x19!#\x20#$\"%$\x1d$%#&'%'(&+)\x1e()'++$*+)+-*/-!,-+-.,02/52'241574796<9-9;8:;C;=:=?<B@4?@>#CxAB@CDBDFCKH<MH7HIG\x00f\x00\x00h\x00\x00i\x01JLI\x00j\x02MOL\x05m\x05PRO\x0co\x09\x0fq\x0bTVSZVD\x0cr\x17WXV\x11t\x19,`\xae7]\xad\x15v\x1c[]Z\x19y\x1e]_\\d_M:b\xac_`^<c\xad>e\xafac`*{!Ag\xb2ceb)|*dfcfgeghfLi\xafDl\xb0hjgqjR\\k\x88/\x82/jkiHo\xb3/\x858Jq\xb5mol;\x86:pqoUt\xb4>\x89=|t]tvs@\x8b?swzB\x8c@vxu@\x8dG\\{\xbbxzw]~\xb7K\x8fJ{}z\x85}d}\x7f|O\x93N\x7f\x81~c\x83\xbdN\x95Uu\x84\x96\x81\x83\x80W\x95V\x8e\x85gm\x87\xbcZ\x98Y\x87\x89\x86]\x9c\\\x89\x8b\x88\x95\x8bm\\\x9dcs\x8d\xc3d\x9dd\x8c\x8e\x8bf\x9fg{\x90\xc0\x8e\x90\x8d\x90\x92\x8f\x7f\x93\xc4j\xa3jz\x97\xc6\x93\x95\x92s\xa4l\xa1\x96xq\xa5s\x81\x9a\xc3\x97\x99\x96\x84\x9c\xc6\x99\x9b\x98u\xaaw\x9b\x9d\x99~\xaay\x9c\x9e\x9b\xa8\x9e\x7f\x88\xa0\xcb\x9e\xa0\x9d\x80\xad|\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\xae\xa4\x85\x82\xb1\x86\xa4\xa6\xa3\xa5\xa7\xa4\xb4\xa7\x82\xa6\xa8\xa5\x8b\xb3\x88\x95\xa9\xce\xa8\xaa\xa7\x8d\xb5\x8a\x98\xab\xd1\xa9\xab\xa8\x8e\xb6\x8c\x8d\xb8\x93\xab\xad\xaa\xb9\xad\x88\x9f\xae\xce\xad\xaf\xac\x96\xba\x96\xaf\xb1\xae\xa3\xb2\xd2\x98\xbc\x98\xb1\xb3\xaf\xb2\xb4\xb1\x9b\xbe\x9b\xc2\xb5\x90\xb4\xb6\xb3\xb5\xb7\xb4\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xb7\xb9\xb6\xb8\xba\xb7\xb9\xbb\xb8\xa5\xc4\xa7\xb1\xbc\xd7\xbb\xbd\xba\xbc\xbe\xbb\xbd\xbf\xbc\xaf\xc6\xab\xa9\xc8\xab\xb8\xc0\xd5\xbf\xc1\xbe\xce\xc1\x9b\xc1\xc3\xbf\xb2\xca\xae\xc2\xc4\xc1\xbc\xc4\xd9\xb2\xcc\xb7\xc4\xc6\xc3\xba\xcd\xb9\xd7\xc8\x9c\xc1\xc8\xde\xbb\xca\xde\xc7\xc9\xc6\xbc\xcf\xbb\xc9\xcb\xc8\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xcc\xce\xcb\xc4\xcf\xdd\xca\xce\xde\xce\xd0\xcc\xc8\xd3\xc1\xe0\xd0\xa4\xcf\xd2\xce\xc8\xd6\xc9\xd1\xd3\xd0\xd1\xd2\xdc\xd2\xd4\xd1\xde\xd5\xa7\xca\xd8\xcc\xd3\xd5\xd2\xcd\xd6\xde\xcc\xda\xce\xd5\xd7\xd4\xe7\xd7\xab\xd6\xd8\xd5\xd1\xd9\xe1\xd5\xdb\xd1\xd8\xda\xd6\xd8\xd9\xe3\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd5\xdf\xda\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xf0\xe0\xb3\xdc\xe1\xe4\xdf\xe1\xde\xe1\xe3\xe0\xe3\xe5\xe1\xe1\xe6\xe8\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xef\xf2\xee\xf7\xf9\xf6\xfe\xff\xfc\xbd\x08i5\x00\x00\x20\x00IDATx^\xed\x9d\x0fp\x13\xd7\xbd\xef\xe1%\xb7\xf7\xf8Y\xba\xbdvjW&\xbevs=n\xb1\xc7\xf6\x98\xa8@\x84\xc3s\x80\x90\xe0\x10\xee\x03'J\xe19\xaf\xb9\x81\xa4\x80\xfb\x9cb\x87\xdb\x84\xbf\xc1m\xd0\x00Uq\xc1<BL\x9d\xa7)\xc5@\xf0\xad\x15p\x9c8&\xb8\xd4\x8ei\xeb\xe4\xc6!\xb85\x93\xb9Q\xe2LP:\xb7\xca\x84\x99e2\xe2\xdc\x9by{\xce\xae\xa4]\xedY\xadd\xec\xa3\x95\xfc\xfb\x0c#\xfdt\xf6\xec\xd9\xb3F\xdf=\x7fvu\xbe3\xbe\x9a8\x18\x00\x80\xa9f\x86\x91\x0ec`T6\x00\x007\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00LM\x0aI\xb4\xb1\x91\x15\x02@z\xc3]\xa2C.\x8f\x14\xf8\xda\xdd\x1d\xbePj\xd7\xb0^\xfe0\x7f*y\x8e\x11\x12\x1e)))9\x81O\x88\xaf\x8fhw3\xe0\xc3\xd2\x92\xfb5\x89\x7f}zn\xf9?\x07i\xf8\xda\xdcW4\x9b\xd50K`\xd0(\xd6\xaf\xfcJ\xe8\x93\xe2\x10\x0a\x8c\x8f6\xf5$R\x07\xf6Y\x18\x92\xc8!\x00\xde\x12\x0d\xecy\xb5\x85\x06c\xfb\xbc\x97\xbc\xfb\xc6\xa4\xd4q\xd7\x1b1\xf6\x91x\xaa\xfc*#$\\\xd9Z\xf2\xa6\x80\x85s%[\xaf\xe0\x84y\xab\xb1\\\x93\xb6f\xee\xd1\xc6\xf2\xcfix\xb6\xfce\xcd\xe6(X%0\xf8\xf8\xdc\xb9\xa3%\xbf\x0b}R\x1cBA\x1cG\x9br\x12\xa9\x03\xfb,\x98\xbcy1\x12'r\x08\x80\xb7D=\xa7\xc7\xa8D\x83\x07^\x15__=@/\xc1\xbeVc\x89^)\xdd\xca\x08%\x0e\x97\x08\xe2k\xb0\xe40\x9e\x00{5\x02\xfb\\,((\xc8\x1f\xe2h#\xb4%\xe8\xf0VX\xa2\xaaC(\x88\xe3hSN\xfcu\xd0;\x0b\x16+7(>\xc4\x7f\x08\x80\xb7D\x87\xdc\x01\x1f\x95\xe8\xf0\x1e\xf2_\x1b\xd8C:\xb8]\xae\xae}\x86\x12m\x8c\xb4\x9c\x8d\xeaFt\xd2%z\xa5$\xb1~\xd8\x04$\x9a\xe8!\xccI\"g\xa1\x92(\x90\x00|%\x1a\xd87\x82%\x89\x9e>F\x13\x8eu\x8a/B\x00\xb7\x18I\xf4\xc3\xd2g\x19\xa1\x8cR\xa2\xe7\x1e]P:\xf7\x9f\x17\xd0\xf4\x13\x8f\x94\xdf\xbbU\xdc\xf4viI\xc9\xf3W\x9e\xba\xbb\xfc\xfb\xea\xcb\xf7\xd5\xa7\xe6\xcf\xd9\x20wSCy\x85\xb9%\x14\xd2P\x7f^^RRz\x82l\xfdqI\xe9K[\xef-\x7f\xf4cU^u\x09\x11Xu\x20\xc8\x12U\x1eB\x01\xf3hd\x84\xbd\x17\xef\xa5\xa3m\x9d\x13\xd2;\x9aDpn\xe9O\x16\xcc\x7f\xf3\xd99k\x02\xe2\xdf\x7f\xc3\xfc\xd2\x05O\xbc-\x1d\xe2p\xe3\x82;\x9f\xb8\xa2\x0a\xf5\xce\xf8\xafO\xcd]\xb0u\xeb\xdc9'\x14\x05+\xce\xe2\xc7d\x1fiL\xae\xfeC]\xd90W\xac\xdaU\xfc\x8a\x94\xb5d\xa5\xea\x10\"GW\x96\xaf<\x1a}4@\x05_\x89zNbY\xa2m\xaf\xd2\x84\xee6i\x83\xa1D\x1bK?f\x842\x0a\x89^,}\xea\xe5\xd7^\x9a[\x12\xa4\x19\x9f={x\xee\xca\x20\x16N\x9cXp\xef\x9c\x05[\x9f*\xfd\x10\x0b\x1fJ\x88{\\\x99s\xefK\xaf<ZR\x8e\x95y\xf1\xdb\xe7N\x94\xec=w\x8e6\xd4\x17\xcf\x9d+\xdfK\x82?\x9d(-\x99\xbb\xf7\xf0\x9c\x0d\xea\xbc\xca\x12\"0\xeb@\x08\xb5\xa2\x8aC(\xaa\xc3<\x9apn\xce\xf3W\xf1\xd5\xe7\xe7\x9c\x13tNH\xf7h2o\xce)\xd9\xba\xa6d\xee\xcf\xe6\x8a\x7f\x9d\xb3%\x8do\x9ex\xa2\xf4-\xe9\x10\x0b~\xb6wA\xf9{\xcaP\xe7\x8c\x85\xfb\xe7\x1f}\xbe\xbc\xfc\xa5GU\xdd\x94\xc8Y\\=W\xbaW\x1e\x93\xab\xfePo\xceY\xf9\x8b\xd7\xf6\x8a\xff-\x81\xdf\x9d\xbbw\xcd\xb9s\xe7\xe8\\A\xf8\x10\xa4?\xf4\xfc\xd9\xe7\xcb\x9f\x8a\xda\x0dP\xc1U\xa2\xc3\xee@H\xa2\xb2&\xdf\x90\xe6\x8e\x0c%\xfaa\xe9\xd3\x8c0\x84B\xa2G\xe7\x92\xef\xe7\xd19A\xf2}\xfc\x15&\xb2\xa0W\xec\x95%\xb4\x15\xc1x\x8d|A\x7f\x04\xe3G\xee\x15w\x0b\xae$\x02S\xe5U\xf5\xdfB\xdf\xa6\xf29\xe2\x85\xe1\xa9\xb9\xea\xbc\x8a\x12\x14\xe8\xd5\x81\xd5\xd1UT\x87\x1eEs4\xdcH\xbe\xb6?$w\x99\xd8'\xa4{\xb4\x10\xf3\x9f\x127\xbcBoT\x09'\xc8\x1fj\xe5\x13\xf4\x10w\x8b;\x7f\xbe\xe0!u\xc8\xac\xc3\x89\x12\xb1\xe1=Z\xf2\x1e\x8e\"\xf2\x87\xa2\xfbH\x1d\xfe\xc8n\xc2\x82\xef\x93n\xc9\x09:\x9f\xa4\xea\xe8\xca\x87x\xad\xe45\xfazV\xb5\x1b\xa0\x86\xa7D\x03\xfb\x86\x83\xc1\xe0XKP\xfc6\xb5yiRW\x9c\xad\xe8\x8f\xc5\xe6B\x1b\x86PH\xf4\xe3\xf9w\xff\xf8\xa5\xb7\xe9\x1c\xc6\x86\xbb\x05\xf1p\xc1\x05\xf4\x1e\xea\xcary\xaf+\xafH\\\xc1\x9f\x97\xbcD\x12\x9e/\x8f\xce\xcb\x96(\xd9\xb4W\x9dWY\x82\x02\xbd:\xb0$\x1a\xa9\x0eE{4\xfcf\xb9\x80\x85\xf2s\xd1\x85\x85OH\xf7h!\xe6\x9f\x10\x0f\x1c\xc0\xcf\xfdP\x8c\xffz\xf4\xfbw\xcf\xa1\xfdM\\No\\\x1d-\xf9\\\x15bV\x1d\x9e\x9b\x83I\x95\xff\x15G\xc1\x96hx\xb7\xb3D\xd9!X\x12m\x94\xeeV\xdd\xdf\xa8\xda\x0dP\xc3S\xa2\xa3\xae\x10>|Z\xba;\xda\xde)m2\x90\xe8\xd5\xf2FF\x18F\xfar\x09%G\xc5\xd7\xcf_\xdap\x7f\xc9\xdc_`\xd2\xceH\xd06c\xe5J\xcd^\x17K\xc8\xf7^\xfaZ\xa8\xf2\xb2%\x1a\xfe\x12F\xf2*KP\xa2S\x878\xa6\x8b\xb4G\x13\x07\x93/\xe3\x97iK\xa9sBzG\x0b1\xff5\xfcV)\xa6\x12}k\xee\x82\xe7^>\xb7fe\xe4P\xe7J.\xaaB\xcc\xaa\xc3\xe1\xd2\xbf\x92\xc6.\xceV4\xb2[\x89bT\xcc\x92\xe8#RE\x9fxH]\x02\xa0\x82\xa7D\x83~\xc2\x90\xdb\xef\x0f\xe2a\x97\xd8\xb7\xc2\x01\x97\xfc\xc8\x82\x81D\x9f-\xbd\xc2\x08\xc3H_.*\x98\x8b\xa4A\xf8\xfcD\xf9Q\xb1\xd7t\xf7E\xca_I\x16\xc6\x84\xe2_\xa9\xa41\x9d\xecQ\xe55\x90h$\xaf\xb2\x04\x05zu\x98\x98D\xf1\xb3O\xe0'\xe8\x04\x19\xfb\x84t\x8f\x16\x82H\xb4\\\x92\xe8\xfd\x0f\xd1\xc6V\x92(-\xf3%\xb1}U\x86\x98U\x87\x0fK\xbf\xff\xe1\xdb\xf7>\xa2\xb9U\x12%\xd1\xe7\xa3$\xfa\x9a\xa6\x15}\xe9CEv\xf1\x0fw7}\xbb\xbb\x11\xab\xcf\x18P\xc2S\xa2\x12>\xf9\xbeh\x97\xf8\xday@\xfeo\x8f-Q\x83F\x14\x07\xee$\x89\x8dw\x8a_\xb1\xbdtx\x83\xd7<M\xbe!tL\xf6\xfc\xcf\xc8+k\xce\xff\xa1\x05b\xe3{\xa5\\\xfa6)\xf2\x1aHT\x91WQ\x82\x02\xbd:LP\xa2o\x95_-\x7f\x8b\x04\xec\x13\xd2=Z\x08\x85D\x17\x90\x9d\x82R\x03\\>W\x94k\xe0\xee5\xea\x10\xb3\xeap\xb1dnI\xc9\x9a\xa8;]X%Q\xf1:\x11|(J\xa2\xc2\xfc5\xe4\x8a\xf0,\xbd\x00\xac\x11K\xbf\x1a\x1a%\xcb\x878+MSKcQ\x90\xa8\x0e\xbc%\x1a\xf4\x0d\xb9}~1\x18\xdb\xd3y\xa9Kz\xbaH\xf0\xf9\xdc\x9d\xbeq\xfd\x9d\xb6FZ\xce\xad\x8cF\x94\xfc/?}\xf6i\xfa\xff\xbd\xb7d\xce\xf3g_n,yS\x8c\x9f+\xfd\xe1\xcb\xff\xda(&\x07\xdf\xa2\x13\x8a\xd1c\xd8\xf7\xca\x17\xec}\xfe\xce\xd2\xd2_\xbd\xa7\xc8+OT\xbeE\xae\x1d\xc2\xef\xce\x9d+o<w.@\xe6,\x1b\xdf\xc2\x17\x1bK\xc9\x04f$\xaf\xb2\x84\x08\xcc:HO\x17\x1d\xa6\xb5P\x1cB\x81\xce\xd1pp\xfe\xa3\xf3\xa5\xac\xcc\x13b\x1f-\xc2{w\x1e\x16N\x94\xbe'\xfcp\xcd\xc7b\xde\x0dG\x7f\xb6R\xec\x15\x8b\x92//Yy\xe2\xa5{\xe7\x90?g$d\xd7\xe1\xed\xf2\xd7\xce\x9e\xbb\x1a\xdd\x88*\xcf\xe2\x91\xb9\xbf\xf8\xd9C%\xe2\xdfAU\xf57\xcb\xef?z\xf6Yi\xc0\xbe\xb7\xfc\xf0\xcbk\xca?V\x1eBl\xf6K\x9f;\xfb\\\xe9S8\xea\x8c\x01%\xbc%\xea#C\xd1\x034\xea\xd8\xd7.=\xa3\xdb'\x0dP\x03z\xfb\\%\xd3\xf2\x9aP\xc5\xd9\x95\xe5+\xc9\xb5\x18\x9fxd\xef\x82\xd2\xf9k\xde\xa4\xa9\xaf\xad\x99;\xe7\x91\xb3\xd2mD\xcd\x10M\xe4\xca\x13w\xde\xbd\xf5W\xa5%O+\xf2\x0ash^z%\xb8(\xed'~\xc7\x9e&I\xef\x95\x8b\xaf\xca\xbc\xea\x12\xc20\xeb@\x9f\xd1%lP\x1dB\x81\xde\xd1\xf0\xe1\xf2\xd0\xcd\x0e\xd6\x09\xb1\x8f\x16&(6\x80'\xe6\x94\x94\x9f\x20\xd9\x83\x87\xef-\x9f\xbb\xe1\xa5{K\xc5&\xad|k\xe3\x9c\xf9OQEDBv\x1d~GSK\x1fQ]\x88TgqeM\xf9\x9cG\x7f\"\xe6UW\xfd\xca\x86\x05s\x1e\x92\x1e\xf6\x13\x9e\xbd\xb3|\xcd[\xaaC\x88\x95;L\xee\x8b\x8a\"\x8f:c@\x01o\x89N\x84\x9f\x94\xfc\x89\x11\x027G\xa8?\xab\x0eY\\\x9d\xf3\xf4\xd5`\xf0\xf3\x8b\x1b\xee\x8c\xefq\\`RI\x05\x89\xc2\xaf\xd0\xa6\x82\xf8%\xfa\xf2\x1c\xa9\x8f\x1b\x9c\xabj\x9f\x01>\xa4\x82D\x81\xa9\x20~\x89^,\x95z\xb8\xef\x95*fh\x01^\x80D\xa7'\xd2\xfcLt\xc8&\xd8X\xdex\xe2\xcd\x13\x8d\xac\xc9t`\xca\x01\x89NO\xe8\xfc\xcc\x87\xd1\xa1\x1e\xaf<:\xbft\xfe\xf7\xa1\x9b\x9b\x14@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2)\x87\xe67a@Z\x03\x12M-|\xce<\xb4\xc4(\x13\x90N\x80D\xd9\xb4W\xfa\x8d\xb2\xc4\x83\xbf\xb2\xdd(KB\x04\x8b\x8b]\xa7\xc7\x8cr\x01\xe9\x04w\x892\x0c#\x02\xde\xd6}\xed\x031\x97L\xfer\xd7\xf2E\x9bn\xc4\xca1A\x965K\xef\x9dUy\x96\x02\xe7h(y\x0bj\xd2\xdb#1\xb6dl1\xca\x92\x08\x03\xa8\xc3(\x0b\x90f\xf0\x96(\xc30\"\xe0n\x1f\x1a\xeds\xb7\xc5\xd2h\xfd\x83\xc7w.\xba\x16#\x83H0H\x16\xd7\x12\x0c\x87j\x9d\xfd\x91\xf8\x0d\xb4\x9e\xbe\xf7\xa2J\xf7IWQ\x9el2\xd3\x9c\xe1f\xec8!<\x99\xcdFY\x12\xe0\x0d\xe45\xca\x02\xa4\x19\xbc%\xca0\x8c\xe8l%\xaa\xf2\xef\xeb\xd3\xdf\xeb\x9a\xe38\xbea\xa0\xd0w*\x8a\x8b\x17\xce..^\xab\xfb\xd3p\x99\x8a\x9ap\xe8\xcd\x97%\xfa\x02:)\xbe\xfa\x90\x8b~\xbadY\xcf\xdaqb4X'\xb1c\xda\x8bz\x8c\xb2\x00i\x06g\x89\xb2\x0c#\xdaZ\xe9\xa6N\x8f\xfen\x1f9^\xd7\xdf(!X\x90\xdd>3\xdb^1\xa3\xc1\xc0e\xa4lY(Z\x86\x1e\xc8\x96\xc5H\x97e\xe9C\xdd\xf4\x83s\x96\x91\xcc\x13\x200\xcbi\x94%~@\xa2\xd3\x0f\xbe\x12e\x1aF\xf8\xa4V\xa6\xfb\x05\x9d\x9d\xae/wPvc\xbc\xcb\xe18\x83?\xadv\xac&a\xf5\xa9\xdd\xab\x17m\xfa\x8c\xe6\xf9\xf4\x99\xe5\xffm\xf3W_\x0d\xff\xe7W\xffu\xcb=\xd2D\xcf@&B\x0d#\xab\x0a\xb2\xaa\x88d\x9b\xcb\xb2\xcbH\x8f\xd3\x83$\xcaH\x96q\x1f\xce\x0d\xb7\x97A\x7fGA\x19U\xb7\x90\xf3$\xa3\x84\x10\x8a\xd4:\x94\xd1\x82G-\xa8\x18\xe3:dq\xad-\xca\xae\x92\xce\xa5\xa52\xbb(\xdc\x9a7dE]3\x12.!B\x17Ht\xda\xc1W\xa2\xba\x86\x11\xa4\xe7\xab;\xcaz\x7f\xf0\x8c\xe3\xd0\xe0\xe0_0\xfel\xb0\xfa\x10\xbe\xf1\x87]\xd5\x18_>S\xedx\xf0\xd0\xff[\xfa\x0c\xc91\xb8x\xdd\xa1\x7f\x981cF\xb0f\xc6\x8c[\x9a\xa4o\xb6\xd0z\xa0\xa0('\x7f\xed\x0a$~\xe9\x9d\xd6\x06O\x83u\x95x\x91\xe8\xf6\x16\xd9\xbd^o\xc8\xcf4,\xd1\x0b\xa2n\xbfq\x89\x86\xfd\xa8K[B\x18E\xaa\xcfki\xc2\xb8\xc7i\x15{\x05\x072\x91\xadi{\xce}$\x8b3\xa3\xce\xd3l+\x93G\xc5\xdd\xd1\xb2J\xb8\x84\xd0~\xe3]\x15\xb9\x93\xd8\xbe\x03)\x01W\x89\xea\x1bF\x88_dw\x8c\xbb\x1c\x91\x8e\xae(Q\x8c\x0fU\xd3p\xa9\xd8\x82n{P\x8c\xae\xd7n\xba\x1e\xf4\xfd\xef\x7f\x10%\xfa7K\xb6\xbc\x13n\xb4\xca\xd0\xbc\x005U\xe8\xa0\x13\xa1\x1d\x886\xdd\x91\x8e.VH4\xd8\xdb\xb5=?\x8fj\xd4\x83.iJP\x11I\xb5\x92\x89\xdf&+I\xb4\xe6\x8aB^e\xa3\xfb\x93\xc9\xa6^tP\xca=\x86\xb4\xfd\x83\xc4J\x90Y\"^Eb\x8c\x06\x80\xf4\x84\xa7Dc\x18F\xe0\x1eW\xf8\x86\x07\x03\xb6Dw\x86\xc2\xf3\x8e\xf7E\x8d\x05\\\xa2D3\xfb\xfd\x91neYh\xa6\xc6YL\xdf\x8a\xe9\xa8\x90-QB\x20\xbf\x8a\xbc\xb5\xa1p]\xca\x98s=\x91T\xa5\xc0\x9c\xa1\xf0\x81B\x81\x90/\x8fA\xc7\xa2\x94\x96x\x092c\x1d\xaebhE\xa7\x1d<%\xaao\x18!t\x86\x96\xa5g\xc3\x96h8<\xee\xb8N\x12Z\x89DG\x14\x03\xbf\xb2\x0a9\xa8\xbc\x87\xbe-\xac\xa4\xa9\x0c\x89\xca\xban\xca$\xef=\x91\x9ei\xb8\x04\x15\x91T\xa5\xc0\xc2a\x99<\xde\x95\x9f\x02\xea\x95'\xa1&^B\x04/\xea\x8dN\x02\xd2\x1c\x9e\x12\xd55\x8c\x08xZ|1\xf7\x8c\x92\xe8\xfe(\x89\x9ew\xbcK\x12\xb4\x12\x0d\x89\xd1YH\xdf\x0a#\xad\xe8>\xb9\x15\x93$*\xe4J9\x9b\xe8\xccN\xc0\x1a~nA%\xe70\x91T\x9a\xb3!J`+\x0a\xfb)r\xcf\xbd\xc9\xa2m\xf9\x12+!\x02\xcc\xe8N?xJTBk\x18\xe1?xD\xfc\x12\xc7rd\x8fHt\xd1~\x8co\xd4GI\xf4\xda\x83\xf5\xa4\x19\xfd\x9f\xba\x12\xf5\xd0\xbe\xe6Ai$g\xb7c<\x8e\xa4;=\xa1V4\xaf\x8a\xbc\x06\xf2\xa5f\xab\xe6\x8e\xd0<\x8d\x91D\xb3\x9f\x14+^\x11%\xb0\x0e\xa9\xf0\x8d\x9bi\x96`\xf1\xc2\x9b,A\x01Ht\xfa\xc1[\xa2\x0c\xc3\x88\xb1}\x07G}>_w\xab\xde>\xd2\x8c\xee\x1f\xe8\xf3\x7f\xf5\x0f\xfe\xf2\xd0:G\xf5\xa9\xcb\x7f\x19\xac\xde\xf5\x87\x1b\xef\xef\xaa&3\xbd\x83\x8bV\x1f?\xbf\xfb\x1fU\x12\x15z\xe8\xdc\xad4\xac\\\x91\xb1\xde\xb3>c\x05\x8d\x9b\xac\xdb\xdb\xe6e\x93#\x8f{\xbd\xdf\xa8\xf1\xf6\x88zlAU\xae\x93\xcd\xf9\xf2\xd3E\xefdl\xd7\x94\x10F\x95Zi\xdb\xb2\xb9\x12e\xba\x87}^\x8b\xb3\x07\xf7;-^\xb1\x88\xf5\xe8\x81\xd6v'\x92\xa6\xc2v\x20\xc5\xd3L\x13*AA\x1f\xa3\xd3\x0c\xa47\xbc%\xca0\x8c8&\x0fP\xf5&+\xaf/\xa5\xb7E\xab?\x20\x1f>\xaa_\xb4x\xd3~\x87c\xd7.\x92\xf4\xfeb\xf1u\x97\x98\xfc\xc13\xb5\x8b\xd7\xfd\x1f\x95D\x072\xe8pNj\xc2\x82\xcd\xb3\xb3g7Km\xa3P\x97\x9be\xa7C\xba\x06\x9a#sD\x0c{\x96\xe4[\x8b\x1f\x0bu,\x1b\xbe\xde\x1d]B\x18U\xea\x88=+\xa7j#Buub\x92e([|\xad\x13\x93;\xec\xb6\\\xbbt\xe7\xd7\x9b\xf5$\x8e\"\xc1\x12\x94\x8cg.\x1b\x187|\xc4\x11H'xKt*\xd1\x8cE'\xcec\x16\xdd6=1\x0eZ\x9c\x93R\xa1\x10m\xc5\x8cI$\x20\x9d\x01\x89\xb2\xd9\x91\x1f\xc3\xa9-~\xfc\xb3&\xf5\x87.\x84\xf1\x81\xd8Sk@\x9a\x91\x02\x12u\xc4\xcb?N\xa2D\x01\xc0$\x80D\x01\xc0\xd4\xa4\x80D\xe3f2;\xba\x00`\x12@\xa2\x00`j\xd2G\xa2B\xf32\xf2\x18\xfd\xfan\xd0(\x90N\xa4\x8dD\x83\x95\xa1\x1f\xa3\x1d\x01\x8d\x02iD\xdaHT\xb8u\xf3W_\xfd\xe7W_\xfd\xd7\xadK\xe0\xc7\x20@\x1a\x916\x12\x0d\x20d\xb7\xdf\x9ag\xaf\x98\xe1\x9c\x94\xe55\x01\xc0\x1c\xa4\x8dD\x05o~n\xee\x1d\xb9\xb9\xb9\xf3\xde\x80\x8e.\x90F\xa4\x8dD\xb1\xe0\xbbt\xe9\xd2\xe8\xa5Kc\xd0\xcf\x05\xd2\x89\xf4\x91h\xdc\xeb\xe8\x02@*\x91F\x12Mab\xd8SL\xb6\xe5\x04\x90jp\x97(\xc30\xc2\xd7q`Ok\xf74\xee\x9fF\xec)\x18\xfe\x15\x93l9\x01\xa4\x1a\xbc%\xca0\x8c\x18wy\x86\xc7\x86\x8f\x1c\x98|\x8d\xce\xb8\x19\x8c\x0a\x9f<\"\xf6\x14L\xff\x8a\xc9\xb5\x9c\x00R\x0d\xde\x12e\x18F\\rQg\x97\xd8\x0b\x8cM\x88\x19_L\x1c~\x12\x8d\xd8S\xe8\xf8WL\xaa\xe5\x04\x90jp\x96(\xcb0BZ\xa6\xd6\xef\x9a\xfc\x9fA\xa6\x86D\xc3\xf6\x14z\xfe\x15\x93j9\x01\xa4\x1a|%\xca4\x8c\x20\x08c\xad\x9e\xc9\x9f\x8a\xbdI\x89\xd6\xa1\xcc\xe6\xef\xe5\xe7\xde3\xa2)\xd8\x9dG\xdb\xb7\xb1\x1cy1\xcd\x1ce3\x97\xa0\x1fD\xc8\x9eB\xd7\xbf\x82a9\x01L#\xf8JT\xc70\xc2\xefr\xb9\xdc\x93?\x14\xbd9\x89\x06\xa9\x85C\xc1\xe6\xa6\x82\xec\xa1\xe8\x82\x97\xa0*\xf2&\xb8\x9b%\xdcJ\x09%\xe8\x07\x11\xb2\xa7\xa0\xb0\xfc+\x18\x96\x13\xc04\x82\xabDu\x0d#\xfc\xbe\xa1\xd6\xa9\x98.2\x92!\xfd\xa7\xb3\x8d,\xebi-\x08\x90\xa5;+\xa3\x0b\x1e\xdd,\xa9g|T\"z\x11\x95D\xfc\x20\x14\xf6\x14l\xff\x0a\xb6\xe5\x040]\xe0)\xd1X\x86\x11b\xdbsRw\xc7\x89B\xf4\xf7\xe27\xf5\x85\x1aS\xa2d\xfcg\xddH\x8aiF:w-GQ\x88\xa8\x85<\x13\xf1\x83hS\xee\xcc\xf2\xaf`[N\x00\xd3\x05\x9e\x12\xd51\x8c\x90\x9f\x07\x1apM\xfa`\x94\xe8\xef\xf6\x17'(Q\xb2\xce\x9e\xb4,}\x97f%\xdc\x10^\x8fD\xb4\xa9[\"~\x10=\xca^,\xcb\xbf\x82m9\x01L\x17xJ\x94m\x18\x11l\x91\xa6\x8c.\xec\x9b\x12\x89\xaaT\xf8\xf3\xdbf~\xed_\xbe\xf8\xe2\xb7\xdf\xb9\xf5\x96\xef\xfc9,\xd1\x9f\xff\xfd\xcc\xbf\xfd_$\xe3\x0f\xbe6\x93l\x9by\xdbO\xc5\x0f\xa4\xe5\xb4>F\x8aq\xa1D\xfb\xe0\x89\xf8A(\xec)\xd8\xfe\x15l\xcb\x09`\xba\xc0S\xa2\x12\x1a\xc3\x88\x03\xc4XP\xec\xe8\x9e\x8e\xb9\xdbD\x88\x96\xe8\xcf\xff\xe6\xe7\x9f\xfc\xf6\xbb_|\xf1w/~\xf2\xef\xff\xe3\xbb!\x89\xfe\xfa\xef~\xfd\xc9o\xbf%jt\xc6\xed\xbf\xff\xe2\x8b\xdb~\xf0\xe7\xff\xf8\xf5\xb7\xc5\x0f\xc4\xac\xc1\x9aG\x86\x94\x85\xf6\xe8\x82G\xb7(\xc6\x8f\x0c\x12\xf2\x83\x88\xd8S\xe8\xf8W0-'\x80\xe9\x02o\x892\x0c#\xdeq\x9d\x1c\x1e\x1b\x9e\xba\xe9\xa2\x88D\xbf\xf9\xd3H\x83\xfa\xef_\x0bI\xf4\xf6\xdf\x88\x1f\x7f\xff\xb7bL\x82[~/m\x9fA\xae$VT\xd6\xba\xe7\x8e\\\x8d\x1e\xe5\x19]6\x89\xfaA\xc8\xf6\x14\xfa\xfe\x15Z\xcb\x09`\x1a\xc1[\xa2\x0c\xc3\x08\xec\xebl\xdd\xd7\xd63\x05\xb7\xfe\xa2%:\xf3\xcf\xd2\xfb\xef\xbf}\xeb\x8c\x193C\x12\xbdu\xa6\x08\xfd\xf8\x1f\xe2\xb6\x7f\xba\xf5\xbb\xffBTJ\x1f]\xb0\xaeu\xe6\xccZ\xa5}\xa6\xc2msi\xd2\xc2$\xec\x07!\xd9S\xe8\xfaW0,'\x80i\x04o\x89r%Z\xa2\xb7\xca\x12\xbd\xfd\x9f~\xff\xc5'3B\x12\x9d)\xb7\x9br\xc6\xdf\xfc\xe0;\xb7\xfc\x20$Q\xc50q\x0a\x89iO1\xd9\x96\x13@\x8a1\xad$z\xbb\xdc\xd1\xbd\xe5\x93/\xbex1,\xd1o\xfeH%Q\x91\xdf\xde\xc2W\xa2\xb1\xec)\xa6\xc0r\x02H)\xa6\x95D_\xfc\x9a4]t\xdb\x0f>\xf9\xcd\x7f\x0fK\xf4\xc5[\xff\xe5\xcf\x9f\xbc\xf8-9\xe3\xb7\xfe\xef'\x9f\xfc\xe86\xce\x12\x05\x00]\xd2^\xa2\xf4\x87e!\x8d\xfe\xf4\xef\xe9M\x97\xdf\xdc6\xf3k?\x0aK\xf4\x8b\x17o\xbfe\xe6\xed/\xca\x12\xfd\xf9\xed3o\xfd\xf6o\xa9D\xa5\x19\x1e\x00H*i/\xd1\x89B\x1f\xa3G\xc8\x12\xf5\xdc\x10\x00p\x06$\xaa\x03\xbf\x1f\xa3\x01@,@\xa2:\x80D\x01s\x00\x12\xd5\x01$\x0a\x98\x03\x90\xa8\x0e\x20Q\xc0\x1c\xa4\xb7Do\x06\xa3\xc2\x01\x80\x0bi-Q\x00H}@\xa2\x80\xcc\xa4\xff\x16\x10\x98\x14@\xa2\x00\xc1\xe7\xcc\x93~a\x0e\x98\x0d\x90(\x80\xc9OR\x8b]\xa7a\xb5^S\xc2]\xa2\x0c\xc3\x08e*gN\xda\xc2\xc7\xf5\xd7\xe5eUMVg\xefU[_\x9c\xa9\xfey\xb9[\xb4\xe1d\x10\x7f\x1d0\x1e@\x1d\x8cT\xc0\x0c\xf0\x96(\xc30B\x99\xca\x1bOvxm\xbdyy.gV<?+\xf7\xc5\x91\xc9\x85X?(e\xa5>Y\xb8%\xc3\xaf\x09\xe3$\x10ky\xf0\xf8\xeb@\x9c*\xa2\x97_\x02\xcc\x02o\x892\x0c#\x14\xa9\xfc\x097\x9b~\xd4\x8c\x83q\x88O\xd4r\xae\xf1Bh/0\x97\xd5d\xa5Vl\xc6\xd9^M\x18\x17AW\xee\xbc\x18\x9b\xe3\xaf\x03Y\xc0\x0c~/`V8K\x94i\x18\x11IM\"#(\xde\xae\xf6\xd8\x12T1`\x90\xa7\x13u\xc6\x99:\xdb=\x86F4a<\x0cT\xa0{b\x0d\x1f\xe3\xaf\x03H\xd4\xcc\xf0\x95(\xdb0\"\x92\xca\x97@\x16B\x19t\x91\x16\xc1&\xad\x9a\xb9V\xb5\xfdr\xb5\xc3\xb1\xff\xa3m\x0f/\xda\xf4\xa5z\xc7c\xf9\x19\xd4\xed\x81m\x18A\xe8C}\xf4=\xb0l\x96%\xff\x9e\x90\xa0C\xa9J\xaa\x1a\x96\xcc\x1e\xc8D\x99\xc3\xaa0\x8cn\x1d\x02k3\xf2\xc9E\xc5\xb8\x0e\xc5r\x06\xbb*UM\x17H\xd4\xb4\xf0\x95(\xdb0\"\x92\xca\x99>\xafW\xfe\xd1\xf6\x05\xefA\xd4\xe4\xf5\xaa\x87v\xd7\xcf\x9c\xa9]\xbd\xb8v\xf7\xb6\xbb>\x8d\xda1\xb0>3\xef\x88\x9ea\x04\xc1g\x93\x8a\xf2\xa0\xefu\xb5\xde\x93\xd1\xabNU\xb29\xc7\xda'T\xd9\xc9\xa2b\x8a0\x8c^\x1d\xda\xf22\xd7\xd3n\xb9q\x1d\xacN\xaf\xd7\xdbU\x89\xb6\xa8R\x15\x08\xe3]\x15\xb9q\xf5\xf1\x81$\xc0U\xa2l\xc3\x08E*\x7f\xb2B\xeb*\xb0;\xba\x8f;\xea\xaf\xe1\x1b\xd7\xb4\x1b\x86\xca\xd0c\xfa\x86\x11a\x02\xad\xe4\xab?;\xc6\x1d\xc7-\xc8\x85\x03\xd9\xc7\xa2B%\xac:\xd4\xa1\xb2\x90\xd1\x8ca\x1d\x9a\xfa\xc5a\xab\x13\xe9\x9b\x94.\x11\x9b\xd8x{\xf9\x00wxJ\x94m\x18\xa1L\xe5\x8f\x91D\xab\xa3\x1bP\x19wn\x96K\xdf0\"\x82\xbf\xb9\xaa0\x07\xcd\xd6\xdb\x8c[Q\xeeZ\xbcc\x96\xa0\x0eU\xb0\xea\xe0\xb6\xe6\xca\xb6\xc1q\xd4Al'\x97!7\xd6e\xac\xc3U\x0c\xad\xa8i\xe1)Q\xb6a\x842\x95?F\x12]\xc7H\x14\xdb\xd0J\xb4\x90(B\xcf0\"Lo^\xfe\x93m^\xbb\xaeD\xc7\xb3\xd7v~}\xb4\xb0I\x1d\xaaa\xd6\xe1R\x15\xaa\x94\xdaQ\xc3:\x88\x0a\xad\xb2\x1c\xd1\xdfJ\xf0\xa2\xde\xd8\x19\x80\xa4\xc1S\xa2:\x86\x11\x8aT\xfe\x18I\xf4\x19F\xa28\x12\xcd\x8f\xb3cX\\INs\x99\xaeD\xdb\xc5\xb6\xef\xbe\x82\x9c\x80:T\xc3\xac\x03\x1d\x8d>\x19_\xd3\x17\xb0[5\xbd\xe7(`F\xd7\xbc\xf0\x94\xa8\x84\xc60B\x91\xca\x9f\x09H\xb43?^m`\x9cO\x9c#\x82e\xba\x12mC#\xf8\x02Z\x81\x83\x05\x97\x14\xa1:\x8f\x8eD\xc9\x9c\xee\xacx\xdc\xe4\xfc\x15\xf4n\xabGc{\xa1\x00$j^xK\x94a\x18\xa1L\xe5\x8a\xd0\xe3\xf5\x92\xe9\xce@hF\xb7G\xdd\x8e\x7f\xf9\xc7\xc1\xd5\xf5\x83\x83\xd1#\xc1ev\x8d%\xb0.MhY\xf3\xe62d\xdb\xa2\xa3\x80\xf1\xec\x9a\xb6\x82\"K\xddf\x8b_\x11*2\xe8\xd4Ab\xc8\xbe\x0c\x1b\x12(F[\xbc\"Nk\x8cL}\xe0\xbdfZxK\x94e\x18\xa1L\xe5\xc9\x1b\x92\xb3\x03ra!\x97\x06\xaa;\x92\x18_vP6\xe9\xec\x1e\x0f\xc1\x1dEV\xdb\x03\xee;,zM\xd8\xe9;lu\x81\x93E\xb9\xcd\xaa0\xc2\xcd\xd7\xe1B\xa6<\x9dT\x10#\xd3x\xe6\xb2\x81\xf1d\x0c4\x00CxK\x140'm\xc5\x08~\x8cfN@\xa2\x80\xc4\xf8@2f\xd4\x01C@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00\x07\\\xd9\x0d\xe2kO.\xf7_3\xa5\x01\x20\xd1\x94\xa0\xbd\xd2\xcf\x08\xcd\x88\xbf\xb2]\x9b\x18\xc8^\x8b\xc60\xbe\xcf\xa6Y\xf5\x85\x01\xb3\x84i\x0cw\x89j\x0d#\x047]\x16E\xb3\x82\x1d\x10f\x0bjb\x84\xf1\x93\x88w\xc4\xcd\xb2%C\xebz\xd1\x9f)\xccj\xc7\xe3\x96\x8dQ\xe9\xa3+\xf2\xb3go\x96\x7f\x1f\xef\xb2\xe7\xe4o$?\x88c\x95\xa0\x0f\xcfsK\x0a\xbc%\xca0\x8c\x08\xb8.\xf8DL\xdd6L\x0a\x9d\xfdF9th\xcep3\xc2\x04H\xc4;\x02\x1b\xac\xb6=\xf8n\xec\xed\xd8\x93\xa9Yl\xb0\xd7\x1a,h\x15\xaf.Q\xebI\x8c|c\xf6v\xcf\xc6\x9c\xd9t\x8d\x9c\x85\x19u\xed\x0d\xa8U\xa7\x04)?+1\xa1sKExK\x94a\x18\x11pM\x13K\xae\x8a\x1a\xa3\x1cl.Y\xd63\xc2DH\xc4;b\x08\xc5^Tb\x9d\xce:-\x11\x1a\xac\xd1\xff\xa1\xfe\xcc=h(X\x18mo\xb1\xa4\x80\xf4\x9c\x86\xb3I\xe3\xba\xc4\xdaM\xd6gi\xd6)\x81\xc0\xaeY\"\xe7\x96\x92p\x96(\xcb0b\xdaH\xb4,\x8eeLX8g\x05\x18a\"$\xe2\x1d\xd1c\xb0\x8c\x91\xdeRJ\x11\x02\xb3\x9c\xd1I\x8f\xa1\x85\xe2\xe1\xa2\xc7\x98\xc5\xd2B\x10\xf7U\x90\xa3\xd2\xfe\xfb\x88\xb4\xf2\x03\xa3\x04\xacW\xb3D\xce-%\xe1+Q\xa6aD\xbaIt\x20\x13\xa1\x86\x91U\x05YU\xe4*\xd4R\x99]D\xdc%<\xf2\xf2$ed\x9d\xea\x8c\x16<jA\xc5\xaa\xbcu\xc8\xe2Z[\x94]\xa5\xf9c\x089OF\x87\xba6\x12:\xc4\xef_\xc1\x16\xc2\xe0\xa6\xda\xea\xe5\x9bjo\xe0\xd7\xa5uZ\x1ct\xdd\xd0\x1b\xa7\xd6-^\xbd\xfb:\xc6\xbb\x1c\xd5\xc7w\xd6.\xdd\xf4\x91\x9c\xbd!+z^!8,\xe0e\x9a\xc9\xa2nIF\xceB\xf1ob\x09`\xc5fm\x09XO\xa2\x89\x9c[J\xc2W\xa2L\xc3\x88\x80\xeb\xe4\x0b\xae\x03\xde\xb4\x99-\x12Z\x0f\x14\x14\xe5\xe4\xaf]A&1\x9d\x19u\x9ef[Y\x10\x07\xba\xbdEv\xaf\xd7+v\x1b|^\x8b\xd8d\xf4\x90\xf5\xbe\x14y\x87\x0fd\"[\xd3\xf6\x9c\xfb\xa2\xcb\xebG]\xd1\xa1\x8e\x8d\x84\x20/L\xaf\xf9S\xc6\xed_\xe1\x1f\x1d=\x82\x8e\x8c\x8e\xaa'\x06\xfe\xed\xae\x9dg\xce\x9fZ\xee\xf8\x12_\x1b\xa4\xab\x9d\x0d~@\x92w:v\x9f?\xfe\xe0\xe37\xf0\xe53\xd5\x8e\xdaC\x87j\x17]\x96\xf2w\xb3\xb4\xa4\x9d,\x92\x11\xf2V\x89=\x8c\x8a=\xc5\x19y\xce\xd0\x92\xfa\xda\x12\xd85\xc3\x09\x9c[\xaa\xc2U\xa2l\xc3\x88\x80\xabe`l\xb8\xf5`\xdahT\xfc\xc2\xa1y\xe2\x99\xd2\xb6\x93\xcc\xee\xf4\xa2\x8345\xdc\xd1\xa5N2MVu^l\xcd\x155\xbd\xca\x16]\x98'2\xcb\xa2\x08Y6\x12v\xb9\xa5\xd6]\x8e\xd3\xc8\xbfBgi\xfb\xe3\x0f\x92\xc6\xfa\xf8\xd2\x1b\xe4C\xb8\xa3\xfb\xba\xe3\x94\xf8\xfa\xae\xe3\x8c\xf8Z\xfd\xb0X\x93k\xb5\xf2\xa2\xdcc\xac\x81\xa0f\xb2H&\xe8\xcc\x12/[\xf9\x19\xb6-\x1d\xcdy\xf9r?^S\x82\xf1\xa2\xfbF\xe7\x96\xb2\xf0\x94(\xdb0\x02\x07\x87\x888\x05w\x1a\xad\xe4Z\x16\x9a\xeex\xa0P\x20\xe4\xd3\xa1\x95\x8eD\xc3S#Vg$UA[\xe4[\xa9\x08Y6\x12#\xf2\xc2\xf4\xfas\xb2\x06\xfe\x15\xc1N\x8f\xa7\x095y<\xea\x81\xdc\xa7\xb5\x0f\xef>\xf5\xfe\x8d\xeb\xf4CX\xa2\xdb\x1e\xbe\xfe\xa5H\xedN1\xae\xdeOR\x8e;\xa4K\xc6\x98tIRS\xa8s\xe1\xa8\xa3\x0b\x18\x97Y\x89\x80\xc7\xb2\xe5>\xbd\xa6\x04\x9d\x9a)1\xf2\xe6HUxJ\x94m\x18\x11\xc2\xdb\xa6\xb7_\xeaQV\x11\x0a\xe4K?\xbd\xb6\xebH4\x94W\x95\xaa@1\x04S\x84:V\x16\xb11\xf2\xaf\x20\xb0F|\xd7N=\xb3\xda\xb1\xfc\x97\xeaV\xf4qGd\x01\xd1\xeaC$e\xd0!\xdd\x90\xe9e\xac\xca\xebEm\x0a\xc3\xe50\x81\x9aLz\x17\xa9\xa6\x98~\\V&%\xb3J0\x98\xc8\x8a\xe7\xdcR\x12\x9e\x12e\x1bF\x84\xd4\xda\x19\xa7\x07C*\x10\x16\xe3\x8a\xc2~\x8a?\x9cJo\x05S16X\xd5y\xf5$\x1a\xb061B\xe3\x89U\x06F\xfe\x15\x04\x86\x10\xde\xdd/\x8a\xf3\xda\x99E\xc7\xc9\x07z\xe0S\x9f\x92V\xf4]\x0ai9\xabw\x93M\xa7\xe4V\xb4\xc9\xa2\x9dw\xae\xb1\x09\xd8\x19\xa9\xbe\x8c\xaf,W\xeaN5\xe4\xd0q\xce\x12\xf9z\xc5*\xc1@\xa2\xf1\x9c[J\xc2S\xa2\x12\x1a\xc3\x08\x0f\xb5\x04\xf2\xbb/\xc4\xdc-\xa5\x08\xcb\xaeC\xba\x17\xbfq3y\xb5\x8b]\xbdq\x9a@\xfas\xc1\x8a8%\x8ak\xee\x08j\xc3\x09I\xd4\xc8\xbf\x82p)G3f<\xe48O\xde\xeaw\xd1\xd7z\x8c?#\x03\xd0\xf3t\x14\x8a\xf7\xffR|\xa9^N\xc6\xa2\x0f\xd7\xd3\xec\xc1\xe2\x85\xd1%`\xbfe=\xeeGM\x19j\x8b\xc5\x81YE\x97\x88\xbf)\xb9\xe7IN\xfe\x12}\x94\x97]\x02\xb3f\x0a\xe29\xb7\x94\x84\xb7D\x19\x86\x11c\xae\x8e\x91\xb1\xbe}\x9etY\x0c]\xe8\xa1s\xb7\xd2\xa8q=z\xa0\xb5\xdd\x89\xe8e\xa9\xc9\xba\xbdm^69\xe5J\xdb\x96\xcd\x95(\xd3=\xac\xc8\xeb\xf3Z\x9c=\xb8\xdfi\xf1F\xcfE\xbe\x93\xb1=*\x8ci#\x11\x03#\xff\x0a\x1d\x0e9\x16\x1fz\xfd\xf5\x9d\x8eA\xfa\xa1\xfa\xf8\xeb\xf5\x8b\xc9\xa1\xf7\xdf\xb5\xed\x8c\x98J\xa7\x8b\x1c\xeb\xce\x9cZ\xbd\xf4\x03\x9a}\x07\xd2>F\xb5\x1d\x8d\xe0\x03\x85A\xab\xea\xc0\xc7\xb2fy\x88\x95E\xbe\x18o\xb44tl\xb7\x15\x07tK0b\x82\xe7f~xK\x94e\x181~\xf2\x80\xdb3\x94.\x0a\xc5\x03\x92\x0f\x85\xdc\x0et\xd8m\xb9v\xe9&\xb0P\x97\x9be\xa77\x05F\xecY9U\x1b\x11\xaaS\xe4\xad\x13\xdf-C\xd9\xe2k]t\x89\x0d_\xefV\x87\x13\xb5\x910\xf4\xaf`s\xaa\xfePm\xf5\x83\xf5T\xa1\xf8\xfa\xee\xa5\x8b\xea\xa51\xe7\xf9\xfa\xe5K\xebi\x03[\xbd{\xe7\xd2\xdam\x7f\xa1\xa9\xde\xac\xf0}\xdc\x08w\x88G\xf4Z<\xea\xf9\xd8\xd0\x0c4\xed\xdd\xb6\xce\xce*j\x08\xe8\x97`\xc4\x04\xcf\xcd\xfc\xf0\x96(0\x11\x1e\xb3\xb42B\x13!M\x17Q\x0eZ\x9c\xda\xdbg\xe3H\x1c\xcd\x04+\xd1\x0a\xcd\x16\x06\xcc\x12\xa6/\x20\xd1\x94`G\xfe8#4\x0f\x11\x89\xfag1\x7f\xa6Bo,\x09\xef\xc4\xd3U\xd2)a\xda\x02\x12\x05&\x01E+\x0aL2\x20Q\xe0\xa6\xf9l\xb0z\xd7\x1fn\x18\xe5\x02&\x06H\x14\xb8iv9\x1c\x0e\xc6\xc3N\xc0\xa4\x00\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S3\x9d%Z\x83l\xab\x86\x8d2\x01@r\x99\xce\x12\xf5u\xba\x8bm\x13Z\xf4\x12\x00\xb8\xc1]\xa2Z\xc3\x08\x91\xe1c\xee\xd6>\xbd=\xa6\x92.4\x80\x01\xc0\xcc\xf0\x96(\xc30\x02\x0b']=\xa3\xfd\xaeX?\xa9\x9f*z\x0d\xd6u\x06\x80d\xc3[\xa2\x0c\xc3\x08|z\x8f\xd8\x9a\xfa]\xc9\x18\x16\x82D\x01\xb3\xc3Y\xa2,\xc3\x08\x9f\x8b\xaeZ\x94\x94A!H\x140;|%\xca4\x8c\xe8\x11\xd5\x1a\xcfO}\xa7\x82\x81\xc8J\xef\x00`J\xf8J\x94i\x18\xd1\xee\x19ns\x1d\xe8N\xcaZ\x18\x82\xad\xb2{,Y\xd7\x07\x00\x88\x03\xae\x12e\x1bF\xb4R\xc3\x88\x03\xadI\xd1\xe81\x84\xd0=F\x99\x00\x20y\xf0\x94\xa8\x8ea\x84g\x0f]\xf5\xda\xdd\x1b{\xef)!`+\xdc\xd1\xa9\xe7\x12\x02\x00&\x80\xa7Du\x0c#\xba$\xa7\x88\xaeh\xf7I\x1e\xf4\xa2\x93FY\x00\x20\xa9\xf0\x94\xa8\x8eaD\xbf\x9b\x0e\x06O'\xc30\x02ft\x01\xb3\xc3S\xa2\x12\x1a\xc3\x08?\xbd\xe9\x12\xd8\xd7\x17s\xb7\xa9\x01$\x0a\x98\x1d\xde\x12e\x18F\xe0\xbe=}cC-m\xc9\x98.2r\x8d\x07\x80d\xc3[\xa2,\xc3\x08|\xa9\xdd}\xa4\x8f\xbfB\x05_\x7f\x8d5m\xcc\x9c\x814\x85\xb7D\xcd\xc4\x12\x84\x0a\x921G\x05\x00\x090\x9d%\xea\xeb\x1f\xc3\x00`r\xa6\xb3D\x01\x20\x05\x00\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x022\xb0>\x8c9\x01\x89\x02\x04\x9f3\x0f-1\xca\x04$\x03\x90(\x20\x12,.v\x9d\x86'\x96M\x09w\x89j\x0c#\x84\x16y\xb5\x94\x031\xf7\x9b\x1aN\xda\xc2k=\xf8\xeb\xf2\xb2\xaa&\xab\xb3\xf7\xaa\xad/\x14n\xb7ng\xa4\x86\xf1\xcf\xcb\xdd\xa2\x0d'\x83\xd0\xd1\xbe\x87$\x0aU\xa9j\x06P\x07#\x150\x03\xbc%\xaa5\x8c\x10\\\xfd>\x91>W2\xdcU<\xd9/\x84\xc2yy.gV<\xebm\xfb\xe2\xc8\xe4B\xaePXf\x99\xcdH\x0d\xf3d\xe1\x96\x0c\xbf&\x8c\x93@\xac_\xbb\x86\x8ef\xaf\xf0\x8a\x1c\x94\x17:d\xd5\x01\xe37\x90\x97\x91\x0a\x98\x01\xde\x12e\x18F\xd0\xe3\xf1\xd4\x00\x00\x0f\xb1IDAT\x0c\xd1U\x8cZ\xbac\xef8E\x84\x9bM?j\xc6\xc18\xc4'j9\xd7e\xd8\xd8\xbe\x80B\xd2\x0fd\xac\xc8\x08\x15\x1bI\x8dP\xb1\x19g{5a\\\x04]\xb9\xf3bl\x0e\x1d\xad\x8a\x8e1\xabr\xc6T\xa9j`\x81\x18\xf3\xc2Y\xa2,\xc3\x08\xca\xb1\x17\xf8\xaf\xba\xa0b\x04\xc5\xbb\xbc\xd9\xd8\x12Ta\xd4\xe2w\xa2\xcep\xd4\x1f^\xf1>\x92\x1aa\xb6{\x0c\x8dh\xc2x\x18\xa8@\xf7\xc4\x1a>\x86\x8e6NZf7r\xabS\xd5\x80D\xcd\x0b_\x892\x0d#\x08\xc3\xaeq\xdd\x9d\xa6\x8c@\x16B\x19t\x04,\xd8\xa4\xe1\xdaZ\xd5\xf6\xcb\xd5\x0e\xc7\xfe\x8f\xb6=\xbch\xd3\x97\xea\x1d\x8f\xe5g\xac%-\xe3X\x8e<\xcc\xcb\x89\x96J\x1f\xea\x93\xa3\xa6|\x9c\xdf\xa4I\x8dP\xd5\xb0d\xf6@&\xca\x1cV\x85at\xeb\x10X\x9b\x91O.*\xf1\xd4\x81\xe4\xaab\xa4F\xe8\x02\x89\x9a\x16\xbe\x12e\x1aF\x10ZO\xeb\xee3\x85\xf4y\xbdVI>\x17\xc4\xb1Z\x93\xd7\xab\x1e\xda]?s\xa6v\xf5\xe2\xda\xdd\xdb\xee\xfa4j\xc7\xc0\xfa\xcc\xbc#\xa2\xb2\xdd\xcd\x12\xee\xe8.\x80\xcf\x16*j^\x0d^f\xd7\xa4F\xd8\x9cc\xed\x13\xaa\xec=AU\x18F\xaf\x0emy\x99\xebi\xff9\x9e:D\xba\xb9\xcc:\x08\xe3]\x15\xb9q\xf5\xf1\x81$\xc0U\xa2l\xc3\x08L\x16\xc1N\xd6\x84\x7fV\xa8\x85cwt\x1fw\xd4_\xc37\xaei7\x0c\x95\xa1\xc7\xc4>\xe4\xa8\x84~\x17\x20\x98\xbd\x1d\xef\xc8\x8e1v\xdd\x82\\8\x90},*T\xc2\xaaC\x1d*\x1b\x92C\xe3:(\xba\xb9L\x96\x88mp\xbc\xbd|\x80;<%\xaac\x18!r\xb25\xd6~S\x89\x91D\xab\xa3\x1bP\x19wn\x96\x0b\x8f\xa2\x10\xba\x9e\x13\x03\xa8[\xe8\x8ea\x05\xde\x8ar\xd7\xe2\x1d\xb3\x04u\xa8\x82U\x07\xb75W\x16]\x1cuPts\xd9\x9b;\\\xc5\xd0\x8a\x9a\x16\x9e\x12\xd51\x8c\x10q\xf7\xc5\xd8mJ1\x92\xe8:F\xa2\xd8\x86V\xa2\x85D\x11^\x8f\x84\xfe<l3UO\xb3\xde\xe6\xf1\xec\xb5\x9d_\x1f-lR\x87j\x98u\xb8T\x85*\xa5v\xd4\xb8\x0e\x8an\xae\x1e^\x94\x0cG\x1d\x20\x1exJT\xc70\x82\xacG\x9f4\xe7##\x89>\xc3H\x14G\xa2\xf9\xf1v\x0ck\xcaz{{\xcbj\xf46\xb7\x8bm\xdf}\x059\x01u\xa8\x86Y\x07:\x1a}2\xbe\xa6O\xea\xe6\x8e\xae\x8d1g\x0e3\xba\xe6\x85\xa7D%4\x86\x11\xa4y\x8d\xef\xbb6\x05L@\xa2\x9d\xf9\xf1jCd\x16\x99$^;Kos\x1b\x1a\xc1\x17\xd0\x0a\x1c,\xb8\xa4\x08\xd5yt$J\xe6tg\xc5c\x1a%ws[Q\x8c\xe7\x1c@\xa2\xe6\x85\xb7DY\x86\x11b\x93\x9a\x94\x9b\xa2B\x8f\xd7kuz\xbd\x81\xd0\x8cn\x8fzZ\xe7\xcb?\x0e\xae\xae\x1f\x1c\x8c\x1e\x09.\xb3\x0f\xe18\x11\x8e\xa1\x8d\x01\x1c\xd8\x88\x8e\xe9\x9c\xe0xvM[A\x91\xa5n\xb3\xc5\xaf\x08\x15\x19t\xea\x201d_\xc6LWs\x0f:H\x1e/j\x88%\xd1>\x94\x9c'G\x00cxK\x94i\x181\xcaz\xe0e\xeay#C\x9agqa!\x97\x06\xaa;\x92\x18_vP6\xe9\xec\x1e\x07'\xc5B[\xf1\x11\xf1U\xef\xa6\xd2\xe9;lu\x81\x93E\xb9\xcd\xaa0\xc2\xcd\xd7\x01\x17\xc9\xd3I\xb1f\x84\xc63\x97\x0d\x8c\x1b>3\x05$\x03\xde\x12\x05\xccI[1\x82\x1f\xa3\x99\x13\x90(\x201>\x00\x0eT\xa6\x04$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0ap\xc0\x95\xdd\x20\xbe\xf6\xe4&\xb6L0@\x00\x89\xa6\x04\xed\x95~FhF\xfc\x95\xed\xda\xc4@\xf6Z4\x86\xf1}\xb6x~t\xc8,a\x1a\xc3]\xa2\x1a\xc3\x08\xf1?\xf0\xd5\x17\xf6\xbd\xf0j\xdc\xbf\x92\x9e\x86lAM\x8c0~\xe2\xf7\xaf\xb8y\xb6dh]/\xfa3\x85Y\xedx\xdc\xb21*}tE~\xf6\xec\xcd\xf2\xff\xbc\xcb\x9e\x93\xbf\x91\xfc\x20\x8eU\x82><\xcf-)\xf0\x96\xa8\xd60\x02\x07Z\xda\x86\xc7\x86\x8f\xb4\xa4\xbdF;\xfb\x8dr\xe8\xd0\x9c\xe1f\x84\x09\x10\xbf\x7f\x85\x88\xc1j\xdb\x83\xef\xc6\xde\x8e=\x99\x9a\xa5\x9az\xad\xc1\x82V\xf1\xea\x12\xb5\x9e\xc4\xc87fo\xf7l\xcc\x99M\xd7\xc8Y\x98Q\xd7\xde\x80ZuJ\x90\xf2\xb3\x12\x13:\xb7T\x84\xb7D\x19\x86\x11\xdeV\xd2\xfd\x11Z\x13\xf1JHI*t\x970\x8a\xcd%\xcbzF\x98\x08\xf1\xfbW\x88\xdd\x1c\x14{Q\x89u:\xeb\xb4Dh\xb0F\xaff\xe6\xcf\xdc\x83\x86\x82\x85\xd1\xf6\x16K\x0a\xc8\xff\xfcp6i\\\x97X\xbb\xc9\xfa,\xcd:%\x10\xd85K\xe4\xdcR\x12\xce\x12e\x19F\x9c\x96\x16\xealO\xcaj\xd7<)\x8bg\x19\x13\x06\xceY\x01F\x98\x08\xf1\xfbW`\xdcc\xb0\x8c\x91\xdeRJ\x11\x02\xb3\x9c\xd1I\x8f\xa1\x85\xe2\xe1\xa2\xc7\x98\xc5\x05\xf4\xed\xbe\x0arT\xda\x7f\x1f\x91V~`\x94\x80\xf5j\x96\xc8\xb9\xa5$|%\xca4\x8c\xf0\xb7t\xf9\x05\xbf\xb7\xc5\xd4\xb3\x20\x090\x90\x89P\xc3\xc8\xaa\x82\xac*r\x15j\xa9\xcc.\"\xee\x12\x1eyy\x922\xb2NuF\x0b\x1e\xb5\xa0bU\xde:dq\xad-\xca\xae\xd2\xb4\x1fB\xce\x93\xd1\xa1\xae\x8d\x84\x0e\xf1\xfbW\xb0\x850\xb8\xa9\xb6z\xf9\xa6\xda\x1b\xf8ui\x9d\x16\x07]7\xf4\xc6\xa9u\x8bW\xef\xbe\x8e\xf1.G\xf5\xf1\x9d\xb5K7}$go\xc8\x8a\x9e\x16\x0a\x0e\x0bx\x99f\xb2\xa8[\x92\x91\xb3P\xfc\x9bX\x02X\xb1Y[\x02\xd6\x93h\"\xe7\x96\x92\xf0\x95(\xdb0B8\xe9r\xb9:\xe2\x99\xecK\x09\x84\xd6\x03\x05E9\xf9kW\x90ILgF\x9d\xa7\xd9V\x16\xc4\x81no\x91\xdd\xeb\xf5\x8a\xdd\x06\x9f\xd7\"~\x93z\x9cVU\xde\xe1\x03\x99\xc8\xd6\xb4=\xe7\xbe\xe8\xf2\"MC8\xd4\xb1\x91\x10\xe4\x85\xe95\x7f\xca\xb8\xfd+\xfc\xa3\xa3G\xd0\x91\xd1Q\xf5\xe5\xf2\xdf\xee\xday\xe6\xfc\xa9\xe5\x8e/\xf1\xb5A\xba\xda\xd9\xe0\x07$y\xa7c\xf7\xf9\xe3\x0f>~\x03_>S\xed\xa8=t\xa8v\xd1e)\x7f7KK\xda\xc9\"\x19!o\x95\xd8\xc3\xa8\xd8S\x9c\x91\xe7\x0c-\xa9\xaf-\x81]3\x9c\xc0\xb9\xa5*\\%\xca6\x8c\x10N\xb6\x0e\xfb\x86[O\xa6\x8dF\xc5/\x1c\x9a'\x9e)m;\xc9\xecN/:HS\xc3\x1d]\xea$\xd3dU\xe7\xc5\xd6\\Q\xd3\xabl\xd1\x85y\"\xb3,\x8a\x90e#a\x97[j;\xd6\xc3\xc0\xbfBgi\xfb\xe3\x0f\x92\xc6\xfa\xf8\xd2\x1b\xe4C\xb8\xa3\xfb\xba\xe3\x94\xf8\xfa\xae\xe3\x8c\xf8Z\xfd\xb0X\x93k\xb5\xf2\xa2\xdcc\xac\x81\xa0f\xb2H&\xe8\xcc\x12/[\xf9\x19\xb6-\x1d\xcdy\xf9r?^SB\x1c\x8b\xee\x1bzs\xa4(<%\xaac\x18\x11\x9a.J\xa3e\"\xcbB\xd3\x1d\x0f\x14\x0a\x84|:\xb4\xd2\x91hxj\xc4\xea\x8c\xa4*h\x8b|+\x15!\xcbFbD^\x98^\x7fN\xd6\xc0\xbf\"\xd8\xe9\xf14\xa1&\x8fG=\x90\xfb\xb4\xf6\xe1\xdd\xa7\xde\xbfq\x9d~\x08Kt\xdb\xc3\xd7\xbf\x14\xa9\xdd)\xc6\xd5\xfbI\xcaq\x87t\xc9\x18\x93.Ij\x0au.\x1cut\x01\xe32+\x11\xf0X\xb6\xdc\xa7\xd7\x94\xa0S3%F\xde\x1c\xa9\x0aO\x89\xb2\x0d#\x82{.\xd0\xf0\xc2\xbe\xf4\xb9\x00\x96U\x84\x02\xf9\xd2O\x17\xd7\xd3\x91h(\xaf*U\x81b\x08\xa6\x08u\xac,\x0c0\xf0\xaf\x20\xb0F|\xd7N=\xb3\xda\xb1\xfc\x97\xeaV\xf4qGd\x01\xd1\xeaC$e\xd0!\xdd\x90\xe9e\xac\xca\xebEm\x0a\xc3\xe50\x81\x9aLz\x17\xa9\xa6\x98~\\V&%\xb3J0\x9a\xc8\x8a\xe3\xdcR\x12\x9e\x12e\x1bF\x04\xf7I\x12\xedO'\x89\x86\xc4\xb8\xa2\xb0\x9f\xe2\x0f\xa7\xd2[\xc1T\x8c\x0dVu^=\x89\x06\xacM\x8c\xd0xb\x95\x85\x81\x7f\x05\x81!\x84w\xf7\x8b\xe2\xbcvf\xd1q\xf2\x81\x1e\xf8\xd4\xa7\xa4\x15}\x97BZ\xce\xea\xddd\xd3)\xb9\x15m\xb2h\xe7\x9dkl\x02vF\xaa/\xe3+\xcb\x95\xbaS\x0d9t\x9c\xb3D\xbe^\xb1J0\x92h\x1c\xe7\x96\x92\xf0\x94\xa8\x84\xc60\xa2S\xee\xe8\xa6\xcd,\xb9Bv\x1d\xd2\xbd\xf8\x8d\x9b\xc9\xab]\xec\xea\x8d\xd3\x04\xd2\x9f\x0bV\xc4)Q\\sGP\x1bNL\xa2\x06\xfe\x15\x84K9\x9a1\xe3!\xc7y\xf2V\xbf\x8b\xbe\xd6c\xfc\x19\x19\x80\x9e\xa7\xa3P\xbc\xff\x97\xe2K\xf5r2\x16}\xb8\x9ef\x0f\x16/\x8c.\x01\xfb-\xebq?j\xcaP[,\x0e\xcc*\xbaD\xfcM\xc9=Or\xf2\x97\xe8\xa3\xbc\xec\x12\x985S\x12\xc7\xb9\xa5$\xbc%\xca0\x8c\x10\x0e\xb6\x0e\x8d\x0d\xb5\x1eL\x97\xe9\"\xa1\x87\xce\xddJ\xa3\xc6\xf5\xe8\x81\xd6v'\xa2\x97\xa5&\xeb\xf6\xb6y\xd9\xe4\x94+m[6W\xa2L\xf7\xb0\"\xaf\xcfkq\xf6\xe0~\xa7\xc5\x1b=\x17\xf9N\xc6\xf6\xa80\xa6\x8d\x84>\x86\xfe\x15:\x1cr,>\xf4\xfa\xeb;\x1d\x83\xf4C\xf5\xf1\xd7\xeb\x17\x93C\xef\xbfk\xdb\x191\x95N\x179\xd6\x9d9\xb5z\xe9\x074\xfb\x0e\xa4}\x8cj;\x1a\xc1\x07\x0a\x83VU;x,k\x96\xc7\xeb\xf5:\xf3\xc5x\xa3\xa5\xa1c\xbb\xad8\xa0[\x82\x01\x13=7\xf3\xc3[\xa2,\xc3\x08\xa1\xf7\x88\xbb\xad7m\xfe\xb2\x03\x92\x0f\x85\xdc\x0et\xd8m\xb9v\xe9&\xb0P\x97\x9be\xa7&\x81#\xf6\xac\x9c\xaa\x8d\x08\xd5)\xf2\xd6\x89\xef\x96\xa1l\xf1\xb5.\xba\xc4\x86\xafw\xab\xc3\x09\xdaH\x9cDF\xfe\x15lN\xd5\x1f\xaa\xad~\xb0\x9e*\x14_\xdf\xbdtQ\xbd4\xe6<_\xbf|i=m`\xabw\xef\\Z\xbb\xed/4\xd5\x9b\x15\xbe\x8f\x1b\xe1\x0e\xb1\x07\xe1\xb5x\xd4\xf3\xb1\xa1\x19h\xda\xbbm\x9d\x9dU\xd4\x10\xd0/\xc1\x80\x89\x9e\x9b\xf9\xe1-Q`\"<fie\x84&B\x9a.\xa2\x1c\xb48\xb5W\xdbqtD\xecAU\xa2\x15\x9a-\x0c\x98%L_@\xa2)\xc1\x8e\xfcqFh\x1e\"\x12\xf5\xcfb\xfeL\x85\xdeX\x12\xde\x89gFP\xa7\x84i\x0bH\x14\x98\x04\x14\xad(0\xc9\x80D\x81\x9b\xe6\xb3\xc1\xea]\x7f\xb8a\x94\x0b\x98\x18\x20Q\xe0\xa6\xd9\xe5p8\x18\x0f;\x01\x93\x02H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\xcdt\x96h\x0d\xb2\xad\x1a6\xca\x04\x00\xc9e:K\xd4\xd7\xe9.\xb6Mh\xd1K\x00\xe0\x06w\x892\x0c#\x82\x03m\xfb\xda\x92\xd3\x9cu\xa5\xe1Z7@z\xc1[\xa2\x0c\xc3\x88\xa0\xc7\xdd?\xda\xb7\xa7/\xe6~SD\xaf\xc1\xba\xce\x00\x90lxK\x94a\x18qa\x0fY\x85\xe1\x9d=\xc9\xe8r\x82D\x01\xb3\xc3Y\xa2,\xc3\x08O\x07\xdd\xd4\xd2\x17c\xbf\xa9\x02$\x0a\x98\x1d\xbe\x12e\x1aF\xc8K\xea\xb6\x1f\xd3\xdfo\xca\x18\x88\xac\xf4\x0e\x00\xa6\x84\xafD\x99\x86\x11\xdd-t\x05@\xf7\x91X{N\x11\x82\xad\xb2{,\x9e\xa5\x00\x00\x20Ip\x95(\xdb0\"\xe0\xf6\xf8\x05_\xbb+)k\xf2\x1cC\x08\xddc\x94\x09\x00\x92\x07O\x89\xea\x18F`\xbf\xc7\xe5r\xf5x\x92a\x9f\x1e\xb0\x15\xee\xe8\xd4u\x09\x01\x80\xe4\xc3S\xa2l\xc3\x08\x82\xe0\x0f\xe2\x96Wc\xed;E\xf4\xa2\x93FY\x00\x20\xa9\xf0\x94(\xdb0\x02K\xbe\x92#\xaed\xb8\xcd\xc1\x8c.`vxJTBc\x181\xec\xf2\x8bb=\x90\x94\xa9U\x90(`vxK\x94a\x18\xf1\x8e\xeb\x8d\xb1\x0b-\x9ed<\xb9`\xe4\xe4\x03\x00I\x87\xb7DY\x86\x11\xfd\xadnO\x7f\x12\xee|\x08\xbe\xfe\x1ak2\xba\xd7\x00\x10?\xbc%j&\x96\x20T\x90\x8cid\x00H\x80\xe9,Q_\xff\x18\x06\x00\x933\x9d%\x0a\x00)\x00H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dw\x89\x86\x0d#0\xee\x0a\x99DD\xbc#\x00\x00P\xc3[\xa2a\xc3\x08\x8c\xc7]\xd2*\x80\x0a\xef\x08s\xd0\xd9o\x94\x03\x00\xb8\xc1[\xa2!\xc3\x08\xb1\xe9l\x95%\xaa\xf0\x8e0\x07\x155F9\x00\x80\x1b\x9c%\x1a6\x8c\xc0]\xae\xae}\x92D\x15\xde\x11\xe6\xa0l\x99Q\x0e\x00\xe0\x06_\x89F\x0c#\xb0\x10\x08-w\xad\xf0\x8e\xe0\xca@&B\x0d#\xab\x0a\xb2\xaa\xc8%\xa2\xa52\xbbhm@l\xe6\x91D\x19\xc6u(\xa3\x05\x8fZP\xb1*o\x1d\xb2\xb8\xd6\x16eW\xa9;\xe6\x97\xab\x1d\x8e\xfd\x1fm{x\xd1\xa6/\xd9G\x03\x80\x89\xc1W\xa2\x11\xc3\x08\x82,Q\x85w\x04W\x84\xd6\x03\x05E9\xf9kW\x20Qm\xce\x8c:O\xb3\xad,\x88\x03\xdd\xde\"\xbb\xd7\xeb\x15\xdbt\x9f\xd7\xd2\x84q\x8f\xd3\xaa\xca;|\x20\x13\xd9\x9a\xb6\xe7\xdc\xa7*\xec\xfa\x993\xb5\xab\x17\xd7\xee\xdev\xd7\xa7:\x87\x03\x80\x09\xc1U\xa2\x0a\xc3\x08\x82,Q\x85w\x04o\xca\xd0<\xb1F\xb4\xedtc\xb2d\xe7A\x9a\x1a\xee\xe8ZE\x89\xe2&\xab:/\xb6\xe6\x8a\x9a^e\x8b.\xecqG\xfd5|\xe3Zt2\x00\xdc\x14<%\xaa4\x8c\x20\x84ZQ\x85w\x04g\xca\xacrw\xf5\x81B\x81\x90\xef\xa4\xa9l\x89\x86\xf2b\xab3\x92\xaa\xe0\xf1jh@\x81\xc9\x87\xa7D\x95\x86\x11\x84\xd0XT\xe5\x1d\xc1\x95\xb2\x8aP\x20\x8f@\x97\xd0\x0fl\x89\x86\xf2\xaaR\x15<\xbe.:\x05\x00n\x1e\x9e\x12U\x1aF\x10d\x89*\xbd#8\x13\x16\xe3\x8a\xc2~\x8a?\x9cJ\xef\xd3R16X\xd5yu%\xfaLt\x0a\x00\xdc<<%*\xa1\x19\x8b*\xbc#x\x13\x96]\x07\xa2\xd6\x89\x1b7\x93W\xbb\x1d\xe3q\x9a\x90\xfd\xa4X\xbd\x0a\x90(\x90DxK4l\x18!\xf8|\xeeN\xdf8I\x8bxGpE\xe8\xa1s\xb7\x92u\xe1z\xf4@k\xbb\x13\xd1\xcbG\x93u{\xdb\xbclR\x9fJ\xdb\x96\xcd\x95(\xd3=\xac\xc8\xeb\xf3Z\x9c=\xb8\xdfi\xf1*\x9fY\xfc\xf2\x8f\x83\xab\xeb\x07\x07a4\x0aL6\xbc%\x1a6\x8c\xe8\x93F\xa5\xd4\xc9%\xe2\x1d\xc1\x93\x81\x0c:\xfc\\(}\xea\xb0\xdbr\xed\xd2\x1dZ\xa1.7\xcb\xdeK\xa2\x11{VN\xd5F\x84\xea\x14y\xeb\xc4w\xcbP\xb6\xf8Z\xa7(\xec\xb2\x83\xb2\x09\x03\xc0\xe4\xc2[\xa2\x00\x00$\x04H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00LM*H\xb4\x06\xd9V%\xe1\xc7\xa4\x00`\x06RA\xa2\xbeNw\xb1-`\x94\x0b\x00\xd2\x12\xee\x12e\x19F\xa8B&]h\x20v\x06\x00HSxK\x94e\x18\xa1\x0a\xd9\xf4\xa2\x9e\xd8\x19\x00\x20M\xe1-Q\x86a\x84*\xd4\x01$\x0aLW8K\x94e\x18\xa1\x0c\xf5\x00\x89\x02\xd3\x15\xbe\x12e\x1aF(C=\x06PW\xec\x0c\x00\x90\xa6\xf0\x95(\xd30\"*d\"\xd8*\xbb\xc7\x92\xb0D\x20\x00$\x1b\xae\x12e\x1bFD\x85l\x8e!\x84\xee1\xc8\x03\x00i\x08O\x89\xea\x18FD\x85L\x02\xb6\xc2\x1d\x9d\xa3\xb1\xf3\x00@:\xc2S\xa2:\x86\x11Q!\x93^t2v\x06\x00HSxJT\xc70\"*d\x023\xba\xc0t\x85\xa7D%&4\x16\x05\x89\x02\xd3\x15\xde\x12e\x19F(B=z@\xa2\xc04\x85\xb7DY\x86\x11J\xef\x08\x16\x82\xaf\xbf\xc6\xca\xdfP\x02\x00\xcc\x00o\x89N\x84%\x08\x15\xb4\x1be\x02\x80\xf4$\x15$\xea\xeb\xe7\xee\x9a\x06\x00f!\x15$\x0a\x00\xd3\x18\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x9a\xff\x0f5\x16\x1d\x16\xa8\xc9g\xc2\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/callers2.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xfc\x00\x00\x01\xb0\x08\x03\x00\x00\x00#z\x9e\xf7\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x06\x02\x07\x09\x05\x0a\x0b\x15\x07\x0e\x10\x0f\x11\x0e\x0e\x12\x1d\x15\x16\x15%\x19\x10'\x1a\x0c\x1e\x1d\x17\x16\x1e.!#\x20#$\"$%#%'%'(&)(\"()'-+\x20*+),-+-.,12053'O.\x0f352786<:.9;8=?<B@4#Cxb<\x1aAB@j=\x11DFCLH9\x00f\x00\x00g\x00\x00h\x00\x00i\x01JLI\x00j\x02\x02k\x03\x04l\x050R\x95OPNVQ@\x09n\x07\x0co\x09RTQ\x83L\x1d\x0fq\x0b\x0br\x17UVT\x0fs\x18WYV\x11t\x19_ZH,`\xae\x14v\x1b7]\xad>]\xa1Z\\Y\x16w\x1d\\^[\x19y\x1e:b\xac_a^Ya\x8bac`\x9aZ\x1d*{!@f\xb1Ke\x9e(|*dfclfP+\x7f,fheMj\xaf.\x81.Fm\xb1ikh0\x8301\x841/\x859Jq\xb5mol\x89j_oqn;\x86:>\x88<\xb3h\"{s[Vu\xb5sur?\x8a>@\x8b?uwtB\x8c@@\x8dG\\z\xba\xadq?y{xJ\x8fI^~\xb8L\x90K\x94wq\x85}d~\x80}O\x93Nb\x83\xbdN\x95U\x81\x83\x80W\x95V\xa7|e\x8e\x85gm\x87\xbcZ\x98Y[\x9aZ\x87\x89\x86]\x9b\\^\x9d]\xba\x82Z\\\x9ddr\x8d\xc2\x8a\x8c\x89\x96\x8cnd\x9ddf\x9ff{\x90\xc0\x8f\x91\x8eh\xa1h\xe3\x83+\xd0\x87K\x7f\x93\xc4j\xa3jz\x97\xc6\x93\x95\x92s\xa4l\xa0\x96wq\xa5s\x81\x9a\xc4\x97\x99\x96\xe4\x8b@u\xa9w\x9a\x9c\x99\x86\x9e\xc8\x9c\x9e\x9b\xef\x904~\xaby\xa8\x9e\x7f\x9e\xa0\x9d\x80\xad|\xa0\xa2\x9f\xf9\x94.\xa1\xa3\xa0\xa2\xa4\xa1\x81\xb1\x85\xff\x952\x92\xa6\xcb\xa4\xa6\xa3\xb3\xa6\x82\xa5\xa7\xa4\x8b\xb2\x88\xa7\xa9\xa6\x8d\xb5\x8a\x8e\xb6\x8c\xaa\xac\xa8\xb9\xac\x88\x8d\xb8\x93\x9e\xae\xce\x95\xb8\x95\xad\xaf\xac\x97\xba\x96\xaf\xb1\xae\x98\xbb\x98\xa3\xb2\xd2\x9b\xbe\x9a\xb3\xb5\xb2\xc2\xb5\x90\xb5\xb7\xb4\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xb7\xb9\xb6\xb9\xbb\xb8\xa5\xc4\xa7\xb1\xbc\xd7\xbb\xbd\xba\xa7\xc6\xa9\xcb\xbe\x98\xbd\xbf\xbc\xa9\xc8\xab\xb8\xc0\xd5\xaf\xc7\xab\xbf\xc1\xbe\xc1\xc3\xbf\xb2\xca\xae\xc2\xc4\xc1\xbd\xc5\xda\xc4\xc6\xc3\xb2\xcd\xb7\xb9\xcc\xb8\xd6\xc7\x9d\xc7\xc9\xc6\xbb\xce\xba\xbc\xcf\xbb\xc4\xca\xd9\xc9\xcc\xc8\xbe\xd1\xbd\xc0\xd3\xbf\xca\xce\xde\xcd\xcf\xcc\xc4\xd0\xde\xc8\xd3\xc1\xcf\xd1\xce\xdf\xd1\xa5\xc7\xd6\xc9\xd1\xd4\xd0\xd2\xd3\xdd\xca\xd8\xcb\xd3\xd5\xd2\xce\xd6\xdf\xcc\xda\xce\xe7\xd7\xab\xd6\xd8\xd4\xd4\xdb\xd0\xd8\xd8\xe3\xd8\xda\xd6\xd3\xdb\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd7\xde\xd3\xd5\xdf\xda\xdd\xdd\xe5\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xf0\xe0\xb3\xdc\xe1\xe4\xdf\xe1\xde\xe1\xe3\xe0\xe3\xe5\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xeb\xe7\xe9\xe6\xef\xf2\xee\xfe\xff\xfc(t:\\\x00\x00\x20\x00IDATx^\xed\xbd\x0fp\x14G\x9e\xe7\xbb\xcc{\xbe}\xcf\xaf\x84zf$\xf5\xae4b\xef8M\xb4BB\xc7\x19\x9e%`\xd7z\x08\x8b\xf3\xc2C\x1b\x02\xc1\x03\x9d\xe1\x16\xc6\xd8\xf3\x08\xb3+0\xecB\x888\x9be,\xeel\xe4\x85~\x92\xb5\x1e\x99\x91X\xd9\x20\xa2\xcf\x8c\xa4\xc0\x9a6\x20,\x06#\xd9H0\xd8\xc6\x0b\xde\x18\xf5\x10\xb6\xc5\xc8\xb1\xf66a\"\xda1\xd1\xe4M\xbc\xca\xaa\xee\xaa\xcc\xea\xcc\xca\xeeVw\xb6\xd4\xf5\xfb\x04!\x15\xa9\xac\xac\xac\xac\xfev\xfd\xe9\xea\xfa\xfc\xc1\xef\x93\x07\x01\x000{\xf9\x03Q\xc2m\x10\xb5\x0d\x00\xc0\x0c\x06\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0fd+aQ\x05\xa7\x03\xe1\x07\xb2\x92@c\xa1\xf2\x84\xa8\x92\xc3\x81\xf0\xf7.\x9e\x14U\x91I\xc2\xdd\x99Z\xdc+\xaa2\xa3\x90\xd3\xdfpI\x89w\x20\x20\xaa\xe5p\xe4\x86?\xd0w\xbc\xbd\xfbB\x10O\x06/\xbc\xd1\xfe\x86>I\x94\xf2\xf8\xd7#kk\xf7=\xb0\xab\x11C\xb3\x92\x8b_e\xbe<\xa5\xd9\xaeZ\x8b\xfd\x9f\xd9\x0c\x14\xfaDU\x0c\xa6\xb6\x15\xe6\xad\x88\xfb\x084\x89\xee\xb4\xe4\x1c\x14U\x91\x8b`t\x92\xeeo\"\xa3~U\xe9\x13U\x01\xa4\x86\x7f\xd2\xeb\xbb\x11\xb8q\xf2\xb8\x9a\xf3`\xe7I<\xd9\x19\xa4J\xb9\xecn8\xfbR\xed}\x9b\x0a\xb1L\xd5\xe7-U\x7f-\xcd\xab\x9f\xb2\xa9\xd5\x9a\xd3a\xf3W\x1e\xbe\xfc7DU\x0c\x96\x16z\x1b\xf3l\xdf\xd9\x08\x92\xea\x8eon\xab\xa8Jz\x18\x1ce\x16\x8bFG\xd8\xdf$\xdb%\x19V\xfc\xa2*\x80\xd4\xf0\xdf\xf6\xe2\x03\xb1\xa0\xf7\x06B\xfe\xee\x90:\x19\xea\xf6S\xa5<\xeeW\x9fA\x0f\x12\xcb>BM+\xd4\xccM\xe5\xadh\xb2\xa9s\xdbe\xf7W>q\xef\xc9\xd1\x94\xd2\x8a\xc2\xf1f?\xc9\xee\xecqe\xe6\x00wa=\xbb\\4:\xa2\xfe&\xdb.\xc1\xb02$\xaa\x02H\x0d?\xd2B0\x89\xc3>\xa0\x9f\xf8\xf5\x0eP\xa5<>\xab~\x97\xffG\x1eM\xf5K\xbbP\xe7\xf2z\xbb<5\x16\xc5\x9b\xcbd\xb9\xa9\xc4\x7f\xac\x9alw\x82E\x8d\xa2*i\xa1\xacNT\x83\x8d\xa8\xbf\xc9\xb6K\x00\xe1\x8f\x03\xb9\xe1W\x09\x05\xba}\xea;\xf8T\xe7\xe0Th\xca\xdf9E\x952\xf9vm\xb5\xc61\x84\x8eTW\x9fC\x9f\xd5Vo\xc5\x93\xb5g\x8fm\xad\xdd\xf7[\xad\xceg/\xac\xadm\x88LGi\xaao\xadC+\xbc8\xfc\xc1\xba\"W\xf1\xca\xabj\xe16en\xeb\x93\xc5\xee\x957\xb5*\xa1\x02\xed\x9d!T\x98\xdbT\\4\xb8\xdd]\x15\xe4\xd4%g\x0b\xe6)J\xceq\xa4U\xc8\xf5\xee\x98\x9f\xb7\\{\xdb\x9aZ\xef.\xde\xb1\xc3\x9d\xdfMt!\xe4V4v\xe0\xba9\x9d\xea\x9e])\xb1\xcc\x86n\xd7\xb9s\x0bW\x04\x88\xee\xa0\xabs\x15e\xcf\xcd\xf5\xf3\xf2\x96\x87\xb8\xb3u.\xce\x9f\xbf#\xfaV\xb1'/\x84(\x12n\x81\x81\x7fyq\xae{E1\xaf\xd4\xa7\xaf\x9aRF--\xbe\xd1\x89\xe9o\x8a\xda5\x19\x84\xf0\x8b\x91\x1c\xfe)\xaf\xd7\xdb\xa1\xbd\xe0B\x03\xead_\xc8R\xca\xe4\xd3\xb1s\xd5=cc_\"\xf4\xdb\xb1\xda\x1e\xf4`\xecH-B\xb7\xce\xd5V7\xf4\xf4\xac~\x01\xd7\x18\xab}\xb6\xe7J\x8fzn@\xd2T\x1f\xc8\x9f\xfa^\x00\x87\xdf\xa7<9\xd8\xbd2g\x18\xa1\x1b\xc7\xe7*\xc5\x07\x9b\x8b\xf3\xc6q\x95QeP\xab:X\xa0\xecX\xaa\xb8\x0f\x16\xb6p\xeaR\xb3]\xf6\xfb]\xdae9\\Z\xd8\xdcR\x80wT\xa1\x92\xa2\xd6fW^\xfb\xf2\x16\xb2\x0f\xef\xfb\xbb\x94f\xbf_}\x9d\x06\xfc\xb9\xea<C\x8d.z64\x98_\xd62\xd0\xac\xb4\x90\xdd\x09u\x1f/\x9e_P\xbcc\xbd\x12\xe0\xcd\xd6\x98\xb3\xdd\xd7ZX\x16y\xc3\xbc`}\xa9'\xdcB,\xc3\xca\xfa7\x06\xbcn\x85\x8e\xa9Y\x1a\xbc\xe0\x9f_\xe5\xf7\xfboPK\x8botb\xfa\x9b\xa2v#\x84&\x07\x17\xba\x93:\x86r\x16\x92\xc3\x8f&\x03\xe3\xdd\xf8\xd2^h\xa0\xfbF\xe0F\xf7@\x88*\xe5a\x1e\xf6\xab\xe1G\xa8\xa7V\x9b\\\xad\xee\xe9_lP\xa7\xbe\xdd\xb4\xef[\xf5\xe79\xfa\xaa@S=*\xdb\xb6\x10i{\xfen\xdcx\x99\xf6\xb9\xafk\x1e\xde\xbd\x17/\xc6\xd3>\xe5\xb6^\xb7h\xbd:\xedC\x8dOr\xeb\x92\xb3!\x94\x17\xb9&\xefr\xab/\xcb\xf5\x85\xeaT\x97\xa2\x1e,\xb4*\xe3\xc8\x82y\xd8\xaf\xbdt\x9b]\xf4l\xa1bu\xaf\xa6\xbe\xca\xb5#\x20\xa3;\xea\xf2\x95\xa5A\xfd\x84\x889\x9bO\xc1\x17\x06\x87\x95.\xbdv@\x89\xbd\x14\x96X\x0b\xb1\xb4\x16\xe2m\xd3\xea\xa6\xdf\x1d\xa8R\xe2\xf0\xdc\\\x1a\x8actb\xfb\x9b\x9av#<\xa1\x1e8$p\xb2\xe5Xd\x87\x1f\xe1W\xfa\x80y\xc1\xef\x02U\xca\x83\x1d\xfe\x97\xa2\x93W\xaa?e\xcc\xa4\x86\xbfE9\xa8\x85\x1fM\xb5.\x9fW\x80\x8f$\xd5W\x8evh\xdd\xaa\xe0\xb8\xf5\x1a\xe1\xefBCJ\x10\xcf\xc2\xabK\xceF\xbc\x0c\xf1\xc9\xab\x96\xab&7\xc2I\x8f\xf9\x0c\x9b\x1d~c6\x9f\xf2\xbeY\xb7\x97\x08\xbfqM\x8c9[\xfd\xbc\x10\xa68r\xee\x1c`d8\xb1\x16b\x09\x14\xcd\xdb\xe6}?l9>\xa7J\xc9\x90\x92\xd7\xf0\x84\xa3\x13\xdb\xdf\xd4\xb4\x1b!\xd0\xe7-\x81=\xbf\x18\xa9\xe1\x0f\xe9{\x91\xab\xdep\xb8]\x7f\xcd\xbf\xdf\x1e&J\xb93\xb2\xc3oL\x9e\xa9\xfe\x961\x93\x9a\xe4\xa9\x1d\x93Z\xf8\x87\x0b\x8b\x9bN\xfa\xab\xf4@k\xaf\xa0A\x05\x7f\x9c4\x14=\xfc,\xeaC\xc3.m\x16^]r6\xe2eh\xe4\xaa\x05\xbf-\xf4\xc5\xbb\xe7'f#\xd2etG}\xd1\x97E\xa7\x98\xb3\x95EN\x8c#\xf7\xb0\x0d+\xc6\x9b\xa8Ab-0\x08z\xebJ\x94B\xeax\xdaRJ\x86\xd4X\x1a\x8act\x18\xfdMI\xbb&~e8\xa6\x0c\xb0\x203\xfc\xe1N\xfd\x94VM|4\xfc\xa3\xea\xa4Y\xca\x9d\xd3\x12\xfeW-\xe1\xbfR}\x8b1S\x93\xfe\x81\x11\x0e\x7f\xc9b\xbc\x1f\xa8\xd3\x03\xbd\x1d\xff\xf4*\xb8$\xe8\x8a\xbc\x9c\x88\xf0s\xea\x92\xb3\xb1^\x86\x81\x9c\x15\x81\xab\xf3\x17\xc7\xac\x83%\xfc{,\x19\x1cP\x88\xcf\xb4\x8d\xee\x90\xaf\x7f\xe6l\xeb\xe7\x8djD\xae\x976\xbbb\xf7s\x89\xb5\x10\xcbe|\xa8\x13\xec\xca\xa3?\x93\xa7J\xb5E\xb4\x07\x8c\xc9(\xc2\xd1\x89\xedoj\xda5\x81\xab\xfdq\x203\xfc\xe8\xb8v\xd7\x95v\x80?\x189\xec\x1f\xa4Jy\x10\xe1\x7f\x15\xa1\x07\xcfZ\xc2\x7f\xbfa7\xde\xf5\x1f;F\xcdD\x84\xbf\x18\xbf\x84\xc2\xfa^\xc4U\x88O\"\xe7U\xe9\x7f\x9c\xa7\xbfn\x88\xf0s\xeaR\xb31^\x86\xa3J\xa1\xa2T\xc5~\\i\x86?O\xedHx\xa1%\x83\xc1\xa2*<\x10\xdb\xb5\xb7\x16\xa3;\xe4\x8b\x9e9[\x9f\xa2]\xde\xde\xa3\xdf+\x17.Y\x81bH\xa8\x85\xdb\xcd1\xf7\xd54\xeb\xf7\xc8Um\xe3\x97V\xa9\xa31\xa9\xb7#\x08)=:\x8c\xfe\xa6\xa4]\x02\x08\x7f\x1cH\x0d\xffM\xef\x00\xbe\xca\xa7]\xf0\xeb\xea\x1e\x0f\x8cww\x85\xa8R6\x91\xab\xfd\xda\xdd\xbd\xbb\x1bzz\x9e\xad\xae={\xeb\xcb\xb1\xda#c\x0f>=R\x8b?\x05\x18\xab\xddz\xf6\xca\xb1\xea\xb3\xe4\\S\xf5\xda\x8b\"PU?\xa5\xbe\xb4\xeaZ\x0f\x96)\xee\x96!\xf5\x95\xa3\x94u\xb7\xcfw\xebg\xd77s\xb4\x03\xcd\x1b\xee\x96`W\xee\xd5\x20\x9e\x85S\xd7\x9c\x0c\x0d\xf9\xfd\xaeF\xbf?\x88\xaf\xe07\x0e\xa1\xd1\xc6\\\x7f\x00\x8d\xba\x06|\xfe\x80u\x17\xa4_\xed\x1f\xd2\x8a\x17\x17\x1e<\xb8X\x99\xdbq\x83\x9c\x0d\x0d~\xaf\xc4\xeb\xdb\xae\xb4\x93\xddQ\x97\x80/x\xeb]d\xcf\xd6\xa4\xd4w\xf76*\x9dZ\x95\x16\xc5\x1a\xddD[X\xa9\xe4[\x87\xbfY\xc9o\xf6\x9dl\x8c|\x00\xc1,mv\xb5\xf4.\xcd\x0fPK\x8bgtb\xfb\x9b\x9av\x09.3N\x84\x00\x0bR\xc3\x8f\x02\x83\xdd\xed'\x87\xb4\xb3\xdc\xd0\xf0\xc9\x8e\x93\xc3!K)\x8boWk\x1f\xf3\xd7\xfe\x06\xff\xe7\xb3\xdd\xb5\xab\xf7\xbdZ]}\xe4\x08.\xfa\xb4V\xfdyD-\xfe\xcd\x0b\x0d\xab\x9f\xa5o\x04jV\x14|]h\x9b\xa24\xa3p\xcb|Wa}\xc7<\x97\xbaKq\xedh,(Z\x1f\xddY\xec\xf9\x9e\xfa\"\x09\xab\xbb\x8f\xe3\x05J~7>\x05\xe6\xd45'\x87s\xf4\xb3e/n[\xc9\x1d\xcfW\x7fnC\x17\\\xb8,\xb7\x8a:\xfd\x8c|\xce?W\xbby\xf1fU^\xc1\xf2&\xb5.9\x9bZ\\W\\\xb0\xf0$\xd9\x1dtU_\x82\xbe{\xe4\xcc\xd6W\xe5v/\xd6\xf6\x96\xc8\x9f\xb7\x03YH\xb0\x05\xd4\x9e\x1fs\x8e\xdcY\xd5\\\x9c[TEg\x9f.\x0dmw\xe7U\x0d\xd3K\x8bct\x18\xfdMI\xbb$\x93s\xeb\xaeN2\xde\x14\x00\x02\xb9\xe1\x9f\x09\x98\xe7\xd5\x1a\xdb]\xd6\xfbC\x08\x88\xba\x96\xd9\xacL\xe6o\x9b\x0c\x85\x82\xc3u\xd3\xbc\xcal\xdb\x1d6]\xaeF\xee\x1bg\xdc\xf4*\xd3\xeb\xb7=\xd4\xe8\xa4\xa4\xbf:6\xa3\xde[bw1\x13\xc08>\xfc\xa8\xa5\x98\xff\x1d\xda\xf8\xc3\xdf\x1b\xf9<<\xec\x9e\xe6\x07\xccv\xdda2U\x94\xe4\x97\xe4\x08\xc2\x1d\xee'Eu\xa6\x039:\xa9\xe8o\x14\xdbQ\x9f\xbc\xca\xb8\x16\x00\x10@\xf8\xed\x88?\xfc\xa39\xfa\x91\xe7x\x0e\xf1\xb9\xfd\xac!\xe0\xde\x91\xaa\x9d1\x93t\x8dN\xba\xdau\x08N\x0b\xbf~\xb5(>\x88\xba\xc2\xd9\xc2\x8dyOv\x0dv=\x99\x97\xd6=\xe8l%]\xa3\x93\xaev\x1d\x82\xd3\xc2\xaf]-\xba\x8d\xe2\x82\xa8\x1b\xc7l\xbe\xe5E\xae\xa2\xe5\xd3<\xe8\xcfZ\xd25:\xe9j\xd7\x118-\xfc\x00\x00D\x80\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\xa3\x03\x07X\x93\x00\x90\xed\xc8\x0d?[\xd7\xa52\xee\xcd\xd8MZ\xff\xecy\x991\xa9\xf1\x91G\xe7z\xccL1\x1c\xf0x\xfaEuf\x12\xa9\xe9\xef\xc5\xcawDU2@j\xd6M\xcc\x9dR\xcf\x1aQ\x1d\x9aSt\xcf2=|R\xc3\xcf\xd6u\xa9\x04\xdb/t\x0a\xe6M\x1b{\x17\xdceLj\x84?\x189\xe591\xf2\x81\xcd\x97^.}\xa8\xff\xbe;R\xda\xc6\xaf\x958\xd1vSM\x92\xfd\xe5t\xe7|\x85\x94\x94%H\x82\xeb\x96<\xd7\xf6\x97\x8b\xaa\xd0\xdc\x1b\xd9H\xf6,\xd3\xc3'5\xfcl]\x97\x8ao\x20\x90\xa9\xf0Ox~\xc2\x984\xb8\xe6\xf9\x20\xa6\x8c\xe4\xff\xd9\x15\x9d*O\xe9\x0b\xcel7\xb5$\xd9_^wf\xe8\xe32\x12Z\xb7i\xd0\x96`\xf8\x11\xdaI\xf5,\xc3\xc3'5\xfc\x1c]\x17\x1a\xef\x08f,\xfc\xfb\xcb\xef2&\x0dD\xe1\xdf\x90\\\x98\x84lHS\xf8\x93\xeco\xba\xba\x93&\x12Z\xb7i0\xdd\xf0g\x18\xb9\xe1Wa\xe8\xba\x82\xed7Q\xa6\xc2\x7f\xa7\xf4\x10c\xd2$\x12\xfe\xe7=\xa5\xa7\x7f\xb2\xaa\xe2\xa9\xcf\xa9?\xbe\x13\xb9&\xb0\x01\xff\xa7\xfc\xb0Y\xe1\xe7\x9b+V\xfd\x84>Yh\xf3\xe0\xf3\xbd~\xf5\xe7Q\xf5\x7f\xa76T\xac;\xa5\xfe\xfe\xa8T\xfd\xff\xc4\xde\x9a\x05O\xabc2\xf2TMi\xe535\x96vI&vU\x96.yF}\x8b\x0a\xeeZVZ\xb3\xf3#\xad\xd0\x98\x0d1\x17L\x90H\x7f\xd9\xdd!\xfb{\xaf\xc2\x139\x85\xa5F\xe7\xeb\xbd\x95\x8f\x1d>\\i=\xa2et\x9d=\xa8D\x0b\xd4\xe8\x18cF\x8fd\x14\xaa\x94\xb5n\xcc\xa5\x85\x97\x94\xbe\xf2\xd8\xb2K\x87\x16m\x09Zzv\xe2\xc0c\x8f\xee\x9c\xa0&\x119Pw\xf7.[\xb4\x8b{\xd8\xcfiW\x0b\xff!\xb5\x8f\x0b\xbeNp\xf8\xd2\x82\xe4\xf03u]>u\xf7\x9f\xa9\xf0\x1f(\xfd\x9c1i\x12\x09\xff?\xf7\x97z*\xdbN<B\xef\x00\x83\x1f\x8c\xac\xda2222\x81\xffS\xeeY\xd3\xff\xce\x12\xad\xc2~\xcf\xa1\xf3'*7P\x07u_=\xb7y$\xa8\xce\xb1\xf9\xb9\xaf\xf01\xc6\xd1\xf3G\xcb\xf7\xaa\xa3\xd0\xdf_\xb3\xea\x91\xc7~\xb2\xd7s\x07]\xf7\xec\xed\xbfx\xba\xd2\x13\xa6\xdb%x\xafb\xc3\xeb\x17\xdb<'\xd4\xb3E\xcf\x81\xf7\xfawz\xae\xa9\x85\xe6l\xec\x05\x13$\xd2_vw\xc8\xfe\xa2\xeb##\xfa.\x96\x1c\x9d\xd0\x9ae\xa7\xda\xca+N?u\x82j\x8d\xd5u\xf6\xa0\x12-PK3\xc6\x8c\x1aI\x03\xaa\x94\xb5n\xec\xa5\xbd\xb7\xc8\xf3\x93\x1fy*_[\x12\xd3\xb3\x9a\xd7\xdaj*>!'\xc9\x81\x9aX\xb4\xea\xf4;Oy\xb8{~v\xbbZ\xf8\xef\xee\xf5\x9c\xd06\\\x02\xc3\x97\x1e$\x87\x9f\xa5\xeb\xba\x81\xdf\x0d2\x14\xfe;\xa5\x07\x18\x93\x04\xc6a\x7f\xf9\"\xf5\xadao\xa5\xf5\xef\xc4a\xf4\x92\xaf\xd5W\x07\xaep\xde\xf3\x966'\xfd\xe6\xfd\x96~ex\xdd\xcf\x11\xba\xe8\xb9\x88\xf0\xcf\xf3Z\x0b\x9e\x1f\x05\xb5\x13\xa2S\x95\xda\xfemQ\x98n\xd7$T\xf3t\x08\xe7\xef\x1e\xfe\x81\xdf6\xd7\xedD\xd4l\xec\x05S\xc4\xdf_^w\x8c\xfeb\x16D\x8eb\xcd\xd1\xe9\xf7|\x84\xafj\x7fB\xb5\xc5\xe9:{P\xa9\x16\x8c\xa5\x11cF\x8c$\x01Y\xca^7\xe6\xd2\x96\xedU\xeb\xbc\x83\xf6\x1f\xb0\xf4\xacF]\xe6\xbd\x9a\x8d\xd4$\xd1\xd8\xe6Uj\xdd\xf0:\xfea?\xa7]5\xfc'\xca\xcfG+\xc5;|iBv\xf8\x11\xb2\xea\xba\x82\xed7\xc2\xe1p\xa03\x9c\x89\xab\x1f\xcf\x97\xdeaL\x12\x98\xe1\xdf\x8fX\xe7xD\x98\x0eD+\xecz<\xa4\xaeQ\xf8\xb1\xfdT\xcd\x8f<\xa1\xd0[\xf7\xc2\xe5\xea\xc6\xdd\xbfN+Y\xa3U\xd8P\x1eY\xee\xe7\xcbj\x9e?\xfdQ\xc4X\xc5\x0a\xffy\xcfG\xc6\xf4\xd7\xa7\x9e~|\x91g\x1d=\x1b{\xc1\x14\xf1\xf7\x97\xd7\x1d\xa3\xbf\x18\xe3\xd5k\x8c\xce\xcb\x8b\x10\xbet\xfa6\xa2`w\x9d=\xa8T\x0b\xc6\xd2\x881#F\x92\x80,e\xaf\x1bsi\xcb\xfa\xd5m\x1cD\x87\x9fCt\xcf\xb4\x0f}Oy\xee\x91\x93fc\xf7<\xa7q\xe1Q\x9b\xf0\xb3\xdb\xdd\xd9v\xd4c~\xbe\x17\xef\xf0\xa5\x09\xa9\xe1g\xea\xban{\xa3\xc8\x7f\xde\xe2\xdd\xf2\x03\x8cI\x123\xfcx;\xd9\x86\xdf\xa8\xb0.r\x8e\xbc\x93\xaa\x19*\xfd\xe4\x84z\x06\xebQ\xd3\xb4Y\xff\xcb\xce\x8dZ\x0b\xc6\x99\xfd\xbd\xd3\xbb\xd6x\x96\xbc\xaeM\xb3\xc2\x7f\xc2c\x9c\x96_[Rs\xf8\xed\x91-\xeb\xe8\xd9\xd8\x0b\xa6\x88\xbf\xbf\xbc\xee\x98\xfdE\xc4\xab\xd7h\xec\x84\xe7k\xbc\x83\xb6\xec\xba8]g\x0e*\xd5\x82\xb14b\xcc\x88\x91$\x20K\xd9\xeb\xc6\\\xda\xb2\x8b\xe8Z\xa9\x1a\xba\xe7\x18=C#\x9e\x0f\xc9I\xb3\xb1\xeb\x9e\x11\xc4hL\xdc\xee\xce%\x8f\xac1\xc72\xde\xe1K\x132\xc3\xcf\xd1uMM\xaa\x8cwLf\xe01\xeb\x87<\x13\x8cI\x92\xb8\xc2\x7f\xfa\x0eUa\xef\xe3\x1fj|MW]\xd3\xbfe\xf3\x9a\xb7\xf1\xc1\xe9\xfe\xc7\xb5\x82\x9a\xfdF\x0b\x98\xebx\x0fs\xaf\x7f\xc1)\xba]\x93K\xe6\xees\xcdFmO\xbf\x8e\x9e\x8d\xb3`\x92\xf8\xfb\xcb\xeb\x0e\xf5\xb6\x14\xfb\xea\xbd\xe3y\xfa\xceG\xab6[\xb6%\xbb\xeb\xecA\xa5Z0\x96F\x8e\x999\x92$D){\xdd\xb8\xe1/\xd7CJ\xf5L\xbb\xf8{Z\xddw\x13\x93fc_{\xb4a\xb1\xf9\x9c\x9f\xd3\xee\xce\xcaO\xee,2\xce\xe7\xe3\x1d\xbe4!3\xfc\x1c]\x97FF\xce\xf9\xef\x96\xefgLR\x88\xc2\xbfe\x8b:\xaf~FiT\xb8\xa8\x9f=\x1f}\x8d\xae\xfa\xdc\xf3\xa5\x17=\x07\xf0\x8b\xf9\xbcV\xa1?r\xce\x1f}y\xb7ig\xb5h\xcb\x01\xba]\x93\xd0\xb2-x\xd0\x0e\xa9/\xc6\x1a<Sx\xdd:z6z\xc1w\xda\xe8\xe3b\x8d\xf8\xfb\xcb\xeb\x8e\x20\xfc\x1fz\x96x<[\xac\x9f\x99\xb2\xbb\xce\x1eT\xaa\x05ci\xe4\x98\x99#IB\x94\xb2\xd7M\x14~\xaagK\xd4\xfe\x06\x1f\xdfBM\x12\x8dm\xacQO\x08&\x16D\x1ac\x0c5\xa7]\xfcQ\xdf\xf9\xd2k\x91J\xf1\x0e_\x9a\x90\x1a~\xb6\xaeK%\x1c\x18\xef\x08p\x95\x91i\xe3\xb0\xb9\xb7?\xcc\xda\xf1G\xee\xf0\xbb\x16\xc27\x8d\xed\xbf\x86>\xdc_:b\xd9.m\xe5'\xde\xfeQ\xc5\xe7t\x85\x97=\xcf\xf5\xbf\xbd\xdfC_\x90B\xafU,\x0a\xafZ\xa0%l\xaf\xe7\xe5\xf3/{\xf6\xaaK\xb8\xa6]H\xd7v\xa9m\x9e\x8a\xb6\xf3\xeal\xef\x91\xedR\\Z\xb0\xe6\xd4\xf9C\xf8t\xb3\xcd\xb3\xeb\xd4k\x1b<\x95\xaf_\xa3f\xa3\x16\xbc\xd3Sq\x0fY\x89\xbf\xbf\xcc\xee\x90\xfd\x0d}02R\xbe\x7fd$H5\xf6Q\xf9\xa5\xf3#wc\xf6\\\xac\xaes\x06\xd5l\x81\\\x9a9f\xd4H\x12\x18\xa5\xecuc/\xed\x9f\x1e=\x11\xea/\xfd$\xf4\xdc\x96\xcf\xc9AE\xe5\x9e\x0d\xfd\xa7W-\x9a@\xd4\xa49P\x9fT<\xd6v\xf4QO\xe9[\xff\x84[\x89\x1djv\xbb\xf7F6\xee\xff\x20\x14\xda\xb9\xec\xd2W\x89\x0d_z\x90\x1a~\x8e\xaeK-\xc7\xa7\xfc\xc7mfL\x0b_U\xeceL\x12\x98\xf7\xf6\x1fP\x7f\x96~\x82?\x99\xb5\\\x19\x08\x1dzt\xc1\x96k\xc8R\xe1\xe2\x96\xcaE\x9b\x8dk\xba\x11\xae/:\x8a^\xaf\xd0\xde\xf4\xc3'\xd6U\xac;\x156\x96\xa0\x9d\xcf\xfe|s[M\xe9\xb2-\xefQ\xed\xd2L\xecz\xec\x91\x8dok\x0d\xac*\xaf\xdcuzU\xe9\x16z6r\xc1\xa7+<1\x0d$\xd0_fw\xc8\xfe^\x8f\x8c\xcei\xaa\xb1\x0fJqY\xe9f\xebY+\xa3\xeb\x9cA5[\x20\x97f\x8e\x195\x92\x04F){\xdd\x98K\x0b\xab\xfb\xd9\xfeG<\x15\xfdx)\xc4\xa0\xa2\xf2\x9f\xec_\xb4l\xaf\xf66AL\x12\x035\xb1\xf3\xd1\x9a\xc3o\x95\xea\x8d\xc5\x0c5\xa7\xddSxu\xae\xeb7#$6|iAn\xf8g\x16\xafx\xfe\x991\x99=\xbc\xed\x89\xdd\xf3\xa7\x9b\xaf*\x0e|\x15\x0e\xdf\xbb\xbe\xeb\xd1d\x97=\xfd\x16R\x01q\x8f`<\xb7\x0b\xa6j\xa8\xe5\xae\xbc\x93\xc3\x9f\xdd\xdf\xe5\x0d\xbf\xb5(\x03+\xf5\xb6~_\x00\x0aWZ\x0f|\xe2e\xfa-\xa4\x82\x84\xc2\x9f\xba\xa1\x96\xbb\xf2N\x0e\x7fvs\xb7\x92\x7f\x9fo\xfa\xf80\xf2)\xd5'\x1e\xc6\xd5\xc6\xb8\x98~\x0b\xa9\x20\xa1\xf0\xa7n\xa8\xe5\xae<\x84\x1fH%\xe1\xfd\x15\x07\xfa\xdf\xeb?P\x91\xf4\xaep\xfa-L\x1f\xfd\x12\x9cuR\x02rW\x1e\xc2\x0f\xa4\x96w\x9eZV\xba\xec\xe9\xe9\x1c\xb5N\xbf\x85\xe9\xa2]\x82\xbbc\x9d\x94\x82\xcc\x95\x87\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0g\xf9-\xfe\x00\xc0Cn\xf8\x99\xba\xaeP\x87\xf6\x10\xaf\x8e\x14\xdd\x1e\x9d(6\xba.\x93\x03\x12<K\xfb=\x1eO\xc5\x84\xa8V\x8a\xe8\xd7\xbeNZ\xb93\xde{\xd7\xd8k\xfcAe\x1c&3\xe9\xa4F\xd7\x95\x96m\x8c\x12k7\xcd\xa3.5\xfcl]W\xd0\xfb~@eR4w\x9a\xb0\xd1uq\xedVi\xf1,}>2rJ\xa0\x08\x11\x12\xb7\xe5+\xf8\x8e\xe7\x95\x91\x91\x9f\xaf\xab\xb4>\xf2K(\xe6\"+\x9c\xd6\x9fc9\xc3H\x8d\xae+-\xdb\x18%\xd6n\x9aG]j\xf8\xd9\xba\xae`\x06\x9e\xdcib\xaf\xeb\xe2\xd9\xad\xd2\xf4\xa8\x15\x91\x1fHH\xfc\x96/\xfd\xa1\\_WXc\"\x14s\x91\x15\xfaS\xb1\x8bM\x03\xe2/\xe2\xc5A\x9a\xb6qB\xed\xa6w\xd4\xa5\x86\x9f\xad\xeb\xcal\xf8\xedu]I\xda\xad\x92e\xda\xe1\x8f_\xab\x15y\"\xdf:\xeb\x0c\xc2\x16\xc8\x0a\x97<\x97\xf8\x153\x88\x94\x8d%\x95\xb4\x8c\xba\xdc\xf0\xab\xc4\xea\xba2\x1a~;]\x17\xc7n%\xf6,\x91\x02\xad(\xcf{<?\x8fH\x9d\x89\xd9h\x19\x14\x11~\xc3\x0b\xc5\x16s1\x9dW\\\xcb\x17\x0b=\xfcw\x17\xbcF\xf6\x8c\xd3\x82\xb9\xc6\x96\x0a\xd7\xa3\xf6r\xd6\x1a\xd3\xa5Q\xd9\x16\x01i\xe32W\x88vt\x09\xc5gL\xd3X\xf9\xa1\x03\xcb\xf4A\xe5\xb4KJ\xb1X-p\xb6\xb1\x09\xc7\x97fL\x9a\x83J\x99\xbb\xc4\xaf\x1d\x93dG=~$\x87\x9f\xa5\xeb\x0az\x07\xde\xf0\x1e\xf7g\xe6z\x9f\x9d\xae\x8bg\xb7\x12y\x96H\x81\x96\x81~\"\xaaI\x9d\x89\xd9(\x19\x14\x11~\xd3\x0b\xc5\x16s1\x9dW<\xcb\x17\x93\xbb\x9e\xd3\xa1\xe0\x07\xeb\xd6\x04\xc9\x9e\xf1Z0\xd6\xd8R\xe1n\xa5~\xac\xc4\\cZ$\x16\x95m\x11\x906.s\x85hG\x97P|\xc6\x14\x94\xe1gn\xf6\xaf\xc3\x83\xcan\x97\x94b\xb1[`nc\x02\xf6f1'\x89A%\xcd]\xc2\xd7\x0e\xb3\x0f\x09\x8dz\x02H\x0e?K\xd7\x15\xf4v^U'\xbb2\x91~\x91\xae\x8be\xb7\xc2\xd8z\x96(\xd1\x95\x09\xf1\xe4hB\x1cEx\xa1\xcc\xf0\x13^(\xb6\x98\x8b\xe7\xbc\x12\x1e\xb4\x1b\xdc\xd5\xf6%\xab\xb4\xf7;\xf2\x99\xd6\xbc\x16\xa2k\xcc\xac\xc0^c\xa2\x94\x12\x94\x11\x186.r\x85\xccR\xa1\xf8\x8c#(+_\xa3\xb6\x16Z\xb5\x91\xd7.\xb1\xb1\xf8\x8a\xb3\xd8mL\xc0\xde,\xe48\x98\x83J\x98\xbb\xd8\xed\xf2\x1d]I\x8cz\x02\xc8\x0e?BV]\x17\x0a\x8fk\x93\x1dC\x82\xf9\xd2\x81H\xd7\xc5\xb2[al=K\x94\xe8\xca\x84\x0c\xbf)\x8e\"\xbcPf\xf8I\xc9\x14S\xcc\xc5s^%\x12\xfe\xa3\xd7\xae]<\xa0}j4\xed\xf0\xb3\xd7\x98(\xa5\x04e\x04\xa6\xfb\x8bX!\xb3T(>\xe3\x08\xca\xca_\xc1?\xb5Ae\xb6Kl,\xbe\xe2,v\x1b\x9307\x0b9\x0eD\xf8\x09s\x17\xb3]\xbe\xa3+\x89QO\x00\xa9\xe1g\xea\xba\xa2\x7f\xf4\x9fd\xcf\x94N\x84\xba.\x96\xdd\x0ac\xefY\"EW&d\xf8-\x93\xba\x17\xca\x0c?!\x99b\x8b\xb9x\xce\xabD\xc2\xaf\xed\xebv\xadB\xf1\xb5`\xfb2\xe4\xac\xb1YJ\x09\xca\x08\x0c\x1b\x17\xb9Bf\xa9P|\xc61\x8d\x99\x83\xcan\x97\xd8X|\xc5Y\xec6&`o\x16r\x92\x08\xbfi\xeeb\xb7\xcbwt%3\xea\xf1#3\xfcl]\x17\x1a\xf0i\x93\x83>\xee\x8ciC\xa8\xebb\xd9\xad0\xb6\x9e%Jte\xa2\xd5=\x1a\x13~\xd3\x0be\x86\x9f\x90L\xb1\xc5\\<\xe7\x15\xcb\xf2\xc5&\x12\xfe\xd3\xf8uG\xf4\x8c\xdb\x02\xfd2\xb4T`\xaf1QJ\x09\xca\x08\x8c\xd74\xb9Bf\xa9P|\xc6\xa9P\xae}f\x8b\x07\x95\xdd.\xb1\xb1\xf8\x8a3\xdb\xf0\xb37\x0b9\x0e\xe6\xa0\x12\xf2\x1ev\xbb|GW\x12\xa3\x9e\x002\xc3\xcf\xd1u\xf9\xb4]\xfeT\xc7\xfb\xb6\xf3\xa6\x03\xb1\xae\x8be\xb7\xc2\xd8z\x96(\xd1\x95I\xc5a\xf5\xfdocL\xf8M/\x94\x19~\xc2\x0b\xc5\x16s\xf1\x9cW\xa4\xe5\xeb\xcek\x13\x88O\xa4\xd6\xdeG\xc2T\xcf\x98\x9e0\x8c\xf12dU`\xaf1QJ\x09\xca\x08\x8c8\x92+d\x96\x0a\xc5g\x9c\x0a\xe5\x8f\xe1s\xfe5[x\xed\x12\x1b\x8b\xd3\x02\x12\x84\x9f\xbdY\xc8q0\x07U\x18~\xbe\xa3+\x89QO\x00\xa9\xe1g\xeb\xba\x02\xde\xbe\x9b\x81\xcb\xed\xbe\xa4\xaf[$\x8dH\xd7\x85\xb7M\xac\xddJ\xe8Y\xa2DW&\x9b+_\x7fm#\x16<Q\xe2(S\x06\xa5\xdd\xe1wB\xb7S\x99^(\xb6\x98\x8b\xe7\xbc\"-_;=\xcf\x20.!\xed\x0e\xbf\xb7\x9f\xf3\xbcN\xf6\xcc\xd2\x82Q\xd9XcN\x05\xf6\x1a\x93\xa5\x84l\xcb\x80v\x95EW\x88rt\x09\xc5g\xec\x0a\xe5\x9e\xa7\xaf]\xda\x8c\x07\x95\xdd.)\xc5b\xb6\xc0\xde\xc6\x04\xbc\xcdb\xae\xb11\xa8\xa4\xb9K\xf8\xdaa\xf6\x01%2\xea\x09\x205\xfc\x1c]\xd7\xe4\xc0\xf1\x0e\xdf\xb8\xfc\xec\x0bu]l\xbb\x95\xd0\xb3D\x89\xaeL&\xb6,x\xe4\xa9W\xd4\xba\x948\xca\x94A\xed\x8f\xb4\xab\xed\x9e\x0c/\x14[\xcc\xc5s^\x91\x96\xaf\xd3\x956w\x81\xea\xf7\xf6\x97\xae\xd3\xaa\x18=\xb3\xb4\x10\xc5\\cN\x05\xf6\x1a\x93\xa5\x84l\xcb\x80\xb4q\x99+D9\xba\x84\xe23v\x855m\xbb\x1e\xd1\x07\x95\xdd.%\xc5b\xb5\xc0\xde\xc6\x04\xec\xcdB\xae\xb11\xa8\xa4\xb9K\xf8\xdaa\xf6\x01%2\xea\x09\x207\xfc3\x8bT\xea\xba\x92\xf6,\x95\xb7!@2Io\xac\xf4\x90\xb1\xee89\xfc\xa9\xfc.o\xd2\x9e%\x08\xbf|\x92\xdeX\xe9!c\xddqr\xf8SI\xd2\x9e%\x08\xbf|\x92\xdeX\xe9!c\xdd\x81\xf0\xa7\x86$=KreP\x80N\x92\x1b+]d\xac;\x10\xfeT\x91\x94gI\xb6\x0c\x0a\xd0Ijc\xa5\x8f\x0cu\x07\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x9f\xd2[\xfc\x01`\xf6\x207\xfcL]\x97\xca\x8d\xbe\x8e\xee\xcbv3\xa6\x11{]\xd7\xd7\x07\x96,xF\xff\xdeE\"\x9e%\x06\x91\xaf\x94z\x92W-Y|^\xfa\xd3\xb6\xe3\xab\x1b'|\xd1U\xec\xca\x9fb\xd6MR\x95\x95\xe8l\xc4f\x89B\xacqr+\x9f6fl\xcf\xa4\x86\x9f\xad\xeb\xc2O\xf1\x1e\xba=\xea\xbd-\x9a==\xd8\xea\xba\xd0\x8f\x96\x9c\xda_\xa1\x7f\xd32\x11\xcf\x12\x83\xf0\x07\xda\xb3:>\xd0\x1ea\x10\xb7V\x8b\xc4\xea\xf3\xd2\x1e\x0c\x1dg\xdd\xf8\xe0\x8b\xaebW\xfe\xde\xc8FF]n\x0b\xec5\xe6\xe8\xd0b+X\x206K\x14b\x8d\x93[y\x94\xd8f\x89\xbfn*z\x96\x16\xa4\x86\x9f\xad\xebB\x03\xed\x01\xfc\xc6pC0wz\xb0\xd7u\xdd\xf3\x9c@\xc6\xe3Q\xa7\xfd\xb8\x11\xd3\xc9\x11\xbfV\x8b\x86V\xfa\xc4<R\x96\")\xfd\x0f\xf7K\x86\x8c\x95\xdf\xc9\xac\xcbi\x81\xbd\xc6<\x1d\x1a\xa3\x02\x09\xb5YL\x885Nj\xe5\x13\xda,\x89\xd4\x9d~\xcf\xd2\x82\xd4\xf0\xb3u]\x01\xef\xfb\xc6\xdf\xe4c\xaf\xeb\x9a\xf0L\xebP\xdf\x82\xb9\xdd\xe3\x7f\xca.M\xe6\xc2\xcf\x20\xa1\xf0\xb3\xd7x\x83(\xfc\xec\xd98\x9be\xda\x11Kd\xb3$Rw\xfa=K\x0br\xc3\xaf\x12\xab\xeb\x1aj\x0fM\x7f\xa7\x9a,v\xba\xaeP\xa5~\x96\x8e\x8f\x07x\xfe&\xa6-\x8aGd\xbbs\xb5Z\x13\xbb*K\x97<\xa3\xbd\x03E\xedV\x84K\x8bhA=N\xde\xbbl\xd1.\xeba?\xe9\x90\"\xea\x0a\xacYT\x05\xc3JF\xda\xad8+\xaf\x86\xff\x90\xfa\x87\x05\xf4\x83o\x0dU\x96P\x03\xc6\xd1\xa1\x99k\xc1\x9e\x8d\xdc,\x9c5\xe6\xac<\x01c|\xd9K#\xd7\x98\xd93\xa2\x05\xb6\x7f\x0c\x13\xdb\xb3\xf3\xea\xdc\xafD\xd4c\x99Br\xf8Y\xba\xae^\xdf\x8d\x93\xde\xe3\x17\xe2MPj\xb1\xd3u\xa1\x8fF\xfa=m#\xfa\x93\x1b\xd9\xfe&\xb6\xeb\x89Gd\xbb\xf3\xa4X\xefUlx\xfdb\x9b\x07;\x9b\x0c\xbb\x15\xa1}\"Z@\x13\x8bV\x9d~\xe7)\x8f%\xfc\x84C\x8a\xa8+\xb2fQ\x15\x0c+\x19e\xcdb\xaf\xbc\x1a\xfe\xbb{=',\xcf#0TYB\x0d\x18G\x87f\xae\x05g\xa0\x88\xcd\xc2^c\xc4^y\x02\xd6\xf8\xb2\x97F\xae1\xb3gD\x0bl\xff\x18&\xb6g\xa1\x0fj\x0e\xdcE_\xb5-\x1a\xc9\xcc\x0b\x1f#9\xfc,]W\xb7\xa6\xeb:\xde\x9d\x89A\x10\xe9\xba\xa8\xe3\xcbX\xcf\x12\xdf\xf5\xc4\xc4\xfe\xb0?T\xf34~\xe0t\xff=\xdanE=9:\xda\xc2\xe6U!\xfc\xe4hK\xf8)7\x95QWh\xcd\xa2$S\x84\x95\xcc\xb0[a\x18\xf2*5\xfc'\xcac\xbe\x84n\xaa\xb2\xe2\x90\x81\x10\x87\xfd\xc6\x82i\xc3\x96\xfda?{\x8d\x11s\xe5\x09x\xe3\xcb\\\x9a\xb9\xc6\x9c\x9eQ-0\xfdc\xccc\x926|\x88\xb1\x97\xf9\xc4xI\xc8\x0e?B1\xba._;~}\x05;\x86E3\xa6\x01\x91\xae\x8b\x1d~\xc3\xb3\xc4w=1\xb1\x0f\xffy\xf3)N\xa4\xdd\x8a\x15\xfe{\xfa#]\x8fZ\xcf\xf9I7\x95\xb14\xa15\x8b\x92L\x11V2\xd3\xa5\x85\x98\xf2\xaa\x9dmG\x19\xe7\xde\x84*K\x98+2A\xe6\x82)\xc3\x96\xe0\x9c\x9f\xb9\xc6\x88\xb9\xf2\x04\xbc\xf1e\x87\xdf\\cv\xcf\xa8\x16\x98\xfe1f\xf8?\xf7|\x82B\x8f\xa4\xc8\xb6\x9d\x14R\xc3\xcf\xd6u\x0d\xea\x9e\xae\xc1^\xee|iC\xa8\xebb\x87\xdf\xd8\xd8|\xd7\x13\x13\xfb\xf0\x9f\xf0\x18/Q\xd2n\xc5\x0a\xffu\xcf\x08\"J\xa3Pn*siBk\x16S2\x85L\xbb\x15\x86\xa1\xb0\xd8\xb9\xe4\x915\xb1\xeb\xa1\x9f\x1fh\xfe1a\xae\x98\x09\xa2\x0d[\xf6\xe1\xe7\xac1s\xe5\x09x\xe3\xcb\x0e\xbf\xa8g\xcc1\x13\xf7\x0c=}\x18]\\\x94\x89\xe3\xdd(2\xc3\xcf\xd1u\x8dvh\xef\x09\x033Q\xd7%\x08?\xdf\xf5\xc4\xc4\x12~\x8b}\xe9\x12\xb1\xe7'\xecV\xda\xd2\xa2\xfb\xf8H\x0b_{\xb4\x8bv\xd6\x0b~\x94\x9b\xca<\xed\x15Y\xb3b$S\xac(\xb0\xc2_\xf9\xc9\x9dE\xb4U\x1aW0TYT\xd7YkL\x96\x9a\xed\xc6\x1a\xb6bf36\x0b{\x8d\x11s\xe5\x09x\xe3\xcb\\\x9a\xb0g1-\x20k]v\xf8\xdf\xa9\x0c\xed\x8f\xf3\x981=\xc8\x0c?G\xd75\xa5}\xd4\x17l\x97\x7f\x8b\x9fX\xd7%\x08?\xedz\xb2\xf7c!r\xbb\xb3\xecK\xa1e[\xf0\x98\x1c:D\xdb\xadH\x97\x96\xd1\xc2\xc6\x1a\xf5\xa8zb\x81%\xfc\x94\x9b\xca\xa8+\xb4f\x91\xda\xa7\x84\xc2\xafN\x9e/\xb5>\x7f\xd4Te\xc5\xa1\x01c\xe9\xd0\xa8\xb5`\xcffl\x16\xf6\x1a#\xe6\xca\x13\xf0\xc6\x97\xb94a\xcf\xc8\x16\x8c1\x13\xf6\x0c\x7fl\xf1\xce\xa3\xd1\xa3~\xe1k'\x1dH\x0d?[\xd7\x85.\xb7_\x0e\x8cw\x9e\x94\x7f\x00$\xd2u\xe9\x97\x95\xaf\xe1\x03\x13\x8e\xbf\x89r=\xd9\xfa\xb1\xa2w\xf8]\xd3V\x93e_B\x97\x16\xac9u\xfe\x90v:O\xd8\xadL\x97\x16\xe1\xf3\xfa\xa4\xe2\xb1\xb6\xa3\x8fF\x0c[\x06\x84C\x8a\xa8+\xb2f\x11\x15\x88u#\xedV\xcc\x95\xbf7\xb2q\xff\x07\xa1\xd0\xcee\x97\xbe\xa2Z3UYB\x0d\x98YJ\x0e*\xb1\x16\xec\xd9\x88\xcd\xc2^c\xce\xca\x130\xc7\x97\xb9\xb48zf\xb4\xc0\xf6\x8fqz\xa6\xf2\xf2\xe3\xc6\x85H\xfb\xd7N\x9a\x90\x1a~\x8e\xae\x0b\xdd\xee\xed8yY~\xf6E\xba\xae\xd0\"\xed\x84\xbet\x02\xf1\xfdM\xa4\xeb\xc9\xd6\x8fE\xdf\xdb\xcf\xb2/\xe1\xcf\xf9\x1f{d\xa3fi'\xecV\xa6K\x8b\xf4yM\xec|\xb4\xe6\xf0[\xa5\\\x87\x14QWd\xcd\"*\x10\xebF\xda\xad\x98+\x7fJ[\x19\xac\xfd:J\xb5f\xaa\xb2\x84\x1a0\xc4\xd4\xa1\x11k\xc1\x9c\x8d\xdc,\xec5\xe6\xac<\x01s|\x99K\x8b\xa3gF\x0bl\xff\x18\xa7gxFs\xf3\xd9\xbfv\xd2\x84\xdc\xf0\xcf,R\xa9\xeb\x02\x80\x84\x09\x95'\xef\xd9K\x05N\x0e?|\x97\x17\xc8(\xfd\x95q\xde\x1d\x96&\x9c\x1c~\x00\xc8\x1cm\xef\xa1\x1f\xb5\x89*\xa5\x17\x08?\x00d\x80\x90g\xc3\xf3\xcb$[y\xad@\xf8\x01\x20\x13\xb4Ul\x99\x10\xd5I3\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10\xfeYA\xef\xe2I\xea\xffS\x8bm\x9e{\x04\xdfY\x00\xe2Bn\xf8Y\xba\xaeP\xa7W\xe7\xb8`f\xe9lSr\xbaEu\xa6K\xa3\xa2(y7E\xb5Z\x94fkI\xceAfMd\xeb\x1fK\xce\x16\x15\x97K+V\xa0\x15\xd7l@\x06\x91\x1a~\xa6\xae+\xe4\x1d\x0d\xa8\\\xf6^\x15\xcd.\x9b\x80?\xd7\x9a9\x9d\xc1Qfq2\x04\xfc\xfeVeHP\xa95\xa7#\xa6\xcc7\xb7\x95Q\x13c\xe3\x1fK\xcc\x16%ti\x91\xc4\x0a\xb4\xe2\x9a\x0d\xc8\x20R\xc3\xcf\xd6u\x8dk\x0f\xef\xed\xbc\x20\x989\x13\xb8\xd8\xe1_X\xcf,N\x92aQ\xf8o\xbb\x9a\x18\xa5{\\\x01F\xa9\xc8?F>PJ\x84\xd0\xa5E\xc0\x14h\x89g\x032\x89\xd4\xf0\xb3u]\x1a\xbe7\xe4?\xc9G\x0c'\xfceu\xcc\xe2$\x11\x86\xbf\xb1\x88\xa52\x0b\x1652JE\xfe\xb1D\xc2/ti\x110\x05Z\xe2\xd9\x80L\"7\xfc*\xb1\xba.\xcc\x0d/}AK\x02\xa1\xc2\xdc\xa6\xe2\xa2\xc1\xed\xee*|\x16RW\xe4*^\x89O<n\xccU\x94\x95\xa8XQ\xdc\xea\xbb\x91k{c\x91{\xa5zJ\xeeSO\xcd\x9bP\xb3\xfa\xb3\x1bOb\xca\xb4V:\x17\xe7\xcf\xdf\xa1e\xd3\xbf\xbc8\xd7\xbd\xa28f9\x1d\x85^\xfc+P\x10\x99\xaf\xc0\xba\xc36\xc3\x1fml\x9b\x92\xeb\xdd1?o\xb9^3T\x10\xdd\xf1\x8f\xed\xdbT\xbbv\xdf\xa6\x07\xfa\xff\xf6\xe4\xb1\xde\xfbI\xf1\xdf\x00\x00\x20\x00IDAT/\xed\xfcc\x183\xfcQ\xd3\x18\xa5\xe0\xfazo\xe5c\x87\x0fWV\xf4s\\Z\x14Q\xe7\x15)\xd0\"1\xcc]\xc0\x8cDr\xf8Y\xba.Lw\xf4\x08@\"\x83\x05\xca\x8e\xa5\x8a\xfb`a\x0b\x0e\xf7\x93\x83\xdd+s\x86\x11\x0a\x0f5\xe7\x0c\xa1\x0e\xa5\x13?R\xd8\xa5\x94uu\x95\xe5\x8d\xa3\xe0\x85\xe2m\x93h\xb2\xb9\xc0\x1f\x0c^\xf0\xcf\xaf\xf2\xfb\xfd\x9aT\xb81g\xbb\xaf\xb5\xb0,\x8c#\xbc\xfe\x8d\x01\xaf[\x89\x09\xe4\x13\xcar\xfc+\xd4\xd1\xaa\xd3a\xada\x84\xdfh\xec\xc6\xf1\xb9JasK\x81~\x801\xaa\xe8O<G\x1f\xff\xd9K\xe7\xae\x9c][\xfd;\xfd\xbf\x17\x98G\x0c\xb6\xfe1D\x84\xdf0\x8d\x91B\xaa\xd0\x9ae\xa7\xda\xca+N?u\x82\xe3\xd2\"1\xdd_\xa4\xd7\x8c\xc00w\x013\x12\xc9\xe1g\xe9\xbaP\xf4b\x80l\x8a\xd6\xab\xa1\xf7\xa1\xc6'\xd5=\x7f7~G*{B+o\\8U\xac_Kw\x95\xe0\xc7P\xcf_\xacN6\xe3=\xfdz\xfdH\xdb8\xec\xf7)\xf8J\xdc\xb0\xd2\x85Pk!^\x95Vw\xcc\x83\x99n\x1f\xbc\xad\xfd\x9e\xbc\xad\x13s\x88\x13\x0d?\xd1\x18r\xb9\xd5\x01Y_\x18)\xd7\x1b@g\x1ap\xec\xcf\xac\x8e\xec\xf9\x03\xca\x1b\xd6\xa6\xc4\xfe1#\xfc\xa4i\xcc\x14R\xf5cw\xc0)\x8f\x1eW\x96K\x8b\x80r\x7f\xb1\x0f\xfbMs\x170\x03\x91\x1d~\x84bt]*\x03i\xffH\x8dEQ\x17\x1aR\x82\xa8\x09_\xbe\x9bj]>\xaf\x20r(\x1f*+\\\xa9\xd7\xd0\xaf\xb4y\x95)\x1c\xb5q\xf5\x00\\?@1\xc2_?/\x84)V\xdf\x13\x02E\xf3\xb6y\xdfgH\xe3#\xdcV\xa2\xdc\xb6\xfc%\x1a~\xa21\xe4\xc2?\x9a]Zyot\x8e/\x1b6\x1d;\xfb\xe9\x83o#\xf3\x05\xb4\xb7\x09\x0b\"\xff\x98\x11~\xd24f\x0a\xa9^^\x84p\x90\xb5'\x08\xb3]Z&\x94\xfb\x8b\x1d~\xd3\xdc\x05\xcc@\xa4\x86\x9f\xad\xebR\xe9\x90/\xecP)\xeaC\xc3j\xbep\xf8\x87\x0b\x8b\x9bN\xfa\xab\xf4\xf0\xa37\x94\xc8G\x0f\xfa\x05?\xbf\x82?\xda[\xb1\x03\xf5\xb9\xf5l\x1b\xe1/\x8b\xe4\x19\x1f1\x04\xbdu%\x0a>\x85\xe0\xe0\xf7\xe9\xf8\xad\x7f\x88\x86\x9flL[p$\xfcC\xc6\xe1\xfd\xfd\xb3/l\xad^\xdb\xf3\x20:_\xec\x07$B\xff\x98\x11~\xd24fj)Nx\xbe\xc6;\xf3\x98=?\xa1\xf20\xa0\xdc_6\x17\xfc4s\x170\x03\x91\x19~\x8e\xae\x0b_\x09\xb0\xee\x0d\xa5@\x84\xbfd1>\xec\xaf\xd3\xc3\x1f(\xdaS\xac_\x88t\xed\xc0?\xdb\x15\xfcG\x9f;\xd4\x18\xb9\xbe\xae\x85\xbf\x1d\x1f\x98\xcf\x1b\xd5Pk_\xc6\x07\x09\xc1\xae<\xde\xa7\xef|\xa2\xe1'\x1a\xa3\xc2\x1f\x8c~\xe6p\xebU5\xf6\xf7\xcf\xd5\x9e\xd1\xff\xdb\xec\x8a\xfd\x10@\xe8\x1f3\xc2O\x9a\xc6\xccl\xdf\xf1<}\xe7\xa3U\x9b\xf57i\x96K\x8b\x80r\x7f\xb1\xc3o\x9a\xbb\x80\x19\x88\xcc\xf0st]\xf8\x94?#/\x0f\"\xfc\xc58\xce\xe12-\xfc\xa1\xc5{\xd0\x93K\xb5\xd7\xbf\xab\x18\x9f\xb4\x96Ti\xc5n\x9f;r\xe5\xadJ-\x98T\xd4S\x95>E;_\xd9sP\x8d\xa2\xa2\xad\\\xd56\xebR\xa2\xe7\xfc\\\xa2\xe1'\x1a\xa3\xc2\xaf\x9e\x0f\xe8a\xec\xa9\xbe\x82\x7f\xed>\xa2\xfd/\\\xb2\x02Y\x11\xfb\xc7\x8c\xf0\x93\xa613\xdb\x1fz\x96x<[\"\x17\xeeX.-\x02\xca\xfd\xc5\x0e\xbfi\xee\x02f\x20R\xc3\xcf\xd1u\xa1\x1b\xdeL|\xc8\x7f\xc3\xdd\x12\xec\xca\xbd\x1a\xac\xaf\x0a\xa8\xd1\xadk=X\xa6\xb8[\x86B\x17\xb6\x15\x06\xd0\xed\x82\xed\x17\xf0G}\xca\xf2\xa1\xc1\xc5n=\xbdM\xf3\"G\xfdj*[z\x97\xe6\xe3k\x94MJ}wo\xa3\xd2\x89\xc3\x9f\xdf\xec;\xd9\x18\xbd2o\xb2R\x89\x0d\xa9\x89v\x87_\x8b\xdfO5\x16\xf0\xe76\x0e\xa1\xd1\xc6\\\xad\x18\xdd\xcc\xd1O&z\xaak{\xde}\xf7\xa5\xea1\xed\x7f-J\xec}\x86\"\xff\x18i\x8b2Lc\xa4\x90\xea\xa3\xf2K\xe7G\xeeF.Z\xb2\\Z$\xa6\xf3\x8a\x10h\x91\x10\xe6.`\x06\"5\xfc\\]\x17\xe3\xb2u\xda\x09\x17*\xca\xf1\x02%\xbf\x1b\x9fe\x87[\xe6\xbb\x0a\xeb;\xe6\xb9\xaa\xfa\xd4\xb3\xee\x1dh\xbb\xfaS\x8dqIs]A\xd1\xfa\xc8'\x117\x95'#\xb3\x86\xb6\xbb\xf3\xaa\x86\xb5\xc9\xbe*\xb7{1\xde\xe7wV5\x17\xe7\x16U\xc5d?\xfa9?\x87\xc6\xc8\x89\xbev\xcf`\xb4\xb1mjA\xeex\xbe\xfaS?\x8e\xd8\xf3=\xed\xec\xfe\xec\xee\x9eM\xb5\x0d\xbb\xf5\xec\xfb\xf3v\xc44&\xf2\x8f\xd1\xb6\xa8\xa8i\x8c\x14R}P\x8a\xff\\\xbaY;\xe9g\xb9\xb4H\x0c\xe7\x15)\xd0\"!\xcc]\xc0\x0cDn\xf8g5AWl\xb2%\xb1\xdde\xfd8\xa4\xcb\xd5\x18{\xb44m\xff\xd8W\x15\x07\xbe\x0a\x87\xef]\xdf\xf5(\\\xa0w\x00\x10\xfe\xb8\xe9v\xc7\xc6M\x16-\xc5\x96\xaf\xf4\x16\xb1\xbe\xd47\xed\xef\xf2\xbe\x1d\xb1\xc6\x86+\xcf\x0bj\x02Y\x00\x84?>\x9a\x07\xd1R\xf6\x8d\xfe\xd9\xc4\x87\x91\x0f\xf9>\xc1\xf7\xfa\x00\xd9\x0e\x84?.\x82J\xd96\xe6\xd7k\xb2\x8b\xf0\xfe\x8a\x03\xfd\xef\xf5\x1f\xa8H\xea\xb8\x01\x98e@\xf8\xe3\xa39\xbf\xea\x86\xa8N6\xf0\xceS\xcbJ\x97=\x0d\x07\xfd\x8e\x00\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x9f}L\xfb\x16\x7f\xc0\x19\xc8\x0d?K\xd7EMf\x08\x19b.\x84.\x94\xe5/\x1f\x12U\x9a>6\xba.\x11\xd30l\xcd\x08]\xd7\x9dR\xcf\x9a8K/V2\x9e>\x12%\x03]\xcf\x04R\xc3\xcf\xd4u\x91\x93\x99B\x86\x98\x0b\x0d\xb8\xd6\xbfQ\xefJ\xff3\xcamt]\"\xa6a\xd8J@\xd7\x15\xd5\x80\xa5\x81k\xfb-\x8f\x1b\xe2\x96\x9e\xaf\xb0\x89\xf74\xc6a6!5\xfcl]\x171\x999\xd2/\xe6\x0a\x15\xe2's<Y\x94\xee\xef\x05\x0bt]\x02\x92\x95\xec$\xa2\xeb25`\xa9\xc7\xfa\xac1~i\xcc3\xd6)\x92\x1d\x87Y\x85\xd4\xf0\xb3u]VsWFH\xbf\x98\xcb\xeb\xc2_\xc9\x0f\xe4\xda=\xd7'\x15\x08t]\x02\x92}\xd1'\xa2\xeb\xda0#\xc2oO\xb2\xe30\xab\x90\x1b~\xc4\xd2uY\xcc]\xd2\xa0\xa4X\xe9\x17s=\xa1=\x06\x14U\xa5\xee\xed\x84\x89\x9d\xae\x8b\x10s=\xef\xf1\xfc\\?\x19\x0e/)}\xe5\xb1e\x97\x0e-\xda\x82W\x8e4lE}^\x1f\x95z<G'\xf6\xd6,x\xda\xb2\xb7\x8c[\xd7u^\xfd\xe3+\xa8M\xfdIk\xc0\x8cE\x204\xf2TMi\xe535\x96\x16\xd8N14\xb1\xab\xb2t\xc93\xda;[\xb4\x0f\xea\xb1\xfa\xdee\x8bvE\x0e\xf0\xcdv\xc9R\x83{\xf8\x99d\xdaa?\xdd\xae\x89#Lc\x92\xc3\xcf\xd4u\xd1\xe6.iPR\xac\xf4\x8b\xb9J\xf4'\x006\x96XgK-v\xba.B\xcc\xa5\x9f\xd5j'\xc3\xef-\xf2\xfc\xe4G\x9e\xca\xd7\x96\x9c@\x94a\xcb\xf0y\x85\xfa\xfbkV=\xf2\xd8O\xf6zh\x0bH\xfc\xba\xae\xd0\x075\x07\xee\xa2\xaf\xda\x16\x8d\x84(\x0d\x98\xb1\x08t\xdd\xb3\xb7\xff\xe2\xe9J\x8f\xe5\xed\x85\xe9\x14C\xefUlx\xfdb\x9b\xe7\x04\xd5\x87\x89E\xabN\xbf\xf3\x94\xa7\x9cn\x97,%\xb8>2\xa2\xef\xdb\xa9v\x09\x1ca\x1a\x93\x1c~\x96\xae\x8b6w\xc9\x84\x90b\xa5_\xcc\xe5\xd6u\x9bMn\xebl)E\xa0\xeb2\xc5\\\xc4\xe3\xb8\x97\xedUw\xcd\xef\xa0\xfd\xb8\xbai\xd8\"}^h\x83\xe7G\xc1\xc8Y\x9bAB\xba\xae6\xbc\xa7\xdf\xab?M\xdc8\xec'\x16q\xaa\x12\x0f\xe7\xa9E\xf4\xa0\xb2\x9db\xa1\x9a\xa7q\xbb\xfd\xf7\xa8>l^\xa5\x16\x86\xd7\x95\xd3\xb3\x11\xa5\x16\x16D\x0e\xec\x89!!p\x84iLv\xf8Q\xac\xae\x8b6w\xc9\x84\x90b\xa5_\xccU\xb2^\xfbU\x9f\xde=\xbf@\xd7e\x8a\xb9\xc8\xf0\xf7\xabA\x09\xa2\xc3\xcf!\xd2\xb0E\xfa\xbc\xd0\x86\xf2\xd8\xb6\x12\xd2u}\xeeQ\xf7\xff\x8f\\\xd2\x8a\x8d\xf0\x13\x8b\xf8|Y\xcd\xf3\xa7?\xb2\x0e*\xdb)v\xde|\xc8\x98\xd9\x87{\x9e\xd3x\xeah95\x1bYj\xc1\x08\xbf9$\x04\x8e0\x8dI\x0d?S\xd7e1w\xc9\x84Pc\xa4_\xcc\xf5\x84~\xe9\x20\"\x03M\x13\"]\x17a\xdf\x20\xc2\x7f\x11]+E\xe8\xe5\xe7\xa2\xa5\x9aa\x8b\xf4y\xa1\x0d\x1bb\xdbJL\xd7\xf5\xf4atq\x91>\xa8F\xf8\xc9E\xdc;\xbdk\x8dg\xc9\xebt\x03<\xa7\x98\xf1\x1ea\xf6\xe1\xbag\x04E+\x98\xb3\x91\xa5\x16\x8c\xf0\xb3\x84$\xce0\x8d\xc9\x0c?[\xd7E\x9b\xbb\xa4B\x86?\xedb.\xafv\x20pSI\xeb\xd5~\x91\xae\xcb\x1a\xfe\xa3\xd1\xf0\x97G\xc3o\x18\xb6H\x9f\x17\xf3\x02}b\xba\xaew*C\xfb#\x0e!C\x03F,\xe2:\xbe\x1b\xe9^\xff\x82ST\x03l\xa7\xd8%b\xcfo\xf4\xe1k\x8f6\xabvi\xcf\x9c\x8d,\xb5\x20\x08\xbf\x13Lc2\xc3\xcf\xd1uQ\xe6.\xa9\x90\xe1O\xbb\x98+T\x88\xdfH\xea\x0a\xd3yiC\xa8\xeb\"^\xe9\x15\x87\xd5\xb7\xe3\x8d1\xe17\x0c[\xa4\xcf\x8b\x19\xfe\xc4t]\xa1\xcaw\x1e\xd5\x8f\xfaM\x0d\x18\xb1\x886\xed\xe4\x1dm\xa1\x8fV\xd8N\xb1\xd0\xb2-x\x10\x0f\x1d\xa2\xfa\xb0\xb1F=D\x9fXPN\xcfF\x94Z\x10\x84\xdf\x09\xa61\xa9\xe1g\xeb\xba(s\x97D()V\xfa\xc5\\\xa8\xcfU\x7f\xb2\xde\xd5gWe\xba\x08t]\x94wks\xe5\xeb\xafm\xf4\x94\xbe\xf5O\xff\xf4\xe8\x89P\x7f\xe9'\xa1\xe7\xb6|\x8eH\xc3\x96\xe1\xf3\x0a_\xd3.\xd0\xc7\x9c\xf5'\xa6\xebz\xf9\xf1\xe8\xd5\xbc\xa8\x06\x8cX\x84\x1a\xfe\x8a\xb6\xf3\xea\xe4{t\x0bL\xa7\x18\xba\xb4`\xcd\xa9\xf3\x87\xb4\xd3y\xb3\x0f\x9fT<\xd6v\xf4Q\xbcBd\xbbd\xa9I\xe8\x83\x91\x91\xf2\xfd##A\xae\x8a\xcc\x11\xa61\xa9\xe1\xe7\xe8\xbaHs\x97D()V\xfa\xc5\\\x08]X\x9aW\x96\xd6\xdb\x18E\xba.\xca\xbb5\xb1e\xc1#O\xbd\xa2N.\xf1x\xfa\x1f\xf1T\xf4k\xa7\xd6\xa4a+\xea\xf3\xfa\x888\xf9'IL\xd75a\xc8\xbe\xa2\x1a0d.\x02\xfd|s[M\xe9\xb2-\x96\xec\xb3\x9db\xf8s\xfe\xc7\x1e\xd9\xf86\xfe\xbb\xd1\x07\xb5p\xe7\xa35\x87\xdf*\xd5*\x18\xedR\xa5\x06\xd7#\x17\x05NsUd\x8e0\x8d\xc9\x0d\xff,!\x83b\xaei1m]W:\x09\x95\xc7$\x1b\xc8,\x10~\x06\x99\x14sM\x87\x19\xfd]\xde\xfeJ\xe9\x17t\x01{\x20\xfcV\x9c!\xe6\x92L\xdb{\xe8GN\xb8[~v\x01\xe1\xb7\xe0\x101\x97\\B\x9e\x0d\xcf/\xcb\xea\xfbef%\x10~+N\x11sI\xa5\xadb\xcb\x84\xa8\x0e\x20\x1b\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08\xff\xcc\xbe#\x1e\x00\xd2\x86\xdc\xf0\xb3u]\xe1\xab\xbd\xed'3vW\x1d\xdfn\xf5vi\xe4\x9b\x9f\xa5o\xcb\xf57\xf1\x97FH\xb1b\xfdXl\xf8\x8d\xd9\x1a\xab\xf8\x15\xe2.\xdd\xaf\x0e]\xc5\x84M\x05\x0bl\xd9\x96\x90\xf4\xce\x16\xd7\x96'\xb6\x85x5g\x0eR\xc3\xcf\xd6u\x85}\x1d\xa3\xb7/\xb7_\x16\xcd\x9d&\xf8v\xab\xd7=##\xa7<'FF<\xaf'\xefo\x12\xba\xa9\x18\x15\xf8K#\xa4X\xb1~,6\xfc\xc6l\x8dU\xfc\x0af)\xd9uF\xdd\xcf\xf1\xf0}`S\xc1\x0a[\xb6%$-\xb3E\xd7-\xae-Ol\x0b\xd1j\x0a_\x0f\x12\x91\x1a~\xb6\xae\xeb\xfdv\xac\xeb\xb8\xd9\x9e\x99o\xd3\xd8\xd8\xadN\x94\xe2\xe7?\xab\xaf\xde\x8a\x13\xd1':&\x8e\xd0M\xc5\xac\xc0Y\x1a!\xc5b\xfa\xb1\xd8p\xbb.<n`W0J\xa9\xae3\xeb^3\xc3/^Z2f\x1d\x8dt\xccf\xae\x9bx\xcbS\xdbB\xb0\x9a\xc2\xd7\x83D\xa4\x86\x9f\xad\xeb\xf2\xe9O\xb6\xea\xcc\xcc\xae\xdf\xc6n\x15\x9a\x88\xbcz'B\xf1\xbc\x04\xd8\x08\xddT\xcc\x0a\x9c\xa5\x11O\xcac>4\x8fM\xb2]\x17\"\\7*\xfcq\x90\x8e\x14\xf3\xb1\x9dmC\x02\xe1O`[\xc41f\xf2\x90\x1b~\x95X]\xd7I\xfd\xd1V\xbd>\xc1\x9ci\xc1\xcen\x851^\xbd\xe5\x87M\xab\x93)\x83\"\x89\x8a\xa3L\x13\x16\"\xdcT\xcf{JO\x1cxL3@\xb1+P\x18\xb6(\xa2.!\xc5\xa2\xfdX\"\xad\x16S=e\x1a\xab8\xaa,\xb6\xd2\xca,%\xbbN4\x16\xdc\xb5\xac\xb4fg\xf4\xf1\xba\xd1\xe1#*\xac\x89\xcc\xb7\x19\xffG\xa0\xd5\"\x07\x95\xad\xd5b8\xba(\xff\x98\xd9\x1d\xaa\x05\xce\xd2\xa2P\x9bE\xb0\xe5\xc9ma\xae&\xb5-\x8c\xf1\xe5m\xee\x0c!9\xfc,]\xd7\x85N\xed\x0c\xa0\xe3\xa4\xfd\xac\xe9\xc1\xcen\x851\xc3\xefY\xd3\xff\xce\x12\xedm\xdb\x94A\x91\x18\xe2(\xc2\x84E\xb8\xa9\xb0\x17\xaa\xe6\xb5\xb6\x9a\x8aO8\x15(\x0c[\x14Q\x97\x94b\x91~,\xa1V\x8b\xad\x9e2\x8cU<U\x16[ie\x94R]7\x1b;\xef9\xf0^\xffN\x8f\xfe\x88>s\xf8\xcc\x0a\xf8\xc1\x99##\x1b=\xf8\x11\xfdB\xad\x961\xa8\x1c\xad\x16\xd3\xd1E\xfa\xc7\xcc\xee\x90-p\x96f@\xad\x9bh\xcb\x93\xdb\xc2XMr[\x98\xe3\xcb\xdb\xdc\x19Br\xf8Y\xba\xae`\x87o2\x14\xe8\xf5v\x8b\xe6M\x03\x02\xbb\x15\x19\xfe%_\xab\x1b\x1f[\x9d(\x8f\x95\x01)\xaf\"\x9f\x06M\x1c>\xd6\xa8\xeb}\xaff#\xb7\x02\x01a\x8b\"\xeb\xb2\x0e\xfb\x85Z-\xbez*\xf2\xf4j\xb6*\x8b\xa8`QZEK\xe9\xaeGJC\xfd\xf8\xad|]\xe4i\x9f\xe4a\x7f\xa4B\x9b\xba\x1b\x0e\xef\xd7D{B\xad\x165\xa8,\xad\x16\xdb\xd1E\xf8\xc7\xc8\xee\x98-\xf0%^\x06\xc4v\x13ly\xcba\xbf9:\xd1mA\x8d\xaf\xa3\x0f\xfbQ\x8c\xae\x0bM\xf9\xd4\x83\x80!_\xafh\xc64\x20\xb0[\x91\xe1\xc7o\x0dZ\x06)\x8f\x95\x01)\xaf\xe2\x84_\xfb\x1cQ3@\x89\xc3o\xda\xa2D\xe1\x17j\xb5\xf8\xea\xa9\xc8\xeb\x94\xad\xca\"*X\x94V\xb6\xe1G_\x9fz\xfa\xf1E\x1e}4X\xe1W\x09\xed\xd2R$\xd6jQ\x83\xca\xd0j\xb1\x1d]\x94\x7f\x8c\xe8\x8e\xd1\x82\x8d\xc4\xcb\x80\xd8n\x82-\xcf\x0d\x7ft[P\xe3\xeb\xd8\xf03u]\xda\x1f\xa6\xc2\xa8S\xbe\xabOh\xb7\"\xc3od\x90\xf2X\x19\x90\xf2*N\xf8\xb5W\x85f\x80\x12\x87\x9f]\x97\x15~\xa1V\x8b\xaf\x9e\x8a\xbeN\x99\xaa,\xb2\x02-\xb6\xb0\x0d\xff\xb5%5\x87\xdf\x1e\xd9b\x17\xfe\xd03\xa5\xdac\xb7\xc5Z-\xde\xa0Fa;\xbaH\xff\x18\xd9\x1d\xa3\x05\x1b\x89\x97\x81e\xbb\xd9lyn\xf8\x8dmA\x8e\xafS\xc3\xcf\xd6u\xa9/\x06<u\xd3K\xd9\xec\xe5\x20\xb2[1\xc3Oy\xac\x0cHy\x95V\xf7(\x91m\xec\xa6B\xe5\xda\xf5D\xcd\x00\xc5\xae@@\xd8\xa2\xc8\xba\xac\xf0\x0b\xb5Z|\xf5T\xe4u\xcaVe\x11\x15l\xc3\x1f\xedz\xa4t\xcdF\xbc9w\xd9\x84?\xb4\xb9\xfc\xbc>%\xd4j\xc5\x0c\xaa%\xaflG\x17\xa9\x20\"\xbbc\xb4`#\xf12\x20\xb6\x9b`\xcbs\xc3\x1f\xdd\x16\xd4\xf827w\x86\x90\x19~\x8e\xae\xeb\x86wR=5:>(\x989\x0d\x08\xedV\xcc\xf0S\x1e+\x03R^e\x9a\xb0\x087\x95z\xee\x88/p<\xbe\x85[\x81\x80\xb0E\x91uY\xe1\x17j\xb5\xf8\xea\xa9\xe8Y8S\x95ET\xe0\x85\x9f\xeaz\xa4\xb4\x06\xf7\x20\xbc\x8e\x1f\xfe{\x1b*\xf0~\xf7<m\x04ck\xb5\xc8Ae\x85\x9f\xe3\xe8\"\xc2Ov\xc7l\x81^\xda\x9d6\xc3\xfdgBl7\xc1\x96\x17\x86\x9f\x1a_\xe6\xe6\xce\x10R\xc3\xcf\xd6u\xdd\xf4\x0e\x07\xde\xef\xf4e\xe0\x1e\x1f\x81\xddJ\xe5\xc3S\x9e\x13\xd7\x91Ete\xca\xa0HLq\x94i\xc2B\xf8U\x13uS\xe1\x8b\xee\xa7W-\x9a\xe0V\x20\x20lQf]B\x8aE\xfa\xb1\x84Z-\xa6z\xca4VqTYl\xa5\x151\x1b\xd1u\xaa\xb1]\xa7^\xdb\xe0\xa9|\xfd\x9a~\x87\xdf\x09\xadCf\x85{\xeb<\xaf\xe1\xcb\xfd\x07p\x9aDZ-sP9Z-\xa6\xa3\x8b\xf4\x8f\x99\xdd![\xa0\x97\xb6\xd3\xc3\xb8S2\xban\xe2-Ol\x0bs5\xc9mA\x8d/ssg\x08\xa9\xe1\xe7\xe8\xbaF\xbb;|\xa3q\xdc\xff\x95jDv+\xb5\x93\xf8s\xdb\x8a\xa0\xd5\x16e\xca\xa0\x08HqT\xd4\x84\x85\x9b0\xdcT\xe5?\xd9\xbf(b\x80bW\x20\x20lQF]B\x8aE\xfb\xb1DZ-\xa6z\xca4VqTYl\xa5\x151\x1b\xd1u\xa24|bUy\xe5\xae\xd3\xabJ\xb7h\xf7\xf6cv\x91\x15>\x8a~aB\xbb\xad@\xa0\xd52\x07\x95\xa7\xd5b8\xba\xc2\xa4\x7f\xcc\xec\x0e\xed*#\x97v\xba\xc2c\x1d\x7fs\xdd\x84[\x9e\xdc\x16\xc4j\xea\x13\xda\xb6\xa0\xc6\x97\xb9\xb93\x84\xdc\xf0\xcf,$\xdb\xad\xca\xdb\x100#y;\xf6\x83\x10G\xe0\xe4\xf0K\xfe./\x84\x7ff\x12~k\x91\x84\xad?\x13qr\xf8%\x03\xe1\x9f\x99\xdc\xad\x8c\xbdU\xdb\x19@\xf8%\xa1_8\x02\x80\x99\x03\x84_\x12\xda\x85\xa3\x99\xf1\xf1.\x00h@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8e\xdf\xe2\x0f\x003\x04\xb9\xe1't]\xa4\xa3+\xd0\xdb\xd1\x97\x81\xe7\xf8\xe8\xf0u]\x16R&b\x8a\xcb\x00\x95\x02L!\x15\xd1\xf5$\x84_@\x96\"5\xfc\x84\xae\x8btt\x05\xda\xfd\xb7\xfd\xed\x99J?_\xd7\x85\x84B\xaa\xe4\x88\xcb\x00\xc5$A\xd7\x93!\xa4\"\xba\x9e\x84\xf0\x0b\xc8R\xa4\x86\x9f\xd0u\x11\x8e\xae\xf0q\xfc\xe8\xce\x0b\xc73\xb3\x0f\xb2\xd1u\xa1x\x84TI\x91\xec\x17\xfc\x12u=\x19O\xbd2\xba\x9e\x9c\xf0\x0b\xc8J\xa4\x86\x9f\xd0u\x11\x8e\xae\x1b\xed\xf8\x15\x18l\xcf\x8c\xa7\xd7F\xd7\x85\xd2\xf6\xac\xd5d\xc3\x9fhwb\x9fO\x9b\x9c\xf0\x0b\xc8J\xe4\x86_%\xa2\xeb\"\x1c]\x03\xfa\xfb\x80/\x03O\xf0\xb4\xd7u1\x85T\x94\x0c\x8am\xee\xa2\x8dU&\x13\xbb*K\x97<\x83\xdf`L\x03\x94Y\x97\x14<Q-Dg\xa3]O\"G\x97)\xa42\x1dR\x89\x09\xbf\x98\x12/\x20\x8b\x90\x1c~C\xd7E8\xbaN\xea\x0f\xec\xbf\x90\x09i\x87\xad\xae\x8b-\xa4\"ePl\x7f\x13m\xac2x\xafb\xc3\xeb\x17\xdb4U\x8di\x802\xeb\x92\x82'\xb2\x05c6\xaa;\"G\x17)\xa42UY\x89\x08\xbf8\x12/\x20{\x90\x1c~C\xd7E8\xba:\x87\xb5\xbf\x0cw\x0afM\x07\"]\x17KKA\xc8\xa0\xd8\xfe&\xdaXe\x94\xd6<\x8d\x9f\xa0\xdd\x8f\xaf\xb0\x99\x06(\xaa\xae!x\"J\xc9\xd9\xcc\xee\x08\x1d]\x16!\x95\xf1<\xe9\xf8\x85_|\x89\x17\x90%\xc8\x0e?\x8a<\xb7\x9fptE\xce\x00\x063!\xea\x14\xe9\xba\x98\xe17eP\x1c\x7f\x13e\xac\x8ar\xdec\x9e\x08\x98\x06(\xaa\xae)\xdb2K\xc9\xd9\xcc\xee\x88\x1c]V!\x95m\xf8\xd9\x8d\xf1%^@\x96\x205\xfc\xa6\xaeK\xfb_\xc4\xd15\xa0\xbb\xb9{3p\xce/\xd4u1\xc3o\xca\xa0\xd8\xfe&\xdaX\x15\xe5\x84\xc7\xcc\x91\xe9\x81\xa0\xea\x1a\x82'\xa2\x94\x9c\xcd\xec\x8e\xc8\xd1e\x15R\xd9\x86\x9f\xd3\x18W\xe2\x05d\x092\xc3O\xe8\xba\x10\xe1\xe8\xba\xe1\xc5G\xac\xda\x07\x80\xb2\x11\xea\xbaXB*\xc2\x07\xc3\xf67\xd1\xc6\xaa(\x97\xc8=\xbf\x11~\xaa\xae\x91m\xa2\xf4R\xcc\x9e\x1fwG\xe4\xe8\xb2\x0a\xa9l\xc3\xcfn\x8c/\xf1\x02\xb2\x04\x99\xe1'u]\x84\xa3+\xac\xfd\x1c\xcc\xc0\xe7\xfcb]\x17KHE\x84\x9f\xedo\xa2\x8dUQB\xcb\xb6\xe0D\x1f\xc2\x1f)\x98\xe1\xa7\xea\x1a\xc1#J\xc9\xd9\xcc\xee\x08\x1d]\x16\xfd\x95m\xf8\xd9\x8d\xd1\x12\xaf;\xafM\x20\x20\xcb\x90\x1a~B\xd7E:\xba\x02\xed\x83\xb7\x073q\x87\x9fX\xd7\xc5\x10R\x912(\xb6\xbf\x890V\x91\\Z\xb0\xe6\xd4\xf9C\xea\xc98i\x802\xeb\xd2\x82'\xb3\x05c6\xb2;BG\x17!\xa4\"\\Z\x89\x08\xbfh\x89\xd7N\xcf3\x08\xc82\xa4\x86\x9f\xd4u\x91\x8e\xae@_{o\x06\xb2/\xd6u1\x84T\x94\x0c\x8am\xee\"\x8cU\x14\x13\xbb\x1e{d\xe3\xdb\xb4\x01\xca\xacK\x0a\x9e\xa8\x16\xa2\xb3\x91\xdd\x11;\xbaL!\x95\xe9\x90JH\xf8EK\xbcNW\x9e\xb6.\x01\x98\xed\xc8\x0d\xff\xccB\xb2\xae\x0b\x00f\x16N\x0e?|\x97\x17p4N\x0e?\x008\x1a\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08\xfft\x09a\x8c_\x000k\x80\xf0O\x93\x0b9\x8a\xa2\xe4\x05\x83y\xea\xaf\x1c\xbf\xa86\x00\xcc\x1c\x20\xfc\xd3\xa4[\xf1\x0d\x0f\x8f#4><\xecS\xbaE\xb5\x01`\xe6\x207\xfc\x1c]\x17B\x83\x19x\x8cO\"lSr8\xc1\xeeV\x8c/#\x07\xf4\xf0\xf3\xeb\x02\xc0LBj\xf89\xba.\xfc\x87a\xfb93M\xc0\x9f\xdb\xcc\xfeKl\xf8\xb9u\x07G\x99\xc5\x00\x90\x19\xa4\x86\x9f\xad\xebR\xe3\xd2=\xd3\xc3\x8f\x90+\xee\xf0s\xeb.\xacg\x16\x03@f\x90\x1a~\xb6\xae\x0b\x0dz\x07\xdb\x9d\x10\xfe\xb2:f1\x00d\x06\xb9\xe1G,]\x17\x0a\x05\xa3\xe2\x0e\xa9t+\x8a\xd2\x8c\x9a\xd5\x9f\xdd(XW\xe4*^yU-\xbd:WQ\xf6\xdc\\?/o9\xfd\xc1\x9dk{c\x91{\xe5MF+\x8c\xf0G\xeb\xfa\xd4\xc6\x9b\xf4E\xe0IL\x99V\xa3sq\xfe\xfc\x1d\xb4f\x03\x00$#9\xfc,]\x17&\x13\xe1\x0f\xfa\x0b\xf6L\xa2\xc9=n\x7fPM\xe9\x93\x83\xdd+s\x86\xf1\xb3\x85\x8f\x17\xcf/(\xde\xb1\xde\x0c\xb5\x86K)\xeb\xea*\xcb\x1b\xb7\xb6\xc2\x0c\x7f\xb4n\xf0B\xf16u\x11\xcd\x05\xfe`\xf0\x82\x7f~\x95\xdf\xef\xd7\xael6\xe6l\xf7\xb5\x16\x96\xc9\x7f^1\x00\x98H\x0e?K\xd7\x85\xc9D\xf8\xd5\x0c\xe2\x93\xf0\xfaF\xf5G\xb0\x1b\xbf#\x95=\xa1\x15\x97)Kc\xf4W\xc8U\x82\xef\xe4\x99\xbf\xd8\xda\x063\xfcf\xddf\xbc\xa7_\xdf\xa8\x15\x1b\x87\xfd>\xa5C\xfd9\xact!\x00\xc8\x1c\xb2\xc3\x8fbu]\x98\xcc\x84\x7f0/\x88\x82y\x9aId\xaau\xf9\xbc\x82\xc81y\x99\x8b\xf1(aW\x13\xfe\xe9U\xa6,\xe5\xcc\xf0\x9bu\x03\xca8\x0a\x15\x0ch\xc5F\xf8\xeb\xe7i\xf7\x03\x167\"\x00\xc8\x1cR\xc3\xcf\xd6ua2\x13\xfe\x90\xfb$\xeau\xe3\xce\x0c\x17\x167\x9d\xf4WE\xc2_\xc6\xa8\xab_\xc4\xf3+\xd6\x8f\xeb\xf8\x17\xfc\xf4\xba+v\xa0>\xb7~\xf9\xc0\x08\x7fY\xe4\xfc\xff\x09\x04\x00\x99Cf\xf89\xba.Lf\xc2\x8f\xb6?\x81\x9e\xd8\x8e'J\x16\xe3\xa3\xfc\xbaH\xf8YW\xe5];\xf0\xcfv\xc5z\x95\x8e\x19~\xa2\xae\xcf\x1dj\x8c\xec\xe1\xb5v\xb1\x9cd\xfd\xbcQ\x0d\xebQ\x04\x00\xc8Df\xf89\xba.L\x86\xc2?\xe4\x0a\xb8\x86\xf0D1\xcee\xb8\xcc.\xfc\xc5\xf8<\xbe\xa4\xcaZ\xce\x0c?Q7\xe4\xf6\xb9#kY\xa5\x16L\xe2:}z\xc5=\x07\xad\x8d\x01\x80D\xa4\x86\x9f\xa3\xeb\x0a\x05\x02\x1d\x83\x81I\xd1\xdci\x20\\\xb4\xbcH;\x05iV\xeaZ\x0f\x96)\xee\x96\xa1\xd0\x90vU\xfe\xb6\xb5\xaaKY>4\xb8\xd8\x1dS\xce\xbe\xdaO\xd4m\x9a\x179\xeaG\xcd\xae\x96\xde\xa5\xf9\xb8z\x93R\xdf\xdd\xdb\xa8tZ\x1b\x03\x00\x89H\x0d?G\xd7u\xd9\xab\x91\x89\x8f\xbd[\\-\xda\xefp\xcb|Wa}\xc7<W\xd5\xd5\x1c\xedt|\x85\xb5fIs]A\xd1\xfa\xd8+\x81\xdd\xca\xcd\xe8WzoF\xc3O\xd5\xbd\xa9<\x19\xa9\x1a\xda\xee\xce\xab\xd2\x0fq\xfa\xaa\xdc\xee\xc5}1\x8d\x01\x80D\xe4\x86?\x0b\xd1n\xde\x89|\xa5W\xf11*\x04]\x83\x08\x00f\x20\x10\xfei\x12\xba:\x1c\xfdJ\xef\xf0U\xd6\xd3<\xba\xdd\xacR\x00\xc88\x10\xfe\xb4\xd2<\x88\x96r\xbe\x14\x00\x00\x19\x06\xc2\x9fN\x82J\xd9\xb6\xa2L\\\xcb\x00\x001\x10\xfe\xb4\xd2\x9c_5\xc3\x1fS\x028\x17\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\xb9\xe1g\xeb\xba\x82\xfe\xee\xf6^\xe6\x97b\x00\x00H\x1bR\xc3\xcf\xd6u\x05;z\xc7o_\xee\xe8\x85\xf4\x03\x80L\xa4\x86\x9f\xad\xeb\x1a\xec\xc6\xcf\xf4\x98\x8az\xfb\x00\x00\x90\x82\xd4\xf0\xb3u]'\xf5\xe7\xdf\x0c\xb2\x9e\x84\x01\x00@\xba\x90\x1b~\xc4\xd2u\x05\xf4\xe7]]x\xc3n6\x00\x00R\x8c\xe4\xf0\xf3t]\x08\x85\x8f\xfb\xf9\xb3\x01\x00\x90r$\x87\x9f\xa7\xebR\xdf\x0d:\xe0)\xf6\x00\x20\x13\xd9\xe1Gl]\x17\x1a\xf2\xc6<\x14\x1b\x00\x80t\"5\xfc\\]Wh\xd0\x0b\x0f\xbc\x01\x00\xb9\xc8\x0c?W\xd7\x15\xf4u2\xd4\x98\x00\x00\xa4\x13\x99\xe1\xe7\xe9\xba\xa6\xbaN\xe2\xdb~\xe0&\x1f\x00\x90\x89\xd4\xf0\xb3u]\x81\xf6\xae\xdb\x81@\xe0\x82q\xed\x0f\x00\x00\x09H\x0d?[\xd7\xd5\xa7\xdb\xba\xbcp\x93\x0f\x00\xc8Dn\xf8\x01\x00\x981@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\xb3\x9a\xb0\xa8\x02\xe0`\x20\xfc\xd9K\xa0\xb1PyBT\x09p.\x10\xfe\xac%\\R\xe2\x1d\x80\x87\xa4\x00\\\xe4\x86\x9f\xad\xeb\"Je3\xb5\xad0oE\x9c\xc7\xc6\x03\x85\xb3\xebK\xc7W\x95>Q\x15\xc0\xd1H\x0d?[\xd7E\x94Jgi\xa1\xb71/\xce\x05\xfb\xf2g\x97Y`X\x81\x87\xa1\x03vH\x0d?[\xd7E\x94\xcafJiE\xe18\xb3?\xeb\xae\x9e\x0d+C\xa2*\x80\xa3\x91\x1a~\xb6\xae\x8b(\x95\xcdMev\x1d\xc9'\x04\x84\x1f\xb0Gn\xf8\x11K\xd7E\x94J%\xe4V4vh\xffk-\xcb+kU\x7f_\x9d\xab({n\xae\x9f\x97\xb7\x9cz\xa0h0OQr\x8e3Z1\xb9]\xe7\xce-\\\x11\xf3\x16\xd6Q\xe8\xc5\xbf\x02\x05\xfa\xd2\x94\x02\xb2\x06\xb9\xb4`]\x91\xabx\xe5U\xb5t\x9b\x92\xeb\xdd1?o\xb9Vsj\xbd\xbbx\xc7\x0ew>~\xc4a\xe7\xe2\xfc\xf9;\xacG*c\xfb6\xd5\xae\xdd\xb7\xe9\x81\xa5\x18\x0dB\xf8\x01[$\x87\x9f\xad\xeb2J\xe5\xf2\xbe\xbfKi\xf6\xfb\xb5\x885\xba\xf6\xf8\xf6\xb8\xd6\xe3g\x0b\x1f/\x9e_P\xbcc\xbdB\xc7\xf8\xb2\xdf\xefjf6\x13a0\xbf\xace\xa0Yi\xb1\x96?\xa1,\xc7\xbfB\x1d\xad:\x1d\xe4\x9b\x0a\xb94\x9f\xf2\xe4`\xf7\xca\x9ca\x84n\x1c\x9f\xab\x146\xb7\x14\xd4\xe1\x1a%E\xad\xcd\xae\xbc\xf6\xe5j\xc3\x8d9\xdb}\xad\x85e\xf4\xbb\xe4\xc7\x7f\xf6\xd2\xb9+g\xd7V\xff\x8e*\x0dM\x0e.t\xcb\x1fR`6!9\xfc\x1c]W\xb4T6\xc6a\x7f\x9fve\\\xff\x89\xca\x94\xa5\xc1\xc8\xc9\x08E\x9e]\xf8C\xc5\xf8P!\xd4\x1d#\x1d\xbb}Pw\x11M\xde\xd6\x99\xb4\xfc\xddXZ\xb0\x1b/\xb2L\xfbd\xde\xe5V\xdfz\xd6\x17\xaaS]\x8az,\xd0\xaa\x8c\xab\x93>\xa5\x03\xe1\xa3\xf9.j\xfe3\x0d8\xf6gV\xd3{\xfe'\xd4c\x8c,>\xa5\x01R\x81\xec\xf0#\x8e\xae+R*\x19#\xfc\x8d%\xda\xaf\x92F\xfc\xb3\xcc\xc5\xbe\xfc`\x1b~\x9f\xf2\xbe\xcd_\xd5\xf7\x00%\x8a\xc5Kf.m\xaau\xf9\xbc\x02\xa5\x0cO\xbapG\x9a]\xea\x8f&7\xc2\xfd\xc4\xe3T?/\x84)n\xa4\xe6\xff\xb2a\xd3\xb1\xb3\x9f>\xf8\x96*D\x81>o\x09\xec\xf9\x01[\xa4\x86\x9f\xad\xeb\xa2K\xa5b\x84\x7f\xf1J\xed\xd7\x8a\x85\xf8gY\x19\xbb\xb6m\xf8[\x14\x81t\xc4\xef\xd3\xb1~\xfef,m\xb8\xb0\xb8\xe9\xa4\xbfJ\x0f?^\x94\x16\xfe\x16e\x0a\x1f\x92\xe0=\x7fY\xe4\xdd\xc3r\xd7\xde\xfd\xb3/l\xad^\xdb\x13s\xce\xefW\x86\xadE\x00@\x203\xfcl]\x17U*\x19s\xcf?O\xfb5O\xdf\xf3\xd7\xb1k\xdb\x86\x7f@\x19\xb5\xf9\xab\x0d\xc6\xd2J\x16\xe3=u\x9d%\xfc\x81\x9c\x15\x81\xab\xf3\x17\xe3\xb1Y?oT\x83>\xb3\xb8\xf5\xaa\x1a\xfb\xfb\xe7j\xcf\x20\x0bp\xb5\x1f\xb0Gf\xf89\xba.\xa2T6F\xf8}\xda\x89t\x97\xfe_q\xf8o7\xc7$=XT\x85\xdf\xcf\xb6o\xb7\xfe!z\xce\xcf\xc3XZ1\x9e\x08\x97Y\xc2?\xaa\x14*J\x95vf\xd0\xa7hWH\xf6\x1c\xa4\xe6\xef\xa9\xbe\x82\x7f\xed>\x82,@\xf8\x01{\xa4\x86\x9f\xad\xeb\"J\xe5\xa2_\xed\x1f\xd2\x0e8\xd6\xe74\xf9\x9ar\xf0\xd5\xfe!\xff\xfc*\xbf\xdf\x1aX\xb5\xd8\xefj\xf4\xfb\xf5N\xaeT\xf2cz;\xf8\xbd\x12\xafo\xbb\xd2n-_\xa9\xac\xb0\x16\x99\x90KkV\xeaZ\x0f\x96)\xee\x96\xa1\x80?\xb7q\x08\x8d6\xe6\xfa\x03h\xd45\xe0\xf3\x07\xf4\x83\xa2&\xa5\xbe\xbb\xb7Q\xe9\xa4\x9a\xe8\xa9\xae\xedy\xf7\xdd\x97\xaa\xc7\xacm_V.X\x8b\x00\x80@j\xf8\xd9\xba.\xb2T&\x91\xcf\xf9\xe7jw\x16\x86\xb5\xcf\xf9\xd5\xfe\\\xcd\xd1J\xad\x81\x1d\xd6\x8b\x15\xed3{\xd4\x9e\xcf8\x9f\xbeYW\\\xb0\xf0dLq\xe4s~6\xe4\xd2\xc2-\xf3]\x85\xf5\x1d\xf3\\U\xdb\xd4\xa2\xdc\xf1|\xf5\xe76t\xc1\x85+\xe4V\xe1\x93~\xd4W\xe5v/\xb6\xdc\xb1\x7fvw\xcf\xa6\xda\x86\xdd1\xd9G\x93s\xeb\xaeN\xca?\x95\x02f\x0dr\xc3\x9f5\xf4*\x92\x8eS&\xf3\xb7M\x86B\xc1\xe1\xba$.\xdd\xf7\x96\xc4\\\x1c\x04\x00\x13\x08\x7f\x12\x84;\xdcO\x8a\xea\xa4\x88^\xb7\xbe\xef\x0e\xbb\x93\xf9\xd4~\xf2j\x06\xee\x99\x06f\x0b\x10\xfe$\x08\xb8w\xc8:I\x19\xcd\xd1\x8e\xf7\xd1x\x8e\xfdm\x04\x00\x900\x10\xfe\x99M\xb81\xef\xc9\xae\xc1\xae'\xf3d\x1dj\x00\xce\x01\xc2?\xd3\xf1-/r\x15-O\xe6\xa0\x1f\x00l\x81\xf0\x03\x80C\x81\xf0g%\xffh\"\xaa\x0a8\x16\x08\x7fV\x02\xe1\x07\xc4@\xf8\xb3\x12\x08?\x20\x06\xc2\x9f\x95@\xf8\x011\x10\xfe\xac\x04\xc2\x0f\x88\x81\xf0g%\x10~@\x0c\x84?+\x81\xf0\x03b\x20\xfcYI$\xf8\xff\xf5?\xfd\x03\x15\xfe\xa9\xc5\xbd\x08\x00\"\xc8\x0d?[\xd7\xa52\xee\x85[\xd8\x12\xe4J\xc3\xbb\xfc?\xea\xd9\xff\x9b\xea\xbf\xb2\xec\xf9[r\xe8'\x81\x00NFj\xf8\xd9\xba.\x95`\xfb\x05\xfa\x09\x15\x80\x90wk\xcf\xf1\xff\xa8g\xbf\xf6\xbf\xc6\x1c\xf6\xfb\xe6\xb6\xb2\xe7\x00\x9c\x87\xd4\xf0\xb3u]*\xbe\x81\x00\x84?Qb\x9e\xd8i\x12\xfe\xc7\x9f\xfd\xe3?\xfe\x7f\xb5\x7f\xc58\xe7\xdf\xc3y41\xe0<\xa4\x86\x9f\xa3\xebB\xe3\x1dA\x08\x7f\x0a\xb9Y\xf6\xc7\x7f\xfc\xef\xff8\xe7\xff\xf8?\x7f\x16\x1b\xfe`\x11\xfd\xe4o\xc0\xb9\xc8\x0d?b\xea\xba\x82\xed7Q\x16\x85\x9f#\xfcB\xf6\xe6\xae\xdf\xad\xad}\xb5\xa1a\xec\xd8\xea\xdd\xf7\x11\xba\xffBC\xed\xa6}\xb7\xd4\xe2#\xd5\xb5g^jX\xbd\xef3j\x12\xdd\xaf\xad\xae\xae\xd6\x0e\xfb\xd5\xd2\xb3\xc7\xb6\xd6\xee\xfb-\xfe\xcf\xfd\x17\xd76\xbc\xfa\xea\xda\x7f\xa3TU\xcd\xc9\xabZ8\xe7\xcf\x7f\xa6\x85\xff\xb3\x17\xd6\xd66\xe85\xd4]\x7f\x9e\xacg\x11\x003\x1c\xc9\xe1g\xea\xba|\x03(\x9b\xc2\xcf\x13~\x09\xcc]c\xab\xab\x8f\xed\xae^\xdb\xb3\xf6\x8cz>_\xfd\xd2\xd8\xb9}\xd5\x1f#t\xeb\\m\xf5\xa6\x9e\x9eM\xb5\xb7\xc8I\xb5|l\xac\xb6\x07\xcf\x86K\x1bzzV\xbf\xa0N\x7f\xbb\xb5\xe1LOm\xed\x99\xff\xf5\xe0\xef\x7f\x7f\xe3\x7f\xfe\xfe\xf7\x0f\xfd\xfb\x7f\xc0\xe1\x1f\xab}\xb6\xe7JOu\xe4\xd9\xde\x17\xe0\xa1\xbe\x80\x8e\xe4\xf0\xb3t]7\xf0\xbbA\x16\x85\x1fq\x85_\xf6\xe6\xae\x86\x17\xd1\x95\xeaw\xd1K/\xe1\xc7\xf0\xab\xbb\xff\x07?\xc6\x81F\xb5\x9b\xf0\xa1\xc0\xa6g\xe9I\xfc\xbf\x9e\xc8\xef\xd5\xea>\xfd\xc5\x06u\xea\\\xb5\xfa\xbep\xa6\xfa\xe3\x929s\xe6\x84\xeb\xe7\xcc\xf9\xce\x9f\xe3\xf0\x7f\xbbi\xdf\xb7\xea\x1b\x03n\x12\x13P\xde@\x00\x80\xe4\x87\x1f\xc5\xe8\xba\x82\xed7\xc2\xe1\xf5\xe6\xae\x9b\x00\x00\x0d\xefIDATp\xa03\x9cE\x0f\x9a\xe5\x09\xbft8\xe6\xae\x86s\xe8\xe3\xea\xfb\xe8\xd5\x17\xd5\xe9\xfbg\xf6mZ]\xfdc\\\\\xfb*\xfeyF\xfd\x0b9\x89\x88\xf0\xab\xef\x16\xa8\xa7V\xfd\xf1\xeaj\xf5\xc7o\xaa\xdf\x0dl\xffc5\xfc\xff\xcb\xbf\xfb\xf3\xff\x86\x0f\xfb\xafT\x7fJ.&`q\xfd\x01\x8eEj\xf8\x99\xba\xae\xdb\xde(\xd9s\x19\x9a'\xfc\x8a\xc06w5\\A\x1f\xab\x11\xc6\xe1\xff\xb8a\xd3\xab\xef\x8e\xed\xd6\xc3\xafe|\x0c\xef\xd4\x89ID\x84\x1f\xff\xd6\xc2\x7f\xe6\xcf\xd4\xb7\x85+\xd5\xb7\xc2\xc1?W\xc3\xffo\xfe\xdf\x7f\xd0.\xf8\x9d\xa9\xa6<~\xc3\xf08\x7f@Gf\xf89\xba\xae\xa9I\x95\xf1\x8e\xc9,z\xc6<\xcf\xf9c\x0b\x11\xfe\xad\xcf\xe2\x9d\xfb\x0bz\xf8\x8f\xe1\x9fg\xb5=\xbf9\x89X\xe1\xff\xb2z\xdf\x97\xb7\xb6\xee~\x80\xd0\x7f\xc1\xe1\xff\xcf?\xd3>\xea\xbb\x12y\xb3\x88\xd0\xecJ\xfc!\xe0@V\"3\xfc\x1c]\x97F\x96\x9d\xf3\xb3\xc3oo\xee\"\xc2\xbf\x09\x9f\xed?\xf8\xb1\x1e\xfe\xb5\xda\x89\xfenz\x12\xb1\xc2\x7f\xabzmu\xf5n|U\x1f\x87\xff\x0f\xff\x93\x1e\xfe\xfb\x0d\xbb\xf1\xae\xff\x98\xf6\xce\x81\xc2%6\x02!\xc0QH\x0d?[\xd7\xa5\x12\x0e\x8cw\x04b\xcc\xf6\xb3\x14\x8e\xf0\x0b\x09\xcc]\xb7V\x9f\xb9\x7f\xae\xf6\xd6\xfd\x17\xd5\xf4\xf6T\xbfp\xa6\xe7\xc7\xd5k{\xc6\xd4lW?{\xee\xec\xd6\xd5\xbfA\xe4\xe4\xb7ccc\xb5G\xc6\xc6\xee\xa3/\xf1\xef\x07\x9f\x1e\xa9\x1d\xfb\x12\xdd\xaa\xbdre\xec\xb7\xf8\xe6\x1f\x1c\xfe\xff\xed?\xfc\x8d~\x93\xcfX\xed\xd6\xb3W\x8eU\x9f\xd5\x16\xd3\x92\xacP\x14\xc8:\xa4\x86\x9f\xa3\xebR\xcb\xf1)\xffq\xfe|\xb3\x0a\x8e\xf0\x0b\xd9\x9b\xbb\x1e\xa8;\xeds\xab\xabk\xcfUW\xbf\x80\x1e\x9c\xd9Z\xdb\xf0\xe2\xd9\xad\xb5\xbb\xf1\xb1\xfeK\xab\x1b^\xfc\x12\xd71'?\xae\xd69\x8b\x8e\xa8?k?\xc5\x1f\xfb\x1fQS\x8e\xcbjw\xdf\xd2\xc2\xff\xbf\xff\xe7\xff\xeb\xbf\xeb7\xf9\xfc\xe6\x85\x86\xd5\xcf\xea\xdf\x04\xf0\xe7\xed\xe0v\x01p\x18r\xc3\x0f$N\xf4\xe8\x9e\x9ed\xf1\xaf\xb5G\xfe\xf5w\xbf\xbb\xff\xf1\x0b\xab\xefk\xe1\xffo\x7f\x85o\xee\xa7\xaat\xb9\x1a\xe1\x16\x1f\x20\x02\x84\x7f\xa6\x13\x7f\xf8\xdf]\xad\xdf\xee\xff`\xed\x15=\xfc?\xfb\x9b\xff\xdb\xf2\x95\xde\"\xf8R\x1f`\x00\xe1\x9f\xe9\xc4\x1f\xfe[\x91\xcb\xfa\xb7\xaa?\xfd\xb7\xf8j\xff\x7f\xd0\xce\x02lg\x01\x9c\x0c\x84\x7ff\xf3[\xedz\x9eu\x92\xcd\x83\x97j\x8f\x9c\x1b;w\xa4\xf6\xa5\x07\x10~@\x0c\x84\x7ff\xa3]\xcf\xfb\xcc:\xc9\xe1\xc1\xbb\xfb\x1aj\x1b\xf6\xbd\xfb\x00E\x0e\xfb\xe11^\x80\x0d\x10\xfe\xac\x04\xc2\x0f\x88\x81\xf0g%\x10~@\x0c\x84?\x0b\x09\xb5\xd6\xe1;\xfc\x9a.\xc0\xc7z\x80\x0d\x10\xfe\xec#\xbc8\xfa\x95\xde\x93\x90~\x80\x0f\x84?\xfb\x08=t\xf0\xf7\xbf\xff\x9f\xea\x06z\xe8\x09\xf8\x0e\x0f\xc0\x07\xc2\x9f}\x04\x15\xa5\xaa\xea\xa1\xc2\xaa\x85s\x1a\xb3\xe5\xfb\x12@:\x80\xf0g\x1f!\x7f\xb1\xdb=\xdf\xedv/\x1d\x86=?\xc0\x07\xc2\x9f\x85\x84\x02\xdaS\xc2\x86\xea\x0a\x95'Du\x01\xe7\x02\xe1\xcfF\xc2\xe1\x90\xfao\xfe|\xef@\xf6<\x1d\x09H9r\xc3\xcf\xd4u\x85:\xb4\x87xud\xd3\x95\xe9\x81BC?6\xb5\xad0o\x05\xf5\x90\xa2#\x91\xa7nO\x8f\xe8\"\x1a\x15E\xc9\xbb\xc9\xa8pU\xe9c\x94\x02@\x14\xa9\xe1g\xeb\xba\x82\xde\xf7\x03*\xf4\xa3lg9\xbe|\xe3\x11\xb9K\x0b\xbd\x8dy\xd4\xb9\xf7o\xc7\x04\xdf\xd0\x89\x8b\xe8\"\x02~\x7f+\xf3i\xdc\xc3\x0a\xfd\x8c@\x00\xa0\x91\x1a~\xb6\xae+\x98EO\xee40v\xf5SJ+\x0a[\xaf\xbb\xa5\"\xfc\xe6\"\xd4\x98\x0f1\xfe\xce,\x9d\x932b\xdb\x06f\x19R\xc3\xcf\xd6uee\xf8\x0dn*\x0c\xffpJ\xc2o\x92H\xf8\xbfI\x11\x10\xfe\xd9\x8f\xdc\xf0#\x96\xae+\xeb\xc2\x1f\xccS\x94\x9c\xe3x*\xe4\xd6\x9f\xcfo}tV\xed\xb1\xa8w\xcb\x84\x90x1}^h\x9b\x92\xeb\xdd1?o\xb9v\xf4d,\x02\xc3\x0e\xff\x20\x84\x1f\xb0Er\xf8Y\xba\xae\xa0w\xe0\x0d\xefq\x7f\x16]\xef\xbb\xec\xf7\xbb\x9a\xb5\xa9\xf7\xfd]J\xb3\xdfo}w\xc3O\xe2<\xf7\xe3Z\xea\x91\xda\x84\xc4\x8b\xed\xf3\xbaq|\xaeR\xd8\xdcR\xa0=\x19\xd8\\\x04b\x86?49\xb8\xd0\xcd\xf8\x94\x1f\xc2\x0f\x18H\x0e?K\xd7\x15\xf4v^\x0d\xdc\xe8\xee\xca\xa2\xf4#\x94\x17M&\xfb\xb0\x7f+\x16hm}\x96*$$^l\x9f\x17r\xb9\xd5w\x91\xf5\x85\x91\xff\xe5\xd9\x85\xff\x09\xf5\xb8\x81\xb1`\x08?`\";\xfc(F\xd7\x85\xc2\xe3\xfaA\xc0\x90`\xbeY\x85\x20\xfc\x9aw+j\xdf\xd0!$^\x1c\x9f\x17ra\xbbv\xb3+\xf2?\xdb\xf0\x07\xfa\xbc%\xd3\xda\xf3\xcf\xd1\xfe\xd9\xfc=\xb6m`\x96!5\xfcL]W\x14\xffI\xf6L\xb3\x13A\xf8)\xefV\x04B\xe2\xc5\xf6y!\xed@?\xbe\xf0\xab\xf8\x95\xe1\xd8B\x1c\xe87\xffH\x8f\xf5\xbf\xfc\xe5\xc3s\xbe\xffS^\xb8!\xfcY\x8f\xcc\xf0\xb3u]h@O\xc7\x20\xeb(u\xd6\"\x08?\xe5\xdd\x8a\x9b\xc4\xc2\xcf\xbd\xda\xff\x837\xf5X\xff\xc5\x0f~\xf9\xc5/\xff\xe4\x17\x9cpC\xf8\xb3\x1e\x99\xe1\xe7\xe8\xba|\xda.\x7f\xaa\xe3}\xdbyg\x19\x82\xf07h\xe7\xfc\xbbc\xffbK\x8a\xc2\x1f\x8d\xf5\x1f\xfeJ\xfd\xf1\xab\xff\x18I\xf3O\xbf?\xe7\xe1\xbf\xfb\xe6\x9b_\xfe\xf0\xa1\xef\xfc\xf0\xd7F\xf8\x7f\xfa\xdd9\x0f\xff\xe57\xc4\x84\xfa\xf79\xdf\xff{\x08\x7f6\x205\xfcl]W\xc0\xdbw3p\xb9\xdd\x975\x9e\xce\xd0\x90\xdf\xefj\xf4\xfb\x83\xd1\xab\xfdC\xd6U\xab\xad\xde76\xf6\xac\xa6\xe0\x8a\x9f\x80?\xb7q\x08\x8d6\xe6\xfa\x03\xe4\"\xb4;\xfcZb?Q@\x97Y:\xde\xd8\xf0?\x1c\xc9\xfe\x1f\xfe\xf4\x8b_\xaao\x04\xdf\x7f\xf3\x8b_\xff\xe9\x9fF\xc3\xff?\xbe\xff?\xd4\x83\x83\xbf$&\xbe\xff\xd7\xbf\xfe\x97_\xfc\x10\xc2\x9f\x0dH\x0d?G\xd759p\xbc\xc37\x9e5\xd9G\xc3\xba\xafK\xf1F?\xe7\x9f{\xc3Rck\xcf\x0bQ\x05W\xfclS[\xca\x1d\xcfW\x7fn#\x16\xa1\xdd\xdb\x8f\xa9\xb7\xd6\x9f\x9c[w5\xc6|L\x86_?\xec\x8f\x1c\xdc\xff\xd1\xdf\x7fc\xf0\xeb\x87\xa3\xe1\xff\xc1/\"\xef\x0f\xc6\xc4w~\xa5\xd7\x81\xf0\xcf~\xe4\x86\x1f\x90Io\x89\x12\xf3\x95^2\xfc\xf8\x82\xdf\xc3\x7f\x17\x09\xff\x9c_\xeb\xbf\x7f\xa5\x1e\xd6\xcf\x99\x13\x0d\xffC\xfa\xad\xbc\xc4\xc4_<\xf4\xa7\x7f\xf7+\x08\x7fV\x00\xe1\xcff&\xafZO\x06\xc8\xf0k\xbc\xf9]\xfd\xf7C\x91\xf0\xff\xe0/~\xf5\xcd\x17F\xf8\xe7D\xf6\xf3\xe6\xc47\xbf\xf8\xeb\x1f>\xf4\xd7\x10\xfel\x00\xc2\xef,b\xc2\xff\xc3\xbf\x8c\x84>r\xd8\xff\x9d/\xd4\x13|#\xfc\x7f\xf4\xb7\x91j\xc6\x04\xe6\x97\xdf\x81\xf0g\x03\x10~gA\x86\xffO~\xf1/\xbf\xfc\xd3?\xfa\x17=\xd0o>\x1c\xb9\xe0\xf7\xd7_\xfc\xe2\xbbF\xf8\xdf|\xe8\xef~\xfd\xc5\x9b\x7fBL\xfc\xc9O\xbf\xf8\xe2o\xbf\x0f\xe1\xcf\x06\x20\xfc\xce\x02\xc7>r\xf6\xfe\xcd\xdf\x7f\xf7\x0f\x1e\xfe\x8b/\xa2\xbb\xf3\xbf\xff\xae\xf6Q\xdf/\xbe?\xe7\xe1\xbf5\xc2\xff\xcd\x9b?\xf8\xce\x9c\x1f\xbcIL\xfc\xf4\x07s\x1e\xfa\xe1/!\xfc\xd9\x00\x84\xdfY\x10\x07\xfc\xd3\x03\xc2?\xfb\x81\xf0;\x0b\x08?`\x00\xe1w\x16\x10~\xc0\x00\xc2\xef,\x20\xfc\x80\x01\x84\xdfY@\xf8\x01\x03\x08\xbf\xb3`?\x8c3\x19DK\x02f<\x10~\xc0\x96\xec\xf9\xca\x05`\x05\xc2\x0f\xf0\x094\x82\xf0+\x8b\x81\xf0\x03\\\xc2%%\x20\xfc\xcab\xe4\x86\x9f\xa9\xebR\xb9\xd1\xd7\xd1}\xd9f>\x20\x82\xad\x06,\xe5\x80\xf0+\xbb\x91\x1a~\xb6\xae\x0b\x85\x06\xbcC\xb7G\xbd\xf4\xc3*\x01\x16\xb6\x1a\xb0\x94\x03\xc2\xaf\xecFj\xf8\xd9\xba.4\xd0\x1e\xc0o\x0c\xd6'^\x00\x0c\xec5`)\x86\xfdx0\x20[\x90\x1a~\xb6\xae+\xe0}\xdf\xf8\x1b\x10/\xccg\x03\xa6\x18\x08\x7fv#7\xfc\x88\xa5\xeb\x1aj\x0f\xc1\x07J\xf1\x20\xd2\x80\xdd\xaa\xad\xae~\xf5\xb3\x177\xd5\xee\xfb\x1dQ*\xd4\x80\xa9|\xf6\xc2\xda\xda\x86}\xbfE\x16\x98\xc2/\x20k\x90\x1c~\x96\xae\xab\xd7w\xe3\xa4\xf7\xf8\x85\xac\x12\xf6\xa4\x07\x81\x06\xec\xdbs\xe76m]\xddp\xec\xc5?#\x9f\x0e(\xd4\x80!4V\xfbl\xcf\x95\x9e\xea3T!O\xf8\x05d\x0d\x92\xc3\xcf\xd2uuk\xba\xae\xe3\xdd\x90\xfe8\xb0\x7f$8\xfaq\xf5\xee\xfb\xe8\x01\xad\x03\x10j\xc0\xbe\xdd\xb4\x0f?I\xfc\x1c=\x1bO\xf8\x05d\x0d\xb2\xc3\x8fbu]>\xed\xaa_\xb0\x83\xe1\x97\x01\xac\x88\xc2_\x1b\xf3H`\xb1\x06\xecJ\xf5\xa7\xd6\x99\x10_\xf8\x05d\x0dR\xc3\xcf\xd6u\x0d\xea\x9e\xae\xc1^\xfe\x8c@\x14Q\xf8i\xf7\xa7\x86P\x03v\xa6\xfa\xdb\xd8\xb9\xb49Y\xc2/\x20k\x90\x19~\x8e\xaek\xb4C{/\x18\x80c\xcc8\x10\x85\xff\x05F\xa1\x88+\xb43\xd0\x04\xae\xf6g72\xc3\xcf\xd1uMi\x1f\xf5\x05\xdb\xe1\x16\xbf8HG\xf8\xef7\xec\xc6\xbb\xfec\xc7\xac\x7f\x80\xf0g7R\xc3\xcf\xd6u\xa1\xcb\xed\x97\x03\xe3\x9d'\xe1\x82\x9f\x00\x91\x06\xecwcc[w\x8f\x8d}\xc6\x99\x9d\xcfX\xed\xd6\xb3W\x8eU\x9f\xb5\x963\x85_@\xd6\x205\xfc\x1c]\x17\xba\xdd\xdbq\xf22d_\x84H\x03v\xabZc\x1fgv\x1b~\xf3B\xc3\xeag\xdf\x8d)f\x0a\xbf\x80\xacAn\xf8\x81\xd9\x05K\xf8\x05d\x0d\x10~\xc0\x8eX\xe1\x17\x905@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1\xc8\x0d?K\xd7\x15\xea\xf4\xea\x1c\xb7\x9f\x17\x98!\x10\xca0`V#5\xfcL]W\xc8;\x1aP\xb9\xec\xbd*\x9a\x1d\xc8\x18\x83\xa3\xe64\xa1\x0c\x03f5R\xc3\xcf\xd6u\x8dk\x0f\xef\xed\x84\x87\xc6\xcc`\x16\xd6\x13\xff\x81\xc7{d\x09R\xc3\xcf\xd6ui\xf8\xde\x80'\xf9\xcc`\xca\xeaD5\x80\xd9\x87\xdc\xf0#\x96\xae\x0b\xa3=\xcf\x13\xc8\x14\xb7\xeb\xdc\xb9\x85+\xb4\xc7v\xb4\x96\xe5\x95\xb5\xaa\xbf\xb7)\xb9\xde\x1d\xf3\xf3\x96\xe37\xea\xc8\xc3\xfe\xcb\x10\xa9\x0c#*lSr:\xd1m\x97R\xa25\xd6\xb98\x7f\xfe\x0ex\xe0\xff,@r\xf8Y\xba.\x8c\xe6\xf1\x002\xc4`~Y\xcb@\xb3\xd2\xa2N6\xba\xf6\xf8\xf6\xb8\xd6\xabo\xc7\xc7\xe7*\x85\xcd-\x05\xea.?x\xc1?\xbf\xca\xef\xf7kO\x0c4\x94aD\x85\x80?W-\x1ajt\xe1\xf2\xc6\x9c\xed\xbe\xd6\xc2287\x98\xf9H\x0e?K\xd7\x85\xa2\x17\x03\x80\xcc\x10*^\x1e\xc2OT\x9fB\xa8O\xc1\xa7c\xfaO\x97[\xdd(\xeb\x0b\xb5*\xd4a\x7f\xf4\xf1\xe1D\x05\xed\xfd\xa0\x19\x87\xdf\xa7t\x20\xfc\xd0\xef.\x04\xcctd\x87\x1f\xc5\xea\xbaT\x06\xba\xedg\x01\xd2\x89Oy?:\xd9\xa8\x1f\xb9\x974\xaa?\\\xf8\x87\x16h^\xf8\xcd\x0af\xf8\xeb\xe7\x850\xc5\x8d\x08\x98\xe9H\x0d?[\xd7\xa5\xd2\x01\xc2\x8e\x0c\xd2\xa2\x18\x17[\x17\xaf\xd4~\xadX\x88\xc8@\xf3\xc2oV0'\xcb\"\x17\x08\xe0\xa1\xbf3\x1f\x99\xe1\xe7\xe8\xba\xf0\x95\x00J\x1c\x09\xc8e@1>\xc5o\x9c\xa7\xfd\x9a\xa7\xed\xf9\xad\xe1o\x8f\x9c\x9b\xf1\xc2\xbf\x07O\xae\x9f7\xaa1\x85\x80\x99\x8e\xcc\xf0st]\xf8\x94\x1f.\x0eg\x90`Q\x15~+\xde\xbe\x1d\x9f\x01\xe0s\xf5.M\x05F\x86\xbf\xaa\x0a\xa1I%rr\xc6\x08\x7f^\x93\xfa\xde\xbe\x10O\xf6\xe9\xb5\xf6\x1cD\xc0LGj\xf89\xba.\xf5\x9d\x00>\xe4\xcf$\x83\xdf+\xf1\xfa\xb6+\xed\xea\xe4\xfa\x9c&_S\xcez\xed\x0a~\xe3\x10\x1am\xcc\xf5\xe3\xfd}\xb3\xab\xa5wi~\x80T\x86Q\x15\x16\x17\x1e<\xb8X\x99\xdbq\x03\xa1&\xa5\xbe\xbb\xb7Q\xe9\x14-\x14\xc88R\xc3\xcf\xd5u\xc1\xfd\xa2\x99\xe5f]q\xc1B\xedS\xd7\xb0\xf69\x7f\x18\x7fv\xaf(\xb9\xe3\xf9\xea\xcfmjqh\xbb;\xaf\x0a\xfb\xbaMe\x18U\xe1fU^\xc1\xf2&\xbdn_\x95\xdb\xbd\xb8\xcfvy\xc0\x8c@n\xf8\x01\x00\x981@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8g\x0f\xf5\x8a{\xfd\x0dQ%\x00\x88\x17\x08\xff\xec!0\xd8Q\xe2\x86'\x1f\x00\xa9Bn\xf8Y\xba.\xfct\xd87\xda\xdf\xb8\x00\xaf\xea8\x18T\xc0k\x04\xa4\x0a\xa9\xe1g\xea\xbaP\xb0\xf3$.\xed\x84\xf4\x8b\x19V\x86DU\x00\x20N\xa4\x86\x9f\xad\xeb\xf2wk\x8f\xf0\xef\xf6\x0b\xe6\x06\x20\xfc@*\x91\x1a~\xb6\xaek@\x7f|w/x;\xc4@\xf8\x81\xd4!7\xfc\x88\xa5\xeb\x9a\xea\x1c\x9c\x0aM\xf9;\xe1y\xafb\xae*\x83\xa2*\x00\x10'\x92\xc3\xcf\xd4u\x85\x06\xd4\xd2>x\x86g\x1c\x84\xdc\x0b/\x04\xc0\x84\x05\xa4\x04\xc9\xe1g\xe9\xbaB\x03\xdd\xf8\x99\xbe\x03\x90\xfe8\xe8S\x14e\xa5\xa8\x12\x00\xc4\x83\xec\xf0\xa3X]W\xf4\x82\xdf\x05\xd1\x8c\x00\x0a\x16\xcek\x19\x04\xc3\x09\x90\x12\xa4\x86\x9f\xa9\xeb\x0a\xb7\xeb\xa68\xcd\xe3\x03\xd83\xac\xc0eQ\x20U\xc8\x0c?[\xd7\x15\x0d\xff(\x84_\x0c\\\xed\x07R\x87\xcc\xf0st]\x83\x91\xc3~\xb8\x8e-\x06\xc2\x0f\xa4\x0e\xa9\xe1g\xeb\xbaB]\xdd\xe3\x81\xf1\xee.\xb8\xe0'f\x08\xc2\x0f\xa4\x0c\xa9\xe1\xe7\xe8\xbaB\xc3';N\x0eC\xf6E\x84\x02\xa3\xf5\xae\x80\xa8\x16\x00\xc4\x89\xdc\xf0\x03\xd3\xe1\x09E)\xee\x15U\x02\x80x\x81\xf0\xcf\x1e\x02\xa3\xb0\xdb\x07R\x08\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\xca\xff\x0fL\x0c\x1em+\xfdz{\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/chan1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\xc0\x00\x00\x02n\x08\x03\x00\x00\x00aR\x8e\x00\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x07\x0a\x07\x0f\x11\x0e\x1a\x1a\x14\x1f\x1f\x18!#\x20#$\"\x15%D$%#%'%'(&+)\x1e()'*+)/,!+-*,-+-/,02/63(241564796<9.9;8#?r@=2<>;>@=C@4DA5AB@DFCFHELH:IKHKLJNOMUP?PRORTQTVSVWU]XGWYV_ZI,`\xaeZ[Y7]\xad[]Z\\^[9a\xab;b\xac<c\xad_a^faO>e\xafac`hcQcdbAg\xb2efdCi\xb4fheDl\xb0Mj\xafqjRikhGn\xb2Ip\xb4lmkKr\xb7npmUt\xb4{s\\rtqWv\xb6tvsuwt[y\xb9\\{\xbbxzw]~\xb8e|\xb8\x84|dX\x80\xbf{}za\x7f\xbf|~{~\x80}b\x82\xbc\x7f\x81~d\x84\xbf\x81\x83\x80|\x83\x97\x83\x85\x82l\x86\xbch\x88\xc3\x90\x86hn\x88\xbej\x8a\xc4\x87\x88\x86q\x8b\xc1\x89\x8a\x87t\x8e\xc3\x97\x8doz\x8e\xbf\x8c\x8e\x8b|\x90\xc1\x8e\x90\x8dx\x92\xc8\x90\x92\x8f~\x93\xc4\x9d\x93ux\x96\xc5\x92\x94\x90\x81\x95\xc6\x93\x95\x92{\x98\xc8\x94\x96\x94\xa2\x97y\x96\x98\x95\x81\x9a\xc4\x97\x99\x96\x84\x9c\xc6\x87\x9b\xcc\x99\x9b\x98\x80\x9e\xcd\xa6\x9c}\x87\x9f\xc9\x9c\x9e\x9b\x89\xa1\xcb\x9e\xa0\x9d\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x91\xa5\xca\x8f\xa7\xd1\xa4\xa6\xa3\x94\xa7\xcc\xa5\xa7\xa4\xb3\xa7\x83\x92\xaa\xd4\xa7\xa9\xa6\x97\xaa\xcf\xa9\xab\xa8\x9d\xac\xcc\xab\xad\xaa\x9b\xae\xd3\x9f\xaf\xce\xbb\xae\x89\xad\xaf\xac\x9e\xb1\xd7\xa2\xb1\xd1\xaf\xb1\xae\xb1\xb3\xaf\xa5\xb4\xd4\xa2\xb5\xdb\xb3\xb5\xb2\xc3\xb6\x91\xab\xb7\xd1\xb5\xb7\xb4\xa8\xb8\xd8\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbc\xd7\xad\xbd\xdd\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xb7\xbf\xd4\xcd\xc0\x9a\xbf\xc1\xbe\xb6\xc1\xdc\xb9\xc1\xd6\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xba\xc5\xe0\xc4\xc6\xc3\xc6\xc8\xc5\xc0\xc8\xdd\xd7\xc8\x9d\xbb\xca\xde\xbd\xc9\xe4\xc5\xc9\xd9\xc0\xcb\xe6\xca\xcc\xc8\xc7\xcb\xdb\xc2\xce\xdc\xbf\xcf\xe2\xc9\xcd\xdd\xcd\xcf\xcc\xc9\xd0\xe6\xcc\xd0\xe0\xc6\xd2\xe0\xdf\xd1\xa4\xcf\xd2\xce\xd1\xd3\xd0\xd2\xd3\xdd\xd3\xd5\xd2\xcd\xd5\xea\xce\xd7\xdf\xd5\xd7\xd4\xe6\xd7\xaa\xd6\xd8\xd5\xd1\xda\xe2\xd8\xda\xd6\xd9\xd9\xe4\xd3\xdc\xe4\xd5\xdb\xea\xda\xdc\xd9\xd8\xdd\xe0\xdc\xdd\xe7\xdc\xdf\xdb\xda\xdf\xe2\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xd6\xe2\xf0\xdc\xe2\xe4\xe0\xe2\xdf\xde\xe3\xe6\xde\xe2\xf2\xe2\xe4\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xeb\xe7\xe9\xe6\xe8\xe8\xf3\xe8\xea\xe7\xe2\xeb\xf3\xe9\xeb\xe8\xec\xee\xeb\xe6\xef\xf7\xe8\xf1\xf9\xef\xf1\xee\xf0\xf0\xfb\xf1\xf3\xf0\xf1\xf6\xf9\xf4\xf6\xf3\xf7\xfa\xf6\xf5\xfa\xfd\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf9\xfe\xff\xfc\xfe\xfb\xfe\xff\xfc\xc5\xe5[\xa2\x00\x00\x20\x00IDATx^\xec\xbdqLS[\xda\xef\xef93\x8b\xab}\x87Ax+\xc3}\xf5^8#\xbe\x1c\xbc^gk\xa9\x17\x7f\xe2A.U\xe1u^\x05\xde\x899\xf6\xe8}\xc9\x18\xc5\x174z\x8fg<W\xb7i\x86\x1e\xa0D\x99`1\xbcD0\x0c\x0dp\x022\x04\xa5i\x99\x89\xa9F\xc2;\x8d\x8d\x9c\xd83\x89\xf6L\x8c\x90BL\xbb\xfe\xfc\xe5\x97\xdc\xff&\xbf\xb5\xd6\xdem\xf7nw[@\xd9Px>\x09\xddk\xaf\xfd\xac\xb5\xf7j\xd9\xdf\xae\xf5\xec\xd5\xf5l\xf8\xdb{\x80\x01\x00\x00V\x8e\xbfmH&R\x89HV;\x00\x00\xc02\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\xac\x0b\x02\xc9\x0c\x80\x94\x04\x04\x0cX\xfbx*\xb6\xa0\xfd\xc9\x8c\x80T\x04\x04\x0cxO\xda\x0b\xbc\xc9L\xd4\xc1[\xd0\xae|\x20\x90\x97\xc7\xf7\xb8\x95\x8f\x01\xa9\x8d\xda\x02\xe6\xe9j6Y\x06|\xb2\xe4|\x13/\xd0\x9c\xa0\xe0_\xaf\x95\xe9k\x83\x09\x0cbi\xdb\x88\x046\xb6%3]\x94\xed\x12\xa9C\x9b\xe8\x0df\xcd@u\xca\x06w\xd9\x05d\xeds)\x1f\xc6\xd8L\x0e\xd7\x91z\x102\xc53\x890\x9a\xc6\xaaK{\x20\xecNnByds\x84de(\x9c\xc0\xb1'#\xbb\xb47{:\xf6H2\x1a\xd0\xb9d&K`\xec\xd0p2\x13F\xbf\x8e\x13\xd0\xf5\x93KIkP4\x1aG]\x8a\xf9@\xea\xa3\xb2\x80M\xf3V\xa7\xdb\xd9\xd6\xec\x93&g\xf8Q\x0f\xe1\x01?\x9e\xa0\xe4\xe9C\x9d\x17\xf5o\x13\x18\xc4\xd2\x80l\xb6\xaf\xd1e\x9b\x0d)\xff_SzG\x17n\xbbDB\xa7\xf0\x96f\xec\"\x9b]\xe9\xa5qz,\xbe\x81MGl\xbd\xbf\xd9\x96\xeeT>\x8e}f\xd4\xe0\xc5\xde\x06d\xf6\xc5\xb1\x88\x9c\x0d\xcf\x0f\xb2\x06\x0d\xfa\xc5\xfd\xc1#\x1a\xf2\xea\xa6\xcd\x1c\x8c)\xd5\x95\xb1\x83o\xd9\x8eP\xbc3\xc7\xe77if!\x11>q<\x1e=Y\x84\xc1pq\x7f|C\x09w8\xbb\xbd\x93\xeb\xb0\xdbw\xdf!{\xd6\x8dW\x95\x8c\x86\x90M)\x1bX\x03\xa8,`.\x9e\xf6\xe4}\xbcS\x96t\xd0\xfb\xd1\xd74\x90\xa0\xe0\x0f\\'\x0e\xce&0P\xe0\xb2\x86\xfe\xef\x92\xbb5\xfdr\\\x9b\x1d\xa5\x0b\xb7]\"\xa1S\xe0S{3|\xd8\x9b\xbe\xf7T\\S\x0d\xed\x9b\xf9r\xf6\xc4;\xee`]\x89^\xe4\x88g\x209\x1b\x16\x1b\x14\xa6N\xa3\x94\xcb\xf0f\xee':\xe7\xdb\xb6x\x01\x9b\xd4\x84Z#=\xb1\x04oaH\xaek.(\x1aD\x90\x19,\xb0\xb3\xdd\xa1\xc3\xf817\x81\xb1\xbe\x83\xee\x9e\xd1(\x8d\x14\x15Z\x0c\xac\x11T\x160\xcc\xba\x0e^\xde#OR\xee\xde\x9aW.\xc2x\xc1-lH!\xc5\xef\x12\xffw]~\x1c\x8f\xfc\x83\x0b\xb7]\"\xa1S\xe0S\xa5\xbbZp\xd3/J\x93\x08\x18>\x97\x1e\xef\x91\xd9\x02\x04,|6\xbc\x08\x01;\x95\xce\xc6\x8e\x97P\xdc\xd1k<*\xb2C\x9dA\xe9\x89%8\xc2\x17[\x95L\xc0\x92\x1a(0\xf7B\x14\xb0\x17st\xd7\x97]\xa1`\x04\x02\xb6vQ[\xc0\x083n\x8b5\x10\x93t\xf2\xf1\xfd/se\x82\x9f\xe3&\xc6\xd78\xae\x0f\xbf\xd0q\xbf\xa4I\xdd\xbd\x9b\x95\xfa\xda\xef\x99\xcd\x8b\x0be\xbaCbZB\xe4\x7f\xb7\xa9\x20#\xb7\x9a\xddm\xb6=9\x9b\xb4{\xb7\x92\x11\x87\xe8\xf7\xca\x97\xd9\x8eoD\xe8\x8c\xab|k\xfa\x9ey\xec;\x98\xad\xc9\xd9G\x87\xb6\xc7\xd0&\xbe:7c\x8f[V\xc31\xb4\xf1jEN\xc8mu=?c\xfbuy\x0d\xd2S\x9c*\xbd~\x00\xef\xbdN\x05,R\xaf\x93\xd8\xee\xc39\x08e\xf9C\x02\xd6\xb0\xd1/\xb9^\xe9\xe5\xc8\x04,t\xb6\xa4\x0d\xc2\xd8S\x9e\x9du\x80\x0d!\xb1\xe2[\xb2M\xb8\xed\xbd\x97\xfc\x92z%-Vn<\xc1\x9f\xf99\xdbF\x9d8\xc4\xd5\\\xab\x139\xad\xb9\xd7\xf1\xb0\xe8\xaa\xaa\xa1\xd9\xc1\xfb5\xc5\x957Y\x7f\xda^{XWV{8(3x\xab\xe7\xe8\xc7\x8c\xa3>\xe3W\x17\xcb\x0c7o\x96\x15\xf7\xc9O\"\x08\x98\xc8\x99\xf4\x19\x1cC/\x08\xd8\x9aEu\x01\xf3\xf2</\xbap$I\x8c-=\xf1\xcb\xe0\xa7\xf6>\xae\xd5n\xff\x0b\xc6\xdf\xdbu\xad88\xf1e\x11\xc6S}:\xeeP\xeb\x9d\x92\xf3\xd4\xe2Qq\xcd\x9d\xb1V\xae#\xbad\xf8n\xadH;n\xbd\xaa\xcd\x0f\xd0\xac#\xb7\xbay-\"\xf24`\xcb-\xb4\xd9lN\x99\xed\x8c\xa5yknfNu9r\x93\x1b\xb3\xa2\xd7\xb2/m\x88\x08M\xf3F\xa4\xad\xbb\x94y\x00Kk\xa0\xb9[\xeb\xea\xb6fPI9\xa29c=\xa3)\x97\xd5\x20=\xc5\xa9Rw\x86\xf7'\x1e*`\x91z\x03\x83ui\x83\xd8\x8c\x9a\x1ebQ\xc0\x02\xf9\xdb\xa5\xd7+\xbd\x1c\x07\xb2\xce\xcc\xcc\xdcE\xb2\xb3%m\x10ve\xe6\x9a\xdb\x7f\x814\xf1\xde\x12\x7f\x9ad\xdc\x1c\xaeW\xd2b\xe5\xc6\x13FQ/+\x14u\xe2\x10\x9er\x94\x87>A\xa5n<;a\xaf4\xda\xed\xf6\xe74\xfb\x0awc\xa4\xf3P\x15\x19%>\xdd}\xb1\x7f\xec^\x19\xf7Nn\xf0\xd8n\xd7\xb7\xd2\x84\xf43\x9e;a\xe8l\xd5\xeb\xef\xd5F\x7f\xc8R\x01\x1b\x88\xd1\xaa\xf9\xe9\xde\x1dY\xf1}\x86@j\xa3\xba\x80a\xaf\xc7ai\xf6E'\xdd|\xe2\xc7\xdc\x91!d\x11\xfd\xcfn-b\xc9\x12\xf2\xcd|\xf1\x10I\xcd\x1d\xae%C\x88\xb9\xbe\x1f\xa2\xcb\x85\xeeV+2\xb3\xbd\x16\xd2\xc3\xd0\xd2{\xef\xeb,\xd6\xf5S\x1eq\xe5\xa3]>6\xc6\xf5Y\xe8\xe5}\xc2\xe6\x10i\xb2\xc8%\x96k\xb1\xbc\x06\xcdVj\x96S\x80q\x17\xeb\x1eu\xa1\xbb\xb2\x1adCH\xfc\xc9\xb1\x1d\x98\xf5\xc0$\xf5\xe2#\x05\xde\x1c\xe1\xd1\x81\xe6_g|\xe3\x07P\x8f\xecz%\x959\xc4\x8e\x8eCv\xb6\xa4\x0d\xfat\x1b)\x1b\xd8\xae\x91\xe7FN\xe1F\x91\xf9\x07\xd2VDZ\x1c\xa7\xf1\xa4\x8e\xc9PA\xe5!d\xd7&\xb4\xe9\xae\x90\x0c\x8f\x10\x87\xb9\xfb\x98\xca\x0e\xe9Iu\x1ezG\x92\x9d%A\x99\x01E\x100\xe9g\xdc\xc7=#\xa6\xdc\x14\x8eF*`nt+\xea\xe8~\xf2~Y1\xb0FQ_\xc0\x08~Kwt\xb2\xdb\x12\xd7\x9a\xa1,`\x17C\xc9\x11\xee\xa9r\xb9\xd0\xddZ\xba\xcd?O\xc8!c%w\xf6\xd6\x7f\xe6\x1f\x06\x04_W\x1c\x01\x0b\xfb\x82\xbd\xd7\xf7l\xcbD\xb4K\x845G\xc8\xcb9\x0d\x96\xd7\xa0\xf9\x82\xbe~\x8d\xbc\xb8\xe2\x13V\"\xef\x88\xbc\x06\x99\x805\xa0\x06&`\xd2z\xf1\xcc\xf6-\xfb\x04\x0b\x0dU'-U\x13\xc9\xf5J*s\xa0KCCC\x97\xa9\x80I\xce\x96\xacA>\xc4\xd3\xcd\x19\x8d,Wr\x0a\xff\xc6H\x0fL\xda\x8aH\x8b\xe34\x1e\xb7'\x160o\xb5&\x07ekN2?~X\x9f\xea\x8f\xce\xbd#\x18\xae`\xfc\xd2p\xf4\xc6\xbd\xa7A\xe6\xbf\x8a#`\xe1\xcf\xb8\xb1\x84\xbc<\xe7\xbe\xc5\xd1\xc8\x05\xac%\xea\xa8\xbb\x8b\xcf\x83\x1e\xd8\x9aEe\x01\xf3\x0b\x1e\xafq>\x20M\x12\xcc\x0f\xe2\x96a(\x0bX8\xd9\xc1\xcd)\x97\x0b\xdd\xad\xdb\xc5\xbe\x0b\xed\xf3\xf8\xf8\x83yh\x8b\xd0\xe7\x89#`;BY[r>o\xb3\xed\x14\x04\xec\x1c\x0ey\xc2%5\x08n\xab^4\x8a?\x15Tho\x81\xac\x06\xb9\x80y\xc9\xbdL\x05LZ/\xc6\xb7\x90\xf8\x00VS14$\xb8\xd3\xa4\xd7\x1b\xa9L\xe2\x03\x93\x9e-I\x83\x1e\x08\xb3\x08\x04%R|KD\x1f\x98\xbfK^\xaf\xa4\xc5\xca\x8d\xc7\x83\x91\x11\x9b\x92\x805hy'r\xfeF\xcb\xde\xa3\xb0>\x9d\x10\xdd]gI\xfa\xed\xbd\x0b\x95\\\xd9\x9d\x04=\xb0\xc8g\xbc\xfb\x15\xfd\xa6J\xdc\x03\x1b\x0a\xbd\x95Rlh(6\x13X\x13\xa8+`\x81&\xc1e\xf2\xd0\x14\x90$1u\x87%\x99(\x1d%`\xdfD\x09\xd8\x18\x1d^(\x11\xba[\xcb\xb7\x8d2H_\xe0\x01\xed\x01\xf9Z\xd2\x99\x03\x9c\xddv&\xb7\xcc\x96\xe4\x1e\x10\x13y\x05\xf4\xbb\xfb\x80\x20`\xf46d\xf7\xb0\xb4\x06M5=\xc6#\x1f\xae\xd8\xc6\x8al=\"\xabAr\x8aS\xc2D\x03*`\xd2z\xb1'\xfb\x8b\xad\xc2\\\x03Mx\x8a\xab\xe4z%\x95I\x04Lr\xb6d\x0d\xf2\"v$\xda\x89/9\x85\xf8\x14\xd2B\xfb\x91\x92VDZ\x1c\xa7\xf1\xd8\xc7\x84\x8d!=q\x18?{\x0a)\xf4\xd6\x98>\xdd{I{`O\x18D\x8f\x1e7\x12\xe9z\xdb\xa7\xef\x94\x19Pb\x05\xec%W\xfb\xf2Y\xa51v~\x85T\xc0\xea4\x0a\x9d-x\x0a\xb9vQW\xc0p3\x9b\x12\xed\xa7\x1e{I\x12\xe3I>I'?\"`\xfaF\x8c\x83\xff\x12%`\xb3\x06#\xed\x82\xdd\xb8\x11].\xf4\xbf\xdb\x85\xd8\x18\xf5\x8b::#\x9e\x9d\xb9\xf0\x18{-\xc4xZ8&\x15\xb0Po\"\x87JG`{\x94\x80Ik\xd0l\xa1\xee\xa9m\x85\xd4\x1fDG/-\x82\xc3E\xd2\x1f\x09\x9fB\"`\xd2z\xfd\x05g\xf0\xb1]\x81\xf0)\x18\x92\xeb\x95T&\x110\xc9\xd9\x926\xa8\x20\x87\x88\x94\xeb'\x1a,\xcb\x95\x9c\xc2\x9by\x80\x88L\xa0p\xab\xbc\x15\x8a\x02&;\x1b\x19\x87\x0a\x1di\xf9\x89%\xb8\xb3B\x9af4b\xfc\x9a:\xbe\xc6\x84'\x8c\x8d\xb7\xc9\x87\xc7\x8d\xb0C\xd7d\x06\x94X\x01{\xc2\x95q\xdc\xe9\xd0sfwCx\xf0*\x11\xb0@\xde^\x1c\x0b\x08\xd8\xdaEe\x01s\xf1\xddN\xb7\x93y\xee%I:\x89\"\xe1\xf4+\xe1)\xe4\x04\xfb\xf25\x1e\xbas\xbb\x86\xd3\xdd\x9f\xfa\x8b]\xf7\xe5D\xf0\xe9\x97:\xfat\xf2\x91\xfeD\xe7\xc8\x0d\xee^T\xc1\xd1\xaf\xd1\xe5\x07,u\x0a\x95Z\xda+P\x13\xbd\x037\x9f\xb3\xb6U\x08\xcf\xcf\xcei.\xb5\xef\xcapKm\xe7\x07\xd9\x135v\x7f\xd4\xa1\x83\xd7\xeb\xf2\x91\xb6a\xd0c\xdbtd\x10\x8f\x1e\xd9d\xf3\xc8j\xd0\xa0|\x8b)7\x8bZ\x97\xa7\x9d\xb2\x9eJ+\x97\xd7\x109\x85\xb7t\xa7\x87\xeczv\x96z%\xf5\xce\x0c\x1c\xd3\xba\xf1df\xf5\x80\x9f\xce\xc4\x0f?\xc6\x0b_\xaf\xa42\xd9L\xfc\xf0\xd9\xe24H2\x13\xdf\x91\x91Sw&+m\xa3\xd9)\xcc\xc4\xbfl\xb3\xb9eo\x09\xee\xca(0\xb7\xffb\xe3\x80\xb4\x15\x92\x16\xc7k<\xf9\x14\xd3.ay3\xe3\xd2Z\xd4\xd1\x7f\xba\x98v\xb0\x1aw\xd7\xf7\x7f{\x85JU+W\xdc:\xdc\x7f\x85{$3\x98\x9b\xb0\xdb\xf5_\xda\xedo\xb1\xf43~\xa6\x1f\x1b\xb1\x7f\x1f\xea\x80\xedC!\xa9z\xda\xc9u<\x16\xd3\x97\x91\xd2\xef\x01\x1e(\x8d+\x815\x81\xca\x02\x86==\x16S\x9b\xf0\xf3\x16I\x12\xbbo%*4W\"\xfc\xdc\x8d=b\x7fa\xd4\x17\xd7~\xc3q\xd7\xae\xd1\xac\xff(&\xaf\xf4\xfb\xfb\xf9\x05CqM\xf4\xcfO|\x9b\x11B\xe9B\xe7\xaek\xa76\xebS\xfa@\xac\xa9\xb0.gSv\xa1p\x03\xfa\x8fg\xa5\x17\x0e\xc9l\xc7\x85\x1f\x11\xb2\xfb#p9W\xa3-5o\xd3\x14\x1e#Y\x9b\x1c\x19\xe4\xf5\x98\xac\x06MuEfv\xb9\x87\x19\xfff{\xc6\xf6\xaf\x03\xf2\x1a\"\xa7\xa8C\x88\xba\x9a\x8e\xd1\xdf3F\xea\xed\"\x86\xd5\xf88y\xed\xa5\xbf\x85\xcc\x0b_{\xe8z%\x95E~\x0b\xc9K\xce\x16\xa7A\x0f%\xbf\x85t\xed\xcb\xdaz\xd2\xbc\x91\\\xfa\x11\xd1\xf1U*=\x05\xc1\xf1\x8b\x8c-\xfb\x1c\xb2VHZ\x1c\xaf\xf1\x843?\x19\x9073.s7>\xd3\x1b\x05\xa5\x19;]Vb\xa4}\xaf\xfb\xc6\xdb\x87u\x06\xe3#\xb9\xc1S\xd1Iv\x0fK?\xe3\x09\xf6\xb3G\x9dQp\x82\x99\xb5\xbcP\xed,=*\xfe\xc8\xcc\x96~2\xfa\xac\x94\xe9\x8d\x07\xc7\xa7\x03\x18X\x83\xa8-`k\x8e\xc8\xa8o\x9dR\xad\x89\x196.\x0b\xaf\x8b\xaf\xbd~\xf7\xee\xed\xd3\xf3\x9f\xc5\xfdEl\x8b\xa6B\xf9\xd7\x1c\xedy\x08\x96\xd3Y\x9b\x80\x80\xbd'\xeb^\xc0\xf0\xe5\x9c%\xaca\xb1x\xfa\x85\xc9b8X6\x12\xc7\xc2\x9b\x1d\xff\x87\xf8\xd3\xe3\x9e\xb8\xc7\x80\x14\x06\x04\xec=\x01\x01S\x89'\xe2\x04\x8a\xa9xS\xfe\x80\xf5\x08\x08\xd8{!x\xb7\x01\x15\x08^\xd1_\xeb{\xd4wM\xff\xd5\x02\x17\xaa\x00\xd6\x03\x20`\xef\x05\xf3nOb@\x05\x82\xc3\xb5\x06\x9d\xa1v\x18\xf4\x0b\x88\x00\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96\"\x0c\xd7\xbc\x96\xed{\x0b\"\xeb\xd8\x03\xc0zEm\x01\xf3t5\x9b,\x03\xbe\xa8\xa4o\xe0\x96\xe9\xd6\xc0\xca,\\>\xb9I\xb2\x86M\x08\xef\xb1-\xe9{\x17\xbf\x00\xcb_\xaf\x95\xe9k\x170S\xbc_'.\x18\xa3[X\xfci\x1a\x81\xba5\xaa\xde\x86\xb4\x0f\x1eC\x1c\x00R\x0d\x95\x05l\x9a\xb7:\xdd\xce6\xba\x8a\xa1$\xe9kj\xa3\xc9\xa6\x95Q\xb0\xc1\xd0Z\xcb\x12vm\xb9~$}\xf1\x97s\xfaP\xe7Eai\xaaGO\x12\xd9\xdd\xe1\xec\xf6N\xae\xc3n\xdf}'\xae\x8d\xac\x86N\x16\xc8G\x9ek\xddx\x15\x03\xc0\xfaFe\x01s\xb1\xb5\xef}\xbcS\x96\xb4Y\xe82N\xf3\x16[\x92\xd2\xcbD(du\x04/\xba\x8a\x03\x8b\xd7\xaf\x1f\xb8N\x1cd\xf1Zq\x8d4@E\x0c\x1d:q!d}L\x20\xcb0\xd2\x1a^\xe8\x1a\x15r\xcfh\x12\xac\x7f\x0a\x00\xeb\x01\x95\x05L\x88\x94\xe8\xe5=\xb2d\x8f\xe0\xceiO\x14\xdbv\x19\x89\x150\xd7\xd2\"\x09F\x16\xee\x97G\xd8\x89a\xee\x85(`/\xe2\x04S\xc2\xf2\x1a\xae\x18f\x15r}\xd9\x15\x18\x00\xd65j\x0b\x18a\xc6m\xb1\x06dIoS\xaf\xd7\xef\xb55y\x13\x17\\\x06<\xe5\xd9Y\x07\xc4!dSAFn5QU\xbfVXu\xb9Z\x96;\xbe\x11\xa13\xae\xf2\xad\xe9{d\x8b~\xbe\xbd`\xd0\x1d>KC\"\xcd\x95\x09n\xad\x9b4r\xab@\x0d\xb5\x08\xde\xaf)\xae\xbcI\x04\xe8\x99\x8e\xe3\xbeyq\xf1\xa8\xbe\x96\x06s\x8d\x84\xa2\x08\x1b`l\xaf=\xac+\xab=\x1c\x94\xd7\x80\xe7\x8a\x85\x0e\x98<\x97t\xc1\xd2g0\x00\xacgT\x170/\xcf\xf3f_Tr\xa6\x9b$\xbb\xd4\xbf\x1b]\x99\xb9\xe6\xf6_\x20\x0dMW\xa4\x1d\xb7^\xd5\xe6\x13=}hkAu6\x9bG\x96;ci\xde\x9a\x9b\x99S]\x8ed\xe3\xb6a\xee\xabG}g9\xb6\x92;\x8b<B#\x8c\xccN\xd8+\x8dv\xbb\x9d\xad\xe1\x7f\x85\xbb1\xd2y\xa8*\x88\xe7\xfa\xfa\x0eW\x16\x1bn\xd6\xeff\x91\xc3\xc2\x02\x166\xc0Ow_\xec\x1f\xbbW\xc6\xbd\x93\xd7\x80\x9frv\xb6\x95\xe7b<\x00\xd1v\x80u\x8e\xea\x02\x86\xbd\x1e\x87\x18\x8a(\x9c\xf4w[\x9c\x1e\xa7\xa5[yA\xf3e\xe4\xd3m>\x1a\xddL\x83i813\xa6\x01\xb8X`\xe7\xf0\x10R\x96\x9b\x8fv\xf9\xc4\x91o\x98\xd9>\xd2u\x0a\x9e8\xcfv\x94\x86\x90\xc3\xcc\xfd\xfeX\x88\x16V\xc5\x9d~\x8b\x83\xc2\x9a\xee!\x01\x93\x18t\x1e\xa2}\xb3\xce\x92\xe80\xaf#\\H\xb2\xe4CS7\xba\x85\x01`=\xa3\xbe\x80a\x1a\x0c\xb2[\x96\xb4Y\xfc,\xa9v\xf0+\x1fb\x91m\xceh0\x0dp\xe8\x9f'\xe40\xb7RX\xc0d\xb9\xf9JN\xf3W\x9d\xb5GK\xb8\x13,\xad$`\xf5G\xe7\xde\x11\x0cWXn\xd1\xcbp\xc1\x90\x80I\x0c^\x1a\x8e\xde\xb8\xf748'\xaf\x01\xe3~\xeeE(\x19%`-\x18\x00\xd63*\x0b\x98_p~\x8d\xf3\x01I2`z\xc8\x92B\x90n\x15y\x80\xd8s\xcfs\x1a\xf2\xb2]\x8c7\xc6\x82\xd7\x84\x05L\x96\x9b\xbf#\xb6\x8a\xc7\x87\x0e7\xf6\xdbO\xc7\x17\xb0\x13\xa2\xdf\xea,\xcb\x0dy\xafpD\xc0\xa4\x06o\xef]\xa8\xe4\xca\xeeD\xf7\xc0&\"\x91[e\x026\x04\xf1\x0e\x81u\x8e\xba\x02\x16h\x12\xc2\x09\x12\xa9\x92&E\x01\x1bU[\xc0\xbc\xe8:\xdd0'~\xf9\xb6Q\x06{\x90\x10\x160Yn\xfe\x81\xd8**k\xa8\xf7\xfd\x82\xb2\x80\xdd{I;XO\x18\xaf\xc2\xb9\"\x91\x1eX\xd8\xe0q#\x91\xae\xb7}\xfaNY\x0dd\x9c\xca\xc2S\xcb\xeb\xa5\xd4i\x16?\xd5\x03\x00\xd6\x12\xea\x0a\x18nfa\xe9\xfd\x96\x1eY\xb2G\x1cB\xaa>\x8d\xa2\x20\x87(\x93\xeb'\x1a\x92\xecB,\xbc\xe1\x17,\xc8PX\xc0d\xb9\xf9\x07ck8L\x05%X\x15#`F#\xc6\xaf\xa9_kL\xf0~5\xde\xa6\xafJ\x02&1h\xe5X\xc40\xe35Y\x0d\x84\x0b\x95\xa1i\xf8\xd2\xdc@^(85\x00\xacST\x160\x17\xdf\xedt;\x99\xe7^\x92\x9ci\xb18\xdc\x0eK\x8b\xea\x8f!\x1d\x199ug\xb2\xd26\x9a\x9d\x18\x9fB\xa5\x96\xf6\x0a\xd4\x14z\x0a9\xc8\xba\x83\xe1\xdc\xf9A[n\xa1\xcd\x16\x1d\xc0\xa3\x95\xbb\xd0y\xbb\x8a\x0c\xfb&\xc4\xa7\x90\x13\x82\xd4\xb4\x16u\xf4\x9f.\xa6=\xa5\xc6\xdd\xf5\xfd\xdf^!\x9a\xf3\xeeO\xec\x19\xa2\xe8\xcez\xda\xc9u\x08a\xaa\xc3\x06\xa4\xb2\xe2\xd6\xe1\xfe+\xdc#y\x0d\x18?\xe7B3\xf6\xa5\xb9\x97\xd1(\x06\x80u\x8d\xca\x02\x86==\x16S\xdb\xa0?*\xe9\x1fj3\xb7\x0d\xf9\x13\x17]\x0e\\\xfb\xb2\xb6\x9e4oD\xc7H\xbak\xa76\xeb\xd3\xbb\xe4b\xb2\x98\xdbk\xa3\x93Y\x84r\xc7\xd3Xnt\x9f'\xd8QYt\xa8\xfe~\xa5\xce8W\"\xfc\xbaQx`8w\xe33\xbdQ\x10\xa8\xb1\xd3e%F\xd2\xb5z&\xf8\xbajY\xe6l1I\x0a\xbf:\x0a\x1b\xe0\xfb\xc6\xdb\x87u\x06\xe3\xa3\xe8\x1a\x88n\xe9E/\x98$\xd7\x96~\x12\x03\xc0\xfaFm\x01\x03\x96D\xf0\x86\xae/*\xabES\xa1\xfa\xb4\x13\x00Xe\x80\x80\xa5\x06\xc1\x0e\xc3+Y\x867\x1b\x16\xa3\x00\x00\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x10\xb0UG{\x81\xfa\xd1\x99\"x\x0b\xda\x93\x99\x00\xc0\xaaAm\x01\xf3t5\x9b,\x03\xbe\xa8d`\xbc\xdd\xd4\xe6L\\r\x859\x86\xd2,\xc9l\x16L'\xc7E/.\x11\xa6\x01\x9d\x93\xed\x7f\xd0\x13S\xba\xb5\x09\x83^6\xa4\xc1\xaf\xc4\x81\x94Ae\x01\x9b\xe6\xadN\xb7\xb3\x8d\xaeb(I\x06\xac\xe6Q\xf7\x03\xd3\x83d\xa5W\x12\x8fmS]2\x9b\x05\xf3\xd6^\xd3\x8a\x95\xf9M\x9aY\x9e\xb1\xf4\x13\xf7*\xafwh\xcd\xb8\xa5\x98\x1f>\xbe\xf1j\xc2\xe3\x00\xb0zPY\xc0\\<\x0d\xec\xe3\xe3\x9d\xb2\xe4C\x13\x1d4\xb9L\xab{\x85w\xcd\x12uD\x91\xb3q\x04lRs*&o\xa9'\xdeQ\xaa\x9c\x9f,\xf2\xc0\x19\xa5\xe8K\x00\xb0\x1aQY\xc0\x84\xa8\x8a^\xde#KZ\xd9\xf2\xf8\xb8\xe9A\x9cB\xab\x83\xa5\xea\x88\"\xf1\x04\xac\";V\xc5\x97zb\xa55\xfc\x17\x82/\xbb\"\x99\x09\x00\xac\x0e\xd4\x160\xc2\x8c\xdbb\x0d\xc8\x92m,\xba\x19n\xbf\x9b\xa0\xd4r0\xbe\x11\xa13\xae\xf2\xad\xe9{\xe8\xda\xa6M\x05\x19\xb9\xd5L>l{r6i\xf7ne6\xae\x03\xdaM[\xf6zHJs\xb2:7cOl\xe7\xc4\xbc\x85E\x97tg\x8a!\xd82%&\xef\xcat\x8d\x06\xc3\xa3\x1b%\xc6Y2p\xbc`\xd0\x1d>\xfb\x8c\x1d\x20\x02v\x83.*\xfd\x0a\xe3\xe0\xfd\x9a\xe2\xca\x9b\xb3,\xdb\x9f\xf9y\xa8\xa8\xd2\x89}\x07\xb359\xfb\xc61\xf5\x8cm\xe2\x95.'|\xe9V\xf1j\xf2\xe5\xcd\xf4\xa5#\x94\xd6\x8c\xa3k\xf0\x96ksN\x9e\xd4n\x16\xbcmg\xd2U\x8fN\x00\x00KBu\x01\xf3\xf2<o\xf6\xc9\x93\x03M,*\x91\xb9-a\xc9\x0f\xcf\x8c\xa5yknfNu9\"wqE\xdaq\xebUm~\x80\x86[<r\xab\x9b\xd7\"\xaaj\xbd\x9b\xf3\x1b\xba\xcf\xa1\xcb$\xa9Ay\xcd\xed[bC\xab\xedG{\xe8\xc6o\xbe*`\x96\xae\xed\xff\xa8\x84\xbby\x9a+\xbb]\xd6Acp\x7f\xf5\xa8\xef,\xc7V\xb4'\x02\xf6}\xbd\x10\xd6\xe3\x0awc\xa4\xf3P\x15\x0b\x062\x8az\xc5\x82\x8a'\xb6\xa2\x8a^\xcb\xbe\xb4!\x8c\x9d\xcd\x1b\x91\xb6\xeeRf\xd4\xe5D.\xdd7\xc0\x82\x90\xd8\x9cQ\xcd|`\xb3\x09=:i\x0d\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\xccj\x19@\x83\x18\x00R\x01\xd5\x05\x0c{=\x0e\x16\x8aH\x92\xf4\x99\xad\xde\x19O;\xffa\x9f\xb6-\x88|\xb4\xcb\xc7F\xb3VD\x9d\xe7C4\xd6\xf5u-\x95\xae\xaf\xb3\x88\x96\xcd\xe4\xec\xf1\xd3\x80o\xd4G\xa7\xd9B^+\xb41UL\xd6\x09\xa1\x8a\xa6'\x05\xa6eG\x0d\x17\xf1\x087\x8c/~\x85\xf1l\x1f\xe9f\x05O\x9c\xa7\xd9D\xc0:\x8aX\x10\xb6a\xee>\xa6A\xd6\xd8cI+\x12\xc3\x1e)\x9f\xd8g\xa1o\xdc',\xcc\xae&\x8b\xc8Qy\xd4\xe5H.]6\x84\x0c7\x93\x92.\x0eI#5\xb4\x20\xd2\xab\xfb\x1a9Dk7\xba\x85\x01\x20\x15P_\xc00\xbd/\xbb\xe5I\xaf\x95t\xc6\x06\xad+0\x03)?\xe4\xb0.\xdd\xe6\x9f'\xe4T\x90\xfb7{\xeb?\xf3\x0f\x03\xb4#u\x17=\x0c\x9bj\xa8g\x88E\xf1Vd\x12\x85\x90\x0d\xeb\x0c}D\x9cfqc=I\xbf\xea\xac=Z\xc2\xb1\x18\x92g[[\xc5\x20\x92\xf5G\xe7\xde\x11\x0cW\xe8N{H\xc0\xe2\x9c\xd8{}\xcf\xb6L\xb4\x9d\xe5\x1e\xc1\xb1\x97#\xb9t\xb9\x80I\xfd\xf2a\x01\x0b\xd7p*\x0b\xd3`\x98\xa1\xf7\xdfMe\x1c\x00R\x00\x95\x05\xcc/8\xbf\xc6\xf9\x804I\x98\xf1\x06p\xd3@\xfc\x82\xcbE\xfe\x0e1\xb1]T\x1f\xda\xbb\xf1\xf1\x07\xf3\xd0\x16:\x1d\xea2\x8ax\x834t~V\x9d&\xb6\x0e\x11\x9bU\xc0&\xcb5\x8c\xe0\xc7:\xcc\x04\xec\xf1\xa1\xc3\x8d\xfd\xf6\xd3\x82\x80\x1d*\xa9<\xcfF\x8d'\x84hk\xdcY\xba3\x18\x1a\xbc)\x9fxhK\xce\xe7m\xb6\x9d\xdb\xe5\xb9R\"\x97.\x17\xb0\x1d8BX\xc0\xc25\\F^\x1a\xc47\xd4\x03\x1bB+\xf0I\x00\xc0\x12PW\xc0\x02M\x82\x8b\xe7\xa1)\x20Ib\xcc\xe2\x83\xb9\xd8\xb3I\x95\xc9\x0f9\x91\xca\xb7\x8d2\xc8\x9d\xfc\x80\xced\xf0\xb5\xa4_\xc7\xb8G\x12;\x96\xb9\x8e\x12\x08\x982\x861\xfc\xb8H\x10\xb0\xca\x1a\xea\xa9\xbf\x20\x0a\xd8\xd4\x8b\x92\x0e\x9a\xaa?\xfa\x84\xc1\x82\x0e\xf94\xe2,V\xe5\x13\xe7\x15\xd0Q\xe0\x81\xed\xf2\\\x09\x92K\x17\x05\xcc\xc4\xba^\xf9R_YX\xc0\xc25\xb8\xd3\xf6\xba\xc7s\x0bB\xf3+\xea4\xab{B\x0b\x00\x84PW\xc0p3\x9b0\xe1\xb7\xf4\xc8\x92N\x9e\xc8\x86\xaf9\xe4\xbfV\x93p/\xa5\x0b1\x0f\xdc\x17\xe4\xa6\xaeC\xec\xd2\x0a\x8f\xd1\x19\x05\x85t8v\xbc\x1a\xc7\x170wCt\xb8n)\x12\x01;|\x81\xec\x07\xab\xc4!$\xc6#:\xea\xc3\x1f\x13\xbc_\x8d\xb7\x99y\xe96AE\x94O\x9cCu(\xb0=\xbe\x80I.\x9d\xbc\x16b<-4K6\xa3\"V\xc0F\xd1\x16\x84vz\xc4\xe3\x81\xbc\xe8\xf0\xbd\x00\xb0JQY\xc0\\|\xb7\xd3\xedd\x9e{Yr\xc8\xfd\xb0\xc9\xaa\xfa\xd7\xfe\xfc\x20{R'\xe8\xcf)Tji\xaf@MT\x056\x9f\xb3\xb6U\xb0\x07\x82\xbd?\xc9\xbb~\xf782\xd1\x09\xf1G\x06\xf1\xe8\x91M6OT-\xfbb\xc2uK\x98\xfa\xacc\xb6O75[\x7f\xfa{\xdc\xca]\xe8\xbc]\xc5\x95\xdd\x99xk\xaf\xf9rbn\xb6\xd6\xf0\xe85\x91\xae\xdd\xf5\xfd\xdf^\x11\x7f[\xe4J\xbb$\x14T<q\x1d:x\xbd.\x1fi\x1b\x06\xe3\\\x8e\xf4\xd2\xf19\xcd\xa5\xf6]\x19nY3\xfd\x836\x9b\xe6\x88\xcd\xe6\x93\xd5;\xaa\xe9\xb1\xda<\xa1\x0e\xd8e\xa4<\x85\x1f\x00V\x1d*\x0b\x18\xf6\xf4XLm\x83\xfe\xa8\xe4\xa8\xc5l\x1dM6A\xfc\xc33\x9e\xc6\xdc^\xa2\xfet\xed\xd4f}J\xa7\xa25\x15\xd6\xe5l\xca.\x14:\x84\xae\x839\x99\x05mt\xda\x14B\x9b\x1c\x19\xe4\xf5XT-f-\x8f\xe3\x11,\xe3\xb8\xbeb\xae\xb8\x8f\xe3\xce\xe3`Ge\xd1\xa1\xfa\xfb\x95:c'uz=%\x99\x1c\x9d\xcf:v\xba\xac\xc48\"\x968\xf3\x13\xd1\xff\xa4t\xe2\xc0\xe5\\\x8d\xb6\xd4\xbcMS\x18\xe7rd\x97\xee?\x9e\x95^8$o\xe6\x90\x90F\xbc\xac\xde\x01\x0d\xcd\xdbT\xc8\x9c`\xb6\xf4\x93\x18\x00R\x03\xb5\x05\x0cHF\xb5F\xf5\xd9$\xde\xcd\xc7\xbc\xf3\xf3\xbe\xa1\x03Y\xa4\x13\xdc\xa2\xa9\x98OV\x00\x00V\x09\x20`\xab\x8e\xcb9\xf2\x99d\xcbO\xbb0o\x0c\x07\xb4w\xb17\x1b\x16\xa3\x00R\x07\x100\x00\x8f\xa6\x09\x13(\x1ci\x91\xc9g\x00\x90\x0a\x80\x80\x018P\x91~\xac\xa5\xb7\xe5X:\xfc\x88\x1bH1@\xc0\x00\x82uO\xb6&{O\xc2\x85\x0e\x01`\x15\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\xb6\x9ai/\xf0&3\xf9\x20x\x0bV`5o\x00x\x7f\xd4\x160OW\xb3\xc92\x10Z\xf9\xcb\xc1\x8b\x93\xbf=\xed\xe6.O\xbc2+\x87\x99\xae2\xa3\xdd\xb3\x9c\xcbcur\xe2J`\x0a4\xa0s\xb2\xfdc(m\xc1+U$\xb7=B\xda\x96\xe1\x12\xd2\x0di\xf0\x13n\x20\x15QY\xc0\xa6y\xab\xd3\xedl\x13\xa3\x12\xf9L\x03M,\xe16\xd9\\6\x93,\x18\xc6\x8a\xd2+J\x96\xcf\x8c\x1az\xcd\x05\xe1Xg\xcb\xc0[{M\x9c\x18\xb7\xf87ify\x86\xc7\xb6\xa9N\xd94\x96\xe4\xb6n\x9b\xed\xebp\xfc4\xeb\xc6\xab\x09\x8d\x01`U\xa2\xb2\x80\xb9x\xaaR>\xde\xc9\xf6\xac=n&`\x81f\xba\x88\xdf@\xb3\xfaK\x1a\xc6aG\xa9\x98p\xd0%\x9a\x03\x9f\xe6&\xb4~O\xe2\x05\xe9\x9e\xd4\x9c\x8a\xc9[L\x90\xee\x05\xd8\x0eE\x02@\x9e\xd1\xac\x9e\xef\x0f\x00X(*\x0b\x98\x10\x9a\xd0+\x84\xefp\x98}\x1e&`N\x13\x0d\xc1\xe339\xe3\x97S\x97\xf0\x12\xf2L\xc0\xf0o\xd0r\xaev\x1dO\xc0*\xb2c\xcf\xba\x00Q\x0a\xb3\x00[\x89\x80\xf9\xb2a)\x0a\x20\xf5P[\xc0\x083n\x8b\x95\xf6\xb5|&\x17\x16\x04\xac\xe7.;pw\x19Gjq\xf0\x96ksN\x9e\xd4n\xa6\xee\xa2\xeb\xf9\x19\xdbi4\x1f\xab\x18`-\x1f\x87\x04\xac<\x87\x197\x15d\xe4V3Q\xf1}\x9e\xb7\xb9p0\xe7ntu\xe6-luiw\xa6XE\xa6\xa4W\xf3\xaeL\xd7h0<\xbaQb\x9c%\x03\xc7\x0b\x06\xdd\xe1\xb3\xcf\xd8\x01\"`78\x8e\xd3\xbf\xc28x\xbf\xa6\xb8\xf2\xe6,\xcb\xf6g~\x1e*\xea:\xa0\xdd\xb4e\xaf\x87\xa44'\xabs3\xf6\xb0^\xec\xc1lM\xce\xbeqL\xbd]\x9b\xf8P\xae\x14\xcd\xf1\x8a\xec\xac}\x82\x93+\xd46yR*`\xf8Lz$\x90\x1b\x00\xa4\x08\xaa\x0b\x98\x97\xe7y3S\x01k7\x16\x05\xacMX\x06~@\xf5Ga\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\x8c\xf1\x11\xcd\x19\xeb\x19M9\x91\x86\x01\x16\x03\xc3F\xfb\x83\x0ed\xf59?G\xac/S\x91v\xdczU\x9bO\xb4\xd7\xb7M{\xe9\xee1\x84B:\x10f?\xda\xc3\xaa5_\x150\xfb%\x07\x1f\x95p7Ose\xb7\xcb:h8\xee\xaf\x1e\xf5\x9d\xe5hT\"*`\xdf\xd7s\x1d4}\x85\xbb1\xd2y\xa8\x8a\xc5\x8b\x1c\x0d{\xdez7\xe77t\x9fC\xe4\x1a\xb1\x06\xe55\xb7o\xa1\xb1\x89\xac\xa8\xa2\xd7\xb2/m\x88\xf4_\x9b7\"m\xdd\xa5Li\xe44\xccl\xf3[Z\xb6g\xd0\xb5\x0a\xc3m\x93%\xe5\x026\x20I\x03@\x8a\xa0\xba\x80a\xaf\xc7\xc1B\x119\xa9\x8c\x09\x02\xd64\xc4\x8e\x0c5%,\xb8\x0c\xb4\x20\xd2\x85\xf9\x9a\x05t\xedb}\xad.\xc4zU\x92!$\x85\xdd\xeeVD]\xeaC4huy\x96\x87$\xabc\x05l\xb2N\x88p4=)\x20_\x1b\xdap\x11\x8fp\xc3\xf8\xe2W\x18\xcf\xf6\x91nV\xf0\xc4y\x9aM\x04\xac\xa3\x88E\xe9\x1e\xe6\xee\x93\xd7\xc7\xc2cIk(H\xf7L\xce\x1e?\x8d?GgTh\xb6\x90\xd7\x0a-I\xf9,\xf4[\xe0\x13\x1a\x87\x17k\xb2H\xef\xab\\\x8b\xe5h\xf2H\x97j&\xb7@\xd66Y3e\x02\xe6F\xb70\x00\xa4\x18\xea\x0b\x18\xa67c7\xf5x\x05\x02\x01wS\x80\xf4h\xda\x84`\xd6\xbdmI\xca}pNe\x91\x17\x17\xa2=\xbf\x8aOXN\xde\x11\xfa*\x11\xb0K\x83\xd6\x82t*%\xa5\xdb\xfc\xf3\x84\x9c\x0a\x1c\xc8`\xb3\x1b\x9c\xb1\x02&2\x89B\xc8\x86u\x86>\"N\xb3,D$~\xd5Y{\xb4\x84\x13CD\xb6rL\xbfp\xfd\xd1\xb9w\x04\xc3\x15\xba\xd3\x1e\x12\xb0\xbb(\xb2\xd0\xb3\x86:\xaa\xceih\xd2{}\xcf\xb6L$\x84\x88<\x12\xce\x95\xa0\xf9\x82\xbe^G^i\xdbd\xcd\x8c\x12\xb0\x16\x0c\x00)\x86\xca\x02\xe6\x17\x1e4\x8e\xf3\x81I>\x84\x07\xf7\x08\xb3\xc1\xda{\x12\x15]\x0e.\x93\xbb\x9btGh\x0f\xec\xd3},go\x01}\x95;\xf1}i\xd4\xb3\xb5]\xd4\xa4\xfd\xe4VgJ\xeb\x8b+`\xd8f\x15\xb0\xc9r\x0d#\xf8\xb1N\x88q\xfb\xf8\xd0\xe1\xc6~\xfbi1HwI\xe5y6j<\xc1\x09\x9c\xa5;\x83!q\xb9\x8c\"\xce)\x16\xb8\x9b\xc5\xa2\x1d\xda\x92\xf3y\x9bm\xe7vy\xae\x14\xc1\x89oC\xa3\xd2\xb6\xc9\x9a)\x13\xb0!4\x80\x01\x20\xc5PW\xc0\x02M\x82_\xe7\xa1)\x10\xf0R\x1cf\xaf7\x80\x9d<\x1d\x0e\x85&W\xa8\x88;m\xaf{<\xb7\x80\xaaj\xc56\x96\xb35\xd2\x03\xa3\xf3\xd2\x04'~&\x15\x88\xf2m\xa3\x0c/\x0e\x08\xa1\xad\x1d\xf1\x05L\x19I\x90\xee\xca\x1a\xea\xa9\xbf\x20\x0a\xd8\xd4\x8b\x92\x0e\x9a\xaa?\xfa\x84\xf1\x8a\xee\xf84\xe2,\xd6\x1eI\x9c\xd9H0\xed\xbc\x02\xfa\x9e\x1d\x88\x1f\xa4\x1bkhTolB>i\xdbd\xcd\x94\x09X\x9df9\x1f\xb5\x02\xc0\xb2\xa0\xae\x80\xe1f\xaa\x07d\x08\x19\xeaky\xc4y`T\xd7z\xd5\x9f\x076\x8a\xb6\x20\xb4\xd3C\x93V6\x82jA\xac3XX\x88\xf14\xb2\x84\x04lK\xf5x\x1d\xe9\xa8\xb1\x99\xed_\x10\xb1(\xd5R\x7fTy\xac\x80\xb9\x1b&\xa3\xb3$H\x04\xec\xf0\x05\xb2\x1f\xac\x12\x87\x90\x18\x8f\xe8\xa8\x0f\x7fL\xf0~5\xdef\xe6\xa5\xdb\x84\xf7\xc3\x97]H\x9f\x05\x1c\xa7z\x14\x91\xaa\x1c\xea\xb3\x0flO$`9\xd4u\x96W(k\x9b\xac\x99R\x01\x0b\xe4%\x88/\x0e\x00\xab\x14\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98=T\x0b\xdc\xa6\xde\xc9\xde\x15\x98\x89?\xaa\xe9\xb1\xda<\x82N\x94\xa7\x9d\xb2\x9eJ\x13\x1e\xcf\x9d\xd3\\j\xdf\x95A\xaeg\x9cy\xbbw\xee=\xf2\x09\xc6\xa7P\xa9\xa5\xbd\x02\x11\xc9\xf5d\xe7\\o\xdb\xaf\x89\x15\xb0}(\x81\x0aL}\xd61\xdb\xa7\x9b\x9a\xad?\xfd=n\xe5.t\xde\xae\xe2\xca\xeeL\xbc\xb5\xd7|917[kx\xf4\x9aH\xd7\xee\xfa\xfeo\xaf\x88\xbf-r\xa5]\x12\x0a\xf6\xfe$\xef\xfa\xdd\xe3\xc8Dg\xd7\x1f\x19\xc4\xa3G6\xd9<\xb8\x0e\x1d\xbc^\x97\x8f\xb4\x0d\x83\xd2\\)\x1a\xb4g\xb0\xa7\x20\x8bJ\xaa\xa4m\x91$\x9b\x89\x7f\xd9f\x13\xde\xf6\xcbh9\x7f0\x05\x00\xcb\x83\xca\x02\x86==\x16S\xdb\xa08\xbb\xc0C]`\xcd,\xd5ej\xf7$(\xb6L\x0ch\xa8WkS!u\x82\x05~\xb3=c\xfb\xd7\x82\x98\xf9\x8fg\xa5\x17\x0eal!G\x1b\x88\x8c\xe5ji\x8f\xa5k\xa76\xebS\xf6\xf8\xce[\x91\x93\xbe\xebA\xac\x80\x99\xb5|tV\x98`\x19\xc7\xf5\x15s\xc5}\x1cw\x1e\x07;*\x8b\x0e\xd5\xdf\xaf\xd4\x19;\xa9\xd3\xeb)\xc9\xe4\xe8|\xd6\xb1\xd3e%\xc6\x11\xb1\xc4\x99\x9f\x88^)\xd7\xc1\x9c\xcc\x826:\xe3\x8b\\\xac#\x83\xbc\x1e\xc3\x81\xcb\xb9\x1am\xa9y\x9b\xa6P\x9a+%\xaf\xee`fv\xb9\x87&%m\x8b$\x8f\x88N=\xf6\xab\x03[\xfaI\x0c\x00)\x87\xda\x02\xb6\xaa\xf0n>\xe6\x9d\x9f\xf7\x0d\x1d\xc8Z\x8a\xfb'\x81\x13\xff\x03Q\xad\xb1$3\xf9@\xb4h*\xe6\x93\xd9\x00\xc0\xeac]\x0bX{\x96\xd0\xe1\x0ahc\xe6\xd4/\x80\xe5\x170|9G>\x93l\xb9\xf0f\xc3b\x14@J\xb2\xae\x05l4\xcd\xc1\xb6\x8e\xb4\xc8L\xab\x85\xa3\x82\x80\x01\x00\x90q~\xef\xa6\x00\x00\x20\x00IDAT\x90u-`\x81\x8a\xf4c-\xbd-\xc7\xd2\x97\xf2;fW\x17\xaa\x1eT\xfd\xb9)\x00\x00\x12\xd6\xb5\x80al\xdd\x93\xad\xc9\xdecMf\xa6\xc4\xa7\x08\xa1\x8d\xaedV\x00\x00,#\xeb\\\xc0\x00\x00He@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00P$\x15f9\x82\x80\x01\x00\x10\x8b\xa7b\x0b\xda\x9f\xcch\xe5\x01\x01\x03B\x0c\xd7\xbcNf\xb2\xec\xb4\x17x\x93\x99(\xb1\xc4b\x80\xb7\x20N$\x9d@^\x1e\xdf\xa3\xfe\x02W\x8bFm\x01\xf3t5\x9b,\x03\xa1\xc5\x1f\x1c|x\x12|\xaf\xea\xcb\xb1~\x08\xaeq\xe2\xe2]\xcb\xc7\xa3\xdd\x9c1\x88\xfb9n\xf7\xa3x&S\xb5\x9f\x95\x18\x1f\x9d\x98\x88w|a\xdc\xe1Z\x83\xf8>\xc7q\xb7\xf1m\xf2z/\x81\xe9\x0b\x1d\xf7K\xb2\xf9\x92F\x83{\x11\xdf\xcc\xbe[\\#[\xff,\xbe\x91\x8c\x06$.C\xfb\xd7ke\xfa\xda`b\xe3\x08\xe1b\xb1\xd0\x06q\x9f\xd5>\x8dw|\xa9|\xc5qt\x15\xdd\x0e\x8e\xfb*\xea\xc8\xd8\xa1a\xa5\x02\x1f\x8a\x0f\xdc\xa0\x864\xe5\xdf\xf1\x8f\xb3\xa5<W?*\x0b\xd84ou\xba\x9dm\xe2\x82\x86>\xd3@S\xf8\xc0P\xfcR\xcbH\xef\xfb-\xe3\xf7\xbd]'\x09K\xfb\xe8\x89RR\x82rnb\x83\xb91No\xc7\xb3\xfd\xdc\xd8\x9cB\x01\xca\x13\xdd\xd9\xfe\xbe\xf3\xef+\xa5\x9d,$\xd2\xdb\xfb\xdc\xed\xd7\xf8\xf5\x1d\xee\xfe\xdb\x04\xb6\xc1\x89/\x8b0m\xbd\xbd\x93K\x20\x9bs\x13\x87j\xed\x84\xfb\xdc\x08^\x10\xbfI3\x8b\xa9\xd3\x87:/\xea\x13]\x82\x94H\xb1Xh\x83\x1e\xdd\xaf\x89\xaf\xfeK\xe4e\xf1\x9d\x1f\xc8\xe6\x87;\xc5/\xa3\x8e\x0c\x17\xf7\x8b\xa9\xa4\x1f\xf7R\xf8\x20\x0d\x92\\\x99u\xe3U%\x8b!$\x0f\xe8\xb0ZQY\xc0\\<\x0b\xca*\xae~o\xedq\x8b\x02\xe6\xb1\xac\x90\x80\xed(Mf\x91\x84\"\x89\x80\xd5\\PJJP\xceMb0\xcb]\xfc\x92tz\xb8\xd9\xd8C\x02\xb5\xa7IW%\xf8\xe5\xfb\x09\xd8\x0b]#\xdbNqc\xe4\xf5\x117\x95\xd8\xbc\xb5H\xd8>N$`\x18\x1f\xbdF_\x9f/P\xc0&5\xa7\xc4\xd4\x0f\\'\x0e\xc6mp\x14\x91bJ\xb0\x06\x05\x8d\x95\x09L\x96\xc4\x09\xa1\x8bz\xefD\xcc\x91p\xc71\xe9\xc7\xbd(\xbc\x85\xc20\xf9C4Hzeg4J#\xc5\xa1\x14\x09\x13\xaa\xb2\x80a\xd6\xf5\xf2\xf2\x1e\xbaq\x98}\xc2\x9a\xf8\xb8\x97\xef5\xad\x8c\x80\x85\xe3\x0f-\x15\xa9\x80U]PJJP\xceMb0\xcb=*\x9eM$`G\x99\xf4Lq\xa1/\xfe%q\xc5\x20\xd4\xbf\x1c\x026\xd7\xb9\xb0\xbeTEv\xc8\xb7\xf0\x82[\xc40,RL\x09\xa1A\x9d\xf1\xdf\xbe%r\xfe\x1b\xb6i<\x1f\xdf$\xe9\xc7\xbd(\x1cHX\xfc\xe9C4Hze\xbel\xa5\xc5X@\xc0\xe22\xe3\xb6X\xe9\x03Z\x9f\xc9%\x06\xf5\xc03\xbePp[U\xb1\x8a\x8b*\xe7\xd3\x1d\xdb\x9e\x9cM\xda\xbd[c\x8c\xcc[\xd82\xd1\xeeL\xd18S\xfe}U\xd4x\xb3R_\xfb=\x8dJ+P#K^\xe3t\x9d_\x19>;\xfbB\x96K\xbeA\xef\xd7\x14W\xded\xff\x83\xf6\xda\xc3\xba\xb2\xda\xc3A\xb9A\x84Y\xeeEU\xbf(`\xe1b\xad\x1c\x1d2\x0a+Q\xd7\x1b\xa8\xda\x04Gd\x06\xcft\x1c\xf7\xcd\x8b\x8bG\xf5\xb5\xef\xa8\x95\xe0\xd7\xeaS6\x20\xe5\xe6\x8a\x85\x0e\x98T\xc0\xde^0\xe8\x0e\x9f\xa5\xee+\xd2\x8a{b3\xc9\xc0\xb1\xdePr\xe1\xcbh\x01S\xaeW\x100,:\x0b\x05\xd7\x99\xac2\xfc\xe2B\x99\xee\x90\x90\xf6g~\xce\xb2\xe6\xca\x84\xf7\xe1\xe6\xe2\x8a\x9d#\x1fN3n&\xafg\xb0\x04\xa1A\xf5\x06\x9aVz\xd7%\x9f\x101\xe8\xac\xd1Wu\x06\xa3\xce\x16\xb6\x95\xd6\xc0\xc2{b|\xa1Q\xd6\xe2\xb7zN\x1c\xcb+\x7f\xdc\xf2w]\x81\xf1\x8d\xe4\xfa]\xe5[\xd3\xf7\xc8\x96\xc8\xbd\x9aku\"\xa75\xf7z\xdc\x06\xcd6\xfe\xb2\xd88a\x18\x91\xbeg\x0b\xfb?;\x93\x1e\x89\xdb\x17\xa6\x17\x04L\x19/\xcf\xf3f\xf6\x8di\xed\x0eE%\xa2\xac\x84\x80\xf9\x06l\xb9\x856\x9b\x8d\x0eh\x87\xd0\x91[\xdd\xbc\x16\xc5\xac\xac\xbc\x1f\xed\xa1\x1b\xbf\xf9\xaa\x80\xd9/;\\\xc4U\xf6\x0d\x97\x91\xaf\xe1\xd9\x09{\xa5\xd1n\xb7?\x97%\xa7\xfat\xdc\xe1\xdb\xb7\x0f\xeb\xa7\xa4\xb9\xa4\xc3\xc3\xdd\x18\xe9<TE\xee\x89\xa7\xbb/\xf6\x8f\xdd+\xe3\xde\xc9\x0d\"\x10\x01\xeb\xac\x15\x05,\\\xecu}\x8d}\x96\x940\xd6\xbf\xc2/\x0fs\xb5\xb7\xff$x\xc8\xc2\x06s}}\x87+\x8b\x0d7\xebw\xbf\x9c\xb5\x97\xb4\xbe\xc6\xaf[KH\x09E\x03R\xee)g\x17\xce6\xc5\x8d\xcc\xcd\xcd\x8dP\x01\x1b\xe6\xbez\xd4w\x96{,\xb4\xe2P\xeb\x9d\x12\xda\xdbxQRy\x7f\xb8\x96\x8b\x160\xe5z\x8f^\x99\x9b\xeb0b\xd1Y(\xb8\xce\xa4\x95\xe1G\xc55w\xc6Z\x99?\x1c\x8f\xa2^\xa1\xae\xa7\xf6>\xae\xd5n\xff\xcb\xe2\x8ayK\x0bl>\xf2\x99~Z*[\xc6\x964h\xf6y#w[v\x91\x92w]\xf2\x09a|\xb1\xe8\x9b\x91o\x8a.\xca\xcf\x16\xb1\x95\xd6p\xaf\x06O\x18&p\xd5=y\x8b\x1f\xdb\xedz\xd6)W\xfe\xb8\xe5\xef\xba\x023\x96\xe6\xad\xb9\x999\xd5\xe5\xf2\xa0\xc8\x9er\x94\x87>A\xa5\xeex\x0dz{\xf4\xb3\x8e\x11\xa2]\x9d\xd2\xf7la\xffg\x031Z5?\xdd\xbbcI\xcb\xac\xab\x8f\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42\xb6\xb2\x02\x86%C\xc8\xebZ*]_g\xc5L\xde\x9b\xac\x13B\xa5MO\x0aD-\xf2\\t\xe8\xaf\xe4\xdf\xe4\x10K+\x0e!\x8b\x8e\x92\xf1\xd3\xdb\xc35\xb2\xdca\xe61\x7fL\xbf\xab;\x0f\xd1\x1b\xa3\xb3$\x18UC\x18\"`\xaf\xf4\xaf\x98\x80I\x8a\xddg_\xb0\xf8\x04\xcd\xf8\xe1\xf6\xbf\xe8\xb8\x92>y\xbd\xa42\xee\xf4[\x1c\xa4\xa3\xb7+\xf5\xe4\xa5\xfeJ|\x03<\xc2\x89\xff\xceS\xe2\xd73\xb9\x9dg\xfb\xc8)\x83'\x98b\x14\x95\x90\xbe\xc8E\xdaLc%\xcb\x8d\x12\xb08\xf5\x1e\xa5U\xb1\xbe\x820\xd6\x16F\x9e\x91\xca\xe6\x0e\xd7\x12\xe1\x9d\xeb\xa3\xfep\xd2!\x0e\x07\xa5\x8b\x0c!\x17Q\xcc\x9c\xc76\x9f\x84\xff\xa7\x18B\x83.\xd2\xb77\xce\xbb\x1e\xf9\x84FX\xe7f\x8c\xb9\xec\"g\x93\xd8Jj\xb0\x97\xe1F]#\xfe\x8c\x09\xbf\xe4\x9d\xc4X\x1f\xf2*(}\xdcQ\xb6J\xe4\xa3]>\xd1\xd9\"\xa1k\x13\xda\xc4V>Wn\xd0Ez\xb9\xf8\x06\x110\xe9{\xb6\xa0\xff37\xba\x85\xe5\xec'\xdd\xd8%-\x92\xa7>\xea\x0b\x18\xa6q!\xbb\xc9\x00\xd2\x19\x08\x04\xdcM\x01Q1VZ\xc0\xdc\xd9[\xff\x99\x7f\x18\x90w\xaf$L\xa2\x10QCH\xfa\x14]\xf4\x08)\x0b\x18\x1b\x9bur?Hs\xeb\x8f\xce\xbd#\x18\x88\xa6\xbc4\x1c\xbdq\xefip.\xba\x860D\xc0pm\x07\x130I\xb1g\xdc\xdc\xec\xfd\xb7\xef\x8a\xc4\x09\x0asc\xb5\xf4\xb6\x93\x18\x90\xca\x8aB\xdf\xf2\x8f\xf4\xa4\xb7\xa6\x7f\x84\xe3\x1a\xe0~N\x9c\x0e1\xc5\xddy\xfc\xf8q\x07\xf3\x81\xbd\xea\xac=Z\xc21/5\xed\x95\xb0f\xbe\x15\xe6W|\x13%`q\xea=z\xf6\xf1\xe3\x8b\xb1\x02\x16\xaa\x8c(\x86d:@{2\x01KRl<\xcd\xef3\xfb\xe65\xe3X\x0am\xd0p\x0d\x9b\xed\x11\xe7]\x8f|BW\x04\x8f\xfc\x89/\xb1\xf4l\x12[i\x0d\xdc\xac\xf1\xa2q\x96cM\x95\xbc\x93J\x02\x16\xef]W&_\xc1\xab\xee\xad\xd6\xe4\xa0l\xcdIo\x9c\x06\x05\x85\x93NE\x09\xd8\x82\xfe\xcf\xdc,V\xa8\x14w\x17\x9f\x07=0%\xfc\x82\\\x8d\xf3\x81I>\x84\x87e\xad\xb4\x80a\x1f\x7f0\x0fm\x89\x1f\xdc\xc2f\x15\x88z\xba,\xb9\xc1\xe2\x08\x18\xfb\xcf\xb2sO\xa4\xb9'\xc4~\xceY\x92~{\xefB%Wv'Q\x0f\x0c\xf7W1\x01\x93\x14\x9b\xd3Mup\xad\xcf9\xf2\x0f\xf9\x989j\x82\xc6\xb3\xf2zqU\xd8\x99\xf6\xee\xb3~\xdc_\x16\xc4q\x0d\xf0Dh((\xf1\x81=>t\xb8\xb1\xdf~Z\x10\xb0P3\x1f\x0bc\xcdh'~\x9cz\xa9\x0flJx\\'U\xa2p\xb2\x83\x93\xcc\x0d\x19\x8c\x0ce\x94\x05,I1\xff\xc6\xf1\xcb\xe8_\x9di\xf2/!\xd6\x20Av\xe3\xbc\xeb\x91O\xc8\xc8.\x1f\xd7\xd6`\xd9\x89#\xb6\x92\x1a\x82ES\xc5\xcf\x8a\xa7t\xc2\xe7&\xf5[\xc6\x0aX\xbcw]\x99\xfc\x1d\xb1y\x0dZ\xde\x89\x9c\xbf\xd1\xd6\xc5i\xd0\xf7\xc2#\x9c\xd9(\x01[\xd0\xff\xd9\x10\x1a\x88>\x1d\xf9wG+sC.\x16u\x05,\xd0$\xb8+\x1e\x9a\x02\x01/\xc5a\xf6z\x05M[I\x01\xa3!u\x1f\xd0G\xf1\xbe\x96\xf4\xc5\x06\xea\x88\x11\xb0{/\xe5\xc9\xa2\x1bt\xff\x1e\xf7V\x9a[\x7f\xf4\x09\xe3\x15\x91\x80F\xea\xc1\xe8\xd3wF\xd5\x10\x86\x0a\xd8l\xf1\x98\xd0\x03\x0b\x17\xc3\x95}\xa7\x8d\x95\xfdt\x20i`g\xc0\x8d\x95r\x03\xe9\x7f\xe9\x8d\xf3\xf8<\xb3\x8ag0\x1bz\x9a*\x11\xb0\xca\x1a\xeav\xbb\x20\x17\xb0\xbf\xb2[\x04_\x8c\xe9\x81)\xd6\x1bv\xe2\x8b5|\x13\xa5Dc\x9cd\x8a\xabO\x13\x9e\x8e\x1a%`\x0b,\x96\xd7\xbc\xf3\xd3\xbc\xf6<,ChP\x09-\x1b\xe7]\x8f|BW\x8e2G\xfdQ\xda\xf9\x8a\x9cMb+\xfb\x00\xee\x18\xb0\xa1\xa3\x92\x9dD&\x08r\x01\x8b\xfa\xb8\x95\xbf\xa4d\xe4\x1fP\xc8\xf4\xb3\xa7\x90T\x9b\x15\x1b\x14\xd43\x9f\xd8\x7fD\x04\xec\x9b\"\x1c\xb7\xc5\xf2\xff\xb3:\x8dBg\x0b\x9eB*\xd2\xcc\xa6\xf7\xfa-=\xe2\xfe\x8a\xfb\xc0\x0a\x0b1\x9eF\x16\xf2)\x0a3\x8f\x0b\xe5\xc1a\x09\xee\x86I\x9c\x00\xa9\x80\x19\x8d\x18\xbf\x16\x1c\x1d\x91dQ\x19\x91\x81\xd9\xa3FY\xee\x98`\xd5x\x9b>Od\x93\xa4\x8c\xd7\xa2j\x08\x9f\x98\x0a\x18\xbeXO\x05LR\x0c\xd7\xdf\xd0\x8dp\xd7\xe8?b\x99\x81\x0eO\x83\xf4\x9fRj\x20\xbdS\xfe\xa4\xff\x8b\xfeO4\x11\xcf\x00_\xa8d_\xcdR\x01;|\x81U+\x170\\s\x98\x9c\xed\xb9>J\xc0\xe2\xd4+\x110=\x19\xa8\x05\xff%J\x89f\x0dF\xda\x97\xba!Hp\xe9\xb6\x80h\x1c\x11\xb0\xc5\x14+\xfdgM\x17:\x165\xb3Oh\xd0\xa1\x1bS\xb7\xe3\xbd\xeb\x91Oh\x84\x19\xf4\x09>\xb0\xf0\xd9$\xb6\xd2f\xd6\xd6\x90o\x05c-;\x89\xb2\x80)}\xdcr\xdb\xc9:\x85\x89\xd4q\xa6\xf6\xb8\xb3\x84\x91\xa5r\x83.\x94\x11\x91\x0a^d\x02\x16y\xcf\x16\xf2\x7f\x16\xc8\xdb\x1bs.\x10\xb08\xb8\xf8n\xa7\xdbi\x11g\xe2\x07<\x0e\xb3\x87\xce\xce\x9b\xf1x\xcc\xbd\x1eub\x20\xca9\xa7\xb9\xd4\xbe+\xc3M\x05l\xf39k[E\xe8AX\x84}H\xe9\xf3\x15\xf9\x8b]\xf7\xe5D\xf0\xe9\x97:\xfa\xc8\x8c\xfc\xbbw\xf4\x9f\x16ffG\x92E\\M\xdf\xbd\xca\x92\xe7\xf2\xdc\xc6\xdd\xf5\xfd\xdf^\xa1\xffB\xad\\q\xebp\xff\x15\xee\x91\xdc\x20|\xe2\xb91\xae\x7f\x16?\xd2\xb3\xa7\x90\x91b\xf8\xb6\xbe$X\xc9\xbew\xcb8C\xebH\xffi\xfds\xa9\xc1\xbb?\xb1GM\xa2g+h\xa85\x08\x02\x15\xc7\x00?\xe7\xee\xd0\x8dt&~+w\xa1\xf3v\x15\x19uLH\x9b9\xa57\xdc\xfe\xe63Nw\x7f\x0a\xbf\xa43\xf1;\xec\xf6\x97q\xea\xa53\xf1'f\xc5\x13\x18\x0f\xdd\xb9]C\x8b\xc9\xde\xb3G\xfa\x13\x9d#7\xc4\xdf-\xb9\xd2.\xb1\xad\xf0\x14r\"\xb8\xc8b\xb8!#3\x90\x9b^\x87eL\xb1\x1b\xf7t\xed\x97'\xe2\xbd\xeb\x92O\xa8\x9ek\x1cn\xe4\xea\xe5\x1f\xac\xd4V\xf2\x01\xdc\xd8}\x07\xdf\xd9M4T\xfaN\xceM\xd8\xed\xfa/\xedv\xe6\xa3W\xf8\xb8\xa3\xde\xf5}hsT\xefg~\x90=\x19O\xf0\xa5\xa9\xdc\xa0\xbf\x18\x0ew\xf6\x9f\xd73\x01\x0b\xbfg\x0b\xfa?\xbb\x8c\x94~\x8d\xf2@i\\\xb9\x0aQY\xc0\xb0\xa7\xc7bj\x1b\x14\xbd\x14\x1e\xea\x02k&\x89\x07\x827l\x05\xdc\x86\xfe\xe3Y\xe9\x85\xb4\xf3\xd7TX\x97\xb3)\xbb0F\xbf\xb0Y\xcb\xc7\x16\x0bq\x8d\xe38\xdd\x7f\x14\x93W\xfa\xc56w\xe33\xbd\xf11;\x10I\x16\xdd\xbcRb\xb8\xf8\x97\xa8\\<v\xba\xac\xc4H\xff\x13\xef\x1bo\x1f\xd6\x19\x8c\x8f\xa2\x0dB'~\xb4\x9b\xce\xeb\x09\xd6\x08\x02\x14.\x86\x1f\x93A\xc4\x9dbj\xfb/\xf7\x1a\x7fY|\xe8\xecsY\xbd\xcf\x04\xe7\x87\xd0A\xc0\xb8\xa3\xa8CL\xc51\xc0\xadz\xda\x97\x12~\x0bIg\x99\xdd\xc3\xc1\x8e\xca\xa2C\xf5\xf7+uFY3_\x9c\xfd\xech\xe3}\x1dI^\x14=,\x17\xe2\xd4\xcb~\x0b\xd9'\xd6\xff\xc2\xa8/\xae\xfd\x86\xd4\x20\x7f\xcf\x9e_0\x14\xd7\x84\xa6\xe0\x9e\xf9\x09\xbdk\xe6JX\x0d\xba\xe7\x8b+F\xfe\x8d\xb2\xfe\x157l\x96w\xe5\xe9$8\"\xcdS\x95e\xb4O\xa7\xf8\xaeK>\xa1`\xe7\x09\"\x8dA\xf9\x07+\xfb\x84\"\x1f\xc0\x88\xfe\x19\x9e*\x1e\x96\xbf\x93O\xc5\xb7\x84I\xab\xc2\xc7\x1d\xf5\xae\x9b6G\xbb\x9a\xc6\xd3\xd8\x93\xa2\xf8_\x9aq\x1a\x84_]9\xac?\xfd\x98\x09X\xf8=\xc3qZ,\xbd2[\xfaI\xa5\xd3Lo<8>\x1d\xc0\xab\x1e\xb5\x05l\xfd!\x9d\xaa\xbf\x9a\x09\xde\xd0\xf5\xe1\x95\xa6ZcIf\xa2\xc4\x12\x8b\x89\xac\xe4'\xd4\x8e>\xe8\xb7\xb6\xe0\xc4_\x0c-\x9a\x8a\x98\xa9\x8f\x8c\xf6<\x04\xcb\xe9\x00+{{,\x8a`\x87\xe1U2\x9be\xe7r\xce\x92\x1c\x09K,&\xb0r\x9fP\xc0\x9c\x15\xe3s}/\x16-`\xde\xec\xf8\xcf\xdd\xa7\xc7=q\x8f\xad\x1a@\xc0\x96\x9b\x95\xbb=\x80\x85\xb1r\x9f\x90G[\x1dw\xe2\xe1\x92X\xb4\x80\xa5<\x20`\xcb\xcb\xf7\xcc\x19\x9c\xcc\x0aX9\xd6\xd2'\xf4b\x84\xbb\xf9\xa75\xd2\x96\x05\x02\x02\xb6\xbc0gp\x825\xff\x80\x95f-}B\xc65\xd4\x96\x05\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96j\x04\x02\xf3\x01\xfa\x97\xcc\x0e\x00\xd6\x01\x20`)\x86kG^\xde\xdeO\xf2\xf2\xaa?\xe8o\xe8\x00\x205\x01\x01K-\xe65hg\xe1G\x19;wl\xf8W\x85P2\x00\xb0\xceP[\xc0<]\xcd&\xcb@\xa8\xf7\xe0\xe0\x85\xd0\x01>\x9b\xc5\xd4>\xae\xfc\xab\xf8\xb5\xc8\xd2\xc3\xc3\xfb>\xae\xfb\xdb\xdf\x9c\xff\xdf\xdf\xfe\xef\xc7\xfb\xbc\xc9l\x01`\xcd\xa3\xb2\x80M\xf3V\xa7\xdb\xd9&.h\xe83\x0d\xb0\x15Y}\xe6v\x87\xfb\x81\xb9}\xcd+X(\xa2\xfbR\xc2\xc3\xbfe\x0bV\xcd|\xb2a\xc3\x86@\xe9\x86\x0d\x1f\xd5I\xc6\x90\xbdJK\xd2\x01\xc0\xdaGe\x01s\xf1tY\\\x1f\xefd{\xd6\x1e7\x13\xb0\x1e\x0buI{M\x0f\xe2\x17\\\x1b\x84#\xba/:<|\xf0^\xc9i\xba\x0dx\xaa\xf3\x89\x80\xfdh\x7f\x83K\xb2\x8e\xc1\x8e\xa8e\x94\x01`\x9d\xa0\xb2\x80\x09\xd1\xee\xbcB$\"\x87\xd9'\xac\x89\xdf&,G\xd7\x9b\"\xa1\xe8\x96N\x95L\xc0\x16\x11\x1e~\xaa\x86;+\x84\xa4\x0e\xf8x\"`\x1bG\xbd\xd2uX\xe2\xac\xa2\x0e\x00k\x1d\xb5\x05\x8c0\xe3\xb6Xi\x8f\xcbgr\x89A=<B\xb4\x82\x81[\x09J\xa5\x16\xaf.\x96\x19n\xde,+\xee\x93D\xab\x97FtO\x16\x1e^\xce\xecM\xce0\x1c\xde\xb3P\x01sE\x86\xdbV1^e\xbe,.\xfd1\x94\xd6\x84'5(\x8f\xd94\x15d\xe4\xc2sK`\xed\xa1\xba\x80yy\x9e7\xb3[\xc9\xda-\x8dJD\xfa\x16\xcdQ!\x17S\x97\xb9\x13\x86\xceV\xbd\xfe^m\x87$Z\xbd4\xa2{\xb2\xf0\xf0R\x82\xfd\x06]\xa3\xd0U\x9b{A\xf8:J\xc0|\x03,\x0c\x84\xcd)\x8bK\xef\xb1m\xaa\xc3x\xf0\x88\x86\x9aT\xa4\x1d\xb7^\xd5\xe6\xc3\xdc1`\xad\xa1\xba\x80a\xaf\xc7\xc1\xa2\x129\xa9\x8cI\x05l\xc0\xbcf\x9e\xab\xf5\xd1\xb8\x85\x9d,\xba\xb54Z\xbdt\x08II\x14\x1e>\xc25\xaejJL\xd2\xf5\x9e\xb8\xff\x1c%`X6\x84\x8c\xc4\xa5\xd7\xd0\xf0<u\x1aL\xfbhfL\x03eE\x07`\x06\x80TG}\x01\xc34.d7\x19@:\x03\x81\x80\xbb)\x10\xea\x16\x0c\xf2\xb1\x01\xd5S\x95\xc6\x12L\x03\x95}K^\xa5\xd1\xea\xa5\x02\x96,<|\x84\xfbE\x9f\xdd\x17W\xd9|>L\xf8_\x89\x05,\x1c\x97>\"`\xa5\xdb\xfc\xf3\x84\x9c\x0a\x0c\x00k\x0b\x95\x05\xcc/\xc8\xd58\x1f\x98\xe4Cxh\xce|\xaf\xf8drM\xd0\xb1\xfb\x15\xed{\xd1\x8e\x934Z}\x94\x13?axx\x09/j\xb9\x9a\xa9\xc8n\xb4\x0f\x0c\xcb\x05,\x1c\x97>\"`\xdbE/Y\x0a\x04\x99\x01\x80E\xa1\xae\x80\x05\x9a\x84\xb8\x8b\x0fM\x81\x80\x97\xe20{\xbd\xcc\xa1om\xf2$,\x99Z\xbc\xe4j_>\xab4\xd2~\x934Z}$\xa2{\xf2\xf0\xf0R$^0\x1c_\xc0L\xac\xeb\x15\x89K\xcf\x04\xec\x8c\x86\xbc\x94o\x1be\xac\x99!:\x00\x88\xa8+`\xb8\xb9\x8b\xbe\xfa-=\xe2\xbe\xe8\x03\xf3\xb6\xb4\xf9\x88\xbc\xad\x99\x1f\xc7<\xe1\xca8\xee4\x9b\xf7\x20\x8dV\x1f\x89\xe8\x9e<<\xbc\x1c\xfa\x1crLL+\x08Xa!\xc6\xd3\x88MF\x89t\xc62>'o\xe9\x0e\x0dIu\x09\x87\xbe\x88\x8aY\x0d\x00)\x8f\xca\x02\xe6\xe2\xbb\x9dn\xa7E\x9c\x89\x1f\xf08\xcc\x1e\xd2-p\x9bZ\xdc\x1e\x8fg\xe0}\xa2\x93\xae*\x9e\xe9\xc7F\xec\xdf\x0b\x8e\xabp\xb4z,\x89\xe8\x9e<<|4S\xc6\xd0\xf0SA\xc0\xcei.\xb5\xef\xcap\xcb\xe3\xd2\x7f\xaam\xa8+@\x1b\xcddh~\x0a\x95Z\xda+\x90\xe4\x89\x09\x00\xac\x09T\x160\xec\xe9\xb1\x98\xda\x06\xc5I\x98\x1e\xea\x02k\xc6\xf8\xae\xe8\x0d[3\x13Y't\xd4\xab\xa53R\xcfU8Z=\x8eDt_@x\xf8\xf8(\x08\x98\xffxVz\xe1PT\\zWaz\xe6\x9e/\x10\xa2\xa1S\xbbvj\xb3>\xbd\xabT\x1b\x00\xa42j\x0b\xd8\xba\xe0u\xf1\xb5\xd7\xef\xde\xbd}z\xfe\xb3\xb7\xc9L\x15H\x16\x9cTA\xc0\x00`\x9d\x02\x02\xb6\x0c\xf4\x97\x08\x1d\xae`Y\xf4\x9c\xfa\x85\x00\x02\x06\x00\x0b\x05\x04l\x19x\xc2\x09\xb3\x1e\xa6\xb8%,\x98\x13-`\\\x14\xff\xf9?\xd1\xd5(>\x1f\xf8\xb01\xe9\x01\x20%\x01\x01[\x06\x82W\xf4\xd7\xfa\x1e\xf5]\xd3\x7f\xb5\x840\xef\xd1\xe1\xe1\xa3\xf4\xeb?\x85\x96\xd3i\x03\x05\x03\x00\x10\xb0\xe5\x208\\k\xd0\x19j\x87\x97\xa0_I\xc2\xc3\xcf\xd0\x05\x0d\xff\xdf\xbf\xfd\xed\xff~\xbc\x1f~\x9b\x0d\x00\x20`\xa9\x85\x0f\xa1\x9d;?\xde\xb2s\xc7\x86\x0a\x98\x96\x0a\x00\x20`\xa9\xc5\xbc-'++7++k\xd7\xd0\x9a\x99\xf6\x0b\x00K\x06\x04,\xc5\xf0{&]\x93\x93.\x97\x1bF\x90\x00\x00\x02\x96r@\\H\x00\x08\x03\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96\xfalXq\x92]!\x00,\x13\x20`\xa9\xcf\x867+\x0c\x08\x18\xb0R\x80\x80\xa5>\x20`\xc0\xbaEm\x01\xf3t5\x9b,\x03\xa1)\x00\x0eq\x05\x1dy.\xb08@\xc0\x80u\x8b\xca\x026\xcd[\x9dng\x9b\xb8\xa0\xa1\xcf4\xd0\x14\x9b\x0b(\xf2\xf6/\xf1\x8e\x80\x80\x01\xeb\x16\x95\x05\xcc\xc5B\x0f\xf9\xc4\x00\x1e\xd6\x1ewSl.\xa0@\xf0^\xc9\xe9x\xc7$\x02\xb6`-[\xb0\xe1\x9b\x05\xd8\x82\x80\x01+\x85\xca\x02\xc6\x02\x16b\xaf\x10\x89\xc8a\xf6\x89k\xe2Ks\x01\x05\xa6j\xb8\xb3\xdf\xc7;\x08\x02\x06\xac[\xd4\x160\xc2\x8c\xdbbe\x91\x88L.I`\xdbP\xee\x1a`~\xcb\xa6/r\xb2{\x8fg\x15Ra\xb6\xed\xc9\xd9\xa4\xdd\xbb\x95\x1e\xf0\x96ksN\x9e\xd4n\x8e^\xfb\xdf\xbc\x85\xa7\x1bw\xa6\x18\xfe,3*B&\x0d\xe91,\xcfz\xa6\xe3\xb8o^\\<\xaa\xaf}\x07\x02\x06\xac_T\x170/\xcf\xf3f\xd6\xe3\xb2vG\"sGr\xd7\x02\xbd\x99\xa8z\x17\xd26l\xb9L\xe3a\x1f\xb9\xd5\xcdk\xd1<\xc6\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\x1ce\xbf\x1f\xed\xa1\x1b\xbf\xf9\xaa\x80Y\xb6\xd4\x97$\xa8\xda\xdc\x0b\x819<\xd7\xd7w\xb8\xb2\xd8p\xb3~\xf7K*`\x7f\xf8\xf9\xc7\x1f\xfd\xf4\x7f\x13)\xf9\xdf?\xfd\xe8\xe3\x7f\xfc3\x11\x95_\xffx\xc3\x8f\x7fM\x0e|L\xd2\xffH\xfe>\xfe\xa3\x206\xbf\xfd\xe9G?\xfa7\x89!)\xf9\xf1\xcf\xff,\xc9\x88T\xf1\xdb\xbf\xfb\xe8\xc7\xff\xf4&\"`b\x95o6\xd0\x04\xa9#rV\x0c\x00+\x83\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa4\x82\x15\xee\x81\x85r\xd7\x06\xd9\xe5\xd8\x8a\xac\xf8H\x05\xc6\xd7\xb5t\xf1\xe7\xaf\xb3H\xef\xb2\x05\x8d\x93\x14r\xc4\x98O\xd6\x09q\x84\xa6'\x05\xa6eG\xafqU\xa1\xb0\xb6FqUC#\xdd\xa9\xe2N\xbf\xc5\xc1\xb7l\x08\xf9\xd3_\xfd\xf9\xbb\x7f\xff9\x91\x92\xbf\xfb\xddw\x7f\xfcG\"X\xff\xe7G\xbf\xfb\xf3\xef~\xf4\xdb7o~\xfc\xfb7\x7f\xd8\xf0\xc77\xff\xfecQ\xbf>\xfe\xedw\x7f\xf8G\x89!\xd9\xfe\xf9\x7f\xfc7IF8\xf1\xef\x7f\xf7\xef\xdf\xfd\xe1\xbf\xfcSX\xc0\xc2Un\xf8\xd1\xef\xbec\x89\xf0Y1\x00\xac\x0c\xea\x0b\x18\xa6q!\xbb\xc9\x00\xd2\x19\x08\x04\xdcM\x81\x804w\x8d\x90\xdd\x82\x07\x91\x0f\x7f^J\xc6\x85\xd9[\xff\x99\x7f\x18\xa0}\xaaSY\xe4\xc5\x85\xda\xe3\x95\x9aD!dC\xc8\xfbE\x9f\xdd\x17WF|>,\xf0\x9c\xeeT\x15\xbd\x14r\x89\xc0|$\xf6\xaf6\xfc\x9e\xbc\xfc\x99\xf4\xba\xfe\xfe\xffP\xc9\xf9\xfb7o\xfe\xc7\xaf\xde\xfcj\xc3\xbf\xbd\xf9\xa7\xffG0`\xf9RC\xca\x9f\x7f$\xc9\x08'\xfe\x81&\xfe\xf8\xe3\xb0\x80\x85\xab\xdc\xf0[\x9a\xf8\x99\xe4\xac\x18\x00V\x06\x95\x05\xcc/\xc8\xd58\x1f\x98\xe4Cx$\xb9\x89\xca\xa6\x10\xd9]xHC\x14\x8b\x08\x18\xf6\xf1\x07\xf3\xd0\x96\x06\x92\xba\x8c\xbc4\xc8ll\x0f,\x84\xcd*`\x93g\xbf\xa8\xe5j\xa6p\x0cU5b\x82\x08\xcc\xff\xfc\xf8\xbf\xff\x1bU\x13Ak\xc8\xeb\xc7\x7f\x16e\xe8\xb7\xff\xf5\xcd\xcf\xfe\xdb\xcf\xdf\xfc\xfdo\x05\xad\xf9\xe8\xcfoB&\xc2\xeb\x1f\x7f\xfe\xf1\x86\x0d\x1fI2\"U|\xf4\x11\xfd\x99PX\xc0\xc2Un\x08%\xc2g\x8d\xbd8\x00P\x05u\x05,\xd0\xd4\xcb\xb6\x0fM\x81\x80\x97\xe20{\xbd\x01In\xa2\xc2)\x84D\xc0\x1e\x9c\"\xfb\xbe\x96\xf4\xeb\xa43\x96\xb6\xd7=\x9e[\xb0\xf8FJ\xbc`\x12\xaaB\x91n\xa9\xc0\xfc\xfeW?\xff\xf8WJ\x02\xf6\xdd\xc7\x7f\xfc\xe8\x8f\xe4\xef;\x89\x0aI\x05\xecg\xff\xf3\x8fo\xbe\x93\xeaV8\x11\xea_\xc5\x17\xb0\xf0Y\xa3/\x0d\x00TB]\x01\xc3\xcd]\xf4\xd5o\xe9\x11\xf7\x05\x1fXtn\xca#\x11\xb0:\xc4\x1aWx\x0c\xe3Q\xb4\x05\xa1\x9d\x9eXsw\xc3dl\xa6\x0c\xfa\x1cr,*O&`o\x04\x7f}X}X\x8f\x8b\x8e\xf7\xde\xfc\xc3\x7f\xff\x07\xf6'\xf0\xb3\xd0\x102\xf4J\x95\xed\xdf\x15\x05\xec\xef\x7f\xfdFj\x1b\xa92<\x84\xa4\xb0\xb3F_.\x00\xa8\x84\xca\x02\xe6\xe2\xbb\x9dng\xc8]\x1f\xf08\xcc\x1eotn\xea\xe3\xcc\xba\xeck\xd94\xee+\xdd\xe9&\x02\xb6\xf9\x9c\xb5\xad\x02\x91N\xe6\xa8\xa6\xc7j\xf3(t\xc0\xf6\x89\xb1\xb4\x131e\xbc\x80%\xbc\xfb\x93\xbd\xd2h\xb7\xb3\xe0\x1fD`\xfe\xcb\xef\xbe\xfb\xee\xd7?\x95\xa8\xcf\xff\x099\xda\xdf\xfcj\xc3\xaf\xd8\x9f\x00\xc9\x13\x9c\xf8!\xc3\x9f\xfe\xea\xbb\xdf\xffXQ\xc0~\xf7\xf1\xbf\xfd\xf9\xbb\xdf\xfd\xd7\xb0\x80\x85\xab\x0c;\xf1\xc3gU\xbed\x00XvT\x160\xec\xe9\xb1\x98\xda\x06\xc5i\x02\x1e\xea\x02k\x8e\xceMy\x02\xa4\xa3\xd5\x9c\x892,\x08\xed\xc7M\x85u9\x9b\xb2\x0b\xe9\x20y@C\x1d\xf4\x9b\x0ac\x9c`f-\xafPMB\x9e\x09\x8f#ki\x9a\x08\xcco\x7f\xf6\xd1\xc7?\xff\x83D}\xde\xfc\xfa\xc7\x1f\xb19\x0fo~\xbf\xe1\x0fo\xfe\xc0<\xf3\x82\x0c\xfd\xddGt\x0aD\xd8\xf0\xf7?\xfd\xe8G\xbfV\x14\xb07\xbf\xfb\xd9G\x1f\xfd\xecwa\x01\x0bW\xb9\x81&\xe84\x8a\xf0Y\x93]-\x00,\x13j\x0b\xd8:\xc6\xbb\xf9\x98w~\xde7t\x20\xeb\x03\xf74C\x02\xa3\x161\xe7\x03\x01\x03V\x0a\x100\xd5h\xcf\x12F\x8f\x01\xed\xdd$\x96\x8b\x04\x04\x0cX\xb7\x80\x80\xa9\xc6h\x9a0vt\xa4=Lb\xb9H@\xc0\x80u\x0b\x08\x98j\x04*\xd2\x8f\xb5\xf4\xb6\x1cK\xafHf\xb9H\xd4\x16\xb0\x18@\xc0\x80\x95\x02\x04LE\xac{\xb25\xd9{\xac\xc9\xcc\x16\x0b\x08\x18\xb0n\x01\x01K}\x92\x85\xdcX~\x92]!\x00,\x13\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`@\"\xfc333\xf3\x18\xcf\x93\xcdZ\xf9\xa9*\xb0\x96\x00\x01\x03\x120\x90\x86\x10J\xf7\xf9\xd2\xc9&-j\x9dE\x00Xy@\xc0\x00\x05\x86k^\xb3\xad\x05Y\x87\x86\x1c\x18;\x86\x86\xac(:\x98\xd2Bi/\xf0&3!x\x0b\xda\x15\x92\x00\x90\x10\xb5\x05\xcc\xd3\xd5l\xb2\x0c\x84\x96cp\xf0\xe1i\xe9\x92$\xf0\x01\xf8\x8a\xe3:\xc8\xa6\x83\xe3\xbe\x8a:2v(*D[,w\xb8Va\x15~Kdy~\xb7\x20`\xc7P\xda\"\x85\xac\x01\x9dKf\xc2hHkPH\x02@\"T\x16\xb0i\xde\xeat;\xdb\xc4\xa5\x0b}\xa6\x81PT\"I\x12\xf8\x10\xbc,\xbe\xf3\x03\xd9\xfcp\xa7\xf8e\xd4\x91\xe1\xe2~1\xf5\xe8\x09V\xa4\x93\xbb/\xa6b\x05\xccc\xdbT\xa7X\xa8wT1\x1b\xff&\xcd\xac|\x20\x06\xeb\xc6\xab\x0aI\x00H\x80\xca\x02\xe6\xe2\xe9\x0d\xe1\xe3\x9dl\xcf\xda\xe3\x0e\xa9\x96$\x09|\x10N\xdcc\x9b{'b\x8e\x04C\x89\x1a\xd9\"\xafa^\xe8\x1aC\xc9X\x01\xc3X\xa3,`;J\x15\xb3'5\xa7\x14\xf3\x958\xa3q+$\x01\x20>*\x0b\x18f]//\xef\xa1\x1b\x87\xd9\x17\x8a\x0b)I\x02\x1f\x86\xf3\xdf\xb0M\xe3\xf9\xf8&U\xca\x02v\xc5\x10\x0e\x20\xb2\x08\x01\xcb?\xa8\x98]\x91\xbd\xf0\xe5\x1b}\xd9\x15\x0aI\x00\x88\x8f\xda\x02F\x98q[\xacti?\x9f\xc9\x15\x0al+I\xae\x17\x9a\x0a2r\xab\xc9\xbd=\xbe\x11\xa13\xae\xf2\xad\xe9{\xe6%\xc9(c\xf3\x16\xb6\xe6\xb4;S\x8c\x1b\x99)\xed\x9e\xb4r\x1c\xd7\x87\xfb\xc8k\xab\xb4Lc=\xdb\\h\xc4\xcft\x1c\xf7\xcd\x8b\x8bG\xf5\xb5\xef\xf0[=\xb3&\x0c\x8bArYp\xb6\xe0\xfd\x9a\xe2\xca\x9bb\xf8\xef\xe2p\x07LY\xc0\x8eWdg\xeds\x91^3\xb9\x92/p\x1dy\xb5X\xc5\x0b\xcbg\x16\xa1\xb6\x11\xfc\x99\x9f\xd3\xcd\xbb2]\xa3\xc1\xf0\xe8F\x89\x91\x9e\xc3^{XWV{\x98\xf6\x04_],3\xdc\xbcYV\xcc.\x09\x9fI\x9f\x09\x9dN\x92\x04\x80\xb8\xa8.`^\x9e\xe7\xcd\xec\x9f\xdb\xda\x1d\x8e\xcc-I\xae\x13*\xd2\x8e[\xafj\xf3\x03x\xc6\xd2\xbc573\xa7\xba\x1c\xb9%\xc9(\xeb\xfdh\x0f\xdd\xf8\xcdW\x05\xcc\xd29Y\xaf\xebk\xec\xb3xv\xc2X\xffJZ\xe6^\x0d\x9e0L\xe0\xaa{x\xae\xaf\xefpe\xb1\xe1f\xfd\xee\x97\x18?\xb6\xdb\xf5L\xe8f'XX\x10;\x0b\x92{\x85\xbb1\xd2y\xa8\x8a\x0d.\x9fr\xf6p%\x8a\x02\x86\xf2[Z\xb6g8\xb0o\x20\xe7\xd84\xf6\x9e\xcb\xb4\xf9|\x03\xb6\xdcB\x9b\xcd\xc6\\\x03\xe1\xb6a\x1a\x89I\x08\x99\xf7\xa8\x84\xbby\x9a+\xbb]\xd6AN\xb0\xfbb\xff\xd8\xbd2\xee\x1d\x11\xcb\x13\x86\xceV\xbd\xfe^m\x07\xb3\x1a@\x83\xa1\xd3I\x92\x00\x10\x17\xd5\x05\x0c{=\x0e\x16\x7f\xc8IeLP-Ir\x9d`E\xd4\xb3=\x84Z\xe8N>\xda\xe5\x13\x07\xd7\x92\xa4\x94\xc9:!\xee\xda\xf4\xa4\xc0\xb4\xec\xe8\xfd_\xb2\xcd\x89\x90\xe7]\xc0^\x86\x1bu\x8d\xf83\xa6FU\xdc\xe9\xb78\xf8V8\xa2\x0f\xf5\xd4\xc2C\xc8a\xe6\xb5\x7f,t\xcdF\xb8\xe7\xe1J\x14\x05,\x8f\xf4\x8dfr\x0bH\xb2\x8e\xf6\xb8\x8e\x08\x83\xbd\xf0\x10R\xd66+\x12#\xc6\x19.\x92\x8a\x87\xf1\xc5\xaf0\xee<D\xa4\x0bw\x96\x10\xb9\xec\xe3\x9e\xd1g\x06\xa1\xb0\xbdnt\x0b\xc7&\x01\x20.\xea\x0b\x18\xa6\x11\x20\xbb\xc9\xa8\xd1\x19\x08\x04\xdcM\x81\x804\xb9^(\xdd\xe6\x9f'\xe4\xb0{??\xe2\xb0\xceO\xe8\xbb\x9eD!dV\xcf\xb8\xb9\xd9\xfbo\xdf\x15=\x93\x19\xbf\xe4f\x8d\x17\x8d\xb3\x1c{\x08YU$y\x16\x19+`\xf5G\xe7\xde\x11\x0cW\xe8N?\xf7\"l\xaa(`_\xd0\xd7\xeb4\xcc\xb8\x1b9\xc8\x20Q\x08\xe7\x19\x160Y\xdb\xda\xc3\x02\xd6G\x04r\x96\x0dl_\x1a\x8e\xde\xb8\xf748Gr\x1bK\xc8\xcbs\xee\xdb\xf09Zpl\x12\x00\xe2\xa2\xb2\x80\xf9\x05\x8d\x1a\xe7\x03\x93|\x08\x8f$\x99\xb8\xf4\xdaa\xbb(D\xfb\xe9N\xfe\x8ep\xbe$\xa9\x84\xcd*\x20\x9f\x13?\xa7\x9b\xea\xe0Z\x9fss\xb2\xdc`\xd1T\xf1\xb3\xe2)\x1d\x1b\x16V\xd5H\x8e\xc4\x0a\xd8\x09\xd1\x1fv\x96\xeeLp\x13a\xd3\xf8N|\x1b\xa2\xd3&\xf6\x9e\xc4]Y\xc2x6,`\xb2\xb6\x0d\x86F\x82\x86\x11\xfcX'z\xe6\xde\xde\xbbP\xc9\x95\xdd!W\xd6\xb1\xfb\x15\xed\xf2\x85z`Ch\x00\xc7&\x01\x20.\xea\x0aX\xa0I\xf0\x88<4\x05\x02^\x8a\xc3\xec\xf5J\x93I\xca\xaf\x19\xca\xb7\x8d2\xd8\x14\xf5\xfc\x03\xe1|Ir\x11T\xf6\x9d6V\xf6\xff2:\xf7\x8e\x01\x1b:*YZ\xf6\xbcQ.`\xf7^\xd2\x1e\xd8\x13\x06s\xa2\xcd\x16E\x1e\x06(\x0aX5}5!:\xd0\xb5j\xfd\xe2\x08R\x100\x93;\xaam>\x8d8\x8b\xd50\x86\x1f\x17\x09\x02\xf6\xb8\x91H\xd7\xdb>}'\xed&\xd6\xbe|Vi\x0cM\xec\xa8\xd3\x84G\xcf\x92$\x00\xc4E]\x01\xc3\xcd]\xf4\xd5o\xe9\x11\xf7%\x8e\xaf\xb5\xeb\x03\x9b\xac\x8b\x99\xe3\xd9%\xa8\xc1\x17\xac3#\x99\x80\x10g.\x82\xbbaR1_\xa4\xfe\x86n\x84\xbbv!\xca\xb6\xb6\xe6<>od\xa1o\xe3\x08\x98\xd1\x88\xf1k\xea\xf8\x1a\x13\xbc_\x8d\xb7Y\xf6\x85\xca\xf0L1E\x01\xcb!].\x7f^!M\xfb\xb5\xd6,\xf1\xb3,$\x19\xd3\xd4F\xd662\xa0\x14\xbe\x95$\x02\xd6\xca\x8d\xd0\x1c\xe35\x8c\x9fpe\x1cw\xfa{\xf1\x14\x81\xbcp\x84rI\x12\x00\xe2\xa3\xb2\x80\xb9\xf8n\xa7\xdbi\x11g\xe2\x07<\x0e\xb3\xc7\x1b\x9d\\s\xecC\x9bcz\x13\xa7P\xa9\xa5\xbd\x025\xe1\xf9A\xf6\xfc\x8e\x8a\x8e$\x19SC\xc2\xdb\xf9\xb6\xbe$X\xa9\xbf\x1de{c\xf7\x1d|g\xf7\x0d\x8c\xdf\xfd\x89=od\x9e\xad\xb9\x09\xbb]\xff\xa5\xdd\xce\xfc\xf9\xadE\x1d\xfd\xa7\xd9L\xfd\xc6\xdd\xf5\xfd\xdf^\x11d\x0c?\xe7\xee\x84jV~\x0a\xb9g\xb0\xa7\x20K\xb8\xccS\xdb\xb2\xc49\x1f\xe74\x97\xdaweP\xf3p\xdb(\xae\xb4Kt3\xf5Y\xc7l\x9fnj\xb6\x9e\xa8U+W\xdc:\xdc\x7f\x85{\x84\xf13\xfd\xd8\x88\xfd\xfb\x90^^Fa\xa5\x97$\x01\x20>*\x0b\x18\xf6\xf4XLm\x83\xe2,\x00\x0f\xf5{5G'\xd7\x1c\xa6\xcdh(&\xb3k\xa76\xeb\xd3\xbb\x18\x8f\xa71\x87\x11\x15\x1dI2\x0a\xb3\x96\x8f\xcd\x8c\xf0\xb8\xa4\x15\xdf)~\x1ce;\xa2\x7f\x86\xa7\x8a\x87\xa9\x93\x9f\xc1\xfabOEo\x17\x9b\xa6?w\xe33\xbdQ(6v\xba\xac\xc48\"\xd6\xd7\xaa\x0fy\xc1,\xc8\x15ZN\xc7\x15\x12\xb0\xbc\xba\x83\x99\xd9\xe5\x1ea\xc7\x85B\x13N\xfd\xc7\xb3\xd2\x0b\x85v\x86\xda\xc68\xf3\x93\x01\x8c\x83\xa4\xa3\xd5W\xcc\x15\xf7q\xdcy|\xdfx\xfb\xb0\xce`$\xfa\x85't\xf4btF\xe6\x04\xb3\xa5\x9f\x14\xcbH\x93\x00\x90\x00\xb5\x05l]\xd2\x8eR\xcb\x9f\x13\xbc\xa1\x13\xfabl\xaejh9\x1d\xa4\x14P\xdc\xa7\xe9U\xc8\x95Q\xad\xb1\xc4;\xf4\xba\xf8\xda\xebw\xef\xde>=\xff\x19\xe9\x11\xb6h*B\x13x%I\x00H\x04\x08\xd8r0#\xce\xd7b\x93\xc9\x03\xe6\xacc\xc9\x0a\xac2\x82\x1d\x06aR\xec\xfc\xf8Ph9\x9d\xa1q%M\xb1h\x93+\xcd\xe5\x1c\xf9\xbc\xb5\x08\xfd%\xc2\xe81X6\x82\xbd\xd9\xe1\x15($I\x00H\x08\x08\xd8rP(\xce$`\x8en\x8f\xb6z\x8d.fZ\xd7\x8bw-l\xa9\x9c\x89'\xb4\x8b\x00\x00\x20\x00IDAT8<\x11'PLqO\x93X\x02\x80\"\x20`\xcb\x81K\x9c\xaf\xe5Jf\x98\xd2\xf8P\xfe\xb1E\xfcT[\x81\xe0\x15\xfd\xb5\xbeG}\xd7\xf4_\x051\x00,\x01\x100`\xc9\x9c\xdb\xbc\xd3\x99\xcc&1\xc1\xe1Z\x83\xceP;\x0c\xfa\x05,\x0d\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x10\xb0u\xc9\xbaY\xb7\x08X\xe3\x80\x80\xad?<\x15[\x84\xd5\x06\x01\x20\xd5\x01\x01[w\x04\xf2\xf2\xf8\x9eD+W\x03@\xca\xa0\xb6\x80y\xba\x9aM\x96\x81\xd0\xefO\x1c\xbc\x95nf\xcclAi\xf3Z\xfa\xc9`\xb7\xd6\x1aJz\x8fmI\xdf\xfb^\x836k\x96\x15/\x94\xd0\x89\x8f\x20\x842\x94~\xcb4\x8e\xba\x14r\x01\x20\x15QY\xc0\xa6y\xab\xd3\xedl\x13\x174\xf4\x99\x06\xd8\xaaw>\xfe\xa1\x87\xb0\xa6\xd63\xb4f\xdc\x0a%wm\xb9~$\xfd\xbd~3\xf89\xfa<\x99I\x98\xd0\x89\xdd6\xdb\xd7\x8a\xa1\xc9\x86\x90|I}\x00H]T\x160\x17O\xc7.>^\xf8\x09\x9d\xb5\xc7-\x0a\xd8\x1a\x1c\xd1\x84\xbb\\^t\x15\x07\xdeK\xbf\xf0\x19t&\x99I\x84H_o(\x8e\x80A\xc4E`\xad\xa0\xb2\x80\x09!\x0f\xbdB\xf8!\x87\xd9\xe7Y\xbb\x02\x16\xc6\x85\x16>\xfe\x8bC\x1d\xaaKf\xa2\x04\x08\x18\xb0\xd6Q[\xc0\x083n\x8b\x95\xf6\x12|&\x17^\xa3\x02FW0Mc\x0bd\xfb\xb5\xc2\xca`\xd5Q\x16\xc1\xfb5\xc5\x957g1~\xa6\xe3\xb8o^\\<\xaa\xaf}'IFY7\x20\xb6\xc2\x9f;S\\g,S\xfa~\x1dC\x9b\xf8\xea\xdc\x8c=\xaco\x1b>1EY\xaazA\xc0\x805\x83\xea\x02\xe6\xa5\xdez\xd6\x0f\xb3v\xe3\xb0\x80u\xdf\xe2\x9bm3\x89K\xa6\x12\x0fl6!|\"~hkAu6\x9b'\xca\xe0\x0awc\xa4\xf3PU\x10\xcf\xf5\xf5\x1d\xae,6\xdc\xac\xdf\xfdR\x92\x8c\xb2\xbe\x8a.\xd3\x8d\xdf|U@\xf6\xb8\xc3\xd9\xbc\x11i\xeb.e\xb2\x88l\x91\x13cE\x01\x9b\x9f\xee\xdd\x91\xf5~\xe3Y\x00X=\xa8.`\xd8\xebq\xb0\xa8DN*c!\x01k\x1aw;--k\xe9)$N\x0f\xe9\x88\xd2\x10r\x98\xbbO^\x1f\x0ba\x80\xaa\xb8\xd3oq\xf0mTR\x0a\x8f\x84@\x1d\xd3\xe2R\xd5QK4k\xb2h8F\xad\xb8\x97\x9eH\xc0\xf6\x93\xfe\xdb{\x8fh\x01`\xb5\xa0\xbe\x80a\x1a\x17\xb2\x9b\x0c\x20\x9d\x81@\xc0\xdd\x14\x20\xa3\xc9\x80\x83v\xbef\xcckjh\x93P\xc0\xea\x8f\xce\xbd#\x18\xae\xd0\x9d\xaa\xa2p\x8fK\x92\x94bFf\xba\x99D!\xe4Cn\xcd\x11L\xc3\x9a\x89{\x09\x05\xcc\xdd\xc5\xe7A\x0f\x0cX3\xa8,`~\xe1\x11\xd98\x1f\x98\xe4CxB\x07mm\xf1\x8a\xa5\"\x09\x05\xec\x84\x18\xdd\xec,\xdd\xa9\xaa\x09\xe7K\x92R\x06\xb2\x04%\xb2\x89KUG\xcd\x83`\xd1\xaf\xeb4\xe2^B\x01#\xd8\x14\x82\xbc\x01@j\xa2\xae\x80\x05\x9a\x84\x20\\\x0fM\x81\x80\x97\xe20{\xbd\x01\xdc#\xdc\xe1\xbdkjl\x93\xa4\x07\xf6\x84\xc1b\xffH\xc2f\xcb\"h/\x18\xe6\xf5Z\xb0\x80\xc1SH`\xed\xa0\xae\x80\xe1f6\x09\xdco\x11\xc3\xd1\x8b>0+\xebzy\xcd\x0f\xe3\x94JI\x12\x0a\xd8\x98\xe0\xfdjd\xd1\xb4\x17\x20`\x89\xe7\xf1\x83\x80\x01\xeb\x15\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98\xe9\xfc{7\xdf\xe5r?0Y\xdf\xeb\xe76\xab\x09\xff\xa0\xcd\xa69b\xb3\xf9BO!\x07\xa3\x9b\xd6\xb8\xbb\xbe\xff\xdb+D\xc6\xde\xfd\xc9^i\xb4\xdb_\x90<I2\x0a\xeb\xe6\x04\x9dS\x8fm\xd3\x91A<zd\x93\xcd#=1\x9b\x89\x7f\xd9f\x8b\x99\xa1\xf2\x00\x0d(U\x03\x00)\x88\xca\x02\x86==\x16S\xdb\xa0\xf8\xb8\xd1C]`t\xd6\xd2tw\xb3\xd9\xeaX3\xfa\x85\x87\xd2\x04_;\x8f\xfdY,\xb11&z\xcf\xd8\xe9\xb2\x12\xe3\x08\xc6\xcf\x04gX-\x96%\xa3\xb8\xabU\x8a\x8a-r\x8c\xd4\xbf\xc9\x91A^\x8fIN\xcc~\x0bI)\x8d\xb6\x9f\xdexp|z\xed\xbc\xd7\xc0\xbaFm\x01\x03V\x9e\xf6<\x04\xcb\xe9\x00k\x03\x10\xb0\xf5\xc8\xf4\xb8'\x99\x09\x00\xa4\x02\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x80*\\\xcf\xa0\x91\xe1\x06\xb3\xd6T\xf0O`\xc5\x01\x01\x03B\x0c\xd7\xbcNf\xb2d|\x19\xd5t\x1d\xec\x03\xda\xf9d\x96\x8b\xc4[\xd0\x9e\xcc\x04X\xc3\xa8-`\x9e\xaef\x93e\x20\xb4(\xbb\x83\x0f\xads\xe5\xbck\xb6<\x88S\x06H\x88}\xb7\xb8>\xb5\xfeY2S\x8c\xbf\xa4v\xe1\x15\xc7\xfez\xadL_\x1b\x14w\xeep\xad4\xe9\xd4\x9a\xb1I\xeb\xc2\xb8\x02\xa1Kd\xff\x12B\x15Q\x95tk\x17\xbdv\xee\xe8F\x7fv;\x9e\xde\xf4ET~\xf8lK\xa6!\xad!\x99\x09\xb0vQY\xc0\xa6y\xab\xd3\xedl\x13\x174\xf4\x99\x06\xd8\x8a\xac\xd8\xdf\xcd\x0fN\x8e\xf2\xef\xf3\x7f\xbcNx\xf4$&kn\xe2P\xad\x9dp\x9f\x1bIj\x8b\xbf\xb7\xdb;\xb9\x89\xd0\xde\xe9C\x9d\x17\xf5b\x0c\xa4N\x16(\x09\xe3\x1eT\x8d\xabQ\x0f\xc6\xee\xcd\x0dt\xbc\xe7m\xc8\x8c^\x13\xd1\x9aqKL\xf5\x8e\xe2\x851\xa4\x09l\xb5\xe0\x064\x19\x95\x1f>\xdb\xd2\xb1n\xbc\x9a\xcc\x04X\xb3\xa8,`.\x16\xc2\xd6\xc7\x0b\xeb\xfbY{\xdc\x82\x80\xf5\x98<4bd\xcc\xaa\x7f@45JkN\x1f\xbdF_\x9fG\x0b\x98\xa2-\x0d\xe6\x16\x12\xb0\x1f\xb8N\x1c\x9c\x15\xd2/t\x8dB\xe2\x01:\x87\xcf!*L\x9f\x98X\x86i{L\x15\xe1\xe5\x10w\xc4,\x97\x18\x07\xefF\x13r\x04\xb6\xee\x8a\xce\x8f\x9cm\xe9\x9c\xd1\xac\xb1\xb8\xc8\xc0\xc2QY\xc00\xebzy\x85HD\x0e\xb3OX\x13\xdf\xc3?\x0c\x1f\x03\x12\xa2\xb8h\xbe\x20`s\x9dQ\xf1$\xe3,\xb0\x1f\x11\xb0\x17\xdcp8\xf7\x8aAT2\x17\xba\x8c\xaf\"\xda\x19>p\x86e|q\x00\xc7%\xff`\xfccr\x8e\xa3\xbd\xb8\x17\xc5\xf8\xab\"g[:\xbe\xec\xe81.\xb0nP[\xc0\x083n\x0b[\xfd\xdegr\x89A=\x06M\xf3I\xc2V\x00\x94a\xd1\xd9\x15\x1d{M\x100\xca\xdb\x0b\x06\xdd\xe1\xb3\xcf\xa2l#\xb9\x14Q\xc0\xe6\xca\x04\x83\x9b,s\xaeX\xec\x80a/j\xc2\x16D\x07\x8f_\x08\xdd\xab\xd2/\xf0\xf8F\x84\xce\xb8\xca\xb7\xa6\xef\x99\xc7\xbet\x84\xd2\xe8:\xe0\xd8*.Z\x9d\xcf\xcc\x9a\x0a2r\xab\xc5\xef\x20\xf3\x16\x1eG\x11p\xce\xe3\x83Z\xba\x96\xb8\x85\x14\xa9\xc3u\xe4\xd5\"=[\x1c\x82\xf7k\x8a+o\x12q}\xa6\xe3\xb8o^\\<\xaa\xaf}'I2\x9b3\xe9k(\xa8;\xb0(T\x170/\xcf\xf3f\xf6\x7fn\xed\x0eE%j\xb7:\xdb\xf8\xe6\x01\xf8/L\xc2\xec\x04\x8b\xfaa\x7f\x1e\x95\x7f\xf4\xca\xdc\\\x87\x91\xa6\x86\xb9\xaf\x1e\xf5\x9d\xe5\x1e\xcbm#\xb9\x94P\x0f\xec\xa9\xbd\x8fk\xb5\xdb\xff\"\xecpv\xb1\xb2@\xce\x20\x1e\xca\xa1\xdf'\xa6\x1dx\x90\xec\xe4\xf3x\xc6\xd2\xbc573\xa7\xba\x9c>I|`\xb3\xb10H\xd87`\xcb-\xb4\xd9ll\xe4_\x91v\xdczU\x9b/|\x0f\xedG{p,\xa2\x0b\xdfg\xcb<\xe3\xc5\xde\x7f\xcd\xa2\xa1G\"g\x8b\xc3\x15\xee\xc6H\xe7\xa1\xaa\x20\x9e\xeb\xeb;\\Yl\xb8Y\xbf\xfb\xa5$\xc9l\x06\x20\xce\xd2\xbaEu\x01\xc3^\x8f\x83E%rR\x19\x13\x04\xcc\xc27\x8d\xbb\x9d\xcd\x16\x7f\xb2\xb2\x80\xf2\x10\x92\xf6\xa4\x0c45\xdbG\xfa*\xc1\x13\xe7\xe5\xb6\xb2\\\xe5!\xe4\x08\x17\xad\x8a\x18\xdb\xb4\xf8s\xcdI\xace\xb1<\xf3\xd1._x\x94\x1f\x8e\xdc\x16\x1eBZY\xec\xf0!\xd4\xc2\xf6&\xeb\xa2\x9d\xf5\x94\xb0\x0b\xbf\x82v\xedJ\x174\xee\x1bf\x8f\x16\x1e\x0bQ\xe8\xaa\xb8\xd3oq\xf0mT\x12c7\xba\x15\xaf<\xb0\xc6Q_\xc00\x8d\x0b\xd9M\x06\x90\xce@\x20\xe0n\x0a\x90o_\xab\x89\xde\x18>3D\x8cN\x8a\xb2\x80\x9d}\xfc\xf8\"\x130\xfc\xaa\xb3\xf6h\x09w\"\xcaV\x9a\xab,`\xfd\\l477\xf2\x15\x1e\xf9\xd4\x87\x98\x8b<_\xea)\x8f\x15\xb0\xd2m\xfeyBN\"U\xda\xb6SL\xf4\xa6\xfb\xb0/\xa37\x81i\x98\xfa\xa3s\xef\x08\x86+t\xa7\xaa\xe8e(_\x92\xa4\x17\xda\x12[\x12X\x17\xa8,`~a\xb00\xce\x07&\xf9\x10\x1e\xdc\xcb\x02\xdb\xe2^\x98\x92\x98\x94\xb8N\xfc\xa9{4\xf5\xf8\xd0\xe1\xc6~\xfb\xe9(\x01\x93\xe5*\x0b\xd8DdnE\x98\x80\xc6\xb1yt\xb3c\x13\xfb\xcc\xf2wH\x8e\xc4\x0a\xd8v\xd1\x1f\x96\x20\xda\x91\x0d\xb5\x89\xcf/\xe7\xb5m\xb8]\xbb\x20\xaf\xe7\x09\xd1\x95w\x96\xeeTE\x9c\x7fUR?\xe0\x10D\xba\\\xb7\xa8+`\x81&\xe1k\xf7\xa1)\x10\xf0R\x1cf\xaf7\x80G\xcd\xec\x9f\xb9g\xd1\xd3#\xd7\x1fL\x94\xeeIz\x1f\x94\x88\x13\xbf\xb2\x86>K\xbc\x20\x110j+\xcbU\x16\xb0\xd9\xa2V\x1cCnC6\xce\xb9\xb4\x8d\xa5\xf3\xa5\xcf\"\xe5\x02f\"}\xb3\xf2m\xa3\x8c\x04\xee\xf8R\xad\x1fW\x08\xde\xb3\xe3\xfb\xf1\xfe\xe3\xf1-%\xd4\x1f}\xc2xEw\xe2\x850\xaf\xd3\xc0\x03\xec\xf5\x8a\xba\x02\x86\x9b\xbb\xe8\xab\xdf\x12\x9a\xb9(\xf8\xc0\xbcl\x1a\x85\xcf\xf4\x20N)\x20\x8c\xd1\x88\xf1k\xc1#\x84\xdd\x0d\xa2O)\"`\x87\xe9}\x1d\xac:!\xb7\x95\xe5\xc6\x99Fq\xa12\x88\xa3\xd9[\xb0\x1f\x1f(\x10\xfc\xf1\xb2\x09\x13a\x01+,\xc4x\x9a>M\xec\xa2/\x18\x7f!\x1c\x08_\x99\x04\xaf\xe6s<\x8a\xce\xa5M\x93\xf4\xa0\xc6\xa3Q\xf0\xbbO\xd6\xc5L\x08\x1b\x13\xda\xdax\x9b\xbe\xc6\x11\xb0@\xde^\x0c\xacST\x160\x17\xdf\xedt;-\xe2L\xfc\x80\xc7a\xf6\xd0\xef\xec\x07\xa6\x07nGS\xdb\x87\xfe\x9d\xdc\x1a\xa4\xb5\xa8\xa3\xfft\xb1\xd0\x03\xdb\x87\xd8\x8dKg\xe2O\x88\x93\xb8Z\xb9\x0b\x9d\xb7\xab\xb8\xb2;\x13R[I\xeeK:\x13\xbf\xc3n\x7f\x19z\x0a9!\xea\xd6s\xeeN\xcc\xc9\xaaQ\x03n@\xa4\xab4?\xc8\x9e72U\xf2\x0f\xdal\x9a#6\x1b\xfb\x08\xcfi.\xb5\xef\xca\xa0\xde\xb1S\xa8\xd4\xd2^\x81\x84\x89\xc9\xe2\x95\xc9\xb8\x84\\\xb8yk\x80\x09W\x20{O\xb6\xc2\x08r\x1f\xda\x1c\xd3\x95j\xdc]\xdf\xff\xed\x15\"c\xef\xfe\xc4\x1e\xabRW\x9d$I\xb9\xfc\x9e\x13a\x81\x14Fe\x01\xc3\x9e\x1e\x8b\xa9mP|\xdc\xe8\xa1.06\xa5\xc8\xd5nn{\x00\xfa\x95\x9c\xb9\x1b\x9f\xe9\x8d\xe2|\x08\xb3\x96\xcd\xb6b\xbf\x85\x14\xfad8\xd8QYt\xa8\xfe~\xa5\xce(\xb5\x95\xe4^\x14}J\x17\xf0\\\x09K\xe8BO\x1f[\xf51^0k\xc68vd\xb4c<\x9e\xc6\x1c\\L\x95\x86\x844b\xe7\xf6\x1f\xcfJ/\x14\x9e\xbdt\xed\xd4f}zW((^\x99\x8cm\xa4\xb3f\xd3X\x85G\x02\x975\x97c\x0c\xc8Xt3\x8a}\x8e3v\xba\xac\xc48\x82\xf13\xe1\xc2k\xb1,I\xb0\xa5\x9f\x8c)\x04\xac\x17\xd4\x160`\xb5\x12\xbc\xa1\xebKf\xf3\x1eL3\x17~\x01J\xf8\xdb\xa3v\xb4xgV\x8b\xa6\x02\xbe\xf9\xd6/\x20`\x80H\xb0\xc3\xf0*\x99\xcd{\xc0z^~W\x82g\x8f\x01s\xd6\xb1\xf8G\xe3\xe0\xcd\x86\xc5(\xd63\x20`\xc0j\xc1\xa3\xad\x86\xa9\xcc\xc0\xe2\x00\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01[\x0eJ\x91\xb6\x1cb\xc4\x01\xc0\xb2\x03\x02\xb6\x1cxz\xcdy\xda\xc5\xff.\x19\x00\x80\xc5\xa1\xb6\x80y\xba\x9aM\x96\x81\xd0\xbd\xed\xe0\xe9\"\xac\xf3M\xe2\xe2\xd2\xcd\x89J\xa6\x18\xbdh<\x99\x09\x00\x00\xef\x89\xca\x026\xcd[\x9dng\x9b\xb8\xa0\xa1\xcf4@\x17\xc0\x9b\xe1G=\x84\x07\xfcZ\xba\xe5\x87\x20\xd4\x17\x00,;*\x0b\x98\x8b\xa7\xab\xaa\xf8x\xc1Ad\xedq\xb3\x15<\x1d,(Q\xd3\x9a\x8a\xcc\x00\x02\x06\x00\xcb\x8f\xca\x02&\x04\x16\xf4\xf2\x1e\xbaq\x98}\xc2\x9a\xf8\x8c\xbb\xb7\xd6\xd4\xbat\x20`\x00\xb0\xfc\xa8-`\x84\x19\xb7\xc5J\x97\xb5\xf3\x99\\8\"`N~:A\x99\xd4c\x1c-(\xee!\x00\x00\xef\x81\xea\x02\xe6\xe5y\xde\xcc\xfaa\xd6n,\x11\xb0p\xa0\xa25\x82_[0\xe0^P\xe8C\x00\x00\x96\x8a\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42\x16\x1607/\x09\xfc\xbc&\xb8\x8b\x10\xda\x97\xcc\x08\x00\x80\xf7A}\x01\xc34.d7\x19@:\x03\x81\x80\xbb)\x20\xf4R\xba-I\xca\xa4\x1a>\xed\xd6\xcb=kM\x94\x01`\x95\xa1\xb2\x80\xf9\x05\xb9\x1a\xe7\x03\x93|\x08\x0f\xcd1?HP*\x15\x19B\xdd\xc9L\x00\x00xO\xd4\x15\xb0@\x93\xe0\xd9~h\x0a\x04\xbc\x14\x87\xd9\xeb\xa5\x9a\xe6]s#Hx\x0a\x09\x00\xcb\x8f\xba\x02\x86\x9b\xbb\xe8\xab?\xec\xb1\x0f\xf9\xc0&\xf9\xb5\xf6\xc3\x1b\x100\x00X~T\x160\x17\xdf\xedt;-\xe2L\xfc\x80\xc7a\xf6xi\xca\xc9\xaf\xb5\x80Z\x83\x20`\x00\xb0\xec\xa8,`\xd8\xd3c1\xb5\x0d\x8aj\xe5\x09\xff\x00\xd2}+A\x99\xd4\xc3\xef\x19-\xd5x\x92Y\x01\x00\xf0\x9e\xa8-`\xeb\x83\xfd\x08mmOf\x04\x00\xc0\xfb\x02\x02\xb6\x1cxF\xd7\xda3\x09\x00X\x95\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\xaco\x01+E\xdarg2#\x00\x00V+\xeb[\xc0<\xbd\xe6<\xad\xb0\xb4\x8f\xb7\x20\xfc\xebkI\x12\x00\x80\xd5\x8c\xda\x02\xe6\xe9j6Y\x06B\xab\x17:x+\xdb\xfa\x06n\x99n\x0d\xac\xc8\x9a\x86\xbdH\x8c\x07\xde\x90\xd6\x10\xca\x93$\x01\x00X\xc5\xa8,`\xd3\xbc\xd5\xe9v\xb6\x89\x0b\x1a\xfaL\x03lEV_S\x1b\xcdmZ\x09\x05\x8b\xac\x9cj\xddx\x15\xc7&\x01\x00X\xbd\xa8,`.\xb6\xf6\xbd\x8f\x17\x1cO\xd6\x1e7\x130\x9b\x85\x06\xe5\x9e\xb7\xd8\x12\x94\\.$K?\x9f\xd1\xb8\x15\x92\x00\x00\xacZT\x160\xcc:Y^!\x12\x91\xc3\xec\x13\xd6\xc4\xef\x11|N\xed+\x11\xdbV\"`\xbe\xec\x0a\x85$\x00\x00\xab\x16\xb5\x05\x8c0\xe3\xb6Xi$\"\x9f\xc9%\x06\xf5\xf06\xf5z\xfd^[\x937I\xc9\xe5`\x1c\xf5\x86\xd3g\xd2g\x14\x92\x00\x00\xacVT\x170/\xcf\xf3f\xd6\x0f\xb3v\x87\xa3\x12\xcdt\x93\xdc\xae\x15\x91\x0c\xbf\xb6`\xc0-D\xab\xc4\x03\x91\xde\xd8\x00\xc4\xe4\x00\x80\xd5\x8f\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42&\x08\x98\xbf\xdb\xe2\xf48-\xdd\xf3\xc9\xca.\x07w\x11B\xfb\x84\xa4\x1b\xdd\x0a\xe5J\x92\x00\x00\xacV\xd4\x170L\xe3Bv\x93\x01\xa43\x10\x08\xb8\x9b\x02\x01\xea\xc4\xf7\xb3\xdc\x81d\x05\x97\x01\x9fv\xeb\xe5\x1e\xd1c\xefF-\xa1lI\x12\x00\x80\xd5\x8a\xca\x02\xe6\x17\x06k\xe3|`\x92\x0f\xe1\x09\x98\x1e\xb2\xdc\x87\xa6@\xa2\xb2\xcb\xc3\x10\xea\x96\xa4\x07\x14\x92\x00\x00\xacV\xd4\x15\xb0@\x93\xe01'R\x15\xf0R\x1cf\xaf7\x10\x12\xb0\xd1\x95\x11\xb0\x88\xb3\xabN\xe3SH\x02\x00\xb0ZQW\xc0ps\x17}\xf5[B\x13&\xc4i\x14\xe2\x10r\x85\xa7Q\x04\xf2\xf6*$\x01\x00X\xb5\xa8,`.\xbe\xdb\xe9vZ\xc4\x99\xf8\x01\x8f\xc3\xec\xf1b<\xd3bq\xb8\x1d\x96\x96\x95x\x0c9\x18\x11\xb0\xcbhT!\x09\x00\xc0\xaaEe\x01\xc3\x9e\x1e\x8b\xa9m\xd0/\xeeP\x17X3I\xf8\x87\xda\xccmC\xfe\x84%\x97\x03\xbfg\xb4T\xe3\x11wl\xe9'ql\x12\x00\x80\xd5\x8b\xda\x02\xb6\xba\xd8\x8f\xd0\xd6\xd0\xca\x13-\x9a\x8a\xf9\xd8$\x00\x00\xab\x98\xf5-`\x9e\xd1\xf0O\x1e\xbd\xd9\x0d\x0aI\x00\x00V3\xeb[\xc0\x00\x00Hi@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0V3\xc35\xaf1\xf6\x16\xb4c\x00\x00\x94P[\xc0<]\xcd&\xcb@h\xb5S\x07oe\xdb\xc0x\xbb\xa9\xcd\x19\xbf\xd4r2\xb9\x09\xe5\xc5dz\x8fmI\xdf\xfb\x81\xd6\x87\x9d\xaa-6\xd4?2\xbc\xc6_r\x1c\xa7\x7f\x91\xcc\\\xc2\x1d\xae5H6\x0di\xf0\xe3r\x00PDe\x01\x9b\xe6\xadN\xb7\xb3M\\\xd0\xd0g\x1a`+\xb2\x06\xac\xe6Q\xf7\x03\xd3\x83D%\x97\x8f\xc1#\x9a\x98\xbc][\xae\x1fI_\xd8\xa2\xd2\x8f\x9e$>>V\xfc/\xf7\xfaNp\xdc\x7f\xe0\xef\xed\xf6Nn\"\xb1\xb5\x94N\xee\xbe\x90\xb0n\xbc\x9a\xd8\x12\x00\xd6)*\x0b\x98\x8b\xa7\xeb\xd7\xf8x\xa1\xb7e\xedq3\x01{h\xa2!m]\xa6\x85)\xc6\x07\xa7N\x13\x9d\xe3EWq`\x81WSs!\xe1\xe1\x1fJ\xce\xcea<[I\x04\x8c\xf0x\x11\x02\xf6B\xd7\x18J\x9e\xd1\x84\x97\xfd\x01\x00\x20\x82\xca\x02\x86\x99*xy\x0f\xdd8\xcc>aM|+[)\x1f7=\x88Sh\x99\x89\x150\x17\xb2*\xd8)S\x95X\xc0\x1a\xf5\x7f\xa1\x9b\x0e\xee9\xdd,F\xc0\xae\x18fCI_vE\"K\x00X\xaf\xa8-`\x84\x19\xb7\xc5J\xddK>\x93K\x0c\xea\xd1fc\x07\xda\xef&*\xb6,x\xca\xb3\xb3\x0e\x88C\xc8\xa6\x82\x8c\xdcj\x1f\x8d\xd5\x8d\x18\xd5\xb2\xdc\xf1\x8d\x08\x9dq\x95oM\xdf#]\xacu\x98\x13\xa8\xa1;\xf6\xda\xc3\xba\xb2\xda\xc3A\xd9\x19*\xaf\xb0\xcd\xab\x8e9\xba\x09\x0bX\xb0\xb3F_\xd5\x19\x8c*\x16\xbc_S\\yS\xd0\xad\xb9\xe2p\x07\x8ct\xc1\xd2W\"^\x00\x00\xacvT\x170/\xcf\xf3f\xd6\x0f\xb3v\x87\xa2\x12\x0d4\xb1\xa8D\xe6\xb6\x84%\x97\x01Wf\xae\xb9\xfd\x17HC\xd3\x15i\xc7\xadW\xb5\xf9DZ\x1f\xdaZP\x9d\xcd\xe6\x91\xe5\xceX\x9a\xb7\xe6f\xe6T\x97#\xe9hnv\xc2^i\xb4\xdb\xed\xb4{\xf5t\xf7\xc5\xfe\xb1{e\xdc;\xe9\x19\xe6\xb8\x0e\xe9nX\xc0.\x16}3\xf2M\xd1\xc5\xa8bW\xb8\x1b#\x9d\x87\xaa\x98\xae=\xe5\xec\x91r\x03\x92\xe0o\x00\x00\x84P]\xc0\xb0\xd7\xe3`Q\x89\x9cT\xc6\x04\x01\xf3\x99\xad\xde\x19O;oIV\xf6C\xf3\xe96r\x0d\x81\xed\x1a\x92\xb4\"3\xa6A\xd6X@\xee\xf0\x10R\x96\x9b\x8fv\xf9\xc4A\xb0\x84\xf0\x10\xb2\xf3\x10\xd5\xa0\xce\x12Y\x0f\xec\x05\xf7\xadt7$`#\xdc\x18y\x1d\xe3Fd\xc5\x86\x99\xd7\xfe1\xd7'\x98<\x8f\x94s\xa3[\x18\x00\x80h\xd4\x170L#@v\x93\x01\xa43\x10\x08\xb8\x9b\x02t4\xe9\xb5\x92~\xd9\xa0U\xed\xf9N>\xc4\xd3\xcd\x19\x0dy)\xdd\xe6\x9f'\xe40gSX\xc0d\xb9\xf9\x8a\xae\xf4\xb0\x80\xbd4\x1c\xbdq\xefipNvtN\xa7\xd8\x03\xbbr\x82mN|)+V\x7ft\xee\x1d\xc1\xc0F\x9d\xfd\x9cd\xc6\x85[\x90P\x00\x00d\xa8,`~an\xd58\x1f\x98\xe4Cxh\xce\x8c7\x80\x9b\x06\x12\x15]\x06\x1e\x20\xe6|;\xa7!/\xdb\x05\xc7\x17\xdaOs\xc2\x02&\xcb\xcd\xdf\xa1TI\xc4\x89\xff\xf6\xde\x85J\xae\xec\x8e\xa2\x0fln\x8cmB\x02f<\xcb6\xb55\xb2b'D\x8f\x1a;8!\xf5\xf7\x0f!\xb5\xdf\x1b\x00H\x05\xd4\x15\xb0@S/\xdb>4\x05\x02^\x8a\xc3\xec%\xca\x85\x99_\xdc%H\x99\x8ax\xd1u\xbaaN\xfc\xf2m\xa3\x0c:\xa1#\"`\xb2\xdc\xfc\x03J\x950\x01\xbb\xf7\x92\x88S#\xd1\xa0\xb7}\xfaN\xd9\xe1F\xfd+\xba\xe9\xe3^\xd3M\xb8\x07v\x94\xf9\xec\x8f^\x94\x15\xab?\xfa\x84\xc1J\xcc\x16\xb5Fj\xa9\xd3,pR\x07\x00\xac+\xd4\x150\xdc\xcc&L\xf8-=\xe2\xbe\xe0\x03s\xf2D\x20|\xcd\xbdq\x8b-\x17\x059\xe4\xc4\xae\x9fhH\xb2\x0b1\x0f\xdc\x17u\xf45,`\xb2\xdc\xfc\x83Ju\x18\x8d\x18\xbf\xa6n\xabV\xea\xd1\"\xfb\xd7X\xb6\xbba\x92m\x7f(9OF\x87A\xe3Q\xb6\x17\xf1\x81Q?W\x1f-!)6&x\xbf\x1ao3\x9b\x0b\x95\xe1\xbe\\\x20o/\x06\x00\x20\x06\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98=TB\xf8!\xf7\xc3&\xab\xfa\x9d\x0cGFN\xdd\x99\xac\xb4\x8df'\xc6\xa7P\xa9\xa5\xbd\x025\x85\x9eB\x0e\xb2\xd1n8w~\xd0\x96[h\xb3M\xc6\xd4\xd1Z\xd4\xd1\x7f\xba\xf8%U\xa2\xe2\xd6\xe1\xfe+\xdc#\x96\xbd\x0f\x89\x9a3\xa27\xde\x1f\xae\xd5\x11\xe1zIg\xe2w\xd8\xed\xc4\x16\xd7s\x8d\xc3\x8d\\=\x96\x17k\xdc]\xdf\xff\xed\x15A\xc6\xf0s\xeeN\xe8\x1c\x97\xd1(\x06\x00\x20\x06\x95\x05\x0c{z,\xa6\xb6A\xbf\xb8C]`\xcd$1j1[G?\xd0O\x0f\x17\x85k_\xd6\xd6\x93\xe6\x8d\xe8\x18Iw\xed\xd4f}z\x97\xf4\x0f\xb3\x98\xdbk\xa3\xf0k\x81P\xeex\x1a\xcb\x8d\xed\x09\xcd\xdd\xf8Lo|L\x12\xf7\x8d\xb7\x0f\xeb\x0cFA\xbf\xb0Y\xcb\x8b\x06S\xb5\xfa\xb2\xb3t\x1e\xfeE\xd1\xc5E\xc7\x9c\xc1\xce\x13\xfa\x13l\x1e\x98\xac\xd8\xd8\xe9\xb2\x12\xe3\x88X\xb0U/z\xc1l\xe9'1\x00\x00\xb1\xa8-`\xc0\xc2\x09\xde\xd0\xb1\xbeX\x8b\xa6B:y\x16\x00\x80\x10\x20`\xab\x98`\x87\xe1\x15\xc6\xdelX\x8c\x02\x00\x94\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20eQ[\xc0<]\xcd&\xcb\x00]\xf9k\xc6\xcc\x16\x946\xb3\xa5u<\xed\xe6.O\xe2\x92+\xc2\xa8\xb0\x88N\xda\x03awr\x13\xca#\x9b#$+\xc3\x15k\xed\xd8\x93\x91]\xda\x9b=\x1d{\xe4C\xe1.\xcf\xc9\xf8\xa4N\xfd\x85\xd3\x00`u\xa2\xb2\x80M\xf3V\xa7\xdb\xd9F\x174\xf4\xf1\x0f=\x04\xb6X\xb3\xdbds\xd9L\xab0\xfa\xf4\xfc\xa0\xedkt\xd9\x16Z\xc0\x0c\x0f\xb2\xe5\xa7\xdd6\x92\x1b\x1b\xe7\xac+c\x07\xdf\xb2\x1d!g\xcc\x91\x0f\x85k\xf3'\x97\xac_d~\x02\x0a\x06\x00\x0c\x95\x05\xcc\xc5S\x95\xf2\xf1N\xfa\x12\x16\xac@3\x0dY1\xd0\xbc\x12K\x1a&eH&U\xa1(\xdeC\xb1\x02\xe6\xcd\xdcOt\xce\xb7m\x19\x05l\xffV\x1a\xdf\xd6\x99\xf1E2C\x00X\x1f\xa8,`BTE/\x0d\xdf!\x110\xa7\x89\xde\x97>\xd3\xf2\xdd\xf9\xef\xc1\x82\x05\xecT:\x1b;^B\x0a\x83\xcb\x0fD\xdeV\xb69\xa0\x18\x1e\x09\x00\xd6\x1fj\x0b\x18a\xc6m\xb1\x06d\x02\xd6s\x97m\xee\xaa\x1c\xd5c~\xcb\xa6/r\xb2{\x8fg\x15\xd2\x11\xed\xc1lM\xce\xbeq\x92\xed\xdc\x88\xd0>\x9c\x83P\x16\x1b8\x86\xa5\xcaS\x9e\x9du\x80\x0d!\xa5\xb9\xb8\xa9\x20#\xf7\xffo\xef\xfcc\xe28\xee\xfe\xff\xfdg\x10\xac\x8c\x0eN\x1cB:\xa4\x039\x08\x13Y\xc9`|',\x1cS\x041\x17\xd1`\x93\xafj\xe3\x1f(\xa9\x12\xfb,\x13\x9b\xa8NS94D\xc6`\xf2\x03\xc5%ND\x83c\x14\x1axL\x1d\x91\x1fv\xb8\xa8\x8ay\xda\xe2|\x85\x1e\x92H\xcf\xb5V{\xcf#5\x8e\xb1]\xe1m\x1cR\x82}\x86Z\xa3\xef\xce\xec\xaf\x99\xe5\x8e=(\x06\xce\xf9\xbc\x12\xf9\xf6n?\xf3\x99\x99\xdd\x9d73\xb3\xb3\xfb\xa9\xa1\xba\x9c\xcd\x82G\xca\xa1\x034\xd9\xe1\xfb\x1c\xabi\xc8\xa3*\x94\xd2X\xe3q\x14\x8e\x08\x9b\xb2\xdcS\x98\x95\x92\xb1\xce-[iv\xb17Q\x8f\xa4k\xf1\xdc\xd2\x85qu\xaf\x1a\x0ces\xf6\xact\x00\xf0\x83d\xc9\x05,D'\xeei{\x0f7v\xbd\xd2\xd8\xdaC\xfb^\xedj\xd0\xc3\xde\xa5\x0el\xdb\x9d\x8ej\xd6\xa2\x8czW\x03\x8d\xc1\xed\xefn\xf3%\xf5+\x03\xda\xbe@R\x9f\xdc\x8cZ>dF\xbaT\x0d\xa5{\x9a\x8f?\x88$Y\xf8U\xf6'Uw\x1c\xca\xb8o\\\x1eKj0=o\x96\xea:\xea\xa4rE\x0d[\x93QF\xe0@z\x89\xb0\xa9$\xdf\xfcJWc\x06\x9a\xf5\xaa\xe8\x0d\xa8\x90~\x8c5\x1fRi\xd6g\xdf8.\xb9\xcag\xff\x08\x00?D\x96\\\xc0\xe4\xd0\xe8`\x9b:\x89\xdfrv$\xd8vLi\xa1-\xfdlO\x7f\x8bM\xd2E'\xb3\\\x11\xae\x0ey\xb3\xd2w\x0a\xb7QU\xcde\x11l\xe5\xcd\xf9\xa1,\xfd=\xce\xbaT\xad\xc9V\x0c\xc6WK\xe2\xaf\x1d\xa8\x99};&\x8f\x20S\x7f;Q'\xfb\x97\xf6,%\xa7\xd2\x89*\xcf\x90\x85\xcd\xc3\x19T\xba~\xe1\x9c5\xeb7\x1cP\xe3\x1e}9\xac\x12\xe5\x8e\xe6\xf8\xe6\xd4\x159\xd6\x06\x80\xa5g\xe9\x05L\xa6q!\xbb\x94v8H;_\x97\x9a\x15!hg\x01\xb2\xe5\xee\xf6\xb9\x93->\x99\xc7\xe4>\x14\x96kK\x95\xed\xd0\xe1\xc2\xect\xb4\x9a\xfd~i\xb5\xcb\xa7\xdbhR\x15FllW'\x09\xbf\xca\xa5\xd9cW\x15\xb2\xfc\xf2X\xb2\xd9\x03\xf3\xe7\xb2\x8f\x9c\xcd\xca?\x12\xfd\x87\x05\xff\xe66G2\xdd\x8f6~8\x1e\xa5{\xa52\x8ctf\xdf\x9a}T\x0fZ\x09\x00?x\x96X\xc0\xc6\xd4.\xc7\xd9F\xa3\xeb\xd1\xa3\xa8\xd6I\xb5E\x1e\xd7\xc3\xdd.\x19\x99\x9dr\xbf$\xcb;\x14\x01\xebwe\xd5\xb6\xf7\xdc\xaf\x0a\x98\xfc\x0a\xea\xd5m4\xa9:\x83\x98\xca\xaaJd\x0a\xd8jMg6\x18s`cJ\xe7k\x8d*\x7f\xeb\xf2\x95\x7f\xa4=\xb2>\xf7\xcfm\x86\x1b\x1f\xcaA\xae\xd8\xd1:z:Tz\xac;\xc2\xa5\xc9\xcd\xd1\x12\x00\xc0\x0f\x91\xa5\x15\xb0\xf1\x16u\x9e\xfe\xc3\xa6q]\xb5\xba;hdnuRl\xc9GF\x9c\x80\xe5\xe4\xd32\x94\xa8\x026\x9a\xb9\xcb\x1d\xd2l4\xa9\x0a!:'/['\xf1\xcb\xb3\x07\x18!\xe3.d\x1b\x0a\xc9~u\x96\xdd\xcdz`4\xaa\xb7&`\xc6\xe6\x99\x1d\xca?\xe1c\xa9\x87\xe5y2z\x9fs\x96\xa6\x01\xc0\x0f\x96\xa5\x150\xb9\x95\xce\x0d)CH\xa5\xaf\xd5\xc1\x06\x8c\xa1\xe6\x0f\xe9:0\xaak\xddK\xbf\x0e\x8c\x13\xb0,:\xb7>\xbe\x9a\x09\xd8X~\x9d\\\xb5V+\x8d.U\xf9Y4\x86\xf8*I\xfc\xb5\x13\xb5\xd1\x8f]\x01\xba\x0e\xacD\x19\x12\x8e\x17\xb8\xe9\xcc\xd81\xe5\xc7cl\xac\x17U\xc0\x02l\x92L.\xa8\x92-\x8c\xd4\xcf\x8e\xfd\xcdq6\xd33\xa4\x94\xef.\xae\xf5\x07\x80Db\x89\x05l\xa8\xb1+8\x12d\x93\xf8#\x8d\x9dC#g\x9a\xe8\x8a\x0ay\xa4\xa9{\xb8{\xe9W\xe2\x07\x9d\x0d\xe1c)g\xc3\xa5\xf7\x8f(\x92\xf2\xd0\xe1\xc0}(\xa3\xbe\xefRoU\xc6\x88<\x9c^\xd3;\xc6\xaf\xc4\x1ftd\x05\xea\x9cI\xc9\xcdAu%~CO\x0f-\xf0\x0eT\xdav\xdc\x8f\xe8\xfd\x87NG~\xf3\xf1\x07\x93\xe9\xe0\xb3<iG\xc7\x8e\xa4r\xa5\xc7\xd4\x93\xb2\xb9O\x1e\xd8\x9c\xd23\xcam*\xb9\xa5\xed\xe9h\xf7\xa3Y\x0bG|Qb\x7f\x9b\x9cH\xcd\xec\xe8\xe9\xe9\xf1g\xcda\x03\x00?\x20\x96X\xc0\xe4\xd1\x93mM\xed\xea\x939_v\xb56w\x0c\xaa\xfd\x9c\xd1\xce\xa6\xe3\xa3s\xa5\xbb\x1b\x8c\xbb\x10jMG\x8e6:\x855\xde\xe0\x912J\x9b\xb3\xa5\x82N\x84P\x8d\\\xad\xfc\xdb-\x7f\xc8=\x0b9\xe4s\xba\xb75'\xa3*\xf6,$\x85\xce\xfd\xcb\x9d\xf7g8\xd7\xa8\x0b\xd9\x06\x1ft\xb8|\x83\xcc\xf5\xcfW;V\xffb\x9c.\xfeB(e\xd0\xa1\xfc[\xc5m\xca-\x05\x81\xac\x94\xcc\x82\xd9\x0b\xdf\x9a3\x1ag\xfdfR\xa0e\x0c\x0bY\x01\x80\xb1\xd4\x02\x06\x00\x00\xb0h\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80%\x20K\xfe\xd6\x0e\x00X\xa1\x80\x80%\x1a\xa3~\x17\xda`g\x04\x00KD)\xca(_\xf2\x17\xf9\x99\x80\x80%\x18\xe399\x8d'\x97\xfc\xc5C\x00\x10\x83\xd1\xee\xe6\x9c\x8c\xe5\x8b\xb4\xbc\xd4\x026\xda\xd9\xda\xd4\xd6K\xeb{\xa9\xb9\x91\xa2\x87\xdd\xe9^F\x15\xffw\x08\xadu\xaa/\x86~\xb7\x08\xab\x14\xbdk\x93\xe4\xdf\xe2\xac\xfa*\xc4\xd7iN\x0f<\xf2\xd6u\xf5\xd7\x0f~\xf4\xdb\xd8I\x9e\xc3\xf8\x1d}\xfbgJ2\xef\x17\x16\x83\xf7\x1e\xc0\xf8S\xf9\x13e\xcfWr<\xbc\xee\xfd\x15\xfb\x14\x9d\xcdY\x86\xb8\x08U\xb9R\xd7\x89\xe3c\xfa\xe6\"\xc7\xbc\x03m\xbe\x8a\x8bhY\xde\xf3\xe2WcX\xfcQ;Y\x9f\xaa_\xbf(\xc2?\x96c\x1c\x1d\x85\xcf\x9e(\xae\xd8\xffQ\xc5_g\xef\x89\x0d=\xa8\x18oz\xf2\xbfb\x19\xbc\xad\xec~U)*\xc6o\xc52\xf9\xb7\xb9\xfb\xd5\xa4t\xa3\xb3v&w\x8d%\x16\xb0/\x1b;\x82#\xc1v5*\xd1\x87\xa3\x0a!}G\xff\xdc)\xef\x12\xdd\x03v\x166l\xcb\xaeObu\xf8\x15>w\xeeM\xfc\xfa\xb9s\x0f\xfc\xca.\xcd|\xf9\xe8?\xcd\xed~\xf5\xdd\xfc\xff\xf3+\xfc\xf6\xb9\xf7\xf6\xe3\x97\xd4_\x7f[<\x87j\xfe\xe9\\\xd1K\xe6\xb6R\xc8O,\x06_\xbf\x8b?\xba\"_y\xe4\xb1?\xcaq\xb1\xa5h\x0b\xfb\x14\x9d\xcdY\x86\xb8X\xeb:\xbc9U\xfcc\xce\xde\x1d9+\x86\xb0\x1d\x7f\xd9\xef\xdd\xad|\xec\xf6\xee\xffK\x0c\x8b\xbf\x7f\xc2N\xd6'W\xd4\xaf\xd7?\xf9\xd9z9\xc6\xd1Q\xa4\xb9\xf8\xff\xbe\xf5\xce\x16\x8c\xff\xdf\xac=s\xf0\xf5'E?;\xf7\xd1\x9b\x8fx?\x8ba\xf0\xd5\xdb\xf8\xd5\xbf\xca\x7fUNd\xec?\x1b\xfc\x99_\x08w\xbf\x9a\x94(Q\x9e\x97\x8c%\x16\xb0!\x16\xcd\x96\xbd\xfd\x9e\x0bl\xabt\xcc\xda\x96I\xc0\xf2J\xed,l\xc8\x0b\xc8\x0e&)\xaf\x17\xc9\xf2\xa7\xf4\xb2\xf0\xben\x97f\xbe<\xb6\xcf\xdc\xd6/\x96\x0f\xb0\xd20\xae?\x87\xb5?\xf0\xd7\xa3$3Y\xff\x92\xb9\xad\x16R\xe4\x0b\xfc\xb5,\xbfT\xf6\xdf\xd6\xdf\xa3\xf35\xdeO\xed\x19\xbc\xb3\xb9\xcb`O\x08\x1d\x92\xc7g\x0fF\x16\xd2<\x8e<\xa1t&\xff\xc7\xfb\xc4\x919l\xc4\xe3\xf0\xd2\xfah\xbf2\xfeg\xe3\x93\x8a\x00|\xfd\xc8|[6;\xea_W<\x11k\xffg\xf8\x03\xe5\xdf\x8fp,\x85\x93\xc53\xbf@\xeez5\x17v\x86\x16\x8b%\x160\x99]\x9f\xa1\xc6QQ\xc0\xba\x1b\xbb\x9b\x96G\xc0\xee{\xc8\xce\xc2\x86\xdc\xe6\x11\xc4\x868W\xbe\xd0.\x8b/\xae\xd8\xa5\x99/[c\x09\x98|e\xe3s\xd1\x93\x88\xc4#`\x1f\x14}d\xfd9\x06\x1f\xe1?b\xdd6\x8a\xb3\x053\x14=^\xdcB\x9a\xc7\x91\xfd\xbb\xdf\x91\xdf~b\xff\xa2\x08\xd8\x11\xef\x9f\xe9\xc7\xeb8\xe6h0:\xeaQ\x7f\xc9\x1bK\xd8\xe3\x10\xb0\xadK(`\x0b\xad\xe6\xc2\xce\xd0b\xb1\xd4\x02\xa6pi\xa4\x8d\xbe\x08\x9f\x17\xb0Ka=\xb8\xed\x92\xd2\xa1\xbd\xa1\xf9>Y>\x9b\x8cP\xddP\xb9;\xb5\xd0\x1a,\xbb\xd9\xc5^\xf2<\x92\xae\x19\xa7\x8b3\xe8\xeb\xea6\xe4*\x89\x93\xd9\x14\x9evY\xfc\xb1\x08\xe3\xa3_<]\xe9}\xe2\xef\xf2W\xfb*\x8a\x1e~\x92\x8e\xcd\x9e\xc3Eo\xfd\xf2\x11\xef\x13\x7f\xa2&\xe7\x9ex\xb8\xa8\xec\x89\x87\xaf\xd3_\xdf|\xb6b\xd3\x93lJ\xe2\xfa\x9b\x8fy\xb7\xbey]\xf0\xf0[m\x1a\xe315\xbfnA\xc0\xe4\xe7\xca\x94\xb1\x88\x17\x1b\xb3\\\x86_.c\xa5)=\xff\x8c\x9e\x05w\xed^\x7f\xfb\xb1\xe2G~I\xfbR\x8a\x80}\xb1\xf1U\xeb\xaf\xe6\xa6PH\xf9\xa5\x0a\xb9BWD\xdd\x99Y\x86w\x8c\xa9\x9dw\x04gf\xc9d\xe3\xa0r\x8ce\xa8\x87\xb7F\xd9\x0e?\x94)e\xf9\xf4y\x15\xa3y\xf4\x14f\xa5d\xacs\xb3\xed\x96|\x87\xa7&\xf6\xd4\xf1\x91\xfdo\xee\x95\x9fx\x93\x0a\x98y\x1c>S\x0e\xea\x93\xd7+0\xde\xc8\xfe\xc4\x18\xc7\xe1O\xfb+6\xee\xfb\x99\xb5e\x9bE\x7f\xe4\x19\xf6\xc3_^\xbf\xc2\x9d!\xeelF?\xb1\xba\x80\xfd\xaa\xe8\x0a\xe7\x8c\xbf4x\x013\xfcr\x1e\xaa6\xf9\x0b\x00\x00\x20\x00IDAT,g~\xd61\xfb{Y\xd1\x91\x8a\x8a\x8f\x9e\xdf\xb8\xf3\xeb\xe5\xac&\x9d\x97\x9d\xfdn\xf4\xa5b\xc9\x05,D'\xee\xd5(j]\xaf4\xb6\xf6\\\xd2~_\x0e\x01\x0b\xf7\xf6x\x0azzz\x14\xf1\xb9\xd4\xd6\xea\xf6\xa4g\xd5\x94\xcf\x8a$\xbb\x01\x15\xd2\x8f\xb1\xe6C*\xcdb4\xda@\xbat\xe6\xea\xba\x82>6\xf7\xac]\x16W\xdey\xe7\xe1G\x8a+~\xb9\xff\x81\xffV\xae\xc2g?z\xe7I:\x8b\xfa\xd9;E\xf8G/\xfdj\xe3^\xc5\xe2\xf7\x0f<\xfd\xee\x07o\x95\xe1\xbf\xb3_\x1f~\xf5\xd5\x87\xd9T\xc9\xd3\xeb\x8f\xbewt\xfd\xd3\x82\x87\xaf?9\xf7\xc8\xces\xe7\xce\xd1\xbf\x8bW\xbf\xec\xces\xaa\xcdV\x13\xb0\xb7\xe8`\xee\xd3s\xe7\xbc\xaa\xa2\x98~\xb9\x8c\x95\xa6\x84\x1f{\xe7\x9d-\xdal\x8cq\xed>\x83\x9f\x7f\xef\xcd\x1fm\xbdN\x05\xec\xaf[\x8a\xafX\x7f57\x85B\xca\xbb\xf7\xc9\xfbv\xab\xc6\xa63\xa3\x0c_\x9f\xdb\xf8\xd2_\xe5\xbf\xbe\xb4\xf1\xdc\xd7\xbc3\xaed\xb2qPy>\xec9\x86\x02==\xa32\xfd\xc3\xe2\xefn\xf3%iW\x84.`\xfdh\xf3+]\x8d\x19\x88\xfe\x85\xf1'Uw\x1c\xca\xb8/\xe6\x82\xb8#\xfb\xffT\xfc\xbf\xde?S\x013\x8f\xc3\xf5\xdf\xbd\x84\x7f'\xbf\xfd\xc0\xdb\xbfg6z\xd1\xbf\xd8\xf8\xc8\xdb\xbf}\x02[[\xb6Q\xf4+\x98\x9b\x130\xce\x10w6\xa3\x9fXM\xc0\xae?\xb6Ep\xc6]\x1a\x9f\xe1\xf7\xae\\\xb9\xf2\x1e\x16\xce<\xe7\x81?\xf3r\xb4c\xf6\xd1F\xfc\xcb\xdd\xb8\xec\xd5\xb2\xd7\x97\xb3\x9a\xf4\x8fO~\xef\xc82-N\\r\x01\x93C\xa3\x83m\xea$~\xcb\xd9\x91`\xdb1M\x0f\x96C\xc0da\x08y\x1fZ\x1b\xd6\xc6\xb8<\xc3\x015\xd0\xd9\x97\xc3*\x96\x90f\xf5\xa8Q\x0e;\xd4\xa0\x1e\\\xc7|+\xde\xfd\x95|\xfd+\xa5=\xbf\xa3\xb4\xe3\xeb[\xe8Y\x97\xd7oT\xfez=\xfd#e\xeb\xcd\x1f\xd1S\xff\xe6F\xf6\x87\xbaR1\xfb\xeaa\xe5\xef\xec{\xecO\xf2\x07\xf8=\xc1\x037\x90\xd8\xa0tQ\xb4a\x96&`\xefi\x1d~M\xc08\xbfB\xc6?V\xd4\xe9\xca#\xea\x9fr\xbd\x90\xbf\xc5o\xb3o\xefP\x01\xdb\xff\xc8\x8f\xde\xb4\xfe\xcamr\x85\x94\xaf\x17\xbf.\xbf^\xac\x8d\x8b\xf8\xa1\x88V\x06\xf9\x99\xfd\xca?\xfb\x9f\x11\x9d\xf156\x0f\xaa\x801\x84\x0c\xb7\xd1\xb3\x90\xab\xadv\xd3\x05\xecp\x06\x95\xae_8\xc7\xa9\xc25\xb3\x1d\xc7f;Q9\xb2_\xde\xf2\xdcc2\x150\xfe8\\\x7f\xfa\xb1\xbfT\xe87&\xf5\xa2\xef|\x84\x19XZ\xb6Y\xf4/\xf0\x7f\x18~\xf93d\x9e\xcdX'\xf6\xa5+_\xffq/M\xc1\x1fI\xf3\xc4~\xa6\xf5\xb0>\x13\xfc\x0a\x07\x8a\x1fBF9f\x15O+)\x7f+?\xfd\xecrVS\xe1\x84r]\x1a\xa1\xec\x97\x96\xa5\x170\x99\xc6\x85\xec\x92\xe5\xf1A\xda\xf9\xba\xd4\xac\x8d\x0fV\x80\x80Is-\xaf\x1aF:\x82U\x1br\xd6\xc8\x0d\x99\xda\xb8\x93\x13\xb0\xf5\xfa\x8c\xf8_\xde|\xa2r#f\xb7\xed\xd8_X6\x0b\xf1\xdf\x15\x95\xcf\xbf\xf5\xfb\xeb\xac\xd3\xb3\x9eM\xd4\xbc\x89\xffG~F\xbd\xb9\xb7\xe5g\xa2\x07\xf32\x1e\xe9l\xcc\x11{`o+\xc9(\x9ax\xf0~\xf9\x8c\x8f\xd2\x7f\xdfTm\xf5B\xee\xaf\xbc\xf2w\x85\x8ag\xa8\x80y?{\xab\xec+\xcb\xaf\xdc&WH\xf9\x8f\xf8\x93+\x9f`\xed\x86e4\x01\xfb\xc8\xfb\xb5\xfc\xb5\xf7#\xd1\x19_\xb2\x18\x98s`\xa1\xc3\x85\xd9\xe9H\x8b\x92\xae\x0b\xd8H\xa6\xfb\xd1\xc6\x0f\xc7\xe9\x1f\xbc\xd2\xec\xb1\xab\x0aY\xfe\xa8~d&`\xbf\xc2\xbfb\x02\xc6\x1f\x07\xf9\xca\xd6\xb2'\xf5))\xad\xe8_\xa9\xab\x18\x8eZZ\xb6Y\xf4+Ef\xd7\x84?C\xe6\xd9\x8cub\xd9:\x8a\xff\x90\xc5#i\x9e\xd8\xcf\xf0\xaf>\xfd\xf4\xd3\xd7\xe9\x89\xe4\xfc\x0a\x07\xcaf\x0e\xac\xe2\x1d\xa5\xbc_\xd3\xda.c5\x95?8\x19\xee\x86\xe5Z\x9b\xb8\xc4\x026\xa6v4\xcf6\x1a\x1d\xce\x9ev\xf5s\x05\x08\xd8\xdc\xc1\xcaz:T\x84\xc0\xd8_:j\xbaW\x0dg\x07\xb4\xaf\x9c\x80=\xa6\xff\xf4\xa3\x87\x8f\xbc{n\xb7\xaa#\xb4\x85\xab\xd7\xc2Wo\xed{\x04\x97\xfd\xca\x9c*9\x87\xffS\xde\xf9$K\xf2\xc4c\x82\x07\xf12\xeeA\xea\x81\xd2\x04\xec\xc8F\xf5g]<L\xbf\xb32fY\xc8f!\xb7h\x1d\x80'\xa9\x80\xbd#\xff\xfd\x91#\x96_\xb9M\xde\xc3\x9b\xecG\xb5\xbf\x16U\xc0\xfe\xbe\xe9]\xf9\xdd\xb2\xeb\xa23\xbe\xc610\x04\xac\xdf\x95U\xdb\xdes\xbfE\xc0\x94>\xfbC9\xc8EW\xdd\xad\xd6\xfe\x96\xc4|\"Ai\xd2\x7f9\xf2W&`\xfcq\x90\xe5w\xcd\xf2jE\xff\x14\x9f\xa3\x1f\xd6\xd9m\xae\xe8\xda\xe4\xd0\x15\xa5W\xc2\x9f!\xeel\xc68\xb1\xcf~\xfa\xe9\x17\xd7-\xce\xb8\x13\xcb\xcd\x81\xf1~\xf9\x03e'`\xef\xc9\x9f\x16\xb1\xda.c5\xe9\x19\xea\x92\x97\x8b\xa5\x15\xb0\xf1\x16u\xb6\xef\xc3\xa6q\xf9\xa4z\xb5vk\x17\xedr\x0a\x98\x1aR\xf7\xbe\x12\x1b\xdb(\x1cG\xc3r\x89;]\x1fwr\x02\xa6_y\x8f<F'H\xf7Y\x04\xec\xd3#t\x9a\xfd\x1d/\x95\x81\xf5\xcf\xd3}o\xe1\xaf\xe4g*\xe9\x05q\xbd\xf2i\xc1\x83\xb6\xf9\x96\xfaw\xdbr\x17\xf2G\x9a\x95&\x1e\x9c_!c#\x0b\x99\xff\xe3\xfb\x9f\x8c\xbfh\xcb(\xde\xf3\xfe\xb7\xf8+\xb7\xc9{\xd8\xf7\x98\xd2o\xd0\xef\xefG\x130\xf9\xf9\xbd\xf2\xde\xe7-Y\xf05\x8e\x81!`9\xf9\xf4\x80\x96X\x04\xec\xcc\x0e\xe5\x9f\xf0\xb1\xd4\xc3\xb2\\\x9e=\xc0\x08E\xf5#\xabMZ\x81\x0a\x18\x7f\x1c\xe4?U\x1cy\xf8\x7f5\x1b\xad\xe8\xff\xabj\xf1\xd3\xb3\xba&F\xd1\x8fx\xd9j\xb2w\xf0_\x853\x14\xb5e\x0b'V?\x1e\xc2\x914O,'`\x9c_\xe1@\xf1g>\x0a\x15\x1f\xc8\x9f\xaeWk\xbb|\xd5\xfcA\xdd\x85l\xed\xa4\xff\x8e\xb5\x9d\x94\xe5\x0e\xd6\xf5\x0a5\x7f\xa8\xeeY&\x01+(P\xbaQ\xa8\x8dn\xc6XQ1R\x1fe\xbaF\xa7\x1d\x0d\xc9\x1f\xa2Ry\xdc\xcd\x8c\xa2\x08\xd8\xc3t\xe3\xfaV\x8b\x80\xbd\xa4\xces\xed\xa4\x8b\x20\xd6\x97)\x97\xde\xd7\x95;\xe9\xd4\x03\x9d$yG\x9b\x033\x05l\xa7\xb2\xef\xaf\xda}FQ\xc0\x8e\xe8C9M<8\xbfB\xc6\x15t\x0el\xcbNf\xa3\x17\xf2\x03\xd5\xe3\x91W5\x01\xbb\xbe\xf3g\xe2\xaf\xdc&WH\xb9\xe2\x97\xca?\xbf\xac\x90\x05g\x14C\xc0~\xe7\xfd\xb3\xf7w\x96,\xf8\x1a\xc78\xa8\x86\x80e\xd1?%\xe3\xab-\x02\x16P\x9fA(\xa8\x92\xe5N\xf5\x8c\xedR{\xbe\xc3\x81Y\xab\x919\x01\xe3\x8f\xc3\x95\xc7^\x92\x9f\xdbm\x99\xbe{\xecae\\\xfc_^K\xcb\xe6\x8a\xfe?\x1b\xf7\xd2\x1bs;+\xc53\x14\xb5e\x0b'\xd6\x100\xfeHF\x150\xce\xafp\xa0\xf83\x1f\xe5\x98q\x02\xb6|\xd5\xfcA\x09\xd8PcWp$\xc8&\xf1G\x1a;\x87F\xce4\xd1\x15\x15\xf2\xa5\xd1\xd1\xe6\xeeQ\xcb\xf4\xf8\x92\xb0G:p|\xadcD\xbe\xda\xc7nHFiV>\xb4n\xf6\x8f:_:J\xdb\xdd\x1e\xa9:\x90B;\x03\xbf\x7f\x13\xbfN\xef\xfa\xfd\xfdw\xec\xf6\x11[t\xf0\x12\xde\xf7\xe6\xab[\x95\xde\xf6'\x7f>W\xf4\xb3O\xae\xff\xfegE\xe7\xfe\xac\xfcZ\xfc\xd2o\xdf}\x86-\xa7\xa2\xb7\x08\xdfzd#\x9d\x8c\xdf\x8f\x8f\xfc\xf6\x08\xde/z\xa0\xd7\xcc\xeb\xef\xee.V\xff\x0e\x9fA\xbd\xf4C]\x89\xff4[\x89\x7f\xe5\x93s\xe7\xbc?;w\xee+\x99\xf7kfL\xb3x\xe2w\x1f=F\xb3\xf8o\xedq\x01\xea\xec\xc8\x03\xfb\xdf\xfd\x8fg\x94kU]\x89/\xbf\xfb\xc0{W\xb8_\x85M\xa3\x90W\xde\xc3G\xbe\x96\xbf>\x82\x15[\xce\x19W\x06\xa5\x11T<Q\xa16\x1f\xd3\x03_\xe3\xa8\x07U\xbd\x0b\xc9\xee\xe6\x06\xd0C\x87\x03\xf7\xa1\x8c\xfa>u%~CO\xcf\x08\xfd5mOG\xbb\x9f\xdd\xb2\xdf\x81J\xdb\x8e\xfbQ\x8b\xe6,\xcdr\xeb\xe5\x7f\xf7\xef\xa6k\x9a\xfe\xbc{\xff\xffr\xc7\xe1\xca'\xcf\xfd\xe8O\xf2\x17\x1b\x9f\xff\xe4\x8a\xbeD\xfdwJ\x85?\xf3V\xbczt\x13.z\xfb\xb3\xe8G\x87\xf6Mw\xbe\xfd\xdb'\x8ah\x937\xce\x10w6\xa3\x9fX\xba\x12\xff\xbf\xf4\x02\x19\xce\xb8\x13+\xac\xc47\xfc\x8a\x07\x8a?\xf3\xb3\x8f\xd9g\x9b^\xff\xfa\x9d\xa2\xcf\xbe\xde\xbf\xfbO\xcbVMJ\xdf\x0fG\xc0\xe4\xd1\x93mM\xed}\xec\xce\xe3\x97]\xad\xcd\x1d\x83\xf4\x82\x95\xcf\xb0\xc7\"\x1b\x97\xe1\x91\xd0\xb1jgj\x81\xd2\xf9;\x9b\xc4&U\xa2hUs\x86u\xc9\x12\xcf\xc9\xec\x8c\xaap\x97\xc7\xa9\x8ck\xe4\xaf\x8b\xb1\xfa8\xa1\xf6\x04\xda\x13\xd4\xe0\xfa\xeb\x8f\xac\xff\xd1\xfe\xb7\x1f)\xda\xf9\x9c\xf2S\xd1\xff\xa36\xcf\xc9o\xef|\xf5\xe1\xa2\x8a\x9d\xec\xfc\xaf\xff\xe53\x1b+\x9ef\x8b\x08\xaf\xbf\xb9\xc5\xbb\x85\xad\x03\xe3<(\xea\xf0\xfc&\xefN\xedq\xb6/\x93\x1f:\xfb\xe5\xb8\xfa,$\xaed\x13\xb3\xbf\xd7\xe61\x94/\x9c_3cY\xde\xf2\xea\xbeb5\x8b\xa75[\xd6\x0b\xf8`w\xd9\xc6\x9d\xef\xd1?\xb8\xeci\xb9\x9d\xf8\x81O\xb8_\x85M\xa3\x90\x1f<@\x17x\xbd\x8b\xf1\x03\x1f\xf0\xce\xb82(\xbc\xbe^\x9f\x106<\xf05\x8evP\xc7\x9c\xec\x04\xb0\xf5t\xe3\x0d\x1e)\xa3\xb49[*`\xcfBRJ\x95>zA\x20+%\xb3@\x9d\x84\xe8\xbc?\xc3\xb9F\xbb\xf7\xdb\x94\x86,\xdd\xf7\x970\xa6\x13:\xcf\xd1\x15i\xe6q\xf8@)\xdf\xf3\xf2\xf3J\xd1?2\xcaK\x8f\xea\x17On\xaa<\xf2v\x91rZ\xa2\x1e\x1d\x99>$\xe8-{\x92-P7\xce\x10w6\xa3\x9fXzP\xb7\x18%\xd2\x9dq'V}\x16\xf2%\xf5\xa0\x19~\xc5\x03\xc5\x9f\xf9Y\xc7\xecz\x99r*\x8aq\xf1;\x18\xef]\xb6j\xcac\xa3\x03\xa5\xd2\xa8\xbc\\,\xb5\x80\x01\xb3\x10\x96\xc9\xdbs<g\x8e\xc9\xeb\xbb\xc6<\x0b\xb9\xb4\x1cG\xcb\xf0\xa7\x0fP\xd9\x80\x90\xfb\xb8\x9d\xd1\xdd\x03\x04l\xd9\x99\xb76|yv\xd4\xced\xd1\x99w!\x97\x8e\xf1fg\x95\x9d\x0dp\xd7\x18\x1dX\xa6\x05\x14*\x20`\xcb\xce\x0a\xd6\x06\x93\x15\\\xc8\xd1\x8c\x1a\xf1\xe1\x08\xe0\x07\x04\x08\xd82\xf3'65jg\xb5\xcc$D!\x81\x1f\"\x20`\xcb\x0c\x9b\x1a\x8d\xf2r\xb9\x15EB\x14\x12\xf8!\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\xb6B\x18\xb73\x00\x00`\x16\xe4\xff\xec\x02\x00\x00HP\xfe\xad\x1e\x18\x00\x00\xc0r\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x12\x8f\x80\xc9\xf5\xf9\x19)\xaeu\xafD\xec\x0cc0F\x13\xb6\xa1\x0dvv\xf3\x87ynE\x0f\x99\xbf\xc4\x93\x8d\x90`!\x1cF~;\x13\x00\x00\x96\x808\x04\xac9\x15\xa9\xb8G\xecL\xa3r8u\x92\xc4\xa7,\xf3E\xf5\x0c\x02\x06\x00?T\xec\x05l\x0fB\x05\xbd\xdfF\xc2\xcdYH\xea\xb73\x8eB\x04!*3\xa3\x87{\xec,\xe7\x8b\xe6Y\xd0\xa3x\xb2\x01\x01\x03\x80{\x04[\x01\xebA\xe8\x17\xea\xd6\xe4\xfd\xc8\xf9\xed\xdc\xc6\xd1\xd0d\xe6.\x10M\xc0\xe2a\xde\x09\xac\x80\x80\x01\xc0\xca\xc0V\xc0\xb2Q\x8d\xbe9\xe9B\xd5s\x99F\x07\x04\x0c\x00\x80\xbb\x84\x9d\x80\x9dAIW\x8d/-(-B\xdb\xff\x81P\x893=\xff\x84\xfa\xe3\xd86\xb7\xe4\xdc0@7\x9bQ\xe3@vj^\x98\x90\xbe\xd2L\xc9\x91S\xf7\x0d!\xb5l\xfalT\x9f\x9c\x0aUe\xa587\xb0\xa1h+j\xf8v[\x96\xe4\xae\x9b\xa0\xdf\xc2\x8f\xbaS\xd2\xd74\x0b7\x0ab\x1a3t\xcf\x8a\x1e}\xb3-Sr?>E\xf49\xb0h\xce\xc2\xb5\xd9J9\x83\xcc\x17\x97\x80/\xab\x98\x8b%K\xae\x9e\xaa\x80\xe5\xa2Z\x02\x00\xc0rb'`{\xd0}\xe6\x97q\x84\xfai\xc3.M\x93\x0a\x0b\x92P\x15\xfdm\xc0\x81\xa4\xd5n\x84\x02\x84\x0a\xd8\xb6U\x089\"\xa4\x1a\xa1\xcc\xd5.\xe5\x9f\x09r\xbc\x14\xa1\x92\xd21MY:RP\xda}\xca\x0e\xda\xf4[QM&Jw\"\x94\xa3\x08\xcd\x97\xe9\xc8\x99\xe7A\xe8A.\xef\x98\xc6*\xba\xe7V\x94\xebB.eWnD\x13\xb0h\xcezSQZ\x9e\xe2\xac\x87\x88\x09\xf8\xb2\x8a\xb9\x88Y\xf2\xf5\x04\x01\x03\x80\x95\x81\x9d\x80\xad\x13F\x8dY\xa8\x996l\xe4Q:Y#Nt\\\xe9\x97\xa4\xa3\xda[\x84\x0c:Q\x17\x15\xb0$Ow\xff+\xa4\x1f\xa5~\xa8X\x0f\xa6\xa1\xc3\xc6@\x8f)\xcbH\x12\x0a(j\xd0)\xa1\x16\xd5\x8f\xd2!\xea\x91P;!\x1bP\xdd\xb4\xb2?\x1d\xf5\x1a\x99\xc56\xd60\x86\x90({H\xe9H\xa5\xd0\xf2\xb0l\xa28\xbb\x9a\x86\xea\"d\xe6\x00Z5!&\x10\xca*\xe4\"|\x11\xea\xa9\x0aXG\xe3\x20\x01\x00`9\xb1\x13\xb0<\xb4\xc7\xfa\xad\x95\x8e\xdb\x14N\x207\x1d\xc7\xf9\x88\xfa\xc5C\x05\x0c\x85\xe8\x97\x1dZ\xa2\x1dT\xfdx\x01+\xd1&\x8f\xdaPF\x84\xfaa\xd6U\xb4+\xe7V}6\x95\xf7\x19\x99\xc56\xd60\x05L\xdbU\xade\x13\xc5\xd9\x1e\xb4\x8e}\x16\xa061\x81PV!\x17\xe1\x8bPO\x98\x03\x03\x80\x95\x81\x9d\x80\xadF\xf5\xdc\xb7|\xb4\x8b6\xec5\xecKDR\x1ax\x16\xeaV\xbf$\xa1\xb0\"`n\xd5.\xa2\x8e\xf3\xeaiC\xe7\x04,\x92\x8a\x86\xd4\xfdi(\xa8\xf8\xc9a_\x9aP)!\x85(?8Mx\xe60\xd6-t\x01\xcb\xd5v=\xa4\x09\xd8lg$\x07\x9dd\x9fcW-\x09\x84\xb2\x0a\xb9\x08_\x84z\x82\x80\x01\xc0\xca\xc0N\xc06\x08\x13=\xd9\xa8\x816\xec]\xea\xb7\\\xd47\x85Pn>#\x05\xf5+\x02\xb6N3\x8c\x04\xdb\x03\xa5n\x846\x0b\x02\x16FH\x9b\xc1Z\xa3\x8c\xdeZ\xb5N\x0d\xd3\x9c\xa0\x84Pz\xe9qn\x99\xc6\x1c\xc6z&\xba\x80\xa9\xbb\x8e\xd3\xcf\x18\xce\x88\xa4\xf6\xa6\x18B\x02\xa1\xacB.\xfc\x17\xb1\x9e\x20`\x00\xb02\xb0\x13\xb0:\x94o~\x99DtV\xa9U\xef\x94\xe5\xa3\x13\xe3\xc8\xa4K\x110\xad{\xd4\xe4\xa2?\xac^c\x11\xb0Q\x94\xacy\xf2\xa1f\xa2\xaffP5)\xb4\xd9\xa1$I\xae\xbe\xa5g6\x97\xb1\x8ae\x19\x85)`\xb3\x9d\xddBh\xccH'$\x10\xca*\xe4\xc2\x7f\x11\xeb\x09\x02\x06\x00+\x03;\x01\x1bBIf\xcb?\x8eR&i\xc3\xaeS\xbf\xe6\xa03\x8a\xa4\x85Mc]\xc0\x0e\x20\xf4h\xc7\xf0\x14i\x88\xd9\x03\xcbg\x9d*Q\x93\"\x83\x81\\dJ\xc3\xdc\xc6,AL\x01\x9b\xe5\x8c\x20\xa1\x07\xc6%\x10\xca\x1aS\xc0\xc4z\x82\x80\x01\xc0\xca\xc0N\xc0\x88\xc7l\xacS\xd9l\xbbU\x1b(\xdeJQz5\x19\xf4\xae\x1ce0<\xad\x0b\xd8t\x1ajc\xbfm\xb3\x08\xd8\xf4*qZ\x8bS\x8bp\x90m\xb7\xa0d}\xf2j\x0ec\x8d\x98\x026\xdb\x99R\x0d\xf5\x11\xa3\x93\x85MB\x02\xb1\xac1\x05L\xac'\x08\x18\x00\xac\x0cl\x05l\x10\xa1\x03\xea\xd6-\x1fJ\xbdDh\xc3Na\x9d\xb2ct\x89X\x15\xca\x9b\xa1_\xfa\x904\xa1\x0b\x98\xacuw\xa62\xe9\xf7hw!\xdbQzD\x10\x08%\x89L\xb7C(\xc9X\xe7\x15\xd3X'\x96\x80EsV\x8bJ\xd8\xa7O\xa9\x0d\x9f@,kl\x01\x13\xea\x09\x02\x06\x00+\x03[\x01\xa3c\xac\x07\xfb'\xc9\xf8\xf1l\x94\xd4M\x7fhE\xe8>E\xc1\xfaR\xe9\xaa\xd6\x90\x84\xaa\xa7\x94\x91\xa6\x13m3\x86\x90\xd3\xe9l\xe6\x7f\xbc\x10\xb1I\xa6\x14\xd4ukZ\x95\x81\x91dT\xafhJw*j\xb2\x08\xc4\x83\xa8P\x11\x9d\xa9R\xe36\xc0\\\xc6:\xaa\xe7\xd9=\xb0(\xce\xc2\xa9\xa8~\x9a\xcc\x1cB\x8eq\xb1\x07&\x945\xb6\x80\x09\xf5\x84u`\x00\xb02\xb0\x170\xd2\xa1\xbfN'\x93=G\xa34\xec\xecU\xc9\xf7ek=\xb3n\x09\xad\xcaS\xbe\xdc\x1f1\xe7\xc0\x9a\x10r\xfb\xf2\x92\x9c\x01\xb6^!OI:\xa0)OG2J\xcf\xcbDT\x05D\x81\xb8\xe4DR\xce\xeaT\xe4\xe2\xa6\x9ab\x1a\xeb\xa8\x9eg\x0bX4g=\x12r\xe69QJ\x8f\xa5\xcb&\x945\xb6\x80\x09\xf5\x84\x95\xf8\x00\xb02\x88C\xc0\x88|\x20?=)c]\x9bvOOi\xd8\xa3\xbe4\xa7\xef\xac\xfa5\\\xe3\x96R\xf3\x9a\xe8`\xcd\xb8\x0b\xd9\x7f\x7f\x86\x94\xb3\xe7\xdb)\x89\xde\xfb\x0b\x15\xacJ?\xa1+\xcf\xa8?S\xca,\x19\xd0\xfc0cu\xcf\xd86\x8f\xb4JI\xc3g\x1c\xd3XC\xf5\x1ce\x12?\x9a\xb3PUfrF\xf9(\xb1\x08\x98P\xd69\x04\x8c\xaf'\x08\x18\x00\xac\x0c\xe2\x110\x0bz\xc3\x06\x00\x00X^@\xc0\x00\x00HX@\xc0\x00\x00HX@\xc0\x00\x00HX@\xc0\x00\x00HX\x16\x20`\x00\x00\x00+\x03\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96E\x13\xb07\xf0\x8b\xd1w\xc0MK\x00\x00\xee\x12\x20`\x00\x00$,\x20`\x00\x00$,\x20`\x00\x00$,\x20`\x00\x00$,v\x02v\x1a\xff\xfa\xbb\xe7\xca\xbc[?&wNoY_\xf1\xe2M\xf6\xeb\x1f\x0eV\x14y\xb7\xbc\xfcO\xf6\xe5\xf3\xbd\x9b\x8a\x9f\xba\xa8\x09\xd8\x8d\x17+\x8b6\xed\xbd\xc0yP\x04,\\\xeet\xe4w\x10\xfa\x96z5\"#9`\x04\xfc\xeeI\xd6^\x97\x98\xdcM\xec\x98\x8f\xed\x029\x84Rh8\xef>\x07:\x14\xdd\xa0\x9f\x15\x20\xe3!\xee]\x89\"\x1d\xca\xeeC\x8a\x1fD\xe3~\xdb1\x92\xc4\xdc%\x8d\xa8_\xc7R\xd8\x01\xaaV~rD\xc9\x20\xe4K\xcb\xf4\x0ff\x0a\xaf9\x03\x80\x1f2\xf6\x02\xf6\xe2&\\\xb6\x1e\xe3\x8f\x9f\xc5\xde2\x8cw\xd3\x1f_\xc4\xb8bk\x85\xf2\x0f\x95\xb3S\xf4KQ\xd1n&`\x17\x8a\xb1wk%\xc6\xaf\x99\x1eZQ\xae\x13\xe5z\x10*'d\"E\x0b\x0e\xe4AAmw#\x0a\x06\xdbPK0\x88\x1aI,\xce\x8e\xc4o\xbb@\xf4,&\xfc\x0e\xfa\x96C\x9f\xc3?\x11\xdd0\x12L\xa9\x0e\x0e\x1e\xf38\xcc(G\"S\x1d\xe8\xf0\x04\x99hB\x1dS1,\xcc\xdc\xc8\xf4\x10\xab\xd0\x90\x1e|d\xa8ZR\xfe\x1d\xa7\xd5\x1c\x9a\x95j\x20m\xcd\xf1\xce<!>\x12\x00\xfc\xb0\xb1\x170\xbc\xe52\xb9}\x10{\xbd\xa7\xef\x90\x8f1\xbe\xa8\xa8\x14\xf6~\xae\xec\xfa\xbc\x18\x9f\"\xe4\"~@\xd9\xf1\xfdS\x98\x0a\xd8\x8db|\xf4\xb6\xb2g\x13\xfe\xd8\xf0\xd0\x8aP\xb6\xd2\xd8\x07\x1c4\xfcO\x09\x0a\xd0\xdfF\xf4\x10\xdeJ\xa7Li\xb1\xc3\xb4\xb5\xa6\xb6\xcc\xce]c\x8d?~\xdb\x05\xa2gA\x02%\x8e)2\xe9(\x09\xc44\x95\x1a\x94\x7f\xa6\xdc\xdc\x9baEB\x88\xbeC\xf6,\x8a\xa5p\x84\xcb\x8dh\x152h\x90\xa2\xfd\xca\x98L/\x8d\x10r\xcb\x03\x02\x06\x00:q\x08\xd8e\xe5\xe32\xc6o\xd0\xaf;\xf1iB\x8e>\xf02\xdbw\x14\xbf@\xc8A|\x94n\xdf,\xa3\x02v\x14\xefe{\xde\xc7?6<\xb4jq\x7f\x8e\xa1le\x10\xa8*\xd7.d\xe8C$\xac\xb5\xd6\xb0\x11Ah\x16\xf9\x9b\xe3\xb7]\x20z\x16$\xe0\xf7u\x91\x13>\xbf\x8d\x80\x91\x86\xd4\x99\x18\xfb\xe3\x100#72\x0f\x01\x0b\xa4\xb2\xb1c3\x08\x18\x00\xe8\xd8\x0bX%\xfd\xb8\x8d\xf1\xdf\xe8\xe7A\xda\xe9\"\xb7o\xb3}o\xe0g\xc9\x9d\x8d\xb4OF\xa8v)\x02\xf6\xb0\xd6\xf3R\xcc\xaf\xe9\x1eZ\xd1Z\xf69\x95\xa4\xb4\xbc\x88\x936\xcc\x19\x97\xd8\x08\xcd\xd6z\xa2\x20-\xe7q\xf6\xee\xfd\xa0\xcf\x9d\xe2*Q4\xafW\x9b\xf7\xca\x17lG\x93\x11\xaa\x0fWe;6L\x93\xa9\xcdY\x92\xbb\x94\xbe\xed\xbe\x16\xa5\xb4\xd7\xe58|\xe3\x82\x87Z\x94\xdcZ\xe3\xce(U\xf3l\xcbw\xe4\xb5\x89\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3oH\xb1-%n\x84\x9c\x11]\xc0\x1a\x93#\\y\xf9\xe2\x08\x02\xa6\xe7f[!B\xe4\xaa,gy\xf5,\x013\x0e\x89\xa7\x86}\x9fh\x8ep~\xb9\x1aG\xaf<\x00\xdc\xcb\xd8\x0b\xd8S\xf4\xe3_\x18\x7fO?\x9fe\x02Fn\x7f~\xfa\xb5\x83\x95X\x11\xb0\xef1\xbe\xad\x19\xbeHn*\xe3\xcd\xed\x8c\"l\xcc\xe3\x1b\x81\xbc\xb3i\x18\xb6mh\x872\x9cDyB&Fk\xadI\xda\xd1\xd7\xea\xca\x9f\xa1\x83\xccG\xbb\x07\xda]h\x9a\xdc\x0a\x06s\x1e\x0c\x06\x83a\xc16r\xb23;'\xdd]W\x85\xae\x92>T3x\xb24iX\x11\x9a\xced\xe4jhN/'\xbc\x07\xfak\xf6\xe1\x9fg\xb3i\xabj\xa9\xbe\xaf^\xaa\x12<\xf0Y\x04\xfc\xe3i\x93\xabd*`\xa6\xdf\x99\xa1\x86\xa4!\xd2\x81NP5S\x05,?\x8f//_\x9c\x10\xea\x8bD\"\xfdH\xc8\xcd\xb6B$\xec\xcc\xe9\xe8\xf5!\xab\x80\x99Y$q\xe3f\xc3/W\xe3\xe8\x95\x07\x80{\x19{\x01\xdbG?\x14\x01c\xb7\x1c\x99\x80\xdd9U\x861~`\xebNE\xc0\xaea\xac\x1a\x9eW\x04\xec;lbL\x82\xb5\xa2zuc5\xea&d\x08\xb9f\x88\x1f\x89sXzk\xedC\x1d\xec[\xa7\xd2\xc3p\xd1\xb6\xd7\xe6d\xbfG\x1fq\xe5#\xdf\x94\xd2MR\xa4\xa8\x8bN\x97\xe7\xb1\x88H\x92S\xe9\x80T\xb9\x88\xe8A\xcaV,&\xdd\x05\x84\x9ca\xdd\xa3\x01\xaa\xa5\x9c\x07a\x08I\xf2\xb6\xad!T\xc0x\xbf\xa4\xba`\xc2}\x98mI\xf5\x91[\xa3\xe5\xe8C\xa1\xbc\x9c\xb3\x90\xd6\xc3\x0a\x09\xb9\xd9Vh\xadG\xe9f\xcd\xe4Y\x04\xcc\xccb\x0c\xf5\x1ai\xf8Z\x985\x8eQy\x00\xb8wY\x88\x80\xbd\x81\x1fx\xe1\xf4\xc5\x9bl\x08\xa9t\xba\xd4\x95\x15\xef\xab=0c\xe4h\xd0\x8a\x1eW7\xdc\xb4\xcd\x13\x0f:\x1bq$\x8b+\x01\xf4\xd6\xea\xf7LS\xdc\xd5\x84\x8cgyj\x8f\x8f\x12\xb5\x07\x11C\xc0\xa4\xab\xda\xd6D\xdb\x06\x8fS\xed\xd5Ity\x06\x9bH\xe2=HlF\xab\x0dM\x92\x9a\xd5,\xc5\xeaj\xd1\x83\x20`M\xa8\x91\x09\x18\xef\x97D\xf22\x1fR-$\xaaN.\xaa&\\y9g!\xd4<<<\xdcB\x05\x8c\xcb\xcd\xaeB\x93\xea\xaa\x8bz\x8b\x80\x99YL'\x9b\xaa\xcf\xd7\xc2\xacq\x8c\xca\x03\xc0\xbd\xcb\x02\x04\xecv1\x9d\xc9't5\xc5\xb3\xe4\xce&\xfc9\xfb\xf2\x1a\x9d\x03+\xd3;^\x9f\xff\xe3_\xba\x87V-\x92\xe3$Btv\xa6\x01\xd5\xf6\xf3\xb1\x1d)zk\xcd\xd3\xfa.\xb4\xcf3\xd9\xbe9\x17e\xaa\xcb%b\x08X\xbe\xfeS\xa6{OOp\x9d*`t|\xa76g\xce\x83:\xea\x1bD#d\xad\xaaB%\x05\x82\x07Q\xc0&\xf6L0\x01\xe3\xfd\x12\xd2\xad\xaf\xfc\x90j\x86\x87\xd5\xe1\x1f_^\xd3\x197\x07\xc6\xe7fS\xa1\x11\xd5\xbdu\x12\x9f\xcbB\x9b\x03\x9b\x1e\x10\xfdr5\x8e^y\x00\xb8wY\x80\x80\xfdS\xbd1InV\xe0\x83\x84\xbc\xa0\xa8\x98\xc2\xedJ*`\xcf\xe1\xedw\xe8\xb7?`\xef\xf7\xba\x87V\xb4\x8aM+\xff\x02\xb1n\xc3\x18r\xd7\xa2\x93b&zk\xad\xf2\x8c0&\x94\xf6L{@S\x9d\x0e6\x01\xce\xda{\xc7U\xc1V\xf9\xb5\\\xdb\xc8-\xa0\xd3\xda\xe5\x16\x01\xe3=Hl\x1a\xae\x1dM\x91j\x0fK\xe2\xa9\x16<pY\x04\xd4\x15\x0eT\xc0x\xbfD\xce\xac\xcf\x9e$F\x16\x0c\xae\xbc\x9c3N\xc0\xb8\xdc\xec*4\x89\xd8\x1e\xeb$>\x97E\xc0\xc1\xfa\xad]hB\xa8ET\x01\x13r\x03\x80{\x96\x05\x08\xd8\xbf6\xe2\xa3\x8aL\xd1\xa5_{\x09\xb9\xb6\x1e\xff\xfa\x0e\xb9y\x90\xad\x03\xbb\xec\xc5/(#\xca\x8b\x9b\xb8\xe7\x8aZ\x11\xcaS\x14\xec\xa4\xa4\xcd\xe1\xdc\x8f\x1c\xe9\x96U\x10zk\x1d@]\xf4\xa3\xfe0\xed\xa8\x9d\xa1\x9b\x85\xdb\xd8\xbf\x85\x84|\xab\xee\xe3\x05L\xef\xc6\xb8\xa9t\xcc\xe4Y\x04\x8c\xf7\x20eN\xd1\x15T\x85tN\x89NXu\xa2>\xc1\x03\x97\x05'`\xbc\xdf\xe9\x82z\xb2\xcd7cd\xc1\xe0\xca\xcb9\xe3\x04\x8c\xcb\xcd\xb6B\x05nE\x1f\xc3\xab,\x02\xc6e1\x99^\xae\x0c\x09g\x0a=b-\xa2\x0a\x98\x90\x1b\x00\xdc\xb3,@\xc0\xc8\xdb\x18W>\xf5\x13\xbc\xf1e\xbcU\xf9\xe9\xe3\"\\\xf6\x13/\xde\xc74\xeb\xfcz\xec\xdd^\x89\xf1\xee\xdb\x86\x87V\xe4KM\xb9\xcf\x8d\xf4\xb9\xfc\xe3\xc8x\x8cHc\xa4\x0d\xb5\x8c\xb0\xad\x00\xf2\x9f\xec\xadF'h\x0bL?\xd0\xd7S\x8d\x06\xe9\xcf\x0dRs\x8f/m\x9c\xb7\x9d\x1eb\xb7\xf2\xc6\xd8n\xb4\xb9\xedp>r5\x0d\xc9\xc1\x94\xea!2R\x9d\x12\x94\x05\x0f\x12\xca\xef:\x9e\xe3\xa4\x03\xbf\xaa\xa4@_\x20\xa9J\xf4`f1\xe9_\xf7\x8d\xf2\xf5\x9bu\xfeI\xceo$X\xeb\x1a'\x97\x9c\xbb\x82\x11\xba\x12\xdfX\x03b\x94\x97s&\xac\xc47r\x8bQ!n%~\xc8\xe1>T\x9f\x91\x94\xdc\x11RW\xe2\xb7\x04\x83W\x85CB\xce8\xee\xef\xe8\xf5%\x07\xf9Zp5\x8eUy\x00\xb8wY\x88\x80\x91\x0b\xbb\xcb\xbc[^\xfe\xfef\xd1\x037\x94o\x7f;X\xe6\xdd~\xe1c\xb5\xd3u\xed\x85\xca\"\xef\xf6S\xa6~)\x02\x16\x18\xf5\xa59\xd6\xf6k\xdf\xa7$\xe31\"\x95[\xe9\x08\xa1T\xf5\xb9\x9b\x81u\x19Nfy\xa2\xf0\x90;%\xb3Pm\x80\x91\x1d\x19\x8e\x07\x87\x05\xdbQ\xf5!\xc2\x12\xfa\xe3LK\x8e\xe4\xf2wx\xa4\xc2Z\xe5\xa7\x94P\x9a\xf2o\xad\xe0Az\xbc\xda\x99U%3g\xc7\xf2\xb4u`\x9c\x073\x8b\x06\x84\xe8T\xd36\xfa<\xa3\xe9w@1\xac#;\x94\x7f\xcf\xd2g!W\x1be\xd7\xcb\xcb9S\x9f\x85T\xfc\xb0Yy=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xadM|\xf9\xf9,\x08}\x16\xd2\x91Y\x1a\x12j\xc1\xd58V\xe5\x01\xe0\xde\xc5N\xc0\x16\x9fK\xe6cDK\x869\xea\x03\x00\xe0\x1eb\xe9\x05\xac\x1e\x1d\xb03Yt@\xc0\x00\xe0\x9ed\x89\x05,4\xd6\xb5J\x92\xed\xac\x16\x1d\x100\x00\xb8'Yb\x01+G\x08-\xb9\x98\xa8\xb3\xdb\x00\x00\xdcs,\xb1\x805\xa5\xba\x96~\x00\xc9f\xb7\xc7\xec\xac\x00\x00H8\x96X\xc0\x00\x00\x00\x16\x0f\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96\xc5\x12\xb0\x1b\xc2\xc3C\x0f\xc56\x04\x00\x00X,\x16G\xc0\xee\x9c\xf2\xde4\xbf\x81\x80\x01\x00\xb0$,\x8e\x80\xdd\xd6\xdf\xcb\xca\x00\x01\x03\x00`I\x00\x01\x03\x00\x20aI\x0c\x01\xeb-\x88\x11';~\xb6\xd5\xd8Y\x00VV\xca1\x9b\xbc\xdf\x8cgr\x17X)\xd5\x04\x16\x80\xad\x80]{\xe1\xe1\xa2\x8d;\x7f\xa3\xce\xd1\xdfx\xb1\xb2h\xd3^\x161\xed4~\xe3\xfb\x17+\x8a*_\xfe\x9e\xc6\x84\xa4\\\xd6\x93(\x02\x16.w:\xf2i<\x9d\x16\x94\xab\xfex@x\x8d\xe1\xe4\xb6LGI\xac\xc8\xb0\xb3h\xfc\xf7\x9f\x9f\x0c\xa3\x00\xa9EI]vvQ\xa0/\xf8B\xae\x0d#vv\xf3\xa5\x06\xa1fB\x03\xd5\"k\x03\x1ap\xdd\xd5\x06\x1b/+\xe7\x985%\x1d\x8e\xfa\xfb\xa2\x1c\xa8\x7f\xa3\x9a\x0b\xa4'Y{\xe1[r\xb7\x9d\xe9\xbcl\x17\xc8!\x94B\x0fc\x9f\x03\x1d\x8an\xd0\xcf\x0a\x90\xf1P\xcc\x88\xca\xea;\xf0\x0e!\xf5\x1dx6\x8cp\xef\xc0S\x18Ka\x12A\xdf\x81\xe7\x88\x92A\xc8\x97\x96\xe9\x1f\xcc\x14\xa3\x00q\xd8\x09\xd8\xe5b\xbci\xfb\x8f1\xfe)}\xd7\xfd\x85b\xec\xddZ\x89\xf1k\x84\xc5\x81\xac\xc0\xc5\x9b0\xder\x9b\x9c>\x88\xf1\xbe\x837\xf44\xad(\xd7\x89r=\x08\x95\x132\x91\xa2E\xa8\xf6\x08\xaf1\xf4e\xbeR\x9d:I\xe2\xe3XR\x87\x9d\xc9l\xce\x8a\x8d\xa7j\xd5\xb7\xf4\xa1nN\x089\x83\xb3s64\xfa\x8a\xd5\xc1\x8e\x82E\x7f\xbb\xe9xz\x13=\x02\x93M\xe9\xe3\x96=}i\xdd\xda\xd6\xdc%[lV\xd81\xe3\xb2\xe8Kn\x8dfa\x1e\xa8\xf9\xb0x\xd5\\\xa0A#\xd2^\xb9\x8bbG]\xd1\x93\xc5c\xbb@\xf4,&\xfc\x0e\x9f\xf2\xe1s\xf8c\x8cs\xe8[\x88\x83\x83\xc7<\x8eP\xf4\xfd\xe2[\x88c`\x1c\x07\xee-\xc4\x8c!\x16\x07\x82\xbd\x85x\xf6+\x17\x06\xd2\xd6\x1c\xef\xccC\xb1\xa3\xd1\xdb\x09\xd8>\xfc\xb2\xd2\xf9\xba\xb8\x11\x9fW\xfa_\xc5\xf8\xa8\xf2\xe5\xf3M4\xf6\xd0i\x8c\x7f\xfc9!\xe7\x8bh\x88\"\xeb\x10\x12e+U\x1dp\xd08\x15%\x88\xc6\x97\x20#\xc2k\x0c'Q\xab\x16\x8f1\x0e.\xa9A\xd1\xe6\xc9\x1a?\xff-\xacF\xd7\xe5_\xab\xc3\x19\x88\xb6\xb3P_r\xbf6gN\xa3\x05\x90\xa7\xea\xf2q1\xca\xaf\x80M\xc9\xe6\xc9D\xe1\xdc#\xf1\x15v\xcc\xf8,\xea%\xab\xca/\x9cE\xac\xe6\xc2\x0cZ$-\xe8A\xaa\x18\x1f\x95GO\x16\x8f\xed\x021J\x16(qL\x91IGI\xecv\xc6\x8e\xce\x94\xdb\x12M\xccD\x88F\x1f\x1d\xfe8\x0c\x0bRe\x8d\xc4\xc51\x99^\x1a\xa1\xd1,\x16.`\x95\xea\xc8\xf0\xed\x83\x7f\xa0#\xc5\xbd\xec\xb7\xf7\xf1\x8f\x99\x80\xb1=\xcf\xe1\xe7\xa2\x08\x18\xab\xc81\x94\xadt\x81U\xe5\xda\x85\xf8\xa3\x13F\xf3\xe8\xfaWg\xdd\xb23\x89\x02\x1f\xb9\x8c\x06\xfba/!\xe3\xafR\xce@\xb4\x9d\x85zv\x8e\xa1\x85\x14c.\xca\xd5(\x01\xf5fl\xa4Y\xd8\x94l\x9e|9\xd7\x05FV\xdc1\xe3\xb3\xb8\x95e\x09\xa4\xf0o\xb0\x88\xd5\\\x98A$\xac\xb5\xd6\xb0%\xba\x0d\x87\x9e,\x1e\xdb\x05\xc2\x85\x12\xf4u\x91\x13>\xbf\x8d\x80\x91\x86\xd4X\xb3>q\x08X\xf4\xd8\x88\x949\x04,\x90\xca\xc6\x8e\xcd\x0b\x17\xb0\x9f\xe2\x9d\x9f\xeb!\x1e\x1f\xd6\xa2>\xde\xa6\xf1kO\xe3-\xec\xcb)\xfa\xd2|\xab\x80\xade\x9fSIJ\xbe\x11'-\xd6\x8c\xcb,\xc2t\x86:\xa8\xaf\xa3/\xbaI:A\xc6$:\x08\xaeE)\xedu9\x0e\x9f\xfa\x876\\\xeeJ\xc9\xdc\xc0\xae\xac\xe9\xf4=\xec\xa7\x03J\x92N\xd2\x89\x8c\xe8\x20\x0c1\xd9\x89\x82\xb4\x9c\xc7\x956\xd3\xab\xcd\x1b\xe4kVc\xc9\xbb\xd8\xa7\xb4G\xb3\xe5\x0c\xb8\xcdZ\x94\xdcZ\xe3\xce(\xb5\x1c-\xf5\xecT\xb9\x85,\x08\x09\xfa\xdc)\xae\x92lk\xb2\xb6|\xfdm\xf5\\\xc9\x0c[\xde\x83\x19\x00i4Y\xa9U\xb8*\xdb\xb1a\x9aL\xa6\"\x94\xc4b}\x8b\xb5\xd0\x93\xf1\xb6Q\x89a\xd0\x9a\xd3\x17F\xe1\xbe\x9c\xb6\xe5<fS{r\xd3\x1f\x1cr\xf7\xf3g\x9eD=\xa8\xd6\xe2\xd4\xa7Z\x1b\xb0y\xa0\xc4\x0a\xe9,A5\xa3\x9f\xa19jab\xb6V\xfbd\x9a-\x7fb\xa76gI\xee\xd2Q\x12\xeb:\x8b~Mr\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3o(\x99F#u#\xe4\x8c\xe8\x02\xd6\x98\x1c!\xd1/DA\xc0\xf4\xdcl+D\x88\\\x95\xe5,\xb7\x86\x12\xe4\x0e\x89\x16\x0bu\xa29B\xa2\xb6\xacZd'`\x9f\x17a\xbc\xf1\xe0i*O71\xde\xb2\x9dQ\x84/(\x02\xa6v\xc7NG\x13\xb0:u#\x1b\xf5\xd3\xf8\x18;ht0n\x9c4\x1a\xecD\x0d\xc1\xe07D\x9bz`\x83\xe0Pg2r54\xa7\xb3\xee\xc8`z~\xd3@\x03b\x9d\xe6\x11m\"e\xc2_\x10\x9c\"S\xc1\xb5~~BOHV\x93\xb4\xa3\xaf\xd5\x95?Cn\x05Y\x90\xa0\xa0~\xb9\xd5h\x03\x10\xa5\xc1t\xf6f*\xb6\x9c\x01\xb7I\x9de\x1f\xfey\xb6e\xac\x1fB}\x91\xf0\x1etX\xc8B)\xd7\xa3\xdd\x03\xed.4-&\xab\x96\xea\xfb\xea\xa5*\xb1d\xa6-\xef\xe1\xf8\x1a2\xe4\x1e\"\xf9\xc7I\xe4dgvN\xba\xbb\xae\x0a]U\x8c\x83A\xf5z\x11ja$\x13l\xa3\x11\xc3@\xaeB\xab\x95\xff6\x8f/\xe31\x9b\xf4\xb8\x9a\xfak\x11j\xe3\xcf|\xf4\x97\xdcG\xa5\x00\x00\x20\x00IDAT\x83j-Np\xf6\x9fg\xe3@\x09\x152X\x82jF?Cs\xd4\xc2\xc4h\xadq$\xd3l\xf9\x13\xdb\x87j\x06O\x96&\x0d\xc7\xba\xce\xa2_\x93\x9c\x07>\x8b\x80\x7f<mr\x95L\x05\xcc\xf4;3\xd4\x904D:\xd0\x09\xaaf\xeaq\xce\xcf\xe3\xcb\xcb\x17\x87\x9e\xeeH\xa4\x1f\x09\xb9\xd9V\x88\x84\x9d9\x1d\xbd>d\x1503\x8b$n\xdc\x1c\xade\x85:\xed\x04\x8c\\>\xe8\xc5\x18\x17\xbdx\x9b|\x87M>\xd6\xc3\x15E\x170\xad\x8f\xb4\x1au+\x17)r\xcd\x10?\x12F\xf0\xe6\x10\x92\x8fj\xe8T.\xa5*\x97\xb2\x15qoP\x14w\xfa$\x9b\xe5\xef\xd3\xfbn\x1d\xea_\xeb\xd5'\x88\x80\x99\xac\x0f\xd1I\xa5a\x163Q\xe8\xb1^M\xa9\xd5l3\x15\x975.b107\xa5\xec)\xa5\x99\xb9\x0b\x08O\x88\xfd\xf1\xa0g\x84\xcf\xa2\xcdE\xe5\xa8\xcd)&;\xc3\xfe\x14\x0dP\xe5\xe6J\xc6\xd9r\x1e\x82.\xb2G\xdaC\\L\xa0\xf3\x91o\xca\x98\x17t\xe8\xe3\x19\xa3db\xddx\xdbhD78\x93\x82R\xfa\xd9\xd6r\x1d\xb3*'\xedT\xd7\xb1\x18\xbe\xe6\x99\x8fqP\xc5\xc1\xd78\xbd\x96f\xa1\x1f(\xb3B<w\xbf\x9a\xd1\xcfP\xecZ\x98\xe8\xad5\x9ed\\,T\xfd\xc4F\xba\xe8\xd9\xcdc1\xe1\xa3^g1\xaeI\xfe\xd2\xe0\x86\x90$o\xdb\x1a\x16\x0b\x95\xf7K\xaa\x0b&\xdc\xea\xed_\xa9>rk\xb4\x1c}\x18\xebB\x0ci=\xac\x90\x90\x9bm\x85\xd6zn\xd1\xc8\xab\x16\x013\xb3\x18\xe3\xa6\x9a\xa2\xb7,\xdb!\xa4\xc2\xed\xcf_\xdb\x8a\xf1\xb3\xb4\x07v\xcd\xfcuN\x01{\\\xddp\xd3\x1a\x13\x0f:\x1bq$\x0b\xf7A\xa3\x0bX\xb5\xbe\xd9\x8fFM\xdb\x1e\xa4\xbdLu4)r\xabcrZ\xe2\xf6\x89\xc9\xfc\x9ei\x8a[\x8d\xba\xcd\x1d\xafZ\xfd}\xacR\x0d1\x86\xdc\xd1\xafR6\x0d\xd0\x86\x84\x1b\xa4!\xd4<\xd4W\xe0\xa0>\xb8,\xc6\xb3<\xb5\xc7G\xc9\xb4\x98\xacF\x0d\xb9\xb6\x9a\xc5\xcc6J\xc6\xd9r\x1e\xae\xa2[\x0f>\xbavJ\xed(\xe5K\\\x7fi\xb6\x80\x89u\x93\x84\xbe\xd5l\xa2\x19L\xd6In\x94%\xed\xa1U[\xaec\xe68\xa0\xee\x13\x05,\xc6A\xb5\x0aX\xb4u\x0e\x86\x80\x19\x15\xe2\xb9\xfb\xd5\x8c~\x86b\xd7\xc2Do\xad\xf1$\xe3\x04\xcc8\xb1\x13m\x1b<Nu\\\x13\xf5:\x8bqM\xf2\x97\x06/`M\xa8\x91\x09\x18\xef\x97D\xf22\xb5\x15\x9d\x12U'\xb6f%\xfa\x85\xa8\x9c\xee\xe1\xe1\xe1\x16*`\\nv\x15\x9aTW]\xd4[\x04\xcc\xccb:\xd9\xec\xf7DoYv\x02v\xe7\x1f\x9f\xb3\xcf\xdf\xe0\xa2\x7f\x912m\x0e\x8c|\xfe\x8f\x7f\xcd-`\xea\xdd\x8aI\x84h\xf7\xbc\x01\xd5\xf6#\xf1\xfeEt\x0136[\x107\xdf1\xa4\x9f\xbdH\xf2h\xb32\xe8N\xb2\xcc\x85\x98\xc9\xf2\xb4?\x03\xec\xcf\x07w\xbcd\xa9f\x96m\xac\xab\x945\x88A4B8\xd8\x00\x7f2\xa9\x9d\x88YL\xb6o\xceE\x99\x8db\xb2\xb5\xea\x19/)\x20Bn\xa6-\xefA\x0a\xa5\x8f\xa4\x87R\xd8\xcch>?M2[\xc0\xc4\xba\xcd\x9eR\x11\x89f\xd0\xe8j\x0f\xa1\xd01\x17\xfd\x93\xbaL\xc7l\x1c\xf5\xd0}S\x16\x01\x8bqP\xc5\xa6?l\x89&\xaab\x08\x18WH\x93\xbb_\xcd\x18g(f-L\xf4\xd6\x1aO2N\xc0\xf4\x13;\x9c\xe9\xde\xd3\x13\\g\x89Fo\x7fM\xf2\x97\x06/`\x13{&\x98\x80\xf1~\x09\xe9\xd6\x0f\xbaT3<\xac\x0e\x84\xc4#\xa9;\xe3\xe6\xc0\xf8\xdcl*4\xa2\xba\xb7N\xe2sYhs`\xd3\x03$V\xcb\xb2\x11\xb0\xef\xf1\x03\xff\xa4\x9f\x971\xbeM\x9e\xc3\xdb\xe9j0\xf2\x07\xec\xfd~n\x01[\xc5\xe6\x15~\xa1F\x80\x1dC\xeeZtRpk\x11\xb0z\x8b\x80}\xc8_%\xb7\x8c\xfbC\xb9\x9d\xeb\xd6\xe6\xf6\xe4\x12\x113Y\x95g\x841A\x7ff\xc7\xab\x83\xfd\x81\xa8K\xba4\xcbV007%6{\xd7\x8e\x84\xd1\x97zv\x9c\xb4\xf7\xc0e1B\xff^Mu:\xda\x84d\xd5\x1e\x96\xc4S-\xe4\xc6\xd9\xf2\x85\xcci\xca\"\xeef5E>?\x81#\x0a\x18-\x99X\xb79\xee[\x92\x98\x06t\xaa5\xa4\xfdu^\x9ec6\x93\xfasu\x9f!`\xf5\x962\xf0\x07\x95\xcf\x8d\x90CR\xb4!s\xbc\x02v\xb7\xaa\x19\xfd\x0c\xc5\xae\x85\x89\xdeZ\xe3I\xc6\x09\x98~bs\x0b\xe8\xdf\xf1r\x8b\x80\xd9_\x93\xfc\xa5ada\xdeM\x12\xfc\x129\xb3>[\xedp\x1am0\xc6\x85\xc8\x09\x18\x97\x9b]\x85&\xd9\x85@\xac\x93\xf8\\\x16\x01\x07\x1b\xb9u\xa1\x89\x18-\xcbN\xc0\xc8O\xf1O\x15\x05\xbby\x10?\xa5\xa8\x98\x17\xbf\xa0\xe8\xd4\xc5M4\x08\xb7\x20`\xa4\x08\x7f|[\xbfYI\x97Q\xe4)\x0avR\xd2d\xea~\xe4H\x17\xbbM\xa6\x809\xf6(\x83\xe05\x16\x01\x9b\xca,\xa4\xedl\x17;\x05d\xb3G\xbby\xeb\xaf\x95\xce\xa0Z?\x111\x93\x0d\xa8\xa3\x8cz6l/,$\xe4[\xf6\xc37\x92q\x07\x9e\xbfJM\x03nS\xca\x9c\xa2\xcbN\x0a\x99\xc5\xd8a\xf5\xeaV\xcfNf\xdd\xe8/\xf8,\x1a\xd0\x19\x96v\x9b\x90\xac\x8fM\x0et\xa2>!7\xce\x96/\xe4\x86\x82rR~\xbf\x8fe\"\xfc\xa16\x04\xcc(\x99P7\xdev\xac\xc1\xd2%\xb0\x1ap\x8c;\xd5\x09\xebe;f\x9b]\xf4\xba\xafb\xd7\xady\xe6c\x1cT>72\x93\xab\x85P\x17\x89W\xc0\x16\xbb\x9a&\xd1\xceP\xccZ\xe8G\x87\x98\xad5\x9ed\x9c\x80\xe9'\xd6M\xa5c&\xcf\"`\xf6\xd7$\x7fi\x18Yp\x02\xc6\xfb\x9d.\xa8'\xdb|3F\x16\x8c\xe8\x17\"'`\\n\xb6\x15*p+\xfa\x18^e\x110.\x8b\xc9\xf4rE\x09f\x0a=\xb1Z\x96\xad\x80\xdd\xd8\x84\x8b\xb6l\xf5\xe22:\xfdu~=\xf6n\xaf\xc4x\xf7m\xab\x80m\xc7\x18_\xd0\xd3\xb4\"_j\xca}nc\xbd\xc3q$<F\xa4\xdd\x85\xd4\xa6\xf1\\\x8d\x87\x0bPrGH\x8d}6R\x9d\x12\x94\x95#\xb1j\xf5+\xfd;\xb4\xe7\x12\xc2I\xcdj\xba\xc3\x0e\xe7L\x8e\xe30\xef\x8a\x08\xc9\x02\xc8\x7f\xb2\xb7\x1a\xb1Y\xfe\x06\xa9\xb9\xc7\x97F\x1b\xec\xe3\xfa]\x00\xc1\x963\xe06%\x94\xdfu<\xc7\xa9&(\xd5\x06\xbe\xa3l\xe2p\xdd\x86\xea\xfb\xf8,\x1aP\xfa\x81\xbe\x9ejv\x8f\x94KV\x95\x14\xe8\x0b$U\x89\xb9\xf1\xb6\\!\xebP#i\xa27i\xa7\x87\xd8M\x1a6\x1d\xa3l\x07\xa5\xea`pJ,\x99\x91\x8c\xb7e\x85L\xb7\xcc\xcaX\x0cf\xb3|\xc7\xec\x9bLw[w\xa9\xc4\x04\xcc8\xf3\xb1\x0e*\x9f\x1bi\xb1\x0e\xdd\xf8\x03%\x16R\xe7nV\xd3$\xca\x19\x8a]\x8bRc*e\xa4\x0d\xb5\xa85\xb2O\xa6\xdb\xf2'\xb6\x01mn;\x9c\x8f\\MC\xb1\xae\xb3h\xd7\xa4xi\xe8YL\xfa\xd7}\xa3|\xfdf\x9d\x7f\x92\xf3\x1b\x09\xd6\xba\xc6\xc9%\xe7\xae`\x84\xae\xc47\xea\x1d\xedB\x14V\xe2\x1b\xb9\xc5\xa8\x10\xb7\x12?\xe4p\x1f\xaa\xcfH\xa2\x17\xc1\xb8\xf6\xc0\xc1U\xe1\x90\x903\x8e\xfb;z}\xc9A\x12\xbde\xc9A;\x01c\x8f?z\xb7\xbc\xac\x8e\x10\xaf\xbd\xa0|\xd9~J\xd1/\x8b\x80]\xde\xed\xdd\xf8\xbe\x9e\xa4\x15\x05F}i\x8e\xb5\xfd\xda\xf7)I\x98\xbf\x888\xd9\x087\x99\x1d\x92p\xa1#\xdd\x17@\xa8\x96\xc5>\x0b\xa5)\xff\xd2\xdbB\xe1\xcd\xee\xf4\x82\x1e-A\xfd*5\xf9\x882\"iL\x1f&<b\xb2\x81u\x19N-\xdb\xc8\x8e\x0c\xc7\x83\xd4\xf6\xdb\xd4\xaa\xa8\xb6\x86\x01\xbf)=^\xed\xcc\xaa\xd2\x9aA\x87\x8bN\xe1(\xfdW\x84\x9a\x94&\x99\xe3\xea\xe3\xb38Qx\xc8\x9d\x92Y8hMv,O_\xadb\xe6\xc6\xdbr\x85\xecs\x8c\x92PZ/\xbd?\xc1\x0e\x09\xebdh\x8f\x8a\xa1v\xb1dF2\xde\x96\x162\x1d\x89G\xc4j0\x9b\xe5;fd\xa2\xda\xed\xf0\x8d0\x013\xce<\x89qP\xf9\xdc\x82\x8e=\xc4\x8ay\xa0\xc4B\xea\xdc\xcdj\x9aD9C1k\xa1\x1f\x1d\xa5g\x94\xaed\x95:\x15W2\xc3\x96?\xb13-9\x92\xcb\xdf\xe1\x91\x0ac]g\xd1\xaeI\xf1\xd2\xd0\xb3hP\x9f\xc6\xddF\x9fg4\xfd\x0e\x20\xbaTs\x87\xf2\xefY\xfa,\xa4:\x85\xce\x97\x97s\xa6>\x0b\xa9\xf8a}\x0e=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xad\x9eL\xe4\xe7\xb3P\x08\xf9\x1c\x99\xa5!\xa1\x16\\\x8d\xed\xd7\x81-\x06\x97\x84\xc7\x88\x16\xc0.)\xda\x1d\xa88\x09\xc4^\xc5;\x1b\xb3\xab</\x16\x98lQ\xe8\xb1\xce\xca,\x02w\xf7\x98\xa9\x93\xf8\xf3\xa1K\xaa\x9e\xb6\xb3Y\x00w\xb7\x9a\xcbL\xa2\x95w\x81,\x85\x80\xd5\xa3\x7f7\x98m\x8b\xfb[;\x93\x98\xd4\xd4\x90\xf8Y\xe0Y_`\xb2\xc5\xa0\xc3\xb9\xcd\xced\xfe\xdc\xddc6o\x01\x9b\xcc\x12\xe7\x0d\x16\x8b\x05V32\xa6\xb2\xe8\xcf\xf6,*\xf3>-\x89\xc9]\x17\xb0\xd0X\xd7*iV\xc7{\xa5\xb2\xc0\xb3\xbe\xc0d\x8b\x80\xec\xaa[\xeev4\xef\xca\xcf[\xc0V\x04f5\x1f\xd4F;\xd6\xf9\xfc\x95\xc5\xbcOKbr\xd7\x05\xac\\9\xd3\x89r(\xd5\xd9\xc1y\xb3\xc0d\xf7\x06\xf3\xaf|\xf8\x0c\xaa\x9b_\x8a\x15\x00_\xcdp\xaf\xca<\xc6\x9fK\xce\xfcOK\x82r\xd7\x05\xac)\xd5\xf5\xef\x0e\x20\x97\x0c6;\x18\xfb\xee],\x16\x98\xec\xde`\xfe\x95_\x8b\xf4;8\x09\xc4\xfc\xab\xb9\xbc$Zy\x17\xcc]\x170\x00\x00\x80\xbb\x05\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\xcb\xe2\x0a\x98\xfe|\xd1\xdc\xbcA\x1f\x06\xd7X\xfc\x18\x92\x00\x00\xfc`\x00\x01\x03\x00\x20aY\\\x01\xbb\xfc\xeb\xf3v&\x04\x04\x0c\x00\x80Ebq\x05,>@\xc0\x00\x00X\x14\xee\x15\x01\xdb6\x9f\xe7r\x01\x00\xb87\xb0\x13\xb0\xdf\xe0S\x17*\xbd?\xb9\xa6\xbe\x18l\xd3^\xed\xad\x85\xd7\x8eT\xae\xdf\xb4O}_>\xb7\x83\xce\x81\xbd\xa1\xcf\x83=\x8b_&\x96d\x9f\xef\xddT\xfc\xd4E\x8b\x80\x85\xcb\x9d\x8e\xfc\x0eB_Z\xa7\xbd.\xfa\x80\xf8\x02\xc48\x08\xa3\x00\x0d5\xf8o\xbcug\xbe\xf4$k\x8f\xf4&w\xdb\x99\xce\xcbv\x81\x1cB)\xf4%\xb7}\x0et(\xbaA?+@\xc6C1\x9f\xe1Q\xdf\xe9t\x08!\xed=\x92s2\xc2\xbd\xd3Ia,\x85\x9d:\xfaN'G\x94\x0cB\xbe\xb4L\xff`\xe6\xc2\xdf(\x02\x001\xb0\x17\xb0\x17\xbd\x18\x17\xdf&\x17\x8a\xb1wk%\xc6\xaf\xd1_\xcf{q\xf1\xf62\x8c\xe9\x8c\x17\xbf\x83\x0a\xd8?p\x11{\xfb\xe1\xedb\x1a\xba[Hv\x0a\xe3\x8a\xadEE\xbb\x05\x01\xcbu\xa2\\\x0fB\xe5\x84L\xa4h\x91}=Q\x038\x08\x9c\x15_\xd0Y\xb5\xea[-\xd4`\x14\x03\x8b\xedl\x16b\xd0\x88\xb4WH\xa2\xc6(\x09T\xf4d\xf1\xd8.\x10=\x8b\x09\xbf\x83\xbe\x9a\xda\xe7\xf0OD7\xa4o\xd5\x0c\x0e\x1e\xf3X\xe27\x9a\x08o\xd5\x8c\x81q\x1c\xb8\xb7j2\xd4\x00\x8f\xec\xad\x9a\xb3\x1f!\x1eH[s\xbc3\x0f\xcd\xe7\xe5[\x00\x10\x1f\xf6\x02\x86+\xcf_8Mn\x14\xe3\xa3\xb7\x95.\xd4&\x1a\x99\xe8\xbbb\xfc\xf2mr\xe7\x0d\x1a\xdcC\xd8\xc1\xeeB\xee\xc4\xa7i\xca\xf3x+\x11\xf7^\xc4\x0f\x9c\xbeC\xbe\x7f\x0a\x0b\x02\x86\xb2\x95&5\xe0\xa0\xafX)A4\x0a\x00\x19\x89\xe3\x05\x88k\xfc\xfc\xb7\xb0\x1aJ\x97\x7f\x83\x08g\x20\xdaFa!\x06-\x92\xf6\x12\xefT3\xf2\x93\x15=Y<\xb6\x0b\xc4(Y\xa0\xc41E&\x1d%\x81\x98\xa6\xec\xe8L\xb9\xc5\xf8P\x1cq\x84\x87\xe7\x8fC\xdc\xe1\xe1'\xd3K#\xf4\xed\xec\x20`\xc0\xe2\x13\x87\x80]\xa6\x9fG\xb5@\xdc\xef\xe3\x1f\x13\xf22\x0d\xf1\xa1\xb0[\x91*a\x07\x13\xb0\xd3\xea\xde\x83\xf8\x94%\xd9A|\x94n\xdf,\x13\x05\x8c5\x98c(\x9b\xbe\\\x94)\xd7.\x14\xbb\x15\xea\x88a+\xaa\xd57\x8e\xf1\x02\x1654V\x0c\x16b\x10\x09k\xad5\x1c\xfb}\\z\xb2xl\x17\x08\x17\x1a\xcb\xd7EN\xf8\xfc6\x02F\x1aRgb\xec\x8fC\xc0\xa2\xc7\xfa\xa2\xcc!`\x81T6vl\x06\x01\x03\x16\x1f{\x01\xabd\x9f\x0fk1!o\xd3\xe8\xb6[\xb4/7n\xdc\x11w0\x01\xbbY\x84\xff\xa9\xfc\xeb\xa5\xff\xf2{\xefl\xc4\x17\xd9\x97\xa3\x82\x80\xade\x9fSI\xca\xf5\x1dq\xd2\xcb\x7f\xc6e^\xea\xb5(\xa5\xbd.\xc7\xe1c\xc1\x0d\xc8\x89\x82\xb4\x9c\xc7o\x11\xd2\xabM)\xe5kVc\xc9\xbb\xd8\xa7\xb4G\xb3\xe5\x0c\xb8\xcdZ\x94\xdcZ\xe3\xce(\x15\x1b\x92\xe8L\xcf\x82\x90\xa0\xcf\x9d\xe2*\xc9\x9e\x9d\x9b\x89\xd9Z\xed\x93i\xb6\xa3\xc9\x08\xd5\x87\xab\xb2\x1d\x1b\xa6\xc9\xd4\xe6,\xc9]:J,\xd54<\x88\xe5m\xcb\xd7\xdeknz\xe0\xb3\x08\xf8\xdb\xcaI\xc9+T\xc0L\xbf\xa1d\x1a]\xcf\x8d\x903\xa2\x0bXcr\x84+/_\x1cA\xc0\xf4\xdcl+D\x88\\\x95\xe5,\xb7\x86\xc6\xe2\x0e\x89\x16\xdbo\xa29\xc2\xf9\xe5j\x1c\xbd\xf2\x00\x10\x0f\xf6\x02\xc6\xbaS71\xde\xb2\x9dQ\x84/\x90\xf5\xf8o\xfa~q\x87\xba\x90u\x1f\x1dC\xbeO\x13\x0a{\xbf\xa7\xb1%)\xa7\x05\x01\xabS7\xb2i\x18\x9bm4D\xcf\x80\x16\x17\x98\x12\xeaLF\xae\x86\xe6t\x16\x7f\xae&iG_\xab+\x7f\x86\xdc\x0a\xb2x(A]\x89j$U\xe0$\x94\xdb\xd9\x9b\xa9\xd8r\x06\xdc&u\x96}\xf8\xe7\xd9\xe24\x90\xe0\xcc\xc8B\x19\xc7>\xda=\xd0\xeeB\xd3\xb3r31Zk\x1c\xc94\xdb\xc8\xc9\xce\xec\x9ctw]\x15\xbaJ\xfaP\xcd\xe0\xc9\xd2\xa4a\xb1\x9a\xa6\x07\xa1\xbc\xd5R}_\xbdT%x\xe0\xb3\x08\xf8\xc7\xd3&W\xc9T\xc0L\xbf3C\x0dIC\xa4\x03\x9d\xa0j\xa6\x0aX~\x1e_^\xbe8!\xd4\x17\x89D\xfa\x91\x90\x9bm\x85H\xd8\x99\xd3\xd1\xebCV\x013\xb3H\xe2\xc6\xcd\x86_\xae\xc6\xd1+\x0f\x00\xf1`/`\x07\xe9\xc7w\xd8\xe4c\xa5;uC\xdf/\xec\xd0\x04\xec<\xdeM\xc8S\xf8}\xcb\xdek\x18\xabi\xce\x0b\x02\xa6\xc5^[\x8d\xbai\x14n\xd7\x0c\xf1#~\xa6H\xa2\xb1\x0c\xab\\\x84\xb6Kz\xabr\x98\x85\x87\x13\x063WS\xb4`4R\xe6\xa4\xd2r\\\xc4b`nJ\xd9S\x84L\xba\x0b\x88\x88a\xc0e\xd1\xe6\xa2\x8d\xa8\xcdi\xf1\x20\xa0\xb7\xd6x\x92q\xb1\xfd\x90O)\x85\xf2\x7f\xa4\x8bN\x97\xe7\xb1\x18\xc7f5y\x0ffy\xcf\xb0\xee\xd1\x00\x0bVfz\x10\x86\x90$o\xdb\x1a\x16\xdb\x8f\xf7K\xaa\x0b&\xdc\xea\x1b\xe5\xa5\xfa\xc8\xad\xd1r\xf4\xa1\xf5H\xea\xceBZ\x0f+$\xe4f[\xa1\xb5\x9e[4\x92\xa0E\xc0\xcc,\xc6\x8c\x18\xa0b-\xcc\x1a\xc7\xa8<\x00\xd8\x13\xa7\x80\xdd\xa4\x03D\x9d;\xda\xbc\xd8\xac\x1d\x9a\x80\xdd\xde\x88\xbf\xff'\xf6\xde\xb4\xec\xbd\xa9\x87\xef~_\x10\xb0\xc7\xd5\x0d7mY\xc4\x83\xceF\x1c\xc9\xfc\xfdv\x16z\x94\xcd\xb0\xf8=\xd3\x14\xb7\x1a`\x98kJ\xb5\xfa\xab'Y\x9c\xf89\xc3\xc3\xb3\x19\xa26d\x89\xa4h\x18pY\x8cgyj\x8f\x8f\xaa\x81\xac\xed\x04,\x9ed\x9c\x80Iz\x98\xe6\x89\xb6\x0d\x1e\xa7\xda\xdf4\xab\xc9{0\xcb[\xa3\x86\xb5Z]-z\x10\x04\xac\x0952\x01\xe3\xfd\x92H^\xa6\xb6\xd2N\xa2\xea\xe4\xa2j\"\x1eI\xddY\x085\x0f\x0f\x0f\xb7P\x01\xe3r\xb3\xab\xd0\xa4\xba\xea\xa2\xde\"`f\x16\xd3\xc9\xe6\xdf#\xbe\x16f\x8dcT\x1e\x00\xec\x89S\xc0H\x996\x99E>\xff\xc7\xbfH%V\x9f\x18\xfa\xf8\xa7\xa7\xc4\x1d\xda\xb3\x90/\xe2\xd3\xa7\xf1\xb3\xd6dw6au\xe1\xd8k\x82\x80\xa9w\xc5&\x11\xa2\xc3\xc0\x06T\xdbo\x04\xffd\x98Ax\xf3\xb4\x1e\x02\xebYpMI\x96\xf4E\xac|t\xe5\xe8\x02\xc6FQ\x83\xd6\x20\xa9\x86\x01\x9f\xc5d\xfb\xe6\\\x94\xd9h\xf1\x20\xa0\xb7\xd6x\x92q\x02\xa6O\xa6\x0dg\xba\xf7\xf4\x04\xd7Y\xa2+\xf3\x1e\xcc\xf2\xaeUU\xa8\xa4@\xf0\x20\x0a\xd8\xc4\x9e\x09&`\xbc_B\xba\xf55)R\xcd\xf0\xb0:\xfc\x13\x8f\xa4\xee\x8c\x9b\x03\xe3s\xb3\xa9\xd0\x88\xea\xde:\x89\xcfe\xa1\xcd\x81M\x0f\x88~\xb9\x1aG\xaf<\x00\xd8\x13\xaf\x80=\x87\xb7\xdf\xa1\x9f\x7f\xa0K'\x8ejkU\xf7\xe27\xc4\x1d\x9a\x80]\xc4O=\xa5\x06\xea\x16\xf6\xbe\xa0\x8a\xda\xedJA\xc0V\xb1\xf9\xab_\xa8\x913\xc7\x90\xbb\x16\x9d$\x1c\xe6\xc5]\xe5\x19a\xb0\x85N\xac)u\xb0\xbeC]\x92\x1e\xaf}\x96\x80\xa9\x06\xe6\xa6\xc4&\xdc\xda\xad\x91\x14\x0d\x03.\x8b\x11\xda\x95\x99\xeat\xb4Y\x9c\xf1\xe8\xad5\x9ed\x9c\x80\x95k\x1b\xb9\x05tZ\xbb\xdc\"`\xbc\x07\xb3\xbc\xd5\x1e\x96\xc4S-x\xe0\xb2\xe0\xc2\xc3\xf3~\x89\x9cY\x9f\xadv8\xcd{\xb4\xe2\x91\xd4\x9dq\x02\xc6\xe5fW\xa1I5\xc4\x90u\x12\x9f\xcb\"\xe0`=\xea.4!\xd4\"\xaa\x80\x09\xb9\x01\x80-\xf1\x0a\xd8e/~A\x19\x00^\xdcD\xc5\xe7\x86\x17\xbf\xc1\xd6\x81\x15\x7f'\xee\xd0\xdfFQYTTqgV\xb2k\xeb\xf1\xaf\xef\x90\x9b\x07-\xeb\xc0\xf2\x14\x05;)i3%\xf7#G\xba\xb0\xd6\xc0\xbc\xb8\x07\x10[h_\xcfft\x0a\x0b\x09\xf9\x96\xfd\xf0\x8dd,\xdb\xe7\x05\xcc4\xe06\xa5\xcc)\xba\"\xc9\x1a\x0f\xcb0\xe0\xb2h@g\xd8\xaem\x16gd\xec\xb0\xae\x97Fk\x8d'\x19'`z7\xc6M\xa5c&\xcf\"`\xbc\x07\xb3\xbc}l\xc2\xaa\x13\xf5\x09\x1e\xb8,8\x01\xe3\xfdN\x17\xd4\x93m\xbe\x19#\x0b\x86p$\x0dg\x9c\x80q\xb9\xd9V\xa8\xc0\xad\xe8cx\x95E\xc0\xb8,&\xd3\xcb\x95!\xe1L\xa1G\xacET\x01\x13r\x03\x00[\xe2\x150r~=\xf6n\xaf\xc4x7\xbd\x93x\xbe\x08o\xdc\xbe\x09\x17\x9d\xb7\xec\xd0\x05\xec\x0d\xcc\x1e#\xb2&\xfb\xb8\x08\x97\xfd\xc4\x8b\xf7\x09\x02\xe6KM\xb9\xcf\x8d\xf4\xb9\xfc\xe3Hx\x8cH\x8d\x0e5R\x9d\x12\x94i\x20e\xff\xc9\xdejt\x82\xeeh\x90\x9a{|i\xb4\xf3\xf6\xb8\xbe\xe8B\xb0\xe5\x0c\xb8M\x09\xe5w\x1d\xcfqZ\xef'\x9a\x06f\x16\x0d(\xfd@_O5\x1a\x14\x0d\x08)5\x86\xb8#m\xa8E\x1d\x8c\xda'\xd3m\xa7\x87\xd8\xad<6i\xd7\x806\xb7\x1d\xceG\xae\xa6!\xbe\xe8\xbc\x07\xae\xbcUI\x81\xbe@R\x95\xe8\xc1\xccb\xd2\xbf\xee\x1b\xe5\xeb7\xeb\xfc\x93\x9c\xdfH\xb0\xd65N.9w\x05#t%\xbeQo\xa3\xbc\x9c3a%\xbe\x91[\x8c\x0aq+\xf1C\x0e\xf7\xa1\xfa\x8c\xa4\xe4\x8e\x90\xba\x12\xbf%\x18\xbc*\x1c\x12r\xc6q\x7fG\xaf/9\xc8\xd7\x82\xabq\xac\xca\x03\x80=q\x0b\x18\xb9\xf6Be\x91w\xfb)u%\xc4\xe5g+\x8a\xca\x0e^\xb6\xee\xd0\x05\xec\x869\xcd/$\xfb\xdb\xc12\xef\xf6\x0b\x1f\x0b\x02\x16\x18\xf5\xa59\xd6\xf6k\xdf\xa7$\xe11\"\x16\x1d*\x94\xa6\xfcKo4\x0e\xac\xcbpj\x96\x91\x1d\x19\x8e\x07\x87\x95\x8doS\xab\xa2\xda\x1a\x06\xfc\xa6\xf4x\xb53\xabJ&\x168[#\x8b\x13\x85\x87\xdc)\x99\x85\x83V\x03\xd2\xe1jW7n\xa5+Y\xa5N\xc5\x95\xcc\xb0\x1dU\x1f\",\xa1?\xce\xb4\xe4H.\x7f\x87G*\xe4\x8b\xce{\xe0\xcb{,O[\x07\xc6y0\xb3h@\x88N5m\xa3\xcf3\x9a~\x07\x14\xc3:\xb2C\xf9\xf7,}\x16R\x9dB\xe7\xcb\xcb9S\x9f\x85T\xfc\xb0Yy=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xadM|\xf9\xf9,\x08}\x16\xd2\x91Y\x1a\x12j\xc1\xd58V\xe5\x01\xc0\x1e;\x01[j.\xc5\xf1\x18\x91@`>\x0b\xbc\x13-Zq\xa2\x95\x17\x00\x96\x98\x95&`\xf5h\x9eapkjH\xfc\x98\x82\x10\x19SY\xf4g{\x16\x15\x100\x00\x98\x93\x15%`\xa1\xb1\xaeU\xd2\xac\x01\xde\"b\x0a\xc2\x83\xdah\xc7:\x9f\xbf\xb2\x00\x01\x03\x809YQ\x02V\xae(\xca]l\xb2\xeal\xb1J\xb8We\x1e\xe3\xcf%\x87//\x00\x00QXQ\x02\xd6\x94\xea\x9a\xe7\x00r^\xb0\xd9\xe21;\xab\x95C\xa2\x95\x17\x00\x96\x9c\x15%`\x00\x00\x00\xf3\x01\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84eq\x05L\x7f\x94hn\xeeF\\H\x00\x00~\x80\x80\x80\x01\x00\x90\xb0,\xae\x80]\xfe\xf5y;\x13\x02\x02\x06\x00\xc0\"\xb1\xb8\x02\x16\x1f\x20`\x00\x00,\x0a\xf7\x8a\x80m\x9b\xcf3\xdd\x00\x00\xdc\x1b\xd8\x09\xd8o\xf0\xa9\x0b\x95\xde\x9f\\#\xe4\xc6\x8b\x95E\x9b\xf6^P\x7f\xbev\xa4r\xfd\xa6}\xea+\xee\xb9\x1dt\x0e\xec\x0d}\x1e\xecY\xf6RC!\xd9\xe7{7\x15?u\xd1\"`\xe1r\xa7#\x9f\xc6\xb0iA\xb9\xea\x8f\x07\x84\x97\x1a\xc6C\x18\x05H-J\xea\xb2\xb3[<z\x92\xb5\xc7\xc1\x93\xbb\xedL\xe7e\xbb@\x0e\xa1\x14\xfaJ\xdb>\x07:\x14\xdd\xa0\x9f\x15\x20\xe3\xa1\x98\x0f\x7f\xaa\xef\x03;\x84\xd4\xf7\x81\xd90\xc2\xbd\x0fLa,\x85\x9d:\xfa>0G\x94\x0cB\xbe\xb4L\xff`&\x1f\xab\x05\x00\x16\x05{\x01{\xd1\x8bq\xf1mr\xa1\x18{\xb7Vb\xfc\x1a\xfd\xf5\xbc\x17\x17o/\xc3,\xb6\x07\xbf\x83\x0a\xd8?p\x11\x0b>t\xbb\x98\xbe\xd4PHv\x0a\xe3\x8a\xadEE\xbb\x05\x01\xcbu\xa2\\\x0fB\xe5\x84L\xa4hQ\xa1=\xc2K\x0d\xa3rV\x8c\xcbQ\xb5\xea[\xfa\xec3\xf7$8g`\xb1\x9d\xcdB\x0c\x1a\x91\xf6\xfaQ\x14;\x02\x85\x9e,\x1e\xdb\x05\xa2g1\xe1w\xf8\x94\x0f\x9f\xc3?\x11\xdd\x90\xbe\x9158x\xcc#\x06\xc5\xe4\x10\xde\xc8\x1a\x03\xe38pode\x0c\xb1w\xe2\xb37\xb2\xce~\xfc|\x20m\xcd\xf1\xce<4\x9f\x17\xb7\x01@|\xd8\x0b\x18\xae<\x7f\xe14\xb9Q\x8c\x8f\xdeV\xbaP\x9bh\x98\xa1\xef\x8a\xf1\xcb\xec\x9d\xf8\xde\xef\xc5\x1d\xec.\xe4N\x1a\xd7\x96F\x7f\xdcJ\xc4\xbd\x17\xf1\x03\xa7\xef\x90\xef\x9f\xb2\xbc\x13?[iR\x03\x0e\x1a\x1b\xa2\x04\xd1\x98\x0ed$\x8e\x97\x1a\xae\xf1\xf3\xdf\xc2jx\\\xfe\xed3\x9c\x81h\x1b\x85\x85\x18\xb4H\xda\x0b\xe0S\xf9(\x96\"z\xb2xl\x17\x88Q\xb2@\x89c\x8aL:J\x021M\xd9\xd1\x99r\x0b1\x9fx\x84\xc8\xdc\xd1\xe1\x8f\xc3\xb0\x20U\xd6\xa8D\x1c\x93\xe9\xa5\x11\xfaf\x7f\x100`\xf1\x89C\xc0\xd8\xcb\xa1\x8f\xe2\xbd\xec\xfb\xfb\xf8\xc7\x84\xbc\xac\x86\xeb&\xbb\x15\xa9\x12v0\x01;\xad\xee=\x88OY\x92\x1d\xc4G\xe9\xf6\xcd2Q\xc0X\x839\x86\xb2\x95\xa1\x96\xaa\\\xbbP\xecV\xa8#\x06:\xabV\xdf\"\xc6\x0bX\xd4\xb0j1X\x88A$\xac\xb5\xd6p\xecw\"\xea\xc9\xe2\xb1]\x20\\X5_\x179\xe1\xf3\xdb\x08\x18iH\x9d\x89\xb1?\x0e\x01\x8b\x1e'\x8e2\x87\x80\x05R\xd9\xd8\xb1\x19\x04\x0cX|\xec\x05\xac\x92}>\xac\x05x\xbcMC\xd5n\xd1\xbe\xdc\xb8qG\xdc\xc1\x04\xecf\x11\xfe\xa7\xf2\xaf\x97\xfe\xcb\xef\xbd\xb3\x11_d_\x8e\x0a\x02\xb6\x96}N%)\xd7w\xc4I/\xff\x19\x97y\xa9\xd7\xa2\x94\xf6\xba\x1c\x87O\x8d\xa7q\xa2\x20-\xe7\xf1[\x84\xf4jSJ\xf9\x9a\xd5X\xf2.\xf6)\xed\xd1l9\x03n\xb3\x16%\xb7\xd6\xb83J\xc5\x86$:\xd3\xb3\x20$\xe8s\xa7\xb8J\xb2g\xe7fb\xb6V\xfbd\x9a\xedh2B\xf5\xe1\xaal\xc7\x86i2\xb59Kr\x97\x8e\x12K5\x0d\x0fby\xdb\xf2\xb5w\xe2\x9b\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3o(\x99Fft#\xe4\x8c\xe8\x02\xd6\x98\x1c\xe1\xca\xcb\x17G\x100=7\xdb\x0a\x11\"We9\xcb\xada\xd5\xb8C\xa2\xc5\x85\x9ch\x8ep~\xb9\x1aG\xaf<\x00\xc4\x83\xbd\x80\xb1\xee\xd4M\x8c\xb7lg\x14\xe1\x0bd=\xfe\x9b\xbe_\xdc\xa1.d\xddG\xc7\x90\xef\xd3\x84\xc2\xde\xef1VC{\x9c\x16\x04\xacN\xdd\xc8\xa6\xf1\xe6\xb7\xa1\x1d4\"W\x9e\xb1;\xd4\x99\x8c\\\x0d\xcd\xe9,vaM\xd2\x8e\xbeVW\xfe\x0c\xb9\x15d\xb1t\x82\xba\x12\xd5H\xaa\xc0I(\xb7\xb37S\xb1\xe5\x0c\xb8M\xea,\xfb\xf0\xcf\xb3\xc5i\x20\xc1\x99\x91\x852\x8e}\xb4{\xa0\xdd\x85\xa6g\xe5fb\xb4\xd68\x92i\xb6\x91\x93\x9d\xd99\xe9\xee\xba*t\x95\xf4\xa1\x9a\xc1\x93\xa5I\xc3b5M\x0fBy\xab\xa5\xfa\xbez\xa9J\xf0\xc0g\x11\xf0\x8f\xa7M\xae\x92\xa9\x80\x99~g\x86\x1a\x92\x86H\x07:A\xd5L\x15\xb0\xfc<\xbe\xbc|qB\xa8/\x12\x89\xf4#!7\xdb\x0a\x91\xb03\xa7\xa3\xd7\x87\xac\x02ff\x91\xc4\x8d\x9b\x0d\xbf\\\x8d\xa3W\x1e\x00\xe2\xc1^\xc0XT\xa2\xef\xb0\xc9\xc7Jw\xea\x86\xbe_\xd8\xa1\x09\xd8y\xbc\x9b\x90\xa7\xf0\xfb\x96\xbd\xd70V\xd3\x9c\x17\x04L\x8b\xa7\xb6\x1au\x132\x84\\3\xc4\x8f\xf8\x99\"\xc9\xa9\x88S\x95\x8b\xd0vIoU\x0e\xb3\xd0\x82\xc2`\xe6jJ\xadf\x9b9\xa9\xb4\x1c\x17\xb1\x18p\x91\xb9\xb3\xa7\x08\x99t\x17\x10\x11\xc3\x80\xcb\xa2\xcdE\x1bQ\x9b\xd3\xe2A@o\xad\xf1$\xe3\xe2B\"\x9fR\x0a\xe5\xffH\x17\x9d.\xcfc\xf1\xb1\xcdj\xf2\x1e\xcc\xf2\x9ea\xdd\xa3\x01\xd4/x\x10\x86\x90$o\xdb\x1a\x16\x17\x92\xf7K\xaa\x0b&\xdc,\xfe#\x91\xea#\xb7F\xcb\xd1\x87\xd6#\xa9;\x0bi=\xac\x90\x90\x9bm\x85\xd6zn\xd1(\x94\x16\x013\xb3\x18\xd3\"~R\xf8Z\x985\x8eQy\x00\xb0'N\x01\xbbI\x07\x88:w\xcc\xa0i\xe2\x0eM\xc0no\xc4\xdf\xff\x13{oZ\xf6*_\xd8\xedI\xa5s\xc6\x0b\xd8\xe3\xea\x86\x9b\xb6,\xe2Ag#\x8ed\xfe~;\x0b[\xcbfX\xfc\x9ei\x8a[\x0dN\xcd5\xa5Z\xfd\xb5\xa5R\x0d1fc\xa2\x0b\x18\x9b!jC\x93D\xc00\xe0\xb2\x18\xcf\xf2\xd4\x1e\x1f%\xd3\x16\x0f\x02zk\x8d'\x19'`\x92\x1e\xe2{\xa2m\x83\xc7\xa9\xf67\xcdj\xf2\x1e\xcc\xf2\xd6\xa8!\xd1VW\x8b\x1e\x04\x01kB\x8dL\xc0x\xbf$\x92\x97\xa9\xad\xb4\x93\xa8:\xb9\xa8\x9a\x88GRw\x16B\xcd\xc3\xc3\xc3-T\xc0\xb8\xdc\xec*4\xa9\xae\xba\xa8\xb7\x08\x98\x99\xc5t\xb2\xf9\xf7\x88\xaf\x85Y\xe3\x18\x95\x07\x00{\xe2\x140R\xa6Mf\x91\xcf\xff\xf1/R\x89\xd5'\x86>\xfe\xe9)q\x87\xf6,\xe4\x8b\xf8\xf4i\xfc\xac5\xd9\x9dMX]8\xf6\x9a\x20`\xea]\xb1I\x84\xe80\xb0\x01\xd5\xf6\x1b\x81c\x19f\xd4\xe6<\xad\x87\xc0z\x16\\S\x92%}\x11+\x1f\x99;\xba\x80\xb1Q\xd4\x20\xb2\xac\x8a0\x0c\xf8,&\xdb7\xe7\xa2\xccF\x8b\x07\x01\xbd\xb5\xc6\x93\x8c\x130}2m8\xd3\xbd\xa7'\xb8\xce\x12\x99\x9b\xf7`\x96w\xad\xaaB%\x05\x82\x07Q\xc0&\xf6L0\x01\xe3\xfd\x12\xd2\xad\xafI\x91j\x86\x87\xd5\xe1\x9fx$ug\xdc\x1c\x18\x9f\x9bM\x85FT\xf7\xd6I|.\x0bm\x0elz@\xf4\x1b52\xb7\x90\x1b\x00\xd8\x12\xaf\x80=\x87\xb7\xdf\xa1\x9f\x7f\xa0K'\x8ejkU\xf7\xe27\xc4\x1d\x9a\x80]\xc4O=\x85/\xccJ\xf6\x82*j\xb7+\x05\x01[\xc5\xe6\xaf~\xa1F]\x1dC\xeeZt\x92p\x98\x17w\x95g\x84\xc1\x16:\xb1\xa6\xd4\xc1\xfa\x0euI\x97f\xd9\x0a\x06\xe6\xa6\xc4&\xdc\xda\x91e\xa5\x93a\xc0e1B\xbb2S\x9d\x8e6\x8b3\x1e\xbd\xb5\xc6\x93\x8c\x13\xb0rm#\xb7\x80Nk\x97[\x04\x8c\xf7`\x96\xb7\xda\xc3\x92x\xaa\x05\x0f\\\x16\x01u\x85\x03\x150\xde/\x913\xeb\xb3\xd5\x0e\xa7y\x8fV<\x92\xba3N\xc0\xb8\xdc\xec*4\x89\xd8\x1e\xeb$>\x97E\xc0\xc1z\xd4]hB\xa8ET\x01\x13r\x03\x00[\xe2\x15\xb0\xcb^\xfc\x822\x00\xbc\xb8\x89\x8a\xcf\x0d/~\x83\xad\x03+\xfeN\xdc\xa1\xbf\x8d\xa2\xb2\xa8\xa8\xe2\xce\xacd\xd7\xd6\xe3_\xdf!7\x0fZ\xd6\x81\xe5)\x0avR\xd2fJ\xeeG\x8eta\xad\x81yq\x0f\x20\xb6\xd0\xbe\x9e\xcd\xe8\x14\x16\x12\xf2-\xfb\xe1\x1b\xc9X\xb6\xcf\x0b\x98i\xc0mJ\x99StE\x925\x96\x9aa\xc0e\xd1\x80\xce\xb0]\xdb,\xce\xc8\xd8a]/\x8d\xd6\x1aO2N\xc0\xf4n\x8c\x9bJ\xc7L\x9eE\xc0x\x0ffy\xfb\xd8\x84U'\xea\x13<pYp\x02\xc6\xfb\x9d.\xa8'\xdb|3F\x16\x0c\xe1H\x1a\xce8\x01\xe3r\xb3\xadP\x81[\xd1\xc7\xf0*\x8b\x80qYL\xa6\x97+C\xc2\x99B\x8fX\x8b\xa8\x02&\xe4\x06\x00\xb6\xc4+`\xe4\xfcz\xec\xdd^\x89\xf1nz'\xf1|\x11\xde\xb8}\x13.:o\xd9\xa1\x0b\xd8\x1b\x98=FdM\xf6q\x11.\xfb\x89\x17\xef\x13\x04\xcc\x97\x9ar\x9f\x1b\xe9s\xf9\xc7\x91\xf0\x18\x91\x1aYl\xa4:%(\xd3\x20\xdc\xfe\x93\xbd\xd5\xe8\x04\xdd\xd1\x205\xf7\xf8\xd2h\xe7\xedq}\xd1\x85`\xcb\x19p\x9b\x12\xca\xef:\x9e\xe3\xb4\xdeO4\x0d\xcc,\x1aP\xfa\x81\xbe\x9ej4(\x1a\x10Rj\x0cqG\xdaP\x8b:\x18\xb5O\xa6\xdbN\x0f\xb1[yl\xd2\xae\x01mn;\x9c\x8f\\MC|\xd1y\x0f\\y\xab\x92\x02}\x81\xa4*\xd1\x83\x99\xc5\xa4\x7f\xdd7\xca\xd7o\xd6\xf9'9\xbf\x91`\xadk\x9c\\r\xee\x0aF\xe8J|\xa3\xdeFy9g\xc2J|#\xb7\x18\x15\xe2V\xe2\x87\x1c\xeeC\xf5\x19I\xc9\x1d!u%~K0xU8$\xe4\x8c\xe3\xfe\x8e^_r\x90\xaf\x05W\xe3X\x95\x07\x00{\xe2\x160r\xed\x85\xca\"\xef\xf6S\xeaJ\x88\xcb\xcfV\x14\x95\x1d\xbcl\xdd\xa1\x0b\xd8\x0ds\x9a_H\xf6\xb7\x83e\xde\xed\x17>\x16\x04,0\xeaKs\xac\xed\xd7\xbeOI\xc2cD,\xb2X(M\xf9\x97\xdeh\x1cX\x97\xe1\xd4,#;2\x1c\x0f\x0e+\x1b\xdf\xa6VE\xb55\x0c\xf8M\xe9\xf1jgV\x95L,p\xb6F\x16'\x0a\x0f\xb9S2\x0b\x07\xad\x06\xa4\xc3\xd5\xaen\xdcJW\xb2J\x9d\x8a+\x99a;\xaa>DXB\x7f\x9ci\xc9\x91\\\xfe\x0e\x8fT\xc8\x17\x9d\xf7\xc0\x97\xf7X\x9e\xb6\x0e\x8c\xf3`f\xd1\x80\x10\x9dj\xdaF\x9fg4\xfd\x0e(\x86ud\x87\xf2\xefY\xfa,\xa4:\x85\xce\x97\x97s\xa6>\x0b\xa9\xf8a\xb3\xf2zn1*4\xca=\x0b\x19.\xcd\xc8\xde\xd3\x91\xac\x14\xbdZ\x9b\xf8\xf2\xf3Y\x10\xfa,\xa4#\xb34$\xd4\x82\xabq\xac\xca\x03\x80=v\x02\xb6\xd4\\\x8a\xe31\"\x81\xc0|\x16x'Z\xa4\xebD+/\x00,1+M\xc0\xea\xd1<C\xdb\xd6\xd4\x90\xf81\x05!2\xa6\xb2\xe8\xcf\xf6,*\x20`\x000'+J\xc0Bc]\xab\xa4Y\x03\xbcE\xc4\x14\x84\x07\xb5\xd1\x8eu>\x7fe\x01\x02\x06\x00s\xb2\xa2\x04\xac\\Q\x94\xbb\xd8d\xd5\xd9b\x95p\xaf\xca<\xc6\x9fK\x0e_^\x00\x00\xa2\xb0\xa2\x04\xac)\xd55\xcf\x01\xe4\xbc`\xb3\xc5cvV+\x87D+/\x00,9+J\xc0\x00\x00\x00\xe6\x03\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\xcb\xe2\x0a\x98\xfe(\xd1\xdc\xdc\x8d\xb8\x90\x00\x00\xfc\x00\x01\x01\x03\x00\x20aY\\\x01\xbb\xfc\xeb\xf3v&\x04\x04\x0c\x00\x80Ebq\x05,>@\xc0\x00\x00X\x14\xee\x15\x01\xdb6\x9fg\xba\x01\x00\xb87\xb0\x13\xb0\xdf\xe0S\x17*\xbd?\xb9F\xc8\x8d\x17+\x8b6\xed\xbd\xa0\xfe|\xedH\xe5\xfaM\xfb\xd4W\xdcs;\xe8\x1c\xd8\x1b\xfa<\xd8\xb3\xec\xa5\x86B\xb2\xcf\xf7n*~\xea\xa2E\xc0\xc2\xe5NG>\x8da\xd3\x82r\xd5\x1f\x0f\x08/5\x8c\x870\x0a\x90Z\x94\xd4eg\xb7x\xf4$k\x8f\x83'w\xdb\x99\xce\xcbv\x81\x1cB)\xf4\x95\xb6}\x0et(\xbaA?+@\xc6C1\x1f\xfeT\xdf\x07v\x08\xa9\xef\x03\xb3a\x84{\x1f\x98\xc2X\x0a;u\xf4}`\x8e(\x19\x84|i\x99\xfe\xc1L>V\x0b\x00,\x0a\xf6\x02\xf6\xa2\x17\xe3\xe2\xdb\xe4B1\xf6n\xad\xc4\xf85\xfa\xeby/.\xde^\x86Yl\x0f~\x07\x15\xb0\x7f\xe0\"\x16|\xe8v1}\xa9\xa1\x90\xec\x14\xc6\x15[\x8b\x8av\x0b\x02\x96\xebD\xb9\x1e\x84\xca\x09\x99H\xd1\xa2B{\x84\x97\x1aF\xe5\xac\x18\x97\xa3j\xd5\xb7\xf4\xd9g\xeeIp\xce\xc0b;\x9b\x85\x184\"\xed\xf5\xa3(v\x04\x0a=Y<\xb6\x0bD\xcfb\xc2\xef\xf0)\x1f>\x88\x9f\x8f(\x00\x00\x09tIDAT\x87\x7f\"\xba!}#kp\xf0\x98G\x0c\x8a\xc9!\xbc\x915\x06\xc6q\xe0\xde\xc8\xca\x18b\xef\xc4god\x9d\xfd\xf8\xf9@\xda\x9a\xe3\x9dyh>/n\x03\x80\xf8\xb0\x170\\y\xfe\xc2ir\xa3\x18\x1f\xbd\xadt\xa16\xd10C\xdf\x15\xe3\x97\xd9;\xf1\xbd\xdf\x8b;\xd8]\xc8\x9d4\xae-\x8d\xfe\xb8\x95\x88{/\xe2\x07N\xdf!\xdf?ey'~\xb6\xd2\xa4\x06\x1c46D\x09\xa21\x1d\xc8H\x1c/5\\\xe3\xe7\xbf\x85\xd5\xf0\xb8\xfc\xdbg8\x03\xd16\x0a\x0b1h\x91\xb4\x17\xc0\xa7\xf2Q,E\xf4d\xf1\xd8.\x10\xa3d\x81\x12\xc7\x14\x99t\x94\x04b\x9a\xb2\xa33\xe5\x16b>\xf1\x08\x91\xb9\xa3\xc3\x1f\x87aA\xaa\xacQ\x898&\xd3K#\xf4\xcd\xfe\x20`\xc0\xe2\x13\x87\x80\xb1\x97C\x1f\xc5{\xd9\xf7\xf7\xf1\x8f\x09yY\x0d\xd7Mv+R%\xec`\x02vZ\xdd{\x10\x9f\xb2$;\x88\x8f\xd2\xed\x9be\xa2\x80\xb1\x06s\x0ce+C-U\xb9v\xa1\xd8\xadPG\x0ctV\xad\xbeE\x8c\x17\xb0\xa8a\xd5b\xb0\x10\x83HXk\xad\xe1\xd8\xefD\xd4\x93\xc5c\xbb@\xb8\xb0j\xbe.r\xc2\xe7\xb7\x110\xd2\x90:\x13c\x7f\x1c\x02\x16=N\x1ce\x0e\x01\x0b\xa4\xb2\xb1c3\x08\x18\xb0\xf8\xd8\x0bX%\xfb|X\x0b\xf0x\x9b\x86\xaa\xdd\xa2}\xb9q\xe3\x8e\xb8\x83\x09\xd8\xcd\"\xfcO\xe5_/\xfd\x97\xdf{g#\xbe\xc8\xbe\x1c\x15\x04l-\xfb\x9cJR\xae\xef\x88\x93^\xfe3.\xf3R\xafE)\xedu9\x0e\x9f\x1aO\xe3DAZ\xce\xe3\xb7\x08\xe9\xd5\xa6\x94\xf25\xab\xb1\xe4]\xecS\xda\xa3\xd9r\x06\xdcf-Jn\xadqg\x94\x8a\x0dIt\xa6gAH\xd0\xe7Nq\x95d\xcf\xce\xcd\xc4l\xad\xf6\xc94\xdb\xd1d\x84\xea\xc3U\xd9\x8e\x0d\xd3djs\x96\xe4.\x1d%\x96j\x1a\x1e\xc4\xf2\xb6\xe5k\xef\xc47=\xf0Y\x04\xfcm\xe5\xa4\xe4\x15*`\xa6\xdfP2\x8d\xcc\xe8F\xc8\x19\xd1\x05\xac19\xc2\x95\x97/\x8e\x20`zn\xb6\x15\"D\xae\xcar\x96[\xc3\xaaq\x87D\x8b\x0b9\xd1\x1c\xe1\xfcr5\x8e^y\x00\x88\x07{\x01c\xdd\xa9\x9b\x18o\xd9\xce(\xc2\x17\xc8z\xfc7}\xbf\xb8C]\xc8\xba\x8f\x8e!\xdf\xa7\x09\x85\xbd\xdfc\xac\x86\xf68-\x08X\x9d\xba\x91M\xe3\xcdoC;hD\xae<cw\xa83\x19\xb9\x1a\x9a\xd3Y\xec\xc2\x9a\xa4\x1d}\xad\xae\xfc\x19r+\xc8b\xe9\x04u%\xaa\x91T\x81\x93Pngo\xa6b\xcb\x19p\x9b\xd4Y\xf6\xe1\x9fg\x8b\xd3@\x823#\x0be\x1c\xfbh\xf7@\xbb\x0bM\xcf\xca\xcd\xc4h\xadq$\xd3l#';\xb3s\xd2\xdduU\xe8*\xe9C5\x83'K\x93\x86\xc5j\x9a\x1e\x84\xf2VK\xf5}\xf5R\x95\xe0\x81\xcf\"\xe0\x1fO\x9b\\%S\x013\xfd\xce\x0c5$\x0d\x91\x0et\x82\xaa\x99*`\xf9y|y\xf9\xe2\x84P_$\x12\xe9GBn\xb6\x15\"agNG\xaf\x0fY\x05\xcc\xcc\"\x89\x1b7\x1b~\xb9\x1aG\xaf<\x00\xc4\x83\xbd\x80\xb1\xa8D\xdfa\x93\x8f\x95\xee\xd4\x0d}\xbf\xb0C\x13\xb0\xf3x7!O\xe1\xf7-{\xafa\xac\xa69/\x08\x98\x16Om5\xea&d\x08\xb9f\x88\x1f\xf13E\x92S\x11\xa7*\x17\xa1\xed\x92\xde\xaa\x1cf\xa1\x05\x85\xc1\xcc\xd5\x94Z\xcd6sRi9.b1\xe0\"sgO\x112\xe9.\x20\"\x86\x01\x97E\x9b\x8b6\xa26\xa7\xc5\x83\x80\xdeZ\xe3I\xc6\xc5\x85D>\xa5\x14\xca\xff\x91.:]\x9e\xc7\xe2c\x9b\xd5\xe4=\x98\xe5=\xc3\xbaG\x03\xa8_\xf0\x20\x0c!I\xde\xb65,.$\xef\x97T\x17L\xb8Y\xfcG\"\xd5Gn\x8d\x96\xa3\x0f\xadGRw\x16\xd2zX!!7\xdb\x0a\xad\xf5\xdc\xa2Q(-\x02ff1\xa6E\xfc\xa4\xf0\xb50k\x1c\xa3\xf2\x00`O\x9c\x02v\x93\x0e\x10u\xee\x98A\xd3\xc4\x1d\x9a\x80\xdd\xde\x88\xbf\xff'\xf6\xde\xb4\xecU\xbe\xb0\xdb\x93J\xe7\x8c\x17\xb0\xc7\xd5\x0d7mY\xc4\x83\xceF\x1c\xc9\xfc\xfdv\x16\xb6\x96\xcd\xb0\xf8=\xd3\x14\xb7\x1a\x9c\x9akJ\xb5\xfakK\xa5\x1ab\xcc\xc6D\x1706C\xd4\x86&\x89\x80a\xc0e1\x9e\xe5\xa9=>J\xa6-\x1e\x04\xf4\xd6\x1aO2N\xc0$=\xc4\xf7D\xdb\x06\x8fS\xedo\x9a\xd5\xe4=\x98\xe5\xadQC\xa2\xad\xae\x16=\x08\x02\xd6\x84\x1a\x99\x80\xf1~I$/S[i'QurQ5\x11\x8f\xa4\xee,\x84\x9a\x87\x87\x87[\xa8\x80q\xb9\xd9UhR]uQo\x1103\x8b\xe9d\xf3\xef\x11_\x0b\xb3\xc61*\x0f\x00\xf6\xc4)`\xa4L\x9b\xcc\"\x9f\xff\xe3_\xa4\x12\xabO\x0c}\xfc\xd3S\xe2\x0e\xedY\xc8\x17\xf1\xe9\xd3\xf8Yk\xb2;\x9b\xb0\xbap\xec5A\xc0\xd4\xbbb\x93\x08\xd1a`\x03\xaa\xed7\x02\xc72\xcc\xa8\xcdyZ\x0f\x81\xf5,\xb8\xa6$K\xfa\"V>2wt\x01c\xa3\xa8AdY\x15a\x18\xf0YL\xb6o\xceE\x99\x8d\x16\x0f\x02zk\x8d'\x19'`\xfad\xdap\xa6{OOp\x9d%27\xef\xc1,\xefZU\x85J\x0a\x04\x0f\xa2\x80M\xec\x99`\x02\xc6\xfb%\xa4[_\x93\"\xd5\x0c\x0f\xab\xc3?\xf1H\xea\xce\xb890>7\x9b\x0a\x8d\xa8\xee\xad\x93\xf8\\\x16\xda\x1c\xd8\xf4\x80\xe87jdn!7\x00\xb0%^\x01{\x0eo\xbfC?\xff@\x97N\x1c\xd5\xd6\xaa\xee\xc5o\x88;4\x01\xbb\x88\x9fz\x0a_\x98\x95\xec\x05U\xd4nW\x0a\x02\xb6\x8a\xcd_\xfdB\x8d\xba:\x86\xdc\xb5\xe8$\xe10/\xee*\xcf\x08\x83-tbM\xa9\x83\xf5\x1d\xea\x92.\xcd\xb2\x15\x0c\xccM\x89M\xb8\xb5#\xcbJ'\xc3\x80\xcbb\x84ve\xa6:\x1dm\x16g<zk\x8d'\x19'`\xe5\xdaFn\x01\x9d\xd6.\xb7\x08\x18\xef\xc1,o\xb5\x87%\xf1T\x0b\x1e\xb8,\x02\xea\x0a\x07*`\xbc_\"g\xd6g\xab\x1dN\xf3\x1e\xadx$ug\x9c\x80q\xb9\xd9Uh\x12\xb1=\xd6I|.\x8b\x80\x83\xf5\xa8\xbb\xd0\x84P\x8b\xa8\x02&\xe4\x06\x00\xb6\xc4+`\x97\xbd\xf8\x05e\x00xq\x13\x15\x9f\x1b^\xfc\x06[\x07V\xfc\x9d\xb8C\x7f\x1bEeQQ\xc5\x9dY\xc9\xae\xad\xc7\xbf\xbeCn\x1e\xb4\xac\x03\xcbS\x14\xec\xa4\xa4\xcd\x94\xdc\x8f\x1c\xe9\xc2Z\x03\xf3\xe2\x1e@l\xa1}=\x9b\xd1),$\xe4[\xf6\xc37\x92\xb1l\x9f\x170\xd3\x80\xdb\x942\xa7\xe8\x8a$k,5\xc3\x80\xcb\xa2\x01\x9da\xbb\xb6Y\x9c\x91\xb1\xc3\xba^\x1a\xad5\x9ed\x9c\x80\xe9\xdd\x187\x95\x8e\x99<\x8b\x80\xf1\x1e\xcc\xf2\xf6\xb1\x09\xabN\xd4'x\xe0\xb2\xe0\x04\x8c\xf7;]PO\xb6\xf9f\x8c,\x18\xc2\x914\x9cq\x02\xc6\xe5f[\xa1\x02\xb7\xa2\x8f\xe1U\x16\x01\xe3\xb2\x98L/W\x86\x843\x85\x1e\xb1\x16Q\x05L\xc8\x0d\x00l\x89W\xc0\xc8\xf9\xf5\xd8\xbb\xbd\x12\xe3\xdd\xf4N\xe2\xf9\"\xbcq\xfb&\\t\xde\xb2C\x17\xb070{\x8c\xc8\x9a\xec\xe3\"\\\xf6\x13/\xde'\x08\x98/5\xe5>7\xd2\xe7\xf2\x8f#\xe11\"5\xb2\xd8HuJP\xa6A\xb8\xfd'{\xab\xd1\x09\xba\xa3Aj\xee\xf1\xa5\xd1\xce\xdb\xe3\xfa\xa2\x0b\xc1\x963\xe06%\x94\xdfu<\xc7i\xbd\x9fh\x1a\x98Y4\xa0\xf4\x03}=\xd5hP4\x20\xa4\xd4\x18\xe2\x8e\xb4\xa1\x16u0j\x9fL\xb7\x9d\x1eb\xb7\xf2\xd8\xa4]\x03\xda\xdcv8\x1f\xb9\x9a\x86\xf8\xa2\xf3\x1e\xb8\xf2V%\x05\xfa\x02IU\xa2\x073\x8bI\xff\xbao\x94\xaf\xdf\xac\xf3Or~#\xc1Z\xd78\xb9\xe4\xdc\x15\x8c\xd0\x95\xf8F\xbd\x8d\xf2r\xce\x84\x95\xf8Fn1*\xc4\xad\xc4\x0f9\xdc\x87\xea3\x92\x92;B\xeaJ\xfc\x96`\xf0\xaapH\xc8\x19\xc7\xfd\x1d\xbd\xbe\xe4\x20_\x0b\xae\xc6\xb1*\x0f\x00\xf6\xc4-`\xe4\xda\x0b\x95E\xde\xed\xa7\xd4\x95\x10\x97\x9f\xad(*;x\xd9\xbaC\x17\xb0\x1b\xe64\xbf\x90\xeco\x07\xcb\xbc\xdb/|,\x08X`\xd4\x97\xe6X\xdb\xaf}\x9f\x92\x84\xc7\x88Xd\xb1P\x9a\xf2/\xbd\xd18\xb0.\xc3\xa9YFvd8\x1e\x1cV6\xbeM\xad\x8ajk\x18\xf0\x9b\xd2\xe3\xd5\xce\xac*\x99X\xe0l\x8d,N\x14\x1er\xa7d\x16\x0eZ\x0dH\x87\xab]\xdd\xb8\x95\xaed\x95:\x15W2\xc3vT}\x88\xb0\x84\xfe8\xd3\x92#\xb9\xfc\x1d\x1e\xa9\x90/:\xef\x81/\xef\xb1<m\x1d\x18\xe7\xc1\xcc\xa2\x01!:\xd5\xb4\x8d>\xcfh\xfa\x1dP\x0c\xeb\xc8\x0e\xe5\xdf\xb3\xf4YHu\x0a\x9d//\xe7L}\x16R\xf1\xc3f\xe5\xf5\xdcbTh\x94{\x162\\\x9a\x91\xbd\xa7#Y)z\xb56\xf1\xe5\xe7\xb3\x20\xf4YHGfiH\xa8\x05W\xe3X\x95\x07\x00{\xec\x04l\xa9\xb9\x14\xc7cD\x02\x81\xf9,\xf0N\xb4H\xd7\x89V^\x00XbV\x9a\x80\xd5\xa3y\x86\xb6\xad\xa9!\xf1c\x0aBdLe\xd1\x9f\xedYT@\xc0\x00`NV\x94\x80\x85\xc6\xbaVI\xb3\x06x\x8b\x88)\x08\x0fj\xa3\x1d\xeb|\xfe\xca\x02\x04\x0c\x00\xe6dE\x09X\xb9\xa2(w\xb1\xc9\xaa\xb3\xc5*\xe1^\x95y\x8c?\x97\x1c\xbe\xbc\x00\x00DaE\x09XS\xaak\x9e\x03\xc8y\xc1f\x8b\xc7\xec\xacV\x0e\x89V^\x00XrV\x94\x80\x01\x00\x00\xcc\x07\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96\xff\x0f}\xc6-\xc8\xe3>\xf6\xcf\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/chan2a.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\x89\x00\x00\x01\x95\x08\x03\x00\x00\x00M@Q-\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x0a\x03\x01\x04\x06\x02\x07\x0a\x06\x0e\x10\x0d\x0d\x12\x14\x0e\x12\x1d\x11\x13\x10\x16\x18\x15\x1b\x1a\x13\x13\x1e7\x1f\x1f\x18!#\x20#$\"%$\x1d%%\x1e$%#%'%'(&+)\x1e()'*+)/,!+-*,-+-/,02/63(241564796<9.9;8<=;=>FA?3>@=#CxDA5AB@DFCFHEKH<MH7IKHKLJNOMUP?PROSTRUVTWXV]XG<Z\xa5_ZIY[Y,`\xae7]\xad[]Z\\^[9a\xab;b\xac<c\xad_a^faO]ao>e\xafac`hcQbdaAg\xb2efdCi\xb3ghfMj\xafEm\xb1qjRikhIp\xb4lmkLr\xb7npm{s\\rtqWv\xb6tvsuwt\\z\xbaxzw]~\xb8e|\xb8\x84|dX\x80\xbf{}za\x7f\xbf|~{~\x80}b\x82\xbc\x7f\x81~d\x85\xbf\x82\x83\x80\x83\x85\x82m\x87\xbdh\x88\xc3\x90\x86hj\x8a\xc4\x87\x88\x86r\x8c\xc1\x89\x8b\x88t\x8e\xc4\x97\x8do\x8c\x8e\x8bz\x8f\xc0\x8e\x90\x8dx\x92\xc8\x90\x92\x8f~\x93\xc3x\x95\xc4\x92\x93\x90\x81\x95\xc6{\x98\xc8\x94\x96\x93\xa0\x96w\x96\x98\x95\x82\x9a\xc4\x97\x99\x96\x83\x9c\xc5\x86\x9b\xcc\x80\x9d\xcc\x9a\x9b\x98\xa5\x9b|\x87\x9f\xc9\x83\xa0\xcf\x9c\x9e\x9b\x89\xa1\xcc\x9e\xa0\x9d\xaa\xa0\x81\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x91\xa5\xca\xae\xa4\x85\x8f\xa7\xd1\xa4\xa6\xa3\x94\xa7\xcc\xa5\xa7\xa4\xb4\xa7\x83\x92\xaa\xd4\xa7\xa9\xa6\x97\xab\xd0\xa9\xab\xa8\x9d\xad\xcc\xab\xad\xaa\xa5\xad\xc1\x9f\xae\xce\xbb\xae\x89\xad\xaf\xac\x9e\xb1\xd7\xa2\xb1\xd1\xaf\xb1\xae\xa5\xb4\xd4\xa2\xb5\xdb\xb3\xb5\xb2\xc3\xb6\x91\xb5\xb7\xb4\xac\xb7\xd2\xa9\xb8\xd8\xb7\xb9\xb6\xb9\xbb\xb8\xad\xbc\xdc\xb1\xbc\xd7\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xb7\xbf\xd4\xb1\xc0\xe1\xbf\xc1\xbe\xb6\xc1\xdc\xb9\xc1\xd6\xce\xc1\x9b\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xba\xc5\xe0\xc4\xc6\xc3\xc6\xc8\xc5\xc0\xc8\xdd\xbd\xc9\xe4\xd8\xc9\x9e\xc6\xca\xda\xc0\xcb\xe6\xca\xcc\xc9\xc3\xce\xdc\xbf\xcf\xe2\xc8\xcd\xdc\xcd\xcf\xcc\xc8\xd0\xe6\xcc\xd0\xe0\xcf\xd1\xce\xc6\xd2\xe0\xdb\xd2\xa5\xe1\xd1\xa5\xd1\xd3\xd0\xd2\xd3\xdd\xd3\xd5\xd2\xcd\xd5\xeb\xce\xd7\xdf\xe6\xd7\xab\xd6\xd8\xd4\xd1\xda\xe2\xd8\xda\xd6\xd8\xd9\xe3\xd6\xda\xea\xd3\xdc\xe4\xda\xdc\xd9\xd8\xdd\xe0\xd2\xde\xec\xdc\xde\xdb\xdc\xdd\xe7\xe0\xde\xe2\xdb\xe0\xe2\xde\xe0\xdd\xf0\xe0\xb3\xd5\xe2\xf0\xe0\xe2\xdf\xde\xe3\xe5\xde\xe2\xf2\xe2\xe4\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xec\xe7\xe9\xe6\xe8\xe9\xf3\xe2\xeb\xf3\xe9\xeb\xe8\xec\xee\xea\xe6\xef\xf7\xe8\xf1\xf9\xef\xf1\xee\xf0\xf0\xfb\xf2\xf4\xf1\xf1\xf6\xf9\xf4\xf6\xf3\xf7\xf9\xf6\xf5\xfa\xfd\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf9\xfe\xff\xfc\xfe\xfb\xfe\xff\xfc\xfa<^\xc5\x00\x00\x20\x00IDATx^\xed\xbd\x0fX\x15\xd7\xbd\xef}^\xdb\xf7\xcd\xed\xdb\xc5y`\x1f\xe9\x16\x0aD\xde\xcb{\xc0s\x94\x83x\xdf\x9b\x8cA\xbc\xafy\xfd\xcbE\xe5`Qo\x8f1\xb4\xc46\x86T\xebc8\xf14\x98\xee\xa6H\x11o\x12RJ\xbc\x1e\"\x09\xdd\x16\"\xd1Rk$\xec<MHKbO\x09I(m\xec\xb17x5h\xaa\xd3\xd4\x1eBD=>\xf3\xbc\xb3\xe6\xefZ\xb3g\xefa#\xcc\xf0\xe7\xfb\xc9\x93\xbd\xd7\x9e\xf9\xad5k\x96{\xbe\xac\xb5f\xf6\xfa\xfe\x854vD\x00\x00\x18\x17\xfe\xc2In\xa2\xe0T6\x00\x00\x8c\x0e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\xd0\xb8\xec\x14\x00\xc0\xc4\x01%\x02\x94\xbe\xa2T\xb2\xdc)\x08\x80\x09c\xda+Q}N\x9fSH\x8c\xf4\xe7\xd4;\x85LB\x94v\x88\\\xf5\xac\xac@\xd3\xe9\x08\xfb\x00\x98x\\W\xa2\xe6\x10}\xbdT]\xa9R\xa3n\xed\x0c4D\xcb$\xfe\xcfG\xd7\xe4o\xbb\x125\xc4\x9e\x1dd\xbbSH\xcc\xec\x88\xdb\xe1\x14\xe2D\xe7b\x7f\xda\xea\xe6\xb4>q\x1d!\xc4\xdf\xa5onJ\x89\xde\x0c\x0c\xf5Y\xb3\xe7\xd5.\x18u\xb8\xd6\x0e\x91\xaa~\x8a4\xdan\x07\xc0%\xdcV\xa2\xbe\xca6\xfav\xbe\xb2\xbdW\xe6X\xe5)e\xeb\x99@Ku\xb4\\\xe2W\x0b\x0e\xef\xce\xff\x20j\x88-\x15qUN!c\xa0!\xbe\xc2)\xc4\xa0\xb9\xddfc\xa3?;\xb0\x7f>!!\xb1'\x18\xdcCZ\xf5\xed\x0d\xfe\xa7l\xa2M\xcc\xc2*Ha\xfd\x16BF[\x0f\xa3\x1d\"T\xbd\x8d\x04\xed6\x03\xe0\x16.+Qo\xad\xaaDb\xe7\x80\xfc2P\xdd\xa2nnh\xea\x89\xaaD\x1f\x08\x87\xc4+\x17\xa2E\xd8\xd3\xed\xbb?z@\x7fn\x7f\xf4\x00{\xca|=N!:\xd9+\xc3\xb7\xf5'\xdd;(\x9f}\x06Q\xfa\x87m\xa6\x129a\x14\xd6E\xca\xe4\xd7M\xa3U\"\xa6\x1d\xec\xab\x1eC\x1d\x00\x98\x08\xdcU\xa2\xe6\xca\xe6@\x9b\xf9\xf1\xe0S\x97\x94\xf7\xce\xaa\x81\xde\xa8J\xf4\xaep4\xda\xee\x88\x14\xa5\x0dD\x0f\xe8$\x9d\xd1\x03\xec\x19H+r\x0a\xd1Y`\xa3D\xf7'*sW\x15D\x19\x96\xc5\xa0\x02Fa\x85)\xb2\x94\x89!\xb2'Z\xb4\x09\xd3\x0e\xf6U\x8f\xa1\x0e\x00L\x04\xee*\xd1\xf9\x01\xb1\xba\xcd\xf8\x14\xaaT'\x93\xcf\x06\xba\xc4(Jtq\x8d\xa0\xb0W\x14\x1f\x15\x84#\xe2\xbby\xc2\x06\x9a\xcc;\xbcwC\xfe\xb6\xdf(1\xef>\xb4&\xaf@K\x9b\x0c&m\xd5\x93]+S\x12R\xef\xe9\xe5vWd6\x84H\xa8!s\x0f_\xc2\x95\xc3\x9b\xf37\x1e\xba\xc2\x1d\x82?\x9a\xdc\xb3H<\xcf\x15%\x16\x93\x84\xc0\xa6L\xff\xe2\x1e\xe5\xd3\x9e\x05\xfe\xf9\xb4\xd4\x06\xa2\xb2@\xd9Z\x9d\xe3\xcf\xdcD%!C\x15\x83\xfe\x0a*'\x86\x0a\x9cI$$N\x9b73b\x99r\xd9\xc2\x92\xd5\x13\xab8\xcd\x1e\x8d\xaf\x83q4\xae\x1dl\xaaNi\x86\x12\x01oqW\x89d\x18%\xaamR\xdf\x1b\xe4\xf7h}\xa27:\x8e\x08\x07::\xde\x17\xc5\xdft\xe4\x1d\x10\xaf\xbc\xfa\xc8\x12Q|\xebH\x9ePp\xe0\x07+\x1e\xa2\x11//\xdb\xfc\x83\x13\x07\x84g-\x19\xdbI\xb3\x96j\x9e\xb3`G\xd3v\xcb`\xa6\xb7\x90d\x91yde\x0f_\xc2\xee%\xfb\x8e\xef[\xb2\x9b;\x04w4\x99\x16\xeb\x95\x1b\xaa\x89')\xdb+\x92\x94;\xe1\xeb|e\x0de\xbeB\xb9\x03\xd2\x12\xcc\\\x18\x0c\x06\x95QXQ\\ICE\xca\x82\xcb\xe2`\x1cW\x0f\xa3?r,\x18\xf4i\xf3\xebF,S.S\xd8\x19\xc2L\x7f\x19G\xe3\xea`\x94\x20\xb2\xed\x20\xdaT]\xbc\xd4\xd7\x9c\x9d\xec\xd0y\x04`b\xf1P\x89\xba+{\x94\xf7P\xd5@t%bGgK\x0e\xc8/\x07\x96(\xc9\x15r\x0feg\x81\x9c\xba\xb8v\xdbE\xf9\xf5\x88uJ\xbb\x81t\xab\x89\xf3s\x17\xcb\xdd\x8f\xc1Z\xeb\xa4Pc\x02I8(\xf2%\x1c\x17N\xc8\x1bN\x08\xc7E\xf6\x10lR\xa6\x87\x84M-\xfb\x92{\xe8\xa8\x89\x96\xaa\xdc\x88j$J\xc9\xc6\x80\xaaAQ\x8f6\xb2_\xec&\xdc\xbdtvd\x94\xb8\xdd\x12\xcb\x96k\x16\xd6\xa9\xde\xea:\x7f~\x90?\x9a\x19\xcb\x96`\xb6\x03%\xbc\xea\xf7\xca\x1d\xadQ\xdf\x84\x03`B\xf0P\x89\x9aj\x95\xb7\x81@\xe8\xf2\xe5\xcb\xa7\xab\xa3=\xe2k\xafD\xbb\xf5\xe4q\xe1\x0d\xdbl\xf5\xfa\x15x\x90\x9c\xb4\xd9\xdd\xbf\xc97\x97\xa4\xf9\xb6\xf4s%\xec\xde\xa0\xbcmxDd\x0f\xc1&Ez9\xef\xb7\x14&\xfa\xd6\xc9/\xdb}\xf2K\xd1<eC\x16\xdd`*\xd1\xea\x8c\xc1K2s\x8b\xc4\xc1x\xfb>\x91h(\x91\x19\xcb\x96k\x16vV\xd1\x99\xd5\xb2\x824qG3c\xd9\x12\xccv\xa0\x84W\xfdtce\x16\xfaD\xc0[<T\xa2\xaac\xca[w\xa5\x0e?\x8b\xc3b\xafDF\xf2Y\xe1\xa2m\xb6V\xfd\x1a\xaf\x206s#\xe2\x8e\x94\xca\x10\x09U\xa4\x94s%\x94nS\xde\xb6m\x16#\x1c\x8d\xd2FZ,\x85\x89\xca\xc0JQ\x81\x85K\x95\x0d\xf7\xe4\xd0WC\x89\xe6k\xd3<\xf7\x1a\xf3D\x83\x8dZYaJ\xc4\xc42\xe52\x85\xa5\xd0\x89\x9f\xbe:r\xff\x20w43\x96-\xc1l\x07\x8aM\xd5E1H\xda\xc27\x02\xe0\x1e\xde)Q\x7f\xa5\xf6\x87\xba\xbfO\xa6\xb3\xaa/\xca\xb3\xd0\x16%\xdag\xd1\x86\x13\xc2/l\xb3\x0d\xe8\xd3.M\xc4\xee\xa9\x1eqP\xb9wF\xa7\x8d\x99\x12v\xaf\xa7OP^YO\xfb@\x11\x95\xa8\xdcw\xd6Z\x98\xa9\x02E\x19\xca\x86\x0c\xb3O\x148-\x0f\x9a2\xda\x15\xfa\x8d{g\xb5Dy\xb3Q\"&6\\\x89\x94\xc2Ri\xad\xeb\xe8\xc4\x17{43\x96-\xc1l\x07\x8aM\xd5q\xef\x0cx\x8ewJ\xd4]y\x86\xd9<\xday\xa2\xfc\xbd\xb2J\xfc7\x8b6\\((\xa5]\x9a\xc7\xf6Z\xf3\xad\xccP\xc7|\x03i\xb9\xf4\xca-\xd9d\x0d\xe8\xa1\x13+\"W\xc2q\xe1\x88\x9c:\xa2\xce\x13EP\xa2\xcbY\xf7XKbT\xa0A\x19\xff\xecW\xe7^rs\xe5\xce\x0b\xa9\xa539\xb5\xf4sY9}\x9eh\xb9\\\x9d\xcb\xb9\xaa\x86\xd8(\x11\x13\xcb)\x91QX\x97\xf2\xc8t.U\"\xf6hf,[\x82\xd9\x0e\xa2}\xd5\xa1D\xc0s\xdcU\xa2\xf3\xbd\xbdU\xcd\xbdj\xe7'T9hl\xbf,\xf7\x89z#>c\xa8\xde;{\x95vU\xc4\xd2\x82\xa7\x9f\xde,\xe4=\xff\xd6\xfb\x1dy\x8f\xbcz\xe5\x8dG\xf2\xe8=\xb5\x97\xf37\x1c>\xfe\x98p\xd8\x9a\xb3K\xbfK\xd5<;\xeb[\x07KH\xc0\x1a`\xc0\x94\xb0Sx\xe2\xa5'\x84\x9d\xa2\xc8\x1c\x82;\x1a\x1d\xedY\xfbX\xbd\xc1\x84u\xadb\xfb\xba\x84\xa0<\xc6,\x8c\xbb\xbf\xe1\xfe\xb8Be\xc7v_E\xfd\"\x7f\x8f\x9c\xba\x9f\xac\xae\xad/\"Tr\x1b\xfd9U\xf5w\xc5\xcb\xc3$\xe5\x19\xeb\x8a`P\xee\xe7\x0c\xb6\x06\x83\xbeu\xc1\xe0Y6\x96+\x97)\xac\x82\x145\x14\xa9\xcfX\x1bG\xe3b\x99\xa31\xed`Wu\xca1\xbb!\x1b\x00\xee\xe1\xae\x12\x1dS\xe6\x83\x02\xca\xf0\xa0\x9b\xb9\x85\xd3\xcb\xfc\x04-\x8c\x8b+\x94\xc7\x89\xf2\xde\xa6\x1f\xde-\xcd_\xb6m\x9f\x20<\xfa(\xdd\xf4\xcbe\xf2\xeb\xa3\xf2\xe6\xb7\x1f^\xbbl\xb3\xdeob(\x9b\xad]a]+\xe7&\xe5\xd4\x85\x07\x18\x98%\\9\xb4Q\x7f\x9e\xc88\x04\x7f\xb4`\xe2\x16k\xf6bBHB\xa7_~-\x96?U\xccW\x9f\xf0\x91\x19,IN\\\xd8\xa6$\x1bsS\x92\x17*7\xd4\xc4\xce\xbb\xfc\xa9K\xe9C\x95\xeb\xb4\xf9\x1cy\xd8\xd5\x16\xa7&+\xd9X\xbe\\\xa6\xb0\xfa\xac\xc4\x9c\x83s\x95\xd2\xf4\xa3\xf1\xb1\xcc\xd1\x98v\xb0\xa9:\xa5/~\xe5\xa9>,\x0b\x02\xbc\xc3]%r\x9fM\xbeZ\xa7\x90\x98\xd9\xef+\xba\xe4\x143\xd9\xd0\xda!b\xd5\xeb\xb3\xb4\xd9m\x00<a\xba+\x91X1w\xdcW\x05I\xbb\xed\x9f\xe2{\x80\xd2\x0e\xd1\xaa\xdewj\xbc\x1b\x0a\x80\xd13\xed\x95\x08\x000\x05\x80\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x91\x0b\x1c\xdd\xfc\xfb\xa9jb\x0d\x80;\xb8\xaeD\xe1n\xd4\xe7\xab\x94T\x95\xb9\\\xd1\xa4\xe6\x17t\x89\x92\xddQ\x02\x0e\x0b\xcaZk&O\x0b\x07\xe8\xdaJ\xe3`b\x0d\xc0t\xc5m%\xb2q\xa3>Sy\x92\xa6\xa7\xca/\xc1\xff\xf0\xea\xc6\x8d\x1d\xbf\x8e\x12\xf0A\xc7\xe6\x03\xec\xe7C\xc2\xf3j\"\x16\x13k\x00f\x16.+\x91\x9d\x1b\xf5\x99\xca\xd3\xd1\xb2L>\xbeZ\xea\x10\xb0\x8dU\xa2w\xf3\x9e\xd0\x931\x98X\x030\xb3pW\x89l\xdd\xa8\xa7\xb9\x12\xed.\xb8\xa0'c0\xb1\x06`f\xe1\xae\x12\xd9\xbaQ{\xa8D\xe1&\xd6\x7fX\x93\xb7om\xc1\xcb\x8f\xad(\xbd\xc0z_s0Jd8Ws\x85\xc9J\xf4\x98\x20\x08\xf9\xbf\x93\xd3\x17\x971\xeb\xfc\xdb:A\x03\x00\\V\"\xd1\xce\x8d\xfaLe\xd3S\x955A\x0f\xaeQ;\x13\xeb\x97W\x08{K\x855O\xafy\x96\xf5\xbe\xe6`\x94\xc8p\xae\xe6\x0a\x93\x95\xe87;\x85g_\xa3\x9b\xdf\x10:\xcc\x9c\xe1N\xd0\x00\x00\x8a\x87J\xa4\xbbQ\x9f\xad\xac>\xd5\x13\xaa\xdd\xef\xfa\xbd3{\x13\xeb\x82\x9d\xe2q\xe1\xa8\xb8\xdb\xe2w\xc6`*\x11\xe3\\\xcd\x16&+\xd1\xb3K^\xd2C\xde6s\xda\x98X\x03\x00DO\x95Hs\xa3\x16\xc5N\xda\x1d:_\xe5zw\xc1\xde\xc4\xba\xe0\x88\xf8\x9apA|b\xa7\xe8\xacD\x8cs5[\xd8\xb6\x03\x07\x0c\x83\xb6\xa3\xc2\xbbfN\x1b\x13k\x00\x80\xe8\xa9\x12in\xd4:\xc1h\x1e@\x13\x82\xbd\x89u\xc1q\xf1\xb5<qtJ\xc48W\xb3\x85m+X\xb1\xe1!u\xf2H|Ux\xd5\xcci\xeb\x04\x0d\x00\xf0P\x89\x0c7\xea&\xc5+Uln\xb0\x8d\x9f@\xecM\xac\x0bN\x88\xaf-a\x95h\x9f\xbd\x12]8\xf0\x01\xeb\\\xcd\x16\xb6\xad\xe0\xadwWh\xb3O\x17\x9607\xd2l\x9d\xa0\x01\x00\x1e*\x91\xe1F\xdd\xa0t\x86\xfa\xabN\xdag\x988x\x13\xeb\xee\x1d\xaa2\xb2J\xc4x_\x9b\x01\x9a\x12\xd1\xa9h\xc6\xb9\x9a-\x8c\xde\xc5?\x9e\xf7\x9a\x1a\xfd\xf0\x86+\xfa\x01\xed\x9d\xa0\x01\x00.+\x91\xad\x1buO\xa0\xb1\xeb\xf4\xb1\x80\xeb]\"\x8b\x89\xf5R\xa2\xc8\xc4[\xab\x9e\xbdp$\xef\xad\x0b;K\x7f\xc3x_3\x01\x7f\xf8\xf9\xc6\x8d\x1d2\x87\xe9M1\xc3\xb9\x9a)\xec\x83\x8e\xcd\x8f\xbcz\xf1\xc2\xb6\x82\x97\x7fO\xb7\xbf-\xfc@?\x9e\xbd\x134\x00\xc0e%\xb2w\xa3\xeek\xaa\xa9j\xe8\x8c\x9ck\xe2`M\xac\xabR\xa8\x0d\xf4\x955\x82pd\x99\xb0\xec\x88\x20<\xc4x_\x9b\x01\xe2[\x82F\xfe\xdb\x8cs5S\xd8a\xba\xf3\x0d\xb9\x00A\x1d\x97\x1d\xc8\xd7f\x8a\"8A\x03\x00\\V\xa2\x19\xc9\x95\xbdy\xca/b\xa7\xa2\x895\x00.\x01%\x9ax\xae<\xbb\xf6wS\xd5\xc4\x1a\x00w\x80\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0DS\x18\xb8\\\x83i\x83\xebJ\x14\xeeF-\x13:XU\xcb\xaf%\xeb\x16\xdd\x09$+lc\x7fqj\xe2=\x97m\xa2\xc7\x87R\x81\xda\x17\xd1eC8\xe3\xb4G\xe8J#\xcc\xa2\xd7V\xe0r\x0d\xa61n+\x91\x8d\x1b\xb58\xd8\x14h\xedn\xaf\xec\x8a\x9es\x82h]\xe7\x0b\xdb\xb6(\xf5[\xeb\x12\xcf\xd8\x04\x8f\x0f\xef\xee\x15^\xbe\x20^\xe8\x10\xf6r\xba\xf3\x9b\x8e\x8eC\xec\xa2\xd7V\xe0r\x0d\xa61.+\x91\x9d\x1b\xb5\xd8\x14\xe8\xa5\x12\x15\x8a\x92o\x02\xd9\x1e\xa6D\xfdD\xbe\xb2\x07\xecb\xc7\x89C\xca\xea\xfb\x7f\x10\x0eYw\xbc\x16M\x89\xe0r\x0d\xa61\xee*\x91\xad\x1bu_\xa5\xb2\x82\xb5Wk\xcd\x87+Q\x17\x99\xe0\x95l\xc7E\x89\xe0r\x0d\xa6\x13\xee*\x91\xad\x1buk\xc0\xab\xa5\x0c{\x0b\xd3\x92Wj\xa3\xb3\xea\x1c\x7f\xe6&\xb9#4\x98B\x146q[O\xc5\x13R\xd6U\x98\x9e\xb8\xd8R\xd71\xf9Y\x9bJ\xf4\xa8\x90wx\xef\x86|\xbd\x00C\x89\xe0r\x0df\x18\xee*\x91h\xe7F]\xdf\x10\xaa\x0b\xd4\xb4\xb8\x7f-u%eV\xd5\xdfE\x14%*\x8a+i\xa8HYpY\x14O\x06\xf7\x93\xed\xc1`\x1f\xb7\xf5|mMzf\xd2\xdcM\x85\xe44W\xc4\xd8\xfc\xacM%z\xebH\x9ePp\xe0\x07+\x1eRw\x18J\x04\x97k0\xc3\xf0P\x89t7\xea\xda\x00u\xa3\xae\xa9u\xdd\x8dza\x86\xdc\xdb\xb9<\x9f*Q\x03\xa9\x12\xa91\xa2b\xd1j\x8c\xce\xb8\xad\x0b\xc8\xa2\xb3\xd61\xe4\x18\xfd\xac\xd9\xd1\xd9\x92\x15rogg\x81\xbaCW\"\xb8\\\x83\x99\x86\x87J\xa4\xbbQ7(^\x1f\x03U\xc6\x0e\x978C\x02\xf4\xad\x8c*\xd1\xea\x8c\xc1K2s\x95\xf9\x16C\x89\xb8\xad\x0b||w\x882F?kN\x89v3\x01\xba\x12\xc1\xe5\x1a\xcc4<T\"\xdd\x8d\xbaY\xb5\xa1nv\xfb\x01\xbdc$H\xdf\x94\x19\xeb\xf9\xea\xe4\x10\xb9\x97n1\x94\x88\xdb\xba\x20;\xbc\x881\xfaY\x1f\x16h\x0f\xe7\x82b\xb4\xc6\x05\xe8J\x04\x97k0\xd3\xf0N\x89\x0c7\xea\xf6*\xe5!\xc2\xa6\x09\xbea\x15F?\xd9C\xdf\x94\x19\xeb\xc2\x8cv\x85~\xba\xc5P\"n\xeb\x82\x95\xe1E\x8c\xd1\xcf\xbaC\xc9\xa6\xce\xf4\xd8*\x11\\\xae\xc1L\xc3;%2\xdc\xa8\xfb\x95\xbb\xf8g\x03\xae?d\x9d3W\x96\x98\xae\xd9T\x89\x1aI-\xddRVN_\x0d%\xe2\xb6\xda)\xd1\x18\xfd\xac/\xac\xa2C\xb2\xdd\xab\xe8mx[%\x82\xcb5\x98i\xb8\xabD\xb6n\xd4\xe2\xb1\xc0\xb1\x9e\xce\xea:\xd7\xef\xe5w\xfa\xe7\x96\x97%\xc7\xc5W\x85D\xf1~\xb2\xba\xb6\xbe\x88T\xeb\xf7\xce\xd4{Q\xc6\xd6K\xad\xc1\xcc\x85\xc1`\xb7\xb5\x881\xf9YS\x8dy\xf4\xf8\xa3Tm\xde\xef\xc8{\xe4\xd5+o<\x92\xd7\xf1\xbe\xf8k\xfa\x8c\xf5\xb3\x1d\x1d\xbf\x16\xe1r\x0df\x1c\xee*\x91\xbd\x1b\xb5\xd8U_Uw\xccu!\x92\x8f\xbb49}KU<)\x96\xd3\x8d\xb9)\xc9\x0b\x0f\x8a\xe2`\xb225\x14\xaf>\xf1\xado=\x15\xa7l\x0d\xefz\x8c\xc5\xcfZ\xe6\xf8\xe6e\x9b\xe5\x0e\x0f}\xe0H\xc8\xfb\xe52\x81\x06\xec\xd6\\\xae\x1f\x16\xe1r\x0df\x1c\xee*\x11\x18G\xe0r\x0d\xa6\x11P\xa2\xa9\x0b\\\xae\xc1\xf4\x01J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x98VL\x9cM\x1d\x98P\xa0D`\xfa\xd0W\x94J\x96;\x05\x81I\x09\x94\x08L\x1f\xb2\xb2\x02M\xe1k\xfc\x82\xa9\x80\xebJ\x14\xe6Fm1\xa6v\x97\xa6\x14c\xa5\xc8\xb1XP;\x19H3\xbc|\xb7Pz\x85ZP\xdf\xfdr\xe4\xa0\x13\x05\xfa2\xd5\xe2\xff|tM\xfe6c-\xb4\xe84$\x8f~\xbdK\xfd\x8c\xd7\x11B\xfc\xe1\xb6\xbb\xfd\x8b\x92w\x84'9F}4\xbeu\x98ss\xe2\xe8\x86\xfc\x8dG6\xbe\xe4\x14\x16\xc6)\xd2\xe8\x14\x02&+n+Q\xb8\x1b5gL\xed6\x0d~c\x95\xa4\xb1XP;\x19H3\\<!\xe4w\x88\x17\x8e\x08',K_\xbf\xcc,@\xfb\xd2\xb2#z\xf2\xab\x05\x87w\xe7\xf3\x9e!\x11\xd9J\xb6:\x85\x18\xe8g\xdc\x13\x0c\xee\xb1\xf1&\xda\x92\xb1#\xae/,\xc91\xea\xa3\xf1\xad\xc3\x9c\x9b-f;\x1c\x12v\x1e\xdd+\x84\xfbR:\xd2\xa6\xaeL\x0e\xa6\".+\x91\x9d\x1b5kL\xed\x1dc\xb5\xa0v\xb0m5\xb9\x20\xec|D\x14\xdf\x15.\x88<\x9b\x1ff>\x18\x9d\xa0\x0f\xe4\x0b\xf1\x8a54\x12e\xa4\xcc)\xc4\x8e6\x1b%\xca.\x17\xfd\xc1\xb0$G,Gc[\xc7\xa1\x83g\xb4\xc3\xdbw\xef\x93_\xf7\x8eI\x89`\xfb6eqW\x89l\xdd\xa8\xadIo\x18\xab\x05u\x0cJ\xf4\xf2\xb2\x0b6J\xb4\x91U\"\x83w\x85Q\x8feD\xb1\x9c\x94;\x85\xd8aw\xe1\xce\xab\xea!]aI\x8eX\x8e6\xea\xd6a\xdaaw\x01\xed5\xfe\x12J4\xb3pW\x89l\xdd\xa8-I\xf78\x93HH\x9c2;\xc5[P3\x84\x9bM[\xb7\xda\x19Hwl[\x9b\xb7f\xdbZ\xc5\x9f\xe3\xf9\xcd\xcb6\xec\xa5\xeasAxw\xe3\x11M\x89\x8c\xd8\xa3\xda\x8a\xb1\x9b\xe5\x8d\x1f\xe4\x0b\x82\xb2\x92\xbexq\x8d\xbau\xaf<\xa6\x91\xdf\xf6\x89Ok{\xec\xab#\xee\x20\xca\x84NO\x92\xe6\x8a\x94\xd4\xc3\xec,&\x09\x81M\x99\xfe\xc5t\x9by\xc6\x14\xbb\x0b\xf7\x9e\xb2{\xe7\x9d\x8aW\x16\xcfe\x92\x1c\xda\xd1\xc4XZ\xc7<7\xa6I\x18+n\xb6\x1dV=\xa1\x84\x1d\xa2\xeby\x1b\x0d\xc5\xd9v\x9b\x8d\xca\xd3\x0c%\x9a\xba\xb8\xabD\xa2\x9d\x1b\xb5%\xe9\"\xc7\x82A\xdfv%\xc5ZP3\xd8\x99M[\xb6\xda\x18H\xbfq\xf7\xee#'\x0e\xaf\x11\xfe@\xb7\x0a\x8f\x1d?T\xb0\xf1\x8a\xa2D\x87\xb6iJd\xc4^x\xb5cCiGG\x87\xe2\xe7\xfaZGG\xbe\xbaD\xf5\x1b\x1dG\x84\x03\x1d\x1d\xef\xd3\x80\xb5\x8f\xfe^\xfc\xfd\x81\x15\x1d\x17\"U\x87\xae\xa8_A\xdf\x06\xab*T\xaaX;\xddPM<I\xd9^\x91\xa4\xdc\xdd6\xcfX\xb4W\xa2\xf2$\xdf\xb1K\xf7,l\xe5\x93\x1c\xda\xd1bk\x1d\xf3\xdc\xcc&a\xac\xb8\x99v\xf8@x\xde,\xcch(\xce\xb6\xdblT\x86K}\xcd\xd9\xc9c\x18^\x83\xc9\x81\x87J\xa4\xbbQ\xf3I\x97I\xd4\xafK\xbb\xd1\x99\xbd\xd94\xbf\xd5\xc6@\xfaP\x01\xd5\xa0C+\xae\xd0.\xcd\xf3J\xcc\x11E\x89~\x97\xff;E\x89\x98X\xcb\xe8L\xbfZ\x99\xd1\xd9\x01\xdaOP\x9c\xad\xed\xab#\x13\x20\xeaJ\xfd}\xdd*\x16A\xf5%\xf7\x88ba\x8a\xf6)1\xaa\x12\xed\x20\x01\xf1\xac\xff\xa0%\xc9\xa1\x1f-\x96\xd6\xa1h\xe7\xc64\x09g\xc5\xad\xb7\xc3/\x95\xc6\xb9r\xf1\xe2E\xbe\xa1\xccX\xb6\x04\x93{\xe5\xce\xe0\xd8\x06\xd8`2\xe0\xa1\x12\xe9n\xd4|\xd2e\xa2*\x91\xbd\xd94\xbf\xd5\xc6@\xfa\xd7\x05\xeb\x1f;\xfc\xc6\x15:\xdb\xb1s\xfd\xc5?\xc8\xac\xdd\xad(\x91\xb8\xedYE\x89\x98Xg%\xfa\xcd\xdd\xbf\x14/\xae\xa0W\xa4}ud\xaaH\x15}\xeb&:\xbc\x1b\x92o\x9d\xa8Y\xddR\xa2*Q-I\xde$V\xa4]\xe2\x93<\xda\xd1bj\x1d\x8avnL\x93pV\xdcz;\xa8}\xa2\x9d\xf2P\xed\x04\xd7Pf,[\x82\xc9\xe9\xc6\xca,\xf4\x89\xa6.\x1e*\x91\xeeF\xcd']&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4\xc5\x0f\x0e?\xbcAX\xf3\xb4\xdc'\xda\xa8\xcd\x7f<\xa4*\xd1\x91\x8d\x8a\x12\xb1\xb1\x8eJ$n\xdb+\x1e_A\x0fi_\x1d\x99\x96dUR\x82\x0d*\x96;^\xcaxlTJ\xd4\xe7\xdf\xd4<\xbb;c;\x9f\xb4\xa0\x1f-\x96\xd6\xa1h\xe7\xc64\x09g;i\xb4\xc3\x1a:O\xf4\xfe\x11\xe1\x89\x8b\\C\x99\xb1l\x09\x1cA\xd2f\xdd\x04\xa6\x0a\xde)\x91\xe1F\xcd%\xdd&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4_{BN~p$\xff\x10\xfd\xf3\xfd\x0b\x85\xdf\xa9Jta\xd9\x09\xa5Od\xc6jW\xe0\xe1_\xab\xa5\xd9)\xd1\xd1U\x17\x95\xc1Y\x84\xea83z%\xaa\x97{S\xcb\xd3\x93\xce\xf0\xc9\x08\xc4\xd2:\x14\xa3Od4I\xb8\x12\xd1v\xd8\xbd\x86j\xd9Qz\xef\x8cm(3\x96-\x81\x03\xf7\xce\xa60\xde)\x91\xe1F\xcd%\xdd&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4\x0f\xa8\x13@\xa5\x8f\xd2\xebR\x99\xcc\xd8\xf7\xb4\xaaD\xe2\xee\x9d\xea<\x91\x11+\x87\x95\x8a\xe2\xef\xf59\x0f;%\xba\xb8\xe6\xe8\xaa\x97\xc3\x0f<zF\xafDu\xa4K<IV\x8b\x97\xd3\xbb\x99\xa4hO,\xadC\xd1\xce\x8di\x12N\x89\x8cvx\xfbny\xeb\x95R\xaaDlC\x99\xb1l\x09\x1cP\xa2)\x8c\xbbJd\xefF\xcd&\xddd\xb05\x18\xf4\xad\x0b\x06\xcf\xf2\x16\xd4\x0cvf\xd3\xecV{\x03\xe9\x03\xc2\xb2\x03/\x1d\xdd-P\xf9x\xe2\xee\x9dG\xe4\xe4\x11\xfa\x8c\xf5\x91\x0brV\xe5\xde\x19c6-_\\\xcf\x1e\xfd\xea2\xb9\x84\x8b\xafvt\xe4?\xd2\xd1\xf1\x81~\xef\xecU\xed\xe6\xd0\x13\xebW\xfc!\xbc:\x0c\x0ds\xa2L\xd5\xf6\x06\x13\xd6\xb5\x8a\xed\xeb\x12\x82\xbd\xec\x19+\xcfXW\x04\x83\xdc\xcf\xb4\xfa\xfc+\xeb\xd23}%\xe5\x09}L\xd2R\xa0q\xb4\x18Z\x8797\xb3IX+n\xa6\x1d\xe4\x01\xde\xee\x97v\xab\xcfX\x1b\x0d\xc5\xc5\x1a%X8F<~<\x16\x8c\x1dw\x95(\x82\x1b5\x93t\x936\xd5b\x9aTZ,\xa8\x19\xc2\xcd\xa6\xb9\xad\xf6\x06\xd2\xcf\x97>\xbd6\xaf\xa0T\xfd}\xd9\x89\xd25+J\x8f+\xbf;\x93/\x9d+\x9b\x0b\xaep\xb1\xf2E\xfa\xd8\xaa\xfc\xd2\xd7\xe4\xc4\x1bZa\x87\xc5\x8b+\x94D\xde\xdb\xda\xe1\x04}n\x96\xad\x0e\xc3\xc1\x94\xf0;\\\x06\xc5\xf2\x89%t\xfa\xe5\xd7b\xe6\x8c\x95\xdf\x9dQVr\xc1M\x19)\xc5\x03M\x99\xc9{\xb8$\x8fy\xb4\xd1\xb7\x8eyn\xa2\xd9$\xac\x157\xd3\x0e\xca\xef\xce6\x1f_K;BFC\xf1\xb1z\x09\x16\xfa\xe2W\x9e\xea\x8b\xf1\xa7\x83`\x92\xe0\xae\x12\x81\xb1paI\x94\x1f\xcd\x02\x86\xfa,B\xeeu\x0a\x02\x93\x12(\xd1\xe4\xe7\xc8\x9a?8\x85\x00\x8d\xbeS\x1e<\xac\x0f\xc6\x01(\xd1$\xe7\xe9\x97\xaf|\xf5\x80\x08\xc04\x07J4\xb9\xb9\x20l~\xb4`\x94\x8b\x83\x000u\x81\x12Mr\x0e,+}\xdb)\x06\x80)\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=\xae+Q\x98\x1b\xb5(\x0e\xb4<\x15x\xaae\xc0!\xe34b\x92\x98X\x030yp[\x89\xc2\xdd\xa8\xc53\xd5u\xa1\x9eP]\xb5g\xeb6\xba\xce$1\xb1\xa6|\xf0~\xe4}\xcd\xed\x91\xf7\x010\xbe\xb8\xacDvn\xd4\xc1Z\xea\x1fq\xa9vFy\x9a\x8f\xda\x1cu\x02M\xac\xa9\xb1\xe1\x8aR-y\xf9\xd2\xe5\xcb\xf2\xff\xec\xdel~\x155\x00&\x10w\x95\xc8\xd6\x8d\xba\xa9^\xf9P\xef\x89\xf9\xa2W\xc4\xa0D\x13fb-\xbe\xb5Y\xd0\xbcZ\xbb\xb2\xb3\xb2\xee\x99\x97\x95\xb5\x89\x1d#/\x80\x12\x01\xd7pW\x89l\xdd\xa8\xfb\xab\x9b\xfb\x07\xfb\x83\xd5\xfd\x91rM=Fo\xd3\xec\xa1\x89\xf5\x85\xbd\xc2\xda\x97\xd4\xe4%\x1f\xc9\xcd\x9d\xe5\xcf\xcd\x9e\xf5\xc0ymo\x83\xb6\xba\xec\x02Q<\x15OHYWaz\xe2\xe2K\xc5$\xaeZ\xec\xf6\x91,%\xa6:\xc7\x9f\xb9i\x06\xcd\xef\x81\x09\xc4]%\x12m\xdd\xa8\xcf7UVV6\xea\x97\xc04\x20\x16\x9bf\xafL\xac\xaf\x1c-\xc8{B\xedh]|\xf7\xed\xff\xbd\\\x92B\xc3\xd2\xc8g\x97\xea\x7f\x0f\x06Z\x82\x99\x0b\x83\xc1`H\xfe\xf7\xa9\xadI\xcfL\x9a\xbb\xa9\x90\x9c\xee\x0d&l\x17\xc5\xd6u\x8aQHQ\\ICE\xca\x02,\x1c\x0d\xc6\x01\x0f\x95H\xb7\xa0\x1el\xaa\x0d\xf5\x86j\x9b\xc2\xddF\xa7(\xb1\xd84{fb\xfd\xa8\xb0\xf1--Y*\xfc?\xff\xe7\xacY\xb3\xc4\x95\xb3f}\xa6\x9c\xb9o\xc0\x8c\xce\x16\x90EgE\x91:!\x98\x96E\x0d\x8a\x17l\x1b\xd9/\x02p\xdbx\xa8D\xba\x05u\xb0\x96z\x0c\x0d\xd6N\x1b\x87\x98Xl\x9a=3\xb1~~\xc9\xaa\xe7\xb5\x89\xee\xb7\x8f\x1e\xfd\x1f\xff\xef\xff%+\xd1\x7f\xb8wG\x17\xe3\xf7\xc4*\x91Ow#2\x95hu\xc6\xe0%\x99\xb9E\"\x00\xb7\x8d\x87J\xa4[P\x07N*o'\x03v\xe1S\x91Xl\x9a\xbd3\xb1~w\x9b\xb0Y\xef\x15\x89\x97\xcf\x06d%\x8ao\xefg\x8d\xe7X%\xca\xd6S\xa6\x12\xcd\xd7f\x92`\xa6\x01\xc6\x01\xef\x94\xc8\xb0\xa0\xd6\x94\xa8}\xda(Q,6\xcd\x1e\x9aX\xd3\x99\xa2\xbd\xc6-\xb9Z\xaaD]\xdc\x08YQ\xa2\xc0i#\xa9\xa0(Q\x19U\xa2\xc2\x8cv\x85it\xa7\x01x\x87wJdXP7k\xa3\xb3\xe6\x089\xa6\x1c\xb1\xd84{jb}a\xafPpBK\xdb(Qn\xae(\xf6\x91Z\x9a4\x95\xc8\xbfU\xeeAeS%jTw\x95\x95\x8b\x00\xdc6\xee*\x91\xad\x1b\xf5\xf9\xfd\xb5\x9d=\x9d\xb5\xfb\xa7\xcf\xcd\xb3\x18l\x9a\xbd4\xb1\x96y\xabT\x1f\xe4\xd9(\xd1v_E\xfd\"\x7f\x8fx\xa9U\xb9\x8d\xa6\x0a\xea\xc2\x94\x1d\xe59$\xbe*$\x8a\xf7\x93\xd5\xb5\xf5E\xa4\xdaZ(\x00\xb1\xe3\xae\x12\xd9\xbbQ\x0f\xb6\xd5U\xd5\xb5\xb13\x14S\x9d\xd1\xdb4{ib\xcda\xa3D\x83%\xc9\x89\x0b\xdbD\xf1\x94\xeaa\xad\x0ajWnb\xd2\xe2\xafPkk\xb9W\x94\x9b\x92\xbc0\x8a\x116\x00\xa3\xc6]%\x02.\x12\x9b\x89\xb5\x8d\x12\x01\xe0\x1eP\xa2iKl&\xd6P\"\xe0)P\xa2\xe9\x89\x93\x89\xb5`\xe5\xff\x96\x95\xe8\xff\x80\x12\x01\xaf\x80\x12MK\x1cM\xac\xa1D`r\x01%\x9a\x9e\xc4lb\x8d\xd1\x19\xf0\x14(\x11P\x80\x12\x01O\x81\x12\x01\x05(\x11\xf0\x14(\x11\x90\x19\xdc\xb3\x92\xfe\x02vk\xcbtz\xaa\x0bL%\xa0D@&G_\x15\xa4\x0eR\x04<\x01J\x04D\xf1\xfc\x1d\xe5\x924$I#w,\x9f9\xbe\x06`R\x01%\x02\xa28@Hn\xee\x1d\xa9\xb9\xd9\xb3\x8a\xf0\xcbz\xe0\x09P\"\x20\x8a\x97\x82s\x93\x933\x93\x93\x93\x17\xb5M\x9f\xdf!\x83)\xc5LV\xa2\x95$\xa50\xe4\x1443\x18\xec\xeb\xee\xea\xee\xee\xea:\x8d\xf5\xf1\x817\xccd%\xeam\xae\xcaJ\xc1\xa5\xa7B\xbd\xce,~g\x00\xb8\x87\xebJd\xe3F}\xf9T}\xa0\xce\x9b\xceI39\xe5\x14\x02\x00\x98x\xdcV\"\x1b7j\xb1\xa1\xaa\xbd\xfbX\xe0X\xf4\x8c\x13C\x1biu\x0a\x01\x00L<.+\x91\x9d\x1b\xf5\xc9\x00\xbd_\xd3\x15\xf0b\x9c\x04%\x8a\xc8,\xcfq\xaa!\x98N\xb8\xabD\xb6n\xd4\x0d\x8d\xca\x87j/:EP\xa2\x88\xcc:\xe71P\xa2\x19\x85\xbbJd\xebF]\x17T>\xd5{\xb1\x0c\xe9)2m\xd6\xf1\x1fo\xa0D\xc0M\xdcU\"\xd1\xce\x8d\xba\xa5Z\xf1\xf6\xa8\xaa\xb3\xcf0\xa1\x0c\xa6\xe4\xb4\xf4\xe0\x86\x91\x1dP\"\xe0&\x1e*\x91\xeeF=P\xd5\xd0w\xbe\xb7\xbe\xb2\xd6>\xc3\xc4r\x90\x10\xb2\xd4)hF\x02%\x02n\xe2\xa1\x12\xe9n\xd4b\x7fCee\xa0\xb5\xa1\xde6~b\x19H\xc9\xa8h\xeev\x8a\x9a\x910J4jQ\x1au\xe0\xb9Q\xc4B\x89f\x14\x1e*Q\x959E}\xbe\xff\xb2\xa8\xdcGs\x9b6\xd2\xe4\x142S\x81\x12\x017\xf1N\x89\x0c7jQY\x9e\xabK\x9d\xbev\x19\xdc;\x8b\x08\x94\x08\xb8\x89wJd\xb8Q+\xb7\xd0\xce\xd6xr\x13\x0bJ\x14\x11Y)~\xfa\xb7w\xcc\xfa\xc2?\xc9\x9a\xf0\x8d/\xcc\xba\xe3\xef~%\xab\xc3\xd7?\xff\xbf}\xfe\xeb\xf2\x8e;\xe4\xf4\xdf\xc9\xff\xdf\xf13U5\xbe\xf3\x85Y\x9f\xfb\x06\x13(\xe7\xfc\xec\xdf\xfe\x8a\xd9`\x16\xf1\x9d\xbf\x9a\xf5\xf9\xbf?g*\x91V\xe4\xb9Y4!\x97a\x1e\xd5\xa9\x86`:\xe1\xae\x12\xd9\xbaQwU\xb6\xf5\x9c\xacn\xf0\xe2\xc1F\xb1\x15J\x14\x09Y)\xbe\xf0\xe5_\xbd\xf7\xcf\x7f#k\xc2_>\xf3\xde\xcf\xfeNV\x9e\xef|\xee\x99\x7fy\xe6s\xdf9w\xee/\x7fx\xee\xa7\xb3~v\xee\x9f\xffRU\x93\xef\xfd\x87\xef\xbd\xf7\xd3\xbfc\x02\xff\xea\x99\xf7\xfe\xe5\xbf\xfc'f\x83\x91\xf8\xe7\xbf\xfa\xe7\xf7~\xfa\x1f\xff\xdeP\"\xa3\xc8Y\x9f{\xe6\xbdg>\xf7\xdf\x99\xa3:\xd5\x10L'\xdcU\"{7\xea\xf6\xda\xaa\x86\xf6\xc8\x99&\x8c\xc1\xde\xf6\x95\xbe^\xa7\xa8\x99\x8a\xac\x14\x9f\xd1z<\xb3~(\xbf\xfc\x8b\xdc\x0f\xfa\xe2w\xa8v|\xf1\xdc\xb9\xff\xf2\xe5s_\x9e\xf5\x8ds\x7f\xff\xff\xa9\x01_\xfc'K\x20\xe5_>\xc7l0\x12w\xd2\xc4\xcf>o(\x91Q\xe4,%q'sT\xa7\x1a\x82\xe9\x84\xbbJ4\xb9\xb8\x97\x90t/n\xd8M\x0dd\xa5\xf8\xafw\xfc\xe7oPYPEC~\xfd,\x1d^\xfd\xea\xb3r'\xe8\xaf\xcf\xdd\xf9\x9f\xfe\xe6\xdc\x17\xbf\xa7\x89\xc6\xaf\xce\xe9!\xea\xeb\xcf\xfe\xe6\x8eY\xb3f1\x1b\x8c\xc4\x1d\xea/9\x0c%2\x8aT\xca\xf8\xd5\x1d\xccQ\x9dj\x08\xa6\x133Y\x89\xfa\xda{\x9cBf0T)~\xf8\xe5\xbf\xfd\xec\x97\xed\x94\xe8\xbd;~\xf6\x99\x9f\xdd\xf1\xb3Y\xef\xa9rr\x87U\x89\xee\xfc\xaf?;\xf7\x9e\xad\x12\xcd\xd2z<\x91\x95\xc88\xaaS\x0d\xc1tb&+\x11\x88\x86\xa6\x14?\xfd,##\xc6P\xea\xdc\x9d\xff\xf9?\xca\xff\xdf\xa9\xa9\xca\x9d\xfa\xe8L\x7f\xfd\x8c,Q\xcf\xd8*\xd1\x17\xbf~\x8e\x8d\xb5\x19\x9dQ\x94\xa3:\xd5\x10L'\xa0D\xc0\x1eY)\xfe\xfa\xbf\xbf\xf7\xde\xd7\xbf\xc0\xc8\xc8w\x94Ye*\x19_\x9e\xf5e\xe5\x7f\x95g>\xa7\xcdX\xeb\x81_\xf8\xf2{?\xfcK[%z\xe6\x8eo\xfc\xea\xbdg\xfe\xdaP\"\xa3Hu\xc6\xfa{\xccQ\x9dj\x08\xa6\x13P\"`\x8f\xac\x14\xdf\xbbs\xd6\x1d\x7f\xf3SFF\xce}\xfd\xf3\xb3\x94[\xee\xe7~8\xeb\xa7\xe7~\xaaLC+\xfc\xd3_\xa9w\xf1\xf5\xc0\x1f~a\xd6\xe7\xben\xabD\xe7\x9e\xb9\xf33\xb3\xee|\xc6P\"\xa3\xc8Y4A\xef\xe2\x1bGu\xaa!\x98N@\x89\x80=\xbaR\xb8E\xd8\xf1\xa0D3\x0a(\x11\xb0\x07J\x04\xdc\x04J\x04\xec\x81\x12\x017\x81\x12\x01{\xdcV\xa20\xa0D3\x0a(\x11\xb0\x07J\x04\xdc\x04J\x04\xec\x89\xba\xd8\xbd+8\xd5\x10L'\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e\xd7\x95\xa8Y\xb3\x9d\x1ehy*\xf0T\x8b\xba(Q_}U\xa3\x17+6:\xf1\x88\x20\x08\xf9\xef\xea\x9fN\x14\x1c\x8d\x16\xccrtC\xfe\xc6#\x1b_r\x0a\x03\x00h\xb8\xadD\x9a\x1b\xb5x\xa6\xba.\xd4\x13\xaa\xab\xa6\xeb6\xf6\x04\x82]\xc1@O\xb4l\xde\xf0\x9b\x8e\x8eC\xc2\xab\xfa\xa7\x97\x96\x1d\x89\x16,\xbe\xfc\x0b=uH\xd8yt\xaf\x20\x1c\x8a\x16=z\x9a\xbdX\xbb\x09\x00wqY\x89\x0c7\xea`-]\xbd\xfaRmP\x14/\xd7\xd0\xb5\xf4[j&\xa5\xed\xd8k\xa6\x12\x89W\xa2\xc4\xc9l~XK\xbc}\xf7>\xf9u\xefx)Q\xf6J\xa7\x08\x00\xa6<\xee*\x91\xe9F\xdd\xa4.QV\xdf$\x8a\xa1\xc0y95\x10\x08E\xce\xe7\x1d\xac\x129\xb0QW\xa2\xdd\x05\x17\xe5\xd7_\x8e\x97\x12-\x80\x12\x81\xe9\x8f\xbbJd\xbaQ\xf7W7\xf7\x0f\xf6\x07\xab\xfbeQRm\xa8\x0fz\xb0\xa4\xfe\xbb\x0f\xad\xc9+\xd8\xf6\x9b([u%\xfa\x20_\x10\x04mtv\xe5\xf9\xcd\xcb6\xec\xbd\x20\x8a\x8f\x0ay\x87\xf7n\xc8\xa7\xa1G\x05\x95\xcd\xf2\xfeUO(a\x87~Mc\x0fo\xce\xdfx\xe8\x0a\x17\xcb\x94\xc0\xd0\x93DT\x92z\x98\xad\x0d\xda\xc6\x05\xa2x*\x9e\x90\xb2\xae\xc2\xf4\xc4\xc5\x97\x8aI\\\xb5\xd8\xed#YJLu\x8e?s\x93'\xcb\x80\x030^\xb8\xabD\xa2\xe9\xedq\xbe\xa9\xb2\xb2\xb2\x91\xf6\x86\xeaT\xa3\xb3\x16\xf7\x17r}y\xd9\xe6\x1f\x9c8\x20<\x1be\xab\xd1'z\xad\xa3#\xff\x80\x9a\xdc-<v\xfcP\xc1\xc6+\xe2[G\xf2\x84\x82\x03?X\xf1\x90(^x\xb5cCiGG\xc7\xdb\xb2h\x09\xcf\x9b\x85\xed^\xb2\xef\xf8\xbe%\xbbE6\x96)\x81a\xb0\xaaB\xa5j\x90\xd9:\xd0\x12\xcc\\\x18\x0c\x06\xe5\x0e\xe3\xf9\xda\x9a\xf4\xcc\xa4\xb9\x9b\x0a\xc9\xe9\xde`\xc2vQl]\xe7\xa3!Eq%\x0d\x15)\x0b&\xe5\xe0\x16\x80Q\xe2\x95\x12\x0d6\xd5\x86zC\xb5M\x97\x8c-m\xd5\x913M\x0c\x17\xd7n\x93\x87Q\x17\x8f|\x10e+;:\xd3\x94\xe8%Ei^SzHKV\xc8}\x9c\x9d\x05\xcav}t\xf6K\xe1\x84\xfcz\xe5\xe2E\xb9\x98\xe3J\xfa\x84p\x9c\x8beK0\xe9\xebV\xb1\xdeEdFg\x0b\xc8\xa2\xb3\xa2H\x0d\x09|\xb2\x12\x89\xdb\xa9\x125\x90*\x91\xda%\xed\x17\x01\x98\xbax\xa5D\xc1Z\xfa\x97\xa8\x1c\x16}\x00\x00\x20\x00IDAT\x7f\xb0V\xee\x0f\xd5\x05\x95-\xcdu\x913M\x0c\xc7\x857\x1c\xb7\xda(\xd1\xce\xf5\x17\xff\x20\xb3V\xee\xe8\x88\xb4\xb7#\x1eX\xa2l\xd7\x95H\xed\x13\xed\x94\x87j'\xc4\xdd\x1b\x94M\x1b\x1e\xe1b\xd9\x12\x0c\xba\x89\x8e\xc5\x1d\x9bU\"\xdfi-e*\xd1\xea\x8c\xc1K2s\x8bD\x00\xa6.^)Q\xe0\xa4\xf2v2\x20\x8aM\x0dJ\xb2\xde\xf5y\xa2g\x85\x8b\x8e[m\x94h\xa36%\xf4\x90\x9c^B7Y\x94H\\C\xe7\x89\xde?\"<qQ,\xdd\xa6l\xd9\xb6\x99\x8beK0\x096\xa8\x04E\x1eV\x89\xb2\xf5\x94\xa9D\xf35\xfd\xbaW\x04`\xea\xe2\xb1\x12\xb5\x07\xa8\x05#\x1dn\x9c\xadt\xfd\xde\xd9\x09\xe1\x17b8\xfcV\xdb>\xd1/\x14~'\xda(\xd1\xe1_\x8b\xe2\xee5T\xcb\x8e\xd2{g\xbb\xd7\xd3\xb9\xa0+\xebws\xb1l\x09\xce(J\x148m$\x15\x14%*\xa3JT\x98\xd1\xae\xd0\x1f!;\x00S\x01\xaf\x94\xa8Y\x1b\x9d5\xd3\xe7\x89ho\xa8\xd9\xfd\xe7\x89.\x14\x94R\xc9xl\xaf\xf2\xa9{G\xb7\xcdV\x1b%:\xa1\xce\xef\xec{Z\xe4\x95\xa8\xb4T\x14\x7fO\xf7\xbd}\xb7\xbc\xf5J)U\xa2\xe3J\xec\x11u\x9e\xc8\x88eKp&7W\x14\xfbH-M\x9aJ\xe4\xdf*7\\6U\xa2FuWY\xb9mf\x00\xa6\x06\xee*\x91\xe9F}~\x7fmgOg\xed~z\xf3\xac'\xd0\xdc\xdd\xec\xc53\xd6/\xe7o8|\xfc1\xe1\xb0\xf2a)\xb9\xc7\xba\xf5\xd7\xf4\x19\xebg;:\xe4~\xce\xc5W;:\xf2\x1f\xe9\xe8\xa0\xf3\xd8O\xdc\xbd\xf3\xc8\xd1\xdd\xb2\x9a\xbc\xdf\x91\xf7\xc8\xabW\xdex$\xaf\xe3}\x91\x8a\xcc\xb3G\xbf\xba\x8c\xde\xba\x7fV\xd8\xfd\xd2n\xf5\x19\xeb\x9d\xc2\x13/=!\xec\x14\xf9X\xa3\x84\xd1\xb0\xddWQ\xbf\xc8\xdf#^jUn\xa3\xa9z\xb90eGy\x0e\x89\xaf\x92;\x92\xf7\x93\xd5\xb5\xf5E\xc4\xf5\x09\x7f\x00\xc6\x11w\x95\x88q\xa3\x1el\xab\xab\xaakSoX\xf76\x06\xea=q\x85~\xfb\xe1\xb5\xcb6k\xbf&\xabJ\xa9\xb4n\xdd\xad\xcd\xe7\xc8\xc3\xae7\xb4\xa4\xa2Z'J\xd7\xac(=N\x9f\x11\x12\x84\xbc_.\x93_\x1f\x95\xb7^|lU~\xe9kJ\x09G7\xe4o>\xbe\x96v\x84\xae\x1c\xda\xa8?O\xc4\xc6\xea%\x8c\x86\xc1\x92\xe4\xc4\x85m\xa2x*N\x99\x0fR\xf5\xb2+71i\xf1W\x08)\x96\xd3\x8d\xb9)\xc9\x0b\x0fF-\x03\x80I\x8e\xbbJ\x04\x00\x00v@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=SA\x89V\x92\x94B\xd7\x17/\x02\x00\xb8\xc8TP\xa2\xde\xe6\xaa\xac\x14xW\x000\x8dq]\x89\xec\xdc\xa8\xcd\xad\x91h&\xa7\xa2\x07\x00\x00\xa62n+\x91\x9d\x1b\xb5\xb95\"m\xa45z\x00\x00`*\xe3\xb2\x12\xd9\xb9Q3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbaQ3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbaQ3[#r\x8a\xb8\xeeA\x04\x00p\x0fw\x95H\xb4s\xa3f\xb7Fb0%\xa7\xa5\xc7u\xf3\x0f\x00\x80Kx\xa5D\x8c\x1b5\xb352\x07\x09!K\x1db\x00\x00S\x15\xaf\x94\x88q\xa3f\xb6Fd\x20%\xa3\xa2\xd9\xe2\xd2\x0c\x00\x986x\xa5D\x8c\x1b5\xb35\"m\xa4)z\x00\x00`*\xe3\xb1\x12\xb5\x8fZ\x89p\xef\x0c\x80i\x8cWJ\xc4\xb8Q3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbbQ\x9b[#\xd2\x0a%\x02`:\xe3\xae\x12\xd9\xbbQ3[m\x19\xecm_\xe9\xf3\xc4\xad\x1a\x00\xe0\x0e\xee*\xd1\xd8\xb8\x97\x90\xf4z\xa7\x20\x00\xc0\x14f*(Q_{\x8fS\x08\x00`J3\x15\x94\x08\x000\xdd\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\\W\"\x1b7\xea\x81`m\xa0\xfe\xd4\xa5h\xb9\x00\x00\xd3\x1a\xb7\x95\xc8\xc6\x8d\xfalU}g\xf7\xb1\xaazH\x11\x003\x16\x97\x95\xc8\xce\x8d\xba\xb9\x96\x1a\x99\xf5\x07\x8eE\xcb\x08\x00\x98\xce\xb8\xabD\xb6n\xd4u\xb5\xea\xbe\x86\x08\x99\x00\x00\xd3\x1ew\x95\xc8\xd6\x8d\xba\xb7G\xd9\xd2\xf2T\xe4|\x00\x80\xe9\x8d\xbbJ$Fr\xa3\x16\xc5\xcb5A\xfb\x0c\x00\x80\xe9\x8fWJdq\xa3\x96\xbbDU\xfd\x91\xb2\x00\x00\xa6;^)\x91\xc5\x8dZl\xad\x84\xd74\x003\x17\xaf\x94\x88w\xa3\xbe\xd4\x1c\x08E\xca\x00\x00\x98\xfex\xacD\xaa\x1b\xf5@C5\xec\xcc\x00\x98\xc9x\xa5D\xac\x1bu\xff\xfe:\xea\xbah\xce^\x03\x00f\x18\xee*\x91\xad\x1b\xf5\xe9\xc0\xfe\xee\xde\xde\xde\x96Z\xa7\xdc\x00\x80\xe9\x8a\xbbJd\xebF}\xb0R\x05O6\x020cqW\x89\x00\x00\xc0\x0e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xfe\xe2+\x00\x00\xe05\xb7\xd3'\x02\x00\x80\xf1\x01J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbcg\x14J$\xee\xc8IIH\xbd\xe7\xa9\x11\xa7\xc0\x08\x0c\xd2\x8c\xb5d\xb9S\\\xec(%\xd7\x90\x95\xe6\x96\xd1\x1c\x86\xcb0\x16\xf6\x90\"\xa7\x10\x00@L8+QU\"QI\xefq\x0a\xb5eO\xe2\x904:\x89\x88\x15\xb5d(\x11\x00S\x1fG%\xdaNHn\xcb\xd5\x91\xb3Us\x89\xaf\xcd)\xd8\x86\x11B\xa8^\xf4\xee\x09:E\xc6\x8aV2',\xa39\x0c\x94\x08\x80I\x87\x93\x12\x05\x09\xd9\xa3\xa6\x86rI\xf2\x9f\xa2\x07\xdb\xa1\xe9\xc5\x04`\xa7D\xa3!\xe6\x0cV\xa0D\x00\x8c7NJ\x94A6\xe9\xc9\xa1TR\x12-\xd4\x1e(\x11\x00\xc0\x11\x07%:F\xe2.\x19\x1f\xaa\xc9\x9c\x11z!\x7f\xb3\x7ferR\xceAu\xe3\xe0\x96t_\xf2\xbd\xed4YE\x02\xed\x19\x89\xd9\x03\x92\xd4\xba:\xcd\xe7\xcf*\x13%i\xab2\xc5\xd4\xabO\xe0\xf4\x15\xcfMH\xbeW\x19\xe5\xd5\x90\x8a?m\x99\xebK/\xbbJ?\x9d\xfdRzB\xd2\xc2*nV<b\xb0\x82^\xb2,,\xe2\x964_\xc6\x03\xc3\x92>OdW\xd8\xd9\xad\x19\xbe\xe4\xe5!\xa5,&\x03[W\xfe(\x96C2\xe7\xa9*\xd1<\xb2U\x02\x00\x8c\x0f\x0eJ\xb4\x9d,0?\x88\x84\xb4)\x17\xf2\x1c\xdf\xe2\xdc8RL\xb7\xb5\xfb\x89o~\x06!\xe5\x12U\xa2-\xb3\x09\xf1\x8fH%\x84\xa4\xcdO\x95_\xaeJ\xf5\xab\x09Y\xb9zP\x93\x88\x86\x042g\x81\xbc\x83^\xc35dS\x1aIJ&$KV\x8c\xbe$\x92\x9c\x9dI\xc8]\xcc\xb1#\x06\xab\xe8%\xd7\x90y\xa9$U\xde5oDS\"\xbb\xc2Z\x12\xc9\x9cl\xb9\xb0\xa0\xc4g`\xeb\xca\x1f\x85?${\x9eP\"\x00\xc6\x1b\x07%\xba\x87\x1b\x90\xcd%U\xf4\x0a%\x99\x03\x92\xd4\x9dL\xea\xe5\x9eB\x12\xd9zM\x92:\x93I\x13U\xa2\xb8\xcc\xe6\xb6\xa7\xa46\x92xR\x8e\xee\x9cC\xbee\x8c\xa1\x14\x898\x1dG\xca\xe5\xcb\xba\xd1G\xaa\xd5r\xe4.J\xd0G\xea$i9)\xbb!\xefO\"-\xc6\xc1\"\x07k\x18\xa33\x92\xd1%wm\x12h}\x94\xc3\xd8\x14vi\x0e)\x1b\x91n~\x93\xcc\xbe\xcag\xe0\xea\xca\x1d\x85\xfb\xc0\x9d\xa7\xaaD\x0d\x81N\x09\x000>8(Q6\xd9n\xfd$_\xa1}\xf4\xc3A\x92A\x87HK%\xf5C&U\"u\xcf\xfdZ\xa6\xfb\xa9\x8c\xb1J\xb4R\x9b`\xa9%)#\xb4\x9c~\xfa\xa1\x98v\xae\xd2\xe5a\x96L\xa0\xb0\xd58X\xe4`\x0dS\x89\xb4]%\xdaal\x0a\xdbN\xeeQ\xde\x17\x92Z>\x03WW\xee(\xdc\x07\xee<1O\x04\xc0x\xe3\xa0D\xf3\xc9\x0e\xe6S\x0e)\xa3W\xe8B\xe5\xc3\x88O\xbeR\xe7\x92f\xf5C\x1c\x19\x90\x95(C\x8d\x1bQ\x87P;\xe8\x15\xcb(\xd1H\"\xe9R\xf7\xcf!!\xb9\x9c,\xe5C\x80N\x20/&9\xa1\x1b\x12K\x94`=BW\xa2y\xe6.E\x89\xc2\x0b\x93\xb2\xb4z\x0e^\xb2d\xe0\xea\xca\x1d\x85\xfb\xc0\x9d'\x94\x08\x80\xf1\xc6A\x89\x96s\x93!\x19\xa4\x82^\xa1_Q?\xcd#\xad\xc3\x84\xcc\xcbQH\x20m\xb2\x12\xdd\xa3\x05\x8e\x84\xea\xcaW\xa7\x13\xb2\x8eS\xa2\x01B\xb4Y\x9e\x85\xf2\xc0\xa8F\xebf(\xe2\x11\xf2\x11\x92\xb4\xba\xde\x9c\x8f\x8e\x16\xac\x1fDW\"uW=}\x8fP\x98\xe4S\xfb7\x0a\\\x06\xae\xae\xdcQ\xd8\x0f\xfcyB\x89\x00\x18o\x1c\x94\xa8\x8c\xe4\x98\x1f\x86\x08\x9dy\xa9\xd1\xbbI9\xe4\xa0HL\x9ad%Z\xad\xee\x09\xa4\xd2\x0d\xf3\x17Z\x94\xa8\x8f\xc4k%-%U\x92~3]\x15\x97\xbeu~9K|\xc95\xfd`\xd1\x82U,w\xf1M%\x0a/\xec\x1a!\x83F>.\x03WW\xee(\xec\x07\xfe<\xa1D\x00\x8c7\x0eJ\xd4E\xe2\xccK\xb8\x9e$\x0c\xd1+\xb4L\xfd\x98E\x8e\xc9\xdat\xc6\x0c\xd6\x95\xe8\x9b\x84|\xa9\xa1{X\xaa\x88\xd8'\xcaQ\xba9\xbc\xb8\x8ct\x96\xcf#\xe65\x1e=X\xc9\x10Q\x89\xc2\x0a\x93\x08\xd7'b2pu\x8d\xa8D\xfcyB\x89\x00\x18o\x9c\x9el\xcc4\xaf\xba\xe1\x0c%]\xa3\x8d\xc1\xae%\xc8\xfd\x8c\x14z/\x89\xd29pCW\xa2\x1bsH\xad\xb2m\x8bE\x89n\xcc\xe6\xa7~\x98\xcb~\x20\xa4\xa4\xabI\xbc>\xc1\x13%X#\xa2\x12\x85\x17&\x9f\x86\xfa+\x90\xe6\xc5\x01.\x03_\xd7\x88J\xc4\x9f'\x94\x08\x80\xf1\xc6I\x89:\x09\x9d\x1b\xa2\\[J\x12\xcfK\xf4\x0aMP\xbaI\xfb\xe9\xa3F\xc5$\xfb&\xfd\xd0J|Wu%\x12\xb5[h\xc3i\xf4\xb3\xdd\xbd\xb3:\x924b\x1d\xfd\xd0'\x0b\xa5~\x12g</\x141X'\x92\x12\xd9\x15\xb6U\xcb\xb7\x94|\x93\xcb\xc0\xd75\xb2\x12q\xe7\x09%\x02`\xbcqR\"y\xd8B\xeej\x1b\x92\xc4\xfa\x0c\x12\xa7\xdc?\xaa!d\x81,E\xad\x89\xf41\xc7~\x1f)\x19\x96\x07q\xc9d\x8b1:\xbb\x91\xa4Ls_^L\x94\x89\x98\x04\xd2t\xed\x86z=w\xc7\x93\x1d\xb284'\x92\x80\xe5J\xbf\x8b,\x96\xd5cx\xb51\xe7\x1d-XG-9\xbcOdS\xd8@\"\xd9qC\xbaYA\xfc\"\xdf'\xe2\xea\x1aY\x89\xb8\xf3\xc4\xf3D\x00\x8c7\x8eJ$5\xe8\xab\x82\xa4)?u\x90\xaf\xd0\x8c\xd9\xf1\x0b2\xb4\xbeR\xb3\x8f\xcc\xce\x96?\xe4\x8e\x98\xf3D\x01B\xd2\x97f\xc7%oWn\x97g\xcbY\xdb5\x09i\x88'I\xd9i\x84^\xce\xfc\x95~>\x99\xf8\xb2\xe6'\x92\xd4\x01\xe6\xc0\x91\x82u\xd4\x92\xc3\x95\xc8\xae\xb0\xa0\x8f$g'\x93\x84\xa0\xa5\x13\xc5\xd55\xb2\x12q\xe7\x89g\xac\x01\x18o\x9c\x95H\x12+r\x92\xe2R\xee\xa9\xd5\xeeD\xc9Wh\xef\xd29\xc9KO\xa9\x1f\xcfnJ\xf7%f\x07\xe88\xc8\xb8w\xd6\x96\x9b\xe2\xcb\xda\xfe\xa7a\x1f\xbdc\xd5\x9f;;\xe9\xa0.!}Ei\xbe\xb4\x95\xedZ9J\xb0\xbagpK\xa6ov\xd6v\xf6\xce{\xe4`\x0d\xb5d\x9b\x19k\xbb\xc2\xfa\x8b\xd3\xe2S\x0a{%\x8b\x12qu\x8d\xa2D\xecyB\x89\x00\x18oF\xa1D\x16\xf4+\x14\x00\x00\xc6\x0b(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x9e\xd8\x95\x08\x00\x00\xc6\x1b(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x9e\xf1R\xa2\xe7\x84o\xdb\xef\xc0\xad6\x00\x80#P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\xcf$Q\xa2\x96\\n\x09\x8f\x98\x18\xcamq\x0a\x01\x00Ln\x1c\x94\xe8E\xe1\xb9?\x7f{M\xfe\xc6W\xa4[/n\\R\xf0\xddO\x95\xad?\xdf\xb56/\x7f\xc3\x93\xff\xa6|x\xe7\xa1U\xcb\x1e\xfc\xad\xa6D\x1f\x7fw}\xde\xaa\x87\xdedJ\x90\x95h\xa00\xd9\x9f\xd3\x20\xd1\x95\xa5U\xa71\xa9\x82\xb3\x96\xa5\xeb\x95UHc'\x10\xf7\xad\xa8\xfbK\x08!\xfe\x81\xa8!:\x9d\x84\xe4JR\xb3\x9c\xe1T\xe4\xa0\xf6TC\xfa\x86\xb6\xa4\xf9\x97\xdf\x8c\x1c\x0a\x00\x18\x15\x8eJ\xf4\xedU\xc2\x9a%\x82\xf0\xca\xe3B\xfe\x1aA(\xa5\x1b\xbf-\x08\x05\x1b\x0b\x04a-\xd5\xa5\x17\xe8\x87\xbc\xbc\xaf*J\xf4\xe62!\x7f\xe3zA\xf8\xbeYB\x0d\x99\x97L\xe6e\x12R(IW\x13\xd4U\xa3\xa5L\x12b\x8f\xb2?\xaeA\xba\x1dZ\xe3k\xa2\xed\xbe\x1c\x0a\xd5j\xcb\xf3;1r\x92\xf8C\xd2p399\"q\x9c\xea1\xd3\xads\x9a\xf5\xe4\xd2\xb4\xa7J\x12\x87$\x00\xc0\xed\xe1\xa8D\xc2\x86\x0f\xa5\xeb\xbb\x84\xfc\xfc\x1f\xdf\x92^\x11\x84\x7f\x95\xe5F\xc8\xa7\x9d\x9ew\x96\x09/H\xd2o\x85\xbb_\xbc%}\xf2\xa0@\x95\xe8\xe3e\xc2\xbe\xeb\xf2\x9eU\xc2+F\x09\xd4\x85\xbe_\xeeG\xf8\xa9\x89\xc6JRN\xb7\x9d&\xe9\xecA\xce\xfb\xca\xf5\xe4\xd5\xc5c\x1a\xa5\xed\xf0]\x8e\x1e\xd0=J%\x92\x86I\xb1\xdc]\x1b$\xc3\x96\xed\x0bm\x17\xd1\x1f\"\xb2\x04ZC\x01\x001\xe3\xacD\x1f\xcao\x1f\x0a\xc2s\xf4c\xa9\xf0\xa2$\xed\xbb\xfbIe\xdf>\xe1qI\xda%\xec\xa3\xe9O\xd7P%\xda'<\xa4\xec\xf9\x89\xb0\xc1(\xa1Fs\xcf\xd8O\xad\xaa\x83\xaa\x04\x95\x11Cz(%s\x19\xbf\xc5>i\x0c\\\x9b\xcb\x8f\xf6\xc2\x88A\x89N%\x8d\xd8(Q\xce:\xbb\xe8\x01\x82)*\x00\xc6\x03G%ZO\xdf\xae\x0b\xc2\xff\xa2\xef\xbbh7H\xba~]\xd9\xf7\x03\xe1\x1f\xa5[+h/I\xa2\"$+\xd1Z\xad/$\x87\x7f\xa4\x97PC\x16)\xef\xc3\xd4Q~$\x99*\xc2\xcdT\xd6\xc7P\xba\x91\xb4]\x0b\xcdj=C\xce\xb6f)\x0ed\x03\x85\xa9\x09i\xcb\x15\xbb\xa0\xda\x1c\x7f6\xdd\xb6\x95$\xd4\x95e\xf9\x97^\xe6\x92\x0a;\x12-\xa3)\xbe\x04F\x89\xf4\xc2$)\xb44=!uy\x86\x92>\x98;'\xeb\x01\xaa\x87\xc3d0\xa7YW\"=\xb6E\xf3\x14\xa0~\xb8C\x89\x84\xc45\xd2\xbd7R\xd4\xade\xd4|\x88\xc8\xe2Z\xa18\xc4\x02\x00b\xc7Q\x89\x1e\xa4o\xff.\x08\x9f\xd0\xf7\xdd\x8a\x12I\xd7\xdfy\xf1\xfb\xbb\xd6\x0b\xc2n\xe9\x13APe\xe9\xc7\xb2\x12}*\x08\x1b\xefS\xc8\x13\x8cIk\xc326\x83\xba\x12m!\xf7\xcb#5\x92\xcd\x1e\xa3\x87hv=b1\x99/\xff\xb7\x8e\x8aGgRN\xa0\xbd\x82T\xcb\xc9\x12\xdf\x8e\xd6\x1d\xbebI\xeao\x8c'\xa9\x15UI\x85\\R!\x14\xde\xe7aJ`\x94\xc8(L\xde\xf4\xa5\xe6\xf6\xbaTB\xdd\x197\xc5\xdd\xdfZ\x93\x9asSQ\xa2\x9a\xe5\x9a\x12\x19\xb1\xd7B\xa1\xac\xbbB\xa1\xd0YZ\xc2\xe9P\xc8\xa7\xce\xaf\xf7\x86\x1aIE($\xd2\x80\xf4-\x7f\x92\xaeV$\x870T\x03`,8*\xd1\xc3\xf4MV\"\xe5F\x99\xa2D\xb7^X#\x08\xc2\xdd\x1bKe%\xfaH\x10\xd4\xc0\xd7e%\xfa\xb3`bL\x14\xd5\x90\x1djb>i\xa6\xee\xd6\xa97\xa5\"M\x1e4Z\xe5\xce\x92\xc6\xb1\x04\x92\xd0F\x13#\xe9\xf7\xca\x9d\x9c\x1bMC\xf26B\xdd=\xda\xa9\x8eI\xbed\xb9\x13T\x9c*\xf1I\x99\xcb\xc4\x98D\xd6`J\x90L%b\x0a\xabM\xa5\x1aT\x9b,\xd1\x1a4(1\x8d\x8a\x12]\x9d}UQ\"\xf6\xc0\xfc\xe8\xcc\xaf\xdf\xe93Gg\x15\xb4\xbf\xf4%\x871\"\x00\x20\x02cP\xa2\xe7\x84\xbb\x1f\xff\xf1o?\x95\xdfw\xd3n\x90zc\xff'j\x9f\xc8\x18\x94\x19\xd4\x90\x07\xd4D\x069)\xd1\xbbf\xa7F\xfc\xf1\xdc\xb4t\x90\x0c\xaa\x89\xa12_:\x99\xeb\xdb.\x8bG\x1b\xe9\xd5wo\x9a\xaf\xbc\xcd\xa7W\xb9\x8f\xbeT\xf8$>)Q%\xb2\x0e\x8b\x98\x12$S\x89\x98\xc2\xc4\xb9\x99[\xeb{%*GE\x997(\xe9%\x8a\x12I\xcb\xab\x15%b\x0f\xec\xa8D\x97I\xbf4\x92tR\x02\x00\x8c\x85\xd8\x95\xe8\xfa2:m-\xf3]Y\x89n\xad\x12\xdeQ>|\x9f\xce\x13\xad\xd1\xbbB\xef\xfc\xf1\xdf\xf5\x12j4\x87\xb2!\xd5#\xba\x82lmc=\xcb$\xdaO\xd2FN\x81\xd4\xba~\xd2\xbf?u\x0f}\xf2\xc8\x98\xf7Y\xa4>\x19\xb9r\xa1\xfc\xa2\x0c\x8b4%2\x93\x12U\x1a\xee\xb1\x00\x89+A2\x95\x88-l\xa8n\xdd<\x92\x16\x90T\x0bG\xcajU\x89\x9a\xb3\x15%bc\x1d\x95HZ\xfe\x80t,\xf9\x86\x04\x00\x18\x0b\xb1+\xd1\xbf\xa9\xb7\xd3\xa4O\xd7\x0a\xbb$\xe9q\xe1\x1f\xe9\x87\xeb\xeb\xa9\x12}[\xb8\xef\x16\xfd\xf4s!\xff\x13\xbd\x84\x1a2[\x994\xdeC\x94.\xc6\x20I\xdfj\x19I]\xf3\xe9\x17\xf6\x0d\xe5\xde\x19\xbd\x9cO\x12\xe3\xf9\x9d\x92L\xe5-S\xe9\x13ER\xa2\x0a\x9fu\x82\x86)A2\x95\x88)\xec4\xbd\x7f7\xdc\xe8\xaf\x95\x07y\x99=\x0aWU%\xba6\xa7\x9d*\x11{`U\x89\x1a.\xa9\xa5\xd9)QK\xea\x8d\x92M\x12\x00`L\xc4\xaeD\xff\xbeB\xd8'\xeb\xcd\x1f\x1f\x14\xe8=\xfb\x8f\x96\x08\xcf\xdd\x92>\xdd\xa5<O\xf4a\xbe\xf0\xb8<X\xfb\xed*\xe1\xbbF\x095\x84d_\x96\xa4&\x9fv\xd1\xe6\x12\x7f\x92\xe5>\xd7\xbaL\xe3)e1Y\xbd\xd75\x9c\xb6\x98\x0a\xd2W\x94\xfbR\xf4NU#i\x95\"+\xd1\xcdy\xc6OJ\x06\xbfu\xdeZ\x82d*\x11SX\x059F\xb7,\xdeB\xe7\x82\x94\xb1\xdd\x8e=\xaa\x12I%ET\x89\xd8\x03K\x8b\x17K\xd2\x9f\xf4!\xa0\x9d\x12\xddHmI\x89\xf2\\6\x00\x20\x1a\xb1+\x91\xf4#AX\xff\xe0?\x08+\x9e\x146\xca\x9b^\xc9\x13\xd6\xfcC\xbe\xf0\xb0\xf2\x8c\xf5\xebK\x84\xfc\xfb\xd6\x0b\xc2\xd7\xae\x1b%\xd4\x90\xa5\x89\x09\x0b\xd2\x89>q]O,\xbf\xf4\x90\xa4\xb3qU\x92\x95S\xb3\xe7?\xd5v?\xa9\x97\x93\xc5q\xe5\xad\xe5q\xc5\xb2L\x85\x12J\xba\xa4\x9e\x92\x84\x90\xc8$it\xb5\xd9\x01Z\xad\x8f\xfd\xcc\x12D\xfa\x8cuu(t\x89-LV\xa2\xa4\x8a\xd6`\x89r\xe3\xae\x9c\x145\xb7\x94\x90\x83\xf4\x19\xeb\xe6a\xa93Q\xb9wf\xc6R\xcd\xab\x0a.\x9d#\x1f\xecFW(\xe4+\x09\xd1\x9bd\xea\xbd3\xfd\xa6]y&\x06g\x00\x8c\x951(\x91\xf4\xe6\xd7\xd6\xe4ox\xf2\x93O\xf3\xee\xfeX\xfe\xf4\xaf\xbb\xd6\xe4\xdf\xf7\xe6+\xea\xef\xce>z|}^\xfe}/\x98B$+Qy\xdf\xd29\xfeEm\xda\xe7a_\xd8\x94\x8e\xb4cv\xd8&i`]z\xd2\xc2\xa0\x92\xdc\x9f\xad?ODHB\xff\x1c\xf9u+\x93\x94w\x84\xfc\xdb\x8d|\x0d\xa9u\xd6\x12J\xb4i\xa0\"\xb60\xe9\xe0\xe2\x8a\xf4\x84\xb4\xc5\xea\x13\x04\xed\xf7\xa4$\xd3*v*\x8f\x04\xdd\xccM\xbb\xc9\xc5J\xd2\xc8\xfd)\xfe\xbb\xba\xe5Dw\x9cZX\x1d}8\x8a\x12\x7fV;\x1c\xc1\xe0\x0c\x80\xb1\xe2\xa0D\xe3\xcfy\xfe\x97\x1e*e\xbe\xdby\"\xb0\xc9W2\x09z#\xc3\xbeN\xa7\x10\x00@\x04\\W\xa2\x1d\xe4\x9b6[\xab\xd3\xc7\xf4{3\x85\xa1\xb9\xd1\x7f\x8a\xef\x12M)\x93@\x0e\x01\x98\xa2\xb8\xabD\xfd\x83M\xb3}\xa2S\xd4\x14\xa4\xa2SZZ!\x01\x00\xc6\x88\xbbJTH\xc8m\xadD4Y\x19!9[\xd3\xb08\x08\x00c\xc6]%\x0a$\xa6NG!\x92\xfbDI\xf7\x9cu\x8a\x01\x00D\xc4]%\x02\x00\x00;\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xc6I\x89>\xe6~\xdf1\x1a\x873\x00\x000\x18\x17%\xba\xf5B\xfe\xa7\xe6'(\x11\x00\x20F\xc6E\x89\xae\xeb+7*@\x89\x00\x001\x02%\x02\x00x\x8fgJ\xd4\x92;\xb6\xdf\xbcnqg\xed\x8d\xa1\\8\x99\x01\xe0\x1eNJ\xf4\xd1\xe3k\xf3V\x94\xfeH\x9d\x90f\\\xef_\x14\x9e\xfb\xe4\xbbk\xf3\xd6?\xf9\x09\xf5:\xa3|\xa8g\x91\x95h\xa00\xd9\x9fC\xfd2\xaa\xc9<uc\x85e}\xb4\xc0\x18\x7f\x7fv\x86\x94K[I\xdc\xed,\"2:\x02q\xb7\xfd\x0b\xff\xbe\xa5s\xd2\x8a:\xd3\xfe\xa4,\x90\xe4\x1f\xd07\xb7\xa7\x8eZ\xe4Z\xe6\xcd^\xd0\x9c\xd3\xea\x14\x06\xc0\x94\xc7A\x89>\\&\xac\xbao\x83\x20|\x8d\xaeO\xcd\xba\xde\xbf(|\xb7@X\xb6J\x106\\\x97~\xbcK\x10\x1e\xde\xf5\xb1\x9e\xa7\x86\xccK&\xf32\x09)\x94\xa4\xab\x09\x9a\xa9k&\xbf>\xda\xfe\xb8\x06it\xb0\x86\xf42\xc5\xb3\xffD\xd7ndd\x8c\x09\xb0\xc4\xde\x1e\xad\xf15N!\x06\xb6\x07n\x9f\xb3\xb0\xbe1\x9b\x903\xd2e\xbah\xa4\xbe\xb6\xa3\xd4:\xc7\xea\x88\xc4c\x16\xb6\x9f\x14\xb7l'd\xf4\xf5\x00`\xaa\xe2\xa0D\x0f\x0bO\xca\xdd\xa1\xdf\xae\x10^\xb7\xb8\xde\xbf(k\xd0;\x92\xf4z\x1e5\xfa\xb0\x8e\xceHF\xbf|!\xfaI\xad$\xadT\x8d\xa7O\xf3\xeb\xa3\x9d\xf7\x19v\xd4W\x17G\x1f\xa5\xf1\x86\xf4\x03\xaa\x8f\xa3\x8fQ\"&\xc0\xde\xbc~\xac\xec\xf0]\x96F\x89\xdd\x81\x87\x92V\x8fH\xd2\xb5L\xd5\xefv\xd4v\xd8La\x03\xca\x8a\xbbeP\"0\x03pP\xa2\xf5\xea\xa0\xebG\xbb~nq\xbd\x7fQ\x1b\x8e}\x9b\xae\x1a\x1b\xa6DJ?h?\xc9\xa0ff\x8a\x04\x95\x11Cz(%s\xaf\xe9\xc9>\xad\xd3\x14\x09\xde\x90\xbeD]\xdd\x88U\"&\xc0\xde\xbc~\xac\\\x9bk]p;\"v\x07.OT$\xb6\x8a(?\xd2\x8fA\x89\x8c\xc2\x8aS\xa9\xf5\xc0\x19R\x1b-\x1a\x80i\x81\x83\x12}M(}G\xb7.\xe3\\\xef_\xa4r$\xf3\x02]\xe8\xda\xaaD\x8b\x94\xf7\xe182@\x17{\x96/\xc1\x9b\xa9j\xcf@\xe3F\x92\xb6\xeetMV\xeb\x19r\xb65\xab\xd6bt\xaf\xdb\xd4\xb3\x86\xf4\x94\xc1\xf8\xaf(\xef\xbe\xedZ,\x13\xc0$\xb7\x92\xf8\x9aM\xe9)+\x07$\x0b\x03\x85\xa9\x09i\xcb\x151\xd3=\xef\x99\x03\xf3u\x90;E\x89\x16\x13\x12>@/\x81\xaf\xa4^u)S\x9dZ\xbfZ\xa5\x14\xa2+\xd1P\"!q\x8dZyz,S.[X\x8a\xdaJ\xfb/\xb1G\xb3o(\x00\xa68\x0eJ\xf4N\x9e\x20\xac\xd8\xf5c\xaa3\xbc\xeb\xfd\x8bZ\x07\xe9E;%R\x9d}\xa4\x0cj\xe4\xbc\x85\xdcOm|\xb2\xd9R{\x88\xb6\xe4\xb3XL\xe6\xcb\xff\xad\x13y\xa3{\xc3\xa6\x9e3\xa4\xa7;\xb4\x01\x93\x8f\xccklI+\xe4\x1c\xeb\x99$-,cOE\x86\xdf\xd2\xdd\xeaL\xca\x09\xb4W(^\xd8\x86\xe7=s`\xae\x0e2!k?\x86\x0b0J\xe0*iT}$\x8e\xb3\xdc6\xfaD\xa7C!\xbdGg\xc42\xe52\x85\x0d\x11f.\xcd\xae\xbeL\x09\x00Lq\x9c\xee\x9d}\xb8+_\x10\x84\xbco_\xb7\xb8\xdek\xa6\x1f\xaa\"Y\x95H3\x14\x9aO-\x16\xbbH\xeaM\xa9\x88p\x97e\xab\xdcY\xd28\x96@\x12T\xdb\x0f\xd3\xe8\x9e\xb1\xa9\xe7\x07>\x97\x12\xb6\xaa\x09\x1f]\x20qS\xaad\x090\x93\xbe\x8ca\xf9RN\xcf\x95XF\xd2\xef\x95\xfb'7\x9a\x86x\xcf{\xf3\xc0lR\xa2\x0e\xd3aS\xcbf\x00[\x82y`\xb3\xea\x83\x84\xbbC\xc6\x8e\xce4\xbb4\xf64\xd9\x03\xeb\x85\xf5+G\x90FFF\"\xd5\x97k(\x00\xa62NJ$\xcb\xcc;\xdf\xdf(\x08\xffhq\xbd\x8f\xaaD\x0f\xa8\x89\x0cB}\xe23\xc9\xa9\x11\x7f<7-\x1d\xa4\xf6\x86\x94\xa12_:\x99\xeb\xdbN\x17^5\x8d\xee\x19\x9bz^\x89\xb6&h\xf9|\x9b$\xc3v\xd1^\x89\x94i\xa9Z\xc2\xad\xe8\xdaFz\xf5$\xebyo\x1e\x98MJT\x89\xc2\x1e\x160\x03\xd8\x12\xcc\x03\x9bU\xbf\x11o\xdf'\x92\x0c%bO\x93=\xb0^\xd8\xb0\xa23E\xf2P\xedd\x84\xfar\x0d\x05\xc0T&\xba\x12\xdd\xfa\xa3\xeaz\xff#!\xef\xdfy\xd7\xfb\xa8J\xa4z\x1f\x0e\x11Bgd*\xc8\xd66\xdd\x0dQ\xa3K\xbf,\x03\xa9u\xfd\xa4\x7f\x7f\xea\x1e\x895uel\xea9\xa1\x11}\xfaS\x8d\xac\x01\xac\xbd\x12)\x17{'\xe7H-U\x13c\xde\x87\xf5\xbc\x8fhq\xdd\x1d\xee\xccf\x06\xb0%\x98\x07f\xaa\xae\xcd\x13\xddh\xd7\xca\x0aS\"\xf64mOH\x99'\x12\x9bI\xf9H\x84\xfar\x0d\x05\xc0T&\xba\x12}\"\xdc\xad8.~(\x08\xd7y\xd7\xfb\xa8J4[\x99\x13\xdeC\x94?\xe4\x83$}\xabe\x98s\xcd\xb8\xf7uC\xb9w\xa6\xd8\xf3\x98\x17\x18cS\xcf\x19\xd2\x97\xc5\x9d\xd7\xb2\x85]\xb8j\x80\x99\xf4)SUu\x8a\x95\xab\xc1IS\x98X\xcf\xfb\x88JT\xe1\xe3\xb2\xf3\x01l\x09\xe6\x81\x99\xaa\x97\xfb\x95\xfa7\x11\xe5\xcdF\x89\xd8\xd3\xb4=\xa1\xe24\xaa\x9cAz\x17\xdf\xbe\xbe\\C\x010\x95q\xbcw\xf65Y\x8a>\xdd%<hq\xbd\xe7\x94H\xca\x13^\xb9\xae\xdfb\xa3w\xf1\xb3/S?Dm\xa6$\x97\xf8\x93,7\xa1\xd6e\x1a\x93\xacb\xb2\xe6:d^`\x8cM=kH/\xfa\x8cQ\x08{\xe12\x8e\xf5f\xd2\x976L\x9f\xe5Y\xacD\x0c~KU\xb0\xe1\xb4\xc5T\xf3\xbeR\xc6{\xdeGR\xa2\x9b\xf3\x8c_\xad\xe8%0\x01l\x09\xe6\x81\x99\xaa\x0f%\x15\xcaG\xbb\xb9X\xd5\x10\x1b%bO\xd3\xf6\x84\x06\x94\xe7\xd0\xef\xa1Jd__\xae\xa1\x00\x98\xca8(\xd1\xc7\xab\x84\xbc\x0d\x1b\xf3\x855t\x8a\x88u\xbd\xe7\x95\xe8>A\x10\xde\xd4\xf3\xd4\x90\xa5\x89\x09\x0b\xd2\x89>q]O,\xbf\xf4\x90\xa4\xb3qU\x96-\x9c\xd1\xbdaS/I\xa6!\xbd\xf4\x80>\xcf\xcd\xc52\x01L\xd2Gr\x9a\xea\xb3\x92\xd5\x0c\xab\xf5\xc1\xe1\xa9\xd9\xf3\x9fj\xbb\x9f\xd4K\x8c\xe7=S\x18_\xae<\x983\xbaPZ\x09\\\x80Q\x02w`\xa6\xea\xc7\xfc\xb9\x0d-K\xe3C4_\xa8\x96T\x87Br?\xe7FW(\xe4+\x09\x85\x86\xd9\xd8H'TM6\xb5\x96\xa8\xcfX\xdb\xd5\x97o(\x00\xa62N3\xd6\xf4\xa7f\xf9\x1b\x9eT\x07_\x8c\xeb=\xafD\x1f\x96\xe6\xaf\xf8\x89\x9e\xa5\x86\x94\xf7-\x9d\xe3_\xd4\xa6}\x1e\xf6\x85\xcf\xb7\xec\x98m\xd9\xc4\x1b\xdd\xeb6\xf5\x12cH\x7f5\xb1\xd86\xd6\x08`\x93\xbe\x07J\x92\xe7\x16k\xbd\xad\x86\xd4:-\xe7\xc0\xba\xf4\xa4\x85A%\xa9{\xde3\x85\xf1\xe5\x86\xfc\xdaCOf\x09|\x80^\x02w`\xb6\xea}K\xfdi\xab\xfb\xe5D\x896\x9fS$\xf7\x8d\xe2\xd4d\x1d\x1b\x1b\xf1\x84\x82\xf3\x12s\xdb\xd2\xdb\"\xd4\x97?\x1a\x00S\x19'%\x1a\x07\xce\xf3\xbf\xf4P)\xf3\xc5\xfa#\xd6r\xee\xe1H\x07\xd8\x87\xb0\xc7F\x93\xaf\x04\xee\xd2\x00\xb8\x85\x0bJ\xb4\x83|\xd3fkuz\x8c\xf3\xac\x9bbY\x0e\xe4\xb6\x95hh\xeem\xff\x14\x1f\x000j&Z\x89\xfa\x07\x9bf\xfbD\xa7\xa8q\xe7\xb6\x95\x08\x00\xe0&\x13\xadD\x85\x84\x8cq%\xa2\xdb@\x9d\xd5\x05\x00L\x19&Z\x89\x02\x89\xa9\xae\x0b\x91:\xab;\xe8\x14\x05\x00\x984L\xb4\x12\x01\x00\x803P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=\xe3\xaaD\xfaB\x8e\xd1y\x8e.}\xad1:o4\x00\xc04\x07J\x04\x00\xf0\x9eqU\xa2\x0f\x9f{\xdd)D\x82\x12\x01\x00\xc2\x18W%\x1a\x1dP\"\x00\x80\x85i\xa7D-\xb91\xfe\xb26*[b\xf9\xd9-\x88\xc2di\xc9\xa1\xdcQ{\x81\x8f\x85\xc9r\x9aS\x0f\x07%\xfa\x91\xf0\xc2\x9b\xeb\xf3\xff\xe1#u\xa1\xa2U\x0fi\xcb\xa1}\xb4o\xfd\x92U\x0f\xabk\\3;\xe8<\xd1\x0f\xb4\x85\x8b\xa4\xc7\x85'%K\xb6w\x1eZ\xb5\xec\xc1\xdfZ\x94h\xa00\xd9\x9f\xd3\x20\xd1u\xc1\xe6\xa9\x1b+\xb8\x95\xd5\x86\xb6\xa4\xf9\x97\x8f\xdaG'0\xae\xbfr;C\xca\xa5\xad$.\xd6\x05L(\x0dt\x15\xa2\xd4{{\xa4qf\x13!t\x95\xb9*B\xac\xdf\xf9\xf6\xd4\x09\xbd\xc6n\x8f\xc9\xd3\x92\x818\xfbU\x16\xc6\xa5\xf9n\xe34\xc7H0^[\xfc*>\xba\xc7\xb9F\xdf\xd29iE\x9di\x7fR\xd6\xcc\xf2\x0f8\x85+t\x12\x92+I\xcdr\x86S\x91\x83\x98\xe6c\xae\xd8\x18\x1a\xd5Q\x89\xbe\x9b/\x08\xcb\xaeKo.\x13\xf27\xae\x17\x84\xef\xd3\xad\xaf\xe7\x0b\xcb\xee[#P\x8bjn\x07U\xa2?\x0ay\xca\xb2j\xd7\x97Q\x93X.\xdb\x0b\x82P\xb01/\xef\xab\x9c\x12\xcdK&\xf32\x09)\x94\xa4\xab\x09\x9a\x1dl&\xb7\xb2\xda\xd2\xb4\xa7J\x129\x8f\x8e(\xec\x8fkp\x0a\x89\x8a\xc5\xe0\xbex\xf6\x9f\xe8\xcfi\x19qc\x02NE\xbd6\x86\x1b\xc8\xb7:\x1brug\xb7qCL\x0a\xd0\xc6\x18\x0a$YW8h\x9d\xa3\x7f\x17\xa3\xd7\xcc\x1d&YK2\x87h\x8d\xb7\xb5\xf76\x9b/\x16\xc6\xef4\xc7\x18\x10\x20\xda\x82\xa0$`\x93A\xc5\xcc\xd6>ga}c6!g\xa4\xcb4\xdb\xe8~&>r\x92\xf8C\xd2p39iY\x04\x9a\xad\x0e\xd3|\xcc\x15\x1bC\xa3:*\x91\xb0\xfe\xf57_\x94>^&\xec\xbb.wjVQ\x7f\x8f?/\x13\x9e\xbc.\xddz\x8e\xae\xac\xcf\xedP\xee\x9d\x95\x0a?\xa69_\x176J\xfc\xde\xdf\x0aw\xbfxK\xfa\xe4A\x81S\"\x92\xd1/7\x90\x9fZ.\xafT-\xabOs+\xab\x0d\xd1\xc5S\xc3V\xb6\x8f\xc0y\x1fgz\x1d;\xbc\xc1\xfd\x80\xea!\xc9.1\xc2\x04\xf0\xb1a\xf4)\x16e\x8b\xb2\xa2\x06\x8d\x81lUk\xeb9/K\x1e\x87\x9a\x8d\x0bW\x17G\x1f\x05O\xb2\x96d\x0f\xb1\xc3wY\x1a/\xc6\xf14\xc7\x16P\xed\xd3\x16IO\xe4\\\xad8\x8clCI\xabG\xe8\xfa\xee\xea\xa2\x83\xa3vH\x1f&\xc5%\xd4\x1a\xc3z\x19\xda\xd77\xa6+\xd6\xc4Y\x89>\xa4\xef\xfb\xb4\xfb\xf3?\xa1&\xd4O\xd2\xf5\xf5%\xaa9/\xf2;\x14%zQ\xdd\xbbKx\xc1\x92m\x97\xb0\x8f\xa6?]\xc3+\x91\xd2\x0f\xdaO2\xa8\x8b\x85\"Ae\x84\x95\x93\x012\xea\xfe\x9d$\x95\xcc\xbd\xe6\x14\x12\x1d\xde\xe0\xbeD]Y\x89\xfdb\xd9z\x1a\xd9\xa2^?\xfb\xc9m\xd6(\x8cBuy\xf0\x1d\xbaS\xad\x0d\x0e5\x1b\x17\xfa\x88\xc5`\xd7\xc2$kI\xf6\x10\xd7\xe6Z\xd7U\x1f;\xe3x\x9ac\x0b\x18\x19\xd0$e\xc0\xd2aa0\xb2\x95'*\x7f>\xaa\x88\xe2W\x1c\x83\x12\x9dJ\x1a\xb1Q\"\xfb\xfa\xc6t\xc5\x9a8*\xd1z\xe5}\xad\xe6uv\x9d\xda/n\xd0>|\xfc\xf1-~\x87\xa2D\x9f\xe6\x09\xd4\x0e$\x9f\xbe\xb2{o\xad\x10\xfeU\xf9\xb0\x8fS\xa2E\xca\xfbp\x1c\x19\x90F\x92i\xd3\xdcL5\x97\x89\xbd\x91\xa2\x8e\x81\xcb\xe8J\x1fq\x07\xa5A\x1f\x9dK\xe2\xad\xe1\x19\xaf\xfb\x1bI\xea\xd2\xd3\xbd\xf2\xd8y\xc7@q\x86\xff\xde\x1b\x15r\xeeF\xa9\x91\x18\xeb\xfb+\xd8\x9b\xcb\xf3\x06\xf7\xf2\x1f\x81\xf8\xaf(\xef\xbe\xed\xe1\xa6\xf5Lr+\x89\xaf\xd9\x94\x9e\xb2r@\xe2P\xaf\x9f\xe2t\xee\x10\x92\x14Z\x9a\x9e\x90\xba<\xc3\x9a\xcd\xd6\xf6\xde\x88eK(W\xff\x10\x15\x95\xb3\xa7)\x0d%\x12\x12\xa7x\xc1\xf2g\xa1gccm\xe1\x03\xcc\xfa\x0eo\x9f\x97tW\x97\xba\x96\xb6AMV\xeb\x19r\xb65\xab\xd6\xcb\x964j\xc6|5$\xdb\xa6\xb6VgG\xa2\xf5\xaa5\x9b\x8f?!\x1d\x17N\xd3\xfe\xdf-\xcaY\x98\x98\x92\xe2\x90M\xf3\xe0\xbbZ5\xc2g\xd3\xbf}\x11\xber\xc3d0\xa7YW\"=\x96-\xd7l>\xe6\x8ae\xb62\x85E\xfc\":*\x91\xd2\xc1\xf9T\x106\xde\xa7\x90'\xbc)-\x11\xfe\x97\xbe\x9f\xdf\xa1>\xd9\xf8\xb0\xdcU\x92{A\x0fZ\xf6~B=\xd3(?\xe6\x94\xa8LMdP\xa3\xe5-\xe4~j\x9d\xc3\x8c;zC\x8d\xa4\"Dm,\xd4\xd1wW\x89\xcfb\x0d\xcfx\xd5\x848\xd0\x00\x00\x09)IDAT\xddK=\xda\\\xc2HScFVRFY1\xb9t\xb5(74,\x0d\x87\x16\x15\xb1\x83\x09{sy\xce\xe0\x9e\xee\xd0z\xf1\xf2w\xbc\xb1%\x8d7\xadg\x92\xb4\xb0\x8c=\x15\x19~\xbe\x93\xd0GZG\xcen'{\xb8C\xc8\xff\xfa_jn\xafK%7\xf8l\xb6\xb6\xf7f,[B\xfdB\xa9+\xa3K\xca\xa9gOS\x1e\xd3\x86B\xea\x9fb\xee,\x8cl\\\xac\x1d\\\x80y\xb4\xa1\xcc\xd4@\xdbVBj\xb9`\xb1\x98\xcc\x97\xff['z\xd8\x92f\xcd\x98\xaf\x86}S[\xab\x13\x0a\xef\x0c\x18\xcd\xc7\x9d\x90\x81\x0b\xa7i\xff\xef\x16\xe5,L\x0cIq\xc86\x12g\xefKl|\xfb\"|\xe5d%\xaaY\xae)\x91\x11\xcbU\xc7h>\xe6\x8ae\xb7\x8e\xe2\x8b\xe8\xa8D\xbb\xe8\xdb\x9f\x05\x93W\xe4\x0e\xce\xc7\xfa~n\x87\xa6D\xaf\x0b\xa5\x92\xf4\xa0\xf0\x13\xcb\xde\x8f\x04A\xcd\xf3:\xa7DZWe>5g\xec\"\xa97\xa5\"\xc25\x97\xd9\xd7c}\xc9\x0ckx\xc6\xeb\x9e\xba\x82\x0d\xe8\xd9r\xc8\xd2ae\xb4\xda\xa0\xfe\xa5\x9coq\xe2\x89`.\xcf\xf67/%l\xd5b\xd3\xe4\xd27\xf1\xa6\xf5\\\xd2\x97!\x1fh(=Wb\xe9S\xfe6(~$\xcc!jS\xe9?rm2\x9f\xcd\xde\xf6\x9e\x89eJ\x08\xa5J\xdb}\xdb\xa5TEt\x8d\xd3\xa4\xf8\xf5A\x81Q3\xfe\xdc\xd8X;\x8c\x00&[\xb1bGWfQ\"\xb9\xc6\x09$A\xed'y\xd5\x92l\xcdX\x1b:\xdb\xa6\xe6\x07\x12\x97\x89\xdd<\xaa\xde|\xe6\x09\xb1L\xfci\xda\xff\xbbE>\x0b\x13]R\x9c\xb2\x0d\xf2\xe3&=\x1b\xf3\xed\xb3\xff\xca\xc9Jtu\xf6UE\x89\xd8o*_\x1d\xe3\xdb\xc7\x8d\xce\xb4\xad\xa3\xf8\"\x8eN\x89>\xa5c/\x9d[\xda\xdcQ\xd8\x0eM\x89\xae\xaf\x10\xfe\xf8oB\xfe\xa7\x96\xbd\x9f\xeaF\xb1?\xe1\x94\xe8\x015\x91ANJ\xf4\xae\xd9\xa9\x11\x7f<\xdb{\x89\xa0D%z\x92\xf1\xba\xa7\x13M\xc6B\x8d9>Mr{\xe3F\xae5\x0c\xdd\xf01a|\x09\x9c\xb9<\xdb\xb6[\xf5e\x1f\x15\x13\xec\xa8\xde\xd7\xca\xc4V-\xe1\xee\xf0\xf5\x91\xaa\xae\xd6\\?-\x839\x8487sk}\xaf\xe6zkd\xb3\xb7\xbdgb\x99\x12.\x91kw}i\xd1\xb0\xfa'\xc58MJ\xb8\x12\xf1\xe7\xe6\x8b\xd0\x1d\xd21\x02\x98lj\x99\xfd\x16%\x1a*\xf3\xa5\x93\xb9\xbe\xed\xf4\x84\xbdjI\xb6f\xe6W#BS[\x95\xc8\xee6\xbb\xa1D\xc6\x09\xb1L\xfci\xda\xff\xbbE>\x0b\x13]R\x9c\xb2\xdd\x88\xb7\xed\x131\xdf>\xfb\xaf\x9c\xacD\xd2\xf2jE\x89\xd8oj\x0cJ4\x8a/\xe2\xe8\x94HZ\xa3M\xf8H\xef\xfc\xf1\xdf\xa5\xf5\x82\xfa\xa3\x8eW\xbe\xf6\x02\xbfC\xfb\xdd\xd9w\x85\x17_\x14\xfe\xd1\x9a\xed\xd6*A}\x00\xe9\xfb\x9c\x12\xa9\xa6\x88C\x84\xd0\xbfp\x15dk\x9bn\x93\xa8a\xafDF\x92\xf1\xba\xa7}*\xa3\xd7\x9d\xa3\x8f\xa6G\xe2\xfb\xaa\xc8\x8e\xb3q\x96\x99\x01\xb3\x04\xce\\\x9ei[\xd1\xa7?\xb0\x13f\x15-Y\x92j\x17\xb4\xd3tj\xa4(\xb3\x1bCq\xd4\xd8\x8c=\xc4P\xdd\xbay$-\xc0g\xb3\xb7\xbdgb\xd9\x12|}I=I}\x09\xca\x03\x1b9\xec\xa4A\xb8\x12\xf1\xe7\x16>\xc1\xc0c\x04\x98\xd9.\x13\xc5\x1dn\xd8\xa2D\x81\xd4\xba~\xd2\xbf?\x95\xb7\xafu\xb5%\xb9\x9a\xd9\xd7\x81ij\xfe\xa2\xe9\x0e7\xe0\x93\x18%b*i2\xf1\xa7\x19\xe1\xdf-\xe2Y\x98\xe8\x92\xe2\x98M\x9b'\xba\xd1\xceec\xbf}\xb6_9\xaaD\xcd\xd9\x8a\x12\xb1\xb11(\xd1(\xbe\x88\xa3T\xa2o\x0b\xf7\xdd\xa2\xef?\xa7w\xee\xf7i\x0f/>$<\xc7\xef\xd0\x94\xe8\xb7\xc2\x83\x0f\xaa\x96\xb0\xdc\xde\xc7Uu\xba\xbe\x9eS\xa2\xd9\xca\x88r\x0fQ\xb4v\x90\xa4o\xb5\xf4\x9c-J\xb4\xc3\xa2D'\xd9\x7f\xcdk\xe6M\x8b\x1cc\x9c?\xaf\xf1\x9eE\xf3\x82\xf3$\x1e\xb3\x04\xce\\^i\xdb\x06E\xb2\xcb\xe2\xce\x87\xc5r\x01f\xd2\xa7Lv\xd5\xf1\xf7\x16\xd4y\xd6d\x9a\x979\xc4i\xfa\xd7p\xb8\xd1_\xcbe\xb3\xb7\xbdgb\xd9Jf\x05\xe6J\xe9Uj\x0e\xf34%\xab\x12\xd1\x9a\xf1\xe7\x16\xe5n\x9b\xc4\x05\x98\xd9n&*eZ\xfbD\xf2\x1fMz\xefL\xed\xd9y\xd3\x92\\\xcd\xcc\xafF\x84\xa6f\x8fFk`7F\x1d\xad\x12M\xd4i\xda\xff\xbbE>\x0b\x13]R\x1c\xb3\x95\xfb\x95J7\x91\xabl6\xe6\xdbg\xff\x95\xa3JtmN;\xad.\xfbM\xe5\xab\x13U\x89F\xf1E\x1c\xa5\x12}\x98/<.\x8f\xad~\xbbJ\xf8\xae$}\x9c/\xfc@y\x9eh\xd9\x9f\xf9\x1d\xfao\xf1\xd7\xe7\xe5\x15\xdc\x0a\xcb\xf6\xd1\x12\xe1\xb9[\xd2\xa7\xbb,\xcf\x13e_\xa66\x87Z\xeds\x89?\x89\xef\xbd\x98\xe7E=Yo.\xb4(\x11\xe3u/\xb3.\xf3\xa6\x16l\xcau\xd1V\xdf1\xb2\xd5\xfa\xe4\x83Y\x02g.ox\xd2\xcb\x7f\xe1J\xc2c\xd9\x00&\xe9K\x1b\xa6Oi,V\"\x06\xbf\xa5~!\xd5\xeb'\xad\xaco\x0f{\x88\x0arL\xc9\xbb\x85\xcbfo{\xcf\xc4\xb2\x95\\\x9e[(\x15\xe6.U\x0eb\xffW\xc9\xa8\x19wnl\xec`\x85\xe5\xcf1\x17\xc0d[\x97J\xbf<\xc5a\xf3D\x92\xa8L\xd3H\xde\xb5$[3\xf3\xab\x11\xa1\xa9\xd9\xa3I7\xe7\xa9\x7f\xd8-\x8cV\x89\xc6\xfb4M\xec\xfe\xdd\"\x9e\x85\xde:\x92))\x8e\xd9\x86\x92\x0a\xe5\xab\xe5\xe6\xe2L.\x1b\xf3\xed\xb3\xff\xcaQ%\x92J\x8a\xc80\xffM\xe5\xaa\x13]\x89\"~\x11MF\xa9D\xd2\xebK\x84\xfc\xfb\xd6\x0b\xc2\xd7\xe8\xfd\xaf\xd7\xf3\x84\x15\xf7\xad\x12\xf2^\xb7\xec\xd0\x95\xe89A\xf9\xa5\x875\xdb+y\xc2\x9a\x7f\xc8\x17\x1e\xe6\x94hib\xc2\x82t\xe3\x1e{=\xe1~\xe9\xa1\xcd\xc4k\x9d\xc8\xd4\xca=\xb9$\xbe\xa1\x9f\xb3\x86g\xbc\xee%\xe9l\x1c\xfd%\x045\x9f\xa7\xd3\xfa\xea\xa8\xfd[\xfe\xe4\x9bY\xfe=l\xa9\x91\xcd\xe5MO\xfa\x07\xf4\xd9\xefH\xa6\xf5L\xd2Gr\x9a\xea\xb3\x92\xd5\x0c\xab\xb5\xe1e\x9f2\xabw\xcf\xf2\x92\x05\xec!*HREk\xb0D\xb9\xc9\xc7d\xb3\xb5\xbdgc\x99J\x96\x91\x80\x14\xa0w\x19\xd9\xd3\x94\xd3!_I(4\xcc\xd7\xcc\xc8\xc65\x09}\x884iH\xe2\xe0\x02\xcc\xa3\x89i\xe9\xb5\xcd\xab}\xe1J\xa4\xe1]K\xb253\xbe\x1a\x91\x9a\x9a=\x9a<\xa2\x0f\x93a\xb3\xf9\xf8J\xeaL\xe4i\x9a\xd8\xfc\xbbE>\x8b\xd5\xc64FO-\xa9>\xad\xa4\x1c\xb3\x1d\xf3\xe76\xb4,\x8d\x0f\xd1Z\xaa\x8ff\xd3\x1e\x8d\xf1\xed\xb3\xff\xca\x8d\x9c$\xcd\xc3Rg\xa2\xd2\x853c\x99r\x99o\x1fs\xc5\xb2\xdf\xc9H_D\x93\xd1*\x91\xf4\xd1\xe3\xeb\xf3\xf2\xef{A\xbd\x11\xff\xe1\xe3\x05ykv}h\xdd\xa1+\xd1\xc7\xe6\x9c6\x97\xed_w\xad\xc9\xbf\xef\xcdW8%*\xef[:\xc7oX\xbb\x0f\xfb\xb8!\xfcH\xb22\xba\x8cW\xee\x14\x0e,\xf6'--\x0f\xf3\xafg\xbc\xeee\xd1\x9dM\xb3\xf7\xaa\xe6\xf3\xea_\xbe\xd3\xc9\xdf\x94\x02I\xdd\x12KDsy\xc3\x93\xfejb\xb1m,cZo&}\x0f\x94$\xcf-\xd6\xbe\xb9\x0d\xa9tBC\xee\x01\x13\xfa\xfc}_Vj+{\x88\x83\x8b+\xd2\x13\xd2\x16wZ\xb3\xd9\xd9\xde\xb3\xb1L%[\xfd\xbdR\xdf\x9c\x16\xfe4\xbb\xd54\xa9\xe3kfd\xe3\x9aD\xaed\x12\xe1[\xc4\x12`\x1e\xedjI\xba\x7f\xe9\xe9\x88J\xe4]K\xb253\xbe\x1aR\x84\xa6f\x8f\x16\xf2o\x97\xac\x98\xcd\xc7WRg\"O\xd3\xc4\xe6\xdf-\xe2Y\xe8\xad#\xf7\xad\x92\xe4C%\x0e\x8f.[\xdfR\x7f\xdajY\xb0\x95\xdf\x9dQ\x94\xc1\x82\xfe\xed\xb3\xff\xcau\xcaaM\xd2\xcd\xdc\xb4\x9b\\,S\xae\xd9|\xec\x15\xcb}'#|\x11M\x1c\x94\xc8m\xces\xbf\xf4\x18\x03e\xbe&\xa7\x90QQn>^\xe9\x8c9=\x15\x13c\xcc6.\x04\xc3\x1e\x98\x8d\x86u\xc6:\x16&\xb6%c\xafY\x93\xaf\xe4\x86S\xcc\x18\x98\xd8\xd3\x9c\x01L2%\xdaA\xbe\xe9\x14\xe2@u\xfaU\xa7\x90\xd1\xb0i\x934z\xc6\xf8\xc5\x1ac\xb6\xf1\xa0!y\x8bS\x08K\xec\xd7\xbb\xc9\xc4\xb6d\xcc5\x1b\x9ak\xffS\xfc\xdbe\x8c\xa792\xa8\x12\xf9\xa7\x1a3\x85\xc9\xa4D\xfd\x83M\xb3}a]\xd6)@\xcc\xd7\x8f\xca\x18\xb3\x8d\x03bjYL_\xfd\x98\xaf\xf7\xb1\x12s\x93\xb8V\xb3q\xc5<\xcd\xbb\xb4A\x92u\xf2z\xe61\x99\x94\xa8P\xfe\x17\x89\xf5\x9b8\x09Pg(cf\x8c\xd9\xbc`\xe0\x18)s\xa3\xaa\xb17\x89[5\x1bW\xd8\xd3\x1chQ\x19\x88\x96aF0\x99\x94(\x90\x98:\x05\x85H\x9d\xa1\x0c\xbf\x17\xe0\xc4\x18\xb3y\xc1\":\x079\xe0\x14u\xfb\xc4\xde$n\xd5l\\\x89\xfd4g\x02\x93I\x89\x00\x003\x15(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\xe7\xff\x07\xfd\xa4@\x82&\x8eJ\xdf\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/chan2b.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04Q\x00\x00\x011\x08\x03\x00\x00\x00\x83\x0b\xcdh\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x03\x06\x02\x08\x0a\x06\x0e\x10\x0d\x19\x1a\x18!#\x20#$\"$%#%'$&(%'(&()'*+)+-*,-+-.,01/2313425747968:7:;9<>;>@=AB@CEBEGDFHEIKHKLJMOMPROSURUVTVXV,`\xae7]\xad[\\Z8^\xae8`\xaa]^\\:b\xab;b\xac<c\xad_a^Fb\xa1=d\xae?e\xb0ac`Kd\x9dAg\xb2cebefdCi\xb3fheLi\xafDl\xafMk\xb0Fm\xb1ikhei\x8fjliGo\xb3Ip\xb5lnkJq\xb6ll\x8dnolKr\xb7pl\x88Us\xb3Vu\xb4xp\x84Xv\xb6surZx\xb8uwt[z\xba\\{\xbbxzw\\}\xb7\x8evve|\xb8^\x7f\xb9{}z\x95wq_\x80\xba|~{a\x82\xbc~\x80}b\x83\xbd\x7f\x81~c\x84\xbed\x85\xbf\x81\x83\x80k\x86\xbb\x84\x85\x83m\x87\xbdn\x88\xbe\x86\x88\x85p\x8a\xbf\x87\x89\x86\xb3\x81_\x88\x8a\x87q\x8c\xc1\x8a\x8c\x89s\x8d\xc3\x8b\x8d\x8ay\x8e\xbe\xc2\x83Wz\x8f\xc0\x8d\x8f\x8c|\x91\xc1\x8f\x91\x8e\xc6\x87T\x90\x92\x8f~\x93\xc4x\x95\xc4\x80\x94\xc5\x92\x94\x91z\x97\xc6{\x98\xc8\x94\x96\x93\x96\x97\x94\xdd\x8bE\x81\x9a\xc4\x97\x99\x96\x98\x9a\x97\x84\x9c\xc6\xe1\x8eA\x9a\x9b\x98\xe9\x8e<\x86\x9e\xc8\x9b\x9d\x99\x87\x9f\xca\x9c\x9e\x9b\x9d\x9f\x9c\x89\xa1\xcb\x9e\xa0\x9d\xf6\x935\xa0\xa2\x9f\x90\xa3\xc8\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\xff\x952\xa4\xa6\xa3\x94\xa8\xcd\xa6\xa8\xa5\x96\xa9\xce\x97\xaa\xcf\xa8\xaa\xa7\x98\xab\xd1\xa9\xab\xa8\x9d\xac\xcc\xaa\xac\xa9\x9f\xae\xce\xac\xae\xab\xa0\xb0\xd0\xae\xb0\xad\xa2\xb2\xd2\xb0\xb2\xaf\xa4\xb3\xd4\xb2\xb4\xb1\xa5\xb5\xd5\xb3\xb5\xb2\xb4\xb6\xb3\xab\xb6\xd1\xb5\xb7\xb4\xac\xb7\xd2\xb6\xb8\xb5\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbb\xd6\xbb\xbd\xba\xb2\xbd\xd8\xbc\xbe\xbb\xb3\xbe\xd9\xb6\xbe\xd3\xbd\xbf\xbc\xb8\xc0\xd5\xbf\xc1\xbd\xb9\xc1\xd6\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbc\xc4\xd9\xbe\xc5\xdb\xc4\xc6\xc3\xbf\xc6\xdc\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xc5\xc9\xd9\xc9\xcb\xc7\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xcc\xce\xcb\xc3\xcf\xdd\xca\xce\xde\xce\xd0\xcc\xcc\xd0\xe0\xcf\xd1\xce\xc6\xd2\xe0\xd0\xd2\xcf\xd1\xd3\xd0\xc8\xd4\xe2\xd2\xd2\xdc\xd2\xd4\xd1\xd3\xd5\xd2\xcd\xd6\xde\xd4\xd5\xdf\xd5\xd7\xd4\xcf\xd8\xe0\xd6\xd8\xd5\xd8\xd8\xe3\xd2\xda\xe2\xd8\xda\xd6\xd3\xdc\xe4\xda\xda\xe5\xd9\xdc\xd8\xd8\xdd\xe0\xdb\xdd\xda\xdc\xde\xdb\xdc\xdd\xe7\xd9\xdf\xe1\xdd\xdf\xdc\xe0\xde\xe2\xdb\xe0\xe3\xde\xe0\xdd\xdf\xe1\xde\xdc\xe2\xe4\xe0\xe2\xdf\xdd\xe3\xe5\xe1\xe4\xe0\xdf\xe4\xe6\xe0\xe5\xe8\xe3\xe5\xe1\xe4\xe6\xe3\xe8\xe5\xea\xe2\xe7\xea\xe5\xe7\xe4\xe3\xe8\xeb\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xe8\xea\xe7\xeb\xed\xea\xf0\xf2\xef\xf4\xf7\xf3\xfa\xfc\xf9\xfe\xff\xfcS\x19\x91\xf7\x00\x00\x20\x00IDATx^\xed\x9d}P\x14\xd7\xde\xe7\xcd\xdd\xa7Q\x09\xa8\xf8\xae\xb9r\x91\xd82\x16\xb8S\xd9I\x14\x1c\xf7\xd6\x94\x0f\xd9\xb0\x9aD\xddK\xb6\xa2\\\xa3\x0fX>IH=\x88k\x89Z<P\xeel\x15(W\x85X\x18//F\x20\xa5\x80o1\xbe\x11\x1c\xd1@\xe2\x0bP\xb7\\\xc5\xab\xa5\xa4H\x95rE\x0b\x84\x92\x02\xce>\xcfsS\xdb\xe7\xf4L\xf7\xe9\x99\xd3\xd3\x836\x0d\xcc\xfc>\x7f\xcc\x9c9\xfd;\xa7\xcf\xe9\x9e\xfe\xce\xe9\xd3=\xfd\x1d\xf3\xeb+\x80\x00\x00\x00h\xc6h\xa9\x867\xb4*\x07\x00\x20\xc0\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05xE\xfa\xb5\x02\x80@\x02\x14\x05x\x15Z\xe2\xa7poi\x05\x01\x01\x04(\xca\x08\xe6PD\xabV\x881\xb4E\x1cb/\xe8\x9f=\xdb^\xde\xc4^\x06\x04$\x06)\xca\xb1zW\xaa\xfe\xf0\xee\xfc\xf38\xd1Q\x95o?t\xa9\xc7-\xa9\xc6\xdfv,\x89I\xee\xf3\x16\xe1A\xe1XNd\xec\x01\xadPL\xdd\xfc\xd0)\x8b\x8fM\xb9\x87\xe2\x85\"\xa1\xd7\xb5\xc2\x09G9.\xa2\x1f\x1d\x10\x0a|\xa3\x1eT>\xb9\xc8\x95l]1%dA\xbf{\xae\x1a\x9b\xb9\x8dZ!/AM\xdc\x19\xad\x10\xc2i\x13/b:!4%\xe8\x0bf\xd0%\xee03\x1f\x08X\x8cQ\x94{\xd9\xdf\x89\x89\x9er\xfb\xa9\xa6\x8b\xd97\x10j\xcf=T\xd7t~wa\x8f\"\xa9\xca'q_\xa7\x9b\x9fx\x09\xf0d3WU\x95\xc9m\xad\xaa\xe26\xab\xc6\x1c\xbd\xe8J\x1d\x09\x8d\xb0\xef\x9f\xc3q\xf5\xe8\x16.vJ\xb5\x08MW9\x17R\x85:\x0ep\xe5]\xca\x05r\xbd\x08\x95\x84J\x8a\xf6\xe6\x94\xcc\xf8\x906\xf7\\\x152\x83v\x8b\x09\xba2&\xb5\xd7\x06\x11p\xd6|B=\x90\xe2\x20\xefp\x94\xf2\xc5\x0e\xc7\xbc\x83\xc2\xa7\x92\xb1\xdbYA\xdfq\xc7Y\xd9@\xe0b\x88\xa2\xb4\xe4\xbb\x14\xa5\xdc\xde\"\xfcRg\x0b#\x96o\xf2\xf1ou\x9b\xfd\xbc\"\xa9\xc6c\xbe\x14\xf5u\xaa/g\xb1u<B\xdfbi\x08\xd9\xaa\x1a\xf3\xbb\xc5\xceD\xdb\xc4\xb7\x04Q\xe8\x98\xc9\x91\xc1\xd4\xb7>*\x0a\xea\xe0\x96\xc6#\xd4\xc4u\xb8\xe5K\xf5b\xa4\xa9\xcb6n;\xeaw\x85jMh\xde\x18\xbf\xd6\x99RT&\xd3\x1a\xe9:'Z\x9d\xca\x0c\x90Q\x04\xf88\xd2+6!\xd4\xc0_E\xc8\\\x8c?\xae\x0f\xbe\xc5\x08\xf2yC\x01\x81\x82\x11\x8ar,\xfb\x98]T\x94\x96\xec\xef\xf1\x1b\xfe\x95.\xcc'9G\x8b\x14I5\xee\xf2\xbe\x0d\xd5i\xban8\xbf\xf17\xdc\x06\x10\x14\xe1\xef8\x13kC\xee\xe1\xb7-\xdc\x8f\xf8\xcd\xe7\x03\xa5\x83\xfbf\xc2S\x86\xa2H\xf5*\xb8\xcei\x9e\xe9\xc8\xc4OuU\xca\xae\x0c\xd5qu\xce\xd4J-E\xd1\x0c`\xd0}\xd7\xa9(w\xbb\xf1\xc7\x8e\xa9\xf1\x8c\x20\x9f7\x14\x10(\x18\xa1(]OQ\x9e\xa8(\xa7\xec=\xae\xdf\xe6\x96;\xe4\xed\xe4\x01E\x92Io\xacxB\xbf\x0b\xa1\x9d|T%\xbao\xe2\x97\xe3\xa4\xa9lW\x82y\xc3\x03\x12s75\xd6\x14\x97\xfc\xc0\xbd\xa8\xfc\x8d\xcf\x8b\x08\x9d\xb5\x8a\x1c\xa3\xc7\xe7O\x1f\x17\xb6`\x06BE\xcey\x96p!s\xa6x\xbc\xb4n\xe9R\x16\xcb\x0c\x0f\x9d\x93\x89\x14\xc5\xe8\xca:\xb8\xa6\xf0|\x97\xa2\xb8b\xe9z\xdbB8.h/^\xda\x13&\xe6\xaeR\xe4R\x95]\x1a\xcbq\xeb\xaf/\x9d\x112\x1f\x9f\xfe\xf5L\xfc\x98,\xa5+\xa3\xd8>\xab\xa8\x9e\xab/\x99\x95\x89\xce8\xa7;V\xe3\xec\x81\x8aDs\xc2\xae\xe78yy\x83\xcd\x14\x9bl\x1bP\x04<1\xf3x\x0b\"\xb7\xcd\xf78=\xd6\x96\x93\x13k\xaeV\xaeDT\x14'\xebC\x18\xc2|\x0c\x14\x05Pb\x84\xa2\x088\x15\xe5PQ}\xa1}\xefI\xf9\xab\xd9\xbf\xb7\x8a\x91t\xe7\xa6\xa3\x92/p8~F\xe8\x81\xc3T\x80\x06\xaen\x8bF\xa8\xb9\xd2\xc4\xc7\x15\xfc\xd9\xf2\x19\x8e\xa85\xaf\xfe\xaa\xa6\x80/v/)IC|\xd0\x07%\xdb'\x87\xf7\xe3S\xff\xf8\x03\xe5\xf60\xae\x07u\x9c\xac\x9a5\xb7\xaa\xaaJ8\xd1\xe9\x0aR\x9c\x19\xc9\xc5\x82\xd7\x97\xac\x0f\xfe=\xa2\x8b\xd1\x95\x09\x8a\xb2}\x81SQ\xa4X\xaa^\x84\xceWU\x05o\"u}_\xb5\x9f\xdbTU\xd5\xa2\xcc\x95+\xeb\xca\xdf;c\xd6\xc4\xe9\xab\x96r\xf8\xe2\xc9E\xee\x18Y\xac\xa8L\xa6e)\xf7\x06\xf7[n\xf1\x1d\xd4y\xc5\x91\x90\xe4p8n\xe3\xec\x8c\xa8\xacs\xa5q+\x85\x13\x9b\x9f\xe6\xa5\x9f\xa8)\x8b\xe5_(\x03\x1a\x1c\x8e\x98\x02\x9c\xa07_\xefrk\xe9\xbe\x18s\xd9\x06\xf7\xedG+\xcaI\x0f\xf1\xe8\xb9w\xecw\x93\xdcGg@\x80c\xac\xa2\xe4\xdb\xf3.\xdd\xaa\xdf\x9b/\xcd\xc1\x9e\xccmc$=\x91\xcfz\xa2\xf1\xf1P\x10M\x92\x16\xe1\x076=NHu\xdb\x92\x85\xa1yo\xf5c\xf7r.i(\xe2r\xc9\xa7\xfd\xc2Hb2^{\xe6$2Vr\x9dP4q\x87X\xc5\x0esG\x84\xd7#\xf8\x82\x06U\x8c\xaaLP\x94{\xaf\xdf#\x8aB\xc5\xba\x9d\xa8\x848\xb5Cy\xd6\xe3\xcc\xa5*\x13\x8aqo\xb6\x89'\x85\xa8\x84\xbb\xe1\x8ad\x9f\xf5\x1c\x1e\xc7\x8ds^h\x91Nj\xce\xf2\x15\x08\xeb\x800\x0a)\x8d{!$K-}\x8a\x00\x8c\xa8(\xf4\xe6\xab\xe6\x1b\x85P\xbe\x19\xb9C+\xca-\xce}\x0c\xf9\x960t\x1a\xc4i\x1c\x10\x10\x18\xab(E\xf6v\xe1\xb5#\xf7[g\xf6\xa9l\xe9^\x06*\xc9\x80\xad(\xe9\xae\xe4\x05\xfe&\xbb\x9cK\x1a\x16\xcf\xec\xc1L\x13\xcem\xeeL\x9d\xb1\xc2\xfe}\xbf(j\xae\x83\xb5g,s\x8c\x12\xff[\xf2\xf6\x86\xb2\x18U\x99\xa0(h\xc1V\xa2(T\xec`\x14\x85\xaaL(\x16,m\x84BNJ\xb2\x14\xa5m\xd5\xf8i\xdc\xd4\xe0\x8f\xc8\xe4\xac$\x18i\xef\xf6\xbe\x10\xb0e\x20\xf4\xd0\xba,\xab\xecf_/R\x04`$E\x916_\x8eEx\xb9\xcd\x9fF\xee(\x15e\xbf\xdb\xd2\xa6\xc3\xd9\xb3\xc3`\x8c\x02(0VQ\x8e\x15\x8ao\x87\xc8[\xcfQ\xbbk,O%\x99\xb0\x15EJ\x16\xf3\xdd\xecr.i\x98\xe3\x9c\x8d\xc0\xb7w\xb6e\xbf3\x9b\x9b\"^Q\x96\x0eV\xe7<J\xcf\x11E\xb1\xb9\x0b\xc9\xdb\x82\x08E1\xaa2\xac(\xf9s\x88\xa2\xd0\xb1\x83P\x14\xbae(\\\x9e-9%\x9fd\xb0\x14esXv=W\x9f\x19\xf69\xfe\x20\x09\xc6\x87\xce)\x93\x14!\xfd\xa4,5\x81_rp@\x11\x80\x91\x14E\xde|\xf3\x1ecU\xf6>F\xf9\x96;\xe9\xb1\x1cUq\xdf\"\x00\xa00VQ.\xee&\xe7\x1a\xe5\xe4\xc0zZ\x94\xd7\xe2\\L%\xd9\xb8)\xca\x1e7E\xa9\xe1U\xee\xc8pI\xc3\xd2\x99\x17\x09\xc2O\xfay|Q\xb6m\x7f\x08\x99o%\x07\xab\xbdI\xba\xd6\x93\xcf\xb5\xd2\xc5\xe2g\x92\xb7\x19\xf1\x8abTeXQ:B\xcb\xc9\x18E\x8e\xa5\xea\xc5xU\x14\xaa2\xa1\xd8\xdb\xd2\xe2\x8e`\xe9\xf66Ee.z\xc8\xb5\x1eq\xa4E\x04\xa3\xe2!\x1e\xa3\\#\x08\x02\xd1\x90#h\xc9\x93\xca\x98RE\x00\xc6SQ\x1eF%?lLH\xf4\xbc\xacL+\xca\xa7\xe3\xdb=\x96\xc3\xb5\x1e\xc0\x1dc\x15\xa5\x8d\\=n'w\x9e\xb4\xee?\x20|E\xfb\xbb\x94I\x15dE1\xe7\x20\xd4\xf7\x077E\xe9\xb4&\xe1\xe1}V\x96{9\xd77\xfe\x08G\xaeP\xffQ\xf8I\xdf$\xcetD\xae\x20\xaf\x91\x08\xdd\xc3\xcb\xda&\xbe-\x1c\x9d\xfd\x913\x14\xc5J\xc8H\x7f?W\xa2(FU\x86\x15\x05\xc5/\xc6\x8aB\xc5R\xf5b\xbc*\x0aU\x99r4\xb2x\xa6\xeb\x8e\x15Ee2w&\xddq\xa6\x92\x92\x10z\xc4Wce%Wkr\x0e\x0a\xdb\x85\xbf@\x16\xedP\x04`<\x15\xe5\x1a\xbf\x84\xe7\xd7\xb9.\x945}!\xcd\xe0P\x8a\xd2?{\x01\xf2\x04\x14\x05p\xc3\x08E\xe9ji\xc9=\xdaB\xc6\x00\xe7\xed\xe7o\xd5\xe5\xe1\xbbc\x9b\xec\xfb\x9bZZZN\xe6+\x92l\xc4k=W\xc9ohb\xdc\xc1\x82D\xdeT\xd1\xfc\xb3\xc3\xb4\xed\xea\xc0\xcdm&|\x0d\xa86f\xf9\xd7\x17\xb2\xf82\xb7\x82\x173\xb9\xad\xe2}sk\xb9\xc5\xf9\x87\xe2\xb9<,\x0d\x136\x96\x14\xc6\x8b\x97R6\x06o)|3\x14\x1f\x99\x87C#r\x0f\xcd\x1f+\x8c\xec\xef8o\xb5\xc5\x83\x82\xa5Ak\x8b\xd6\x06-E\xcabRe]\xe5\xdc\x81\x0et4\x84\\\xeb\x91c\xa9z{NUU\x05\xc7W\x1dos]\xeb9\x85u\x82\xca\x95+\x132\xf1U\x1d\xd7X\xe4\xc7\xa0-\xce\x94\xdcH\x15\x0a\xa2\x8bO\x7fb\xc6C\x90\x9cyi'Ng\xe0\x99\xd9\x02\xde\xbc\xef\xac\x90\xacU\x04\xf4^u8b\xb69.?C\xf4\xe6\xbb\x16Ss\xce\xf1\xc05DY\xc8\xb9\xb4\xe3f)_\xdc\xe0Lo\xe5Xw\xee\x9eg\x9d\x0a\x01\x81\x8c\x11\x8ar>\x1bC&e\xd1\x8dC\xb9\x07\xce\xe3\xb1\xfa\xe1l\x91\"E\x92I\xb7E\xfc\x7f\x09\xb9\xfcy7)\xc6\xb2a\x0f\xcf\xef\xdc\x89\xb3\xfeb\x16^w\x0a\xd9\xb7Sm\x96D\xf7\xa9\xc5\x8e\x09\x1c\xc79\xefz?\x12\x196i.\x1ef\xe4\xcd\xfdt\xfa\xb8)\x91\xe2\xb5\xd9\xae\x0f\xc2B\xe6\x8aS\x01\xf8\x7f=\x0b\xf1=c\xf1\xce\x99\x0d|\xa7j\x7f\xe6\x9c\xd09\x99\xfd\xee\xc5\\\x95\x1d\x13\xc2\xf2Q\x7f\xc4\x94~E,U\xefwAbe\xd9\xa8k\x12I\x8c\xadW\xe4R\x95]\x123\xa5\xa1\xc0\xfa\xd7\x9dG+\xd5H6\xddY\x8bb\x92\xc4C\xbff]\xace\x0d\x1e\x9dT\xac)\xb0\x99\xacI\xb5\xca\x80\x9f\xa2\xc4\x89\x962Do\xbe+\xe4/<\xa65\xe2DJ\xee\xe4l\xb1\xda\xe7x\xa9\xf9\x19I\x1f\x0f\xf9\xc8}\xad\x98{c\xdf\xb9tO\xeb\xee_\x20\x900BQ\x80\x97c\xd5x\xd5Q\x9b\xae<2\xefx\xf4\xe2\xc5\x93\x9f>[\xa4\xfa\xc7\xa9\xfd\xe3\xe3{\x10\x8b\xc2\xd9\x1c<\xcd\x00\xa0\x00E\x19\xc1l\x9dvO+D\x0fN\x8b7\xad\xa0\xbe\xd8\x0b*\x11mS\xd9\x7f=\xc6\xdc\xbb\xe4}R\x1d\x08,@Q\x80kQ\xe2\xe9Ns\x94\xca]=\x00\xe03\xa0(@_\x86yGum\xf5\x0es\xc6\x80V(\x00h\x00\x8a\x02\xa0\x813\x1b\xac&k\xf2Y\x10\x14\xe0\x95\x01E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x19\x1d\x9cI|\xa4\xf8\xac\xea\x1b\x0a\x00\xc3\x8aA\x8a\xe2\xdd\xa5\xb4\xe5\xc8^{\xfeI\xc6#\xc2\x0c\xa0i\x1c7\xdb#\x93r\x13\x1d\x0c\xbeZ\xa9*\x0c@}\xe2\x20_\xe0vC\xab\x9ao(\x00\x0c+\xc6(\x8aw\x97\xd2{\xd9%\xf5w\xea\x0f\xec}\xea\xbd\x92!\xe2T|\xb0G\x1e\xe5&:\x18d+U\xef\xbe\xa1J\x03P6\x8a\x1aJ\xa3*<rU|C\x01`X1DQ4\\Jod\xe3\xe7\x93=\xcd\xf6\xfa\xec\xea\xa1c\x93\x87\xa2(\xdcD}\x87\xb2R\xf5\xee\x1b\xeaf\x00\xca\x84\xae\xe1\xae)\x87\x91\xcb\xf6\x0d\x05\x80a\xc5\x08E\xd1r)Edp\xd2\x9a=L\xcf\xd9\xf0T\x94A\xb9\x89\xcaPV\xaa\xdemA\xdd\x0c@\x99\xd05dX\x9f3r\xd9\xbe\xa1\x000\xac\x18\xa1(Z.\xa5$\xe6V~\xd1\xe0'.^\x95\x96\xa5S'\xbd\xed<\xebq\x99\x85\xd2n\xa2j\x16\xa2\x12\xcfR\xad&[J#RX\xa9\xb2}C\x1bM<\xbf\xe7n\xfa\xb2\x98dl\xcd%?\x14Z\xcbXT\xa8\xda\"\x0eQ\x94\xb9*\xbe\xa1\x000\xac\x18\xa1(H\xd3\xa5\xb45;;;\xd7\xf8\x99\xd9\xeb\x13g\xe5\x1e\x9a\xcf\x11E\x91\x9dGi7Q\x15\x0bQ\x89\xb3|FmuJ\x14~\x84\xabl\xa5\xca\xf6\x0d\xed\xae\xae\xb4%Xl\xbb\xd2\xe6\x11\x97\x0bIQ4\x8dE\xd1M\xdeA\xde\x95\xb9,\xdfP\x00\x18n\x8cU\x14U\x97\xd2\xd6\x96\xba\xfc\xbd\x86K\xca\xdc\x99\xc2\xe8\xa3\x7f\x0eV\x14\x85Y\xa8t\xd6\xa3f!*\xf1\xbc\xbaS\x18e\xbc\x9fB>\xb0\xcez(\xdfP!\x97\xff\xe4\x19\x1a\x10\x1f\x05\xedR\x14\x1f\x8cE\xcf\xf1\x7f\xf5\xa8\x17\xe3\xe9\x1b\x0a\x00\xc3\x8d\xb1\x8a\xe2\xc5\xa5\x14\xf5\xe4\x97{\x96\x1bR\xda8;~[\x8f\x15Ea\x16*)\x8a\x9a\x85\xa8\xcc\xe3\xd2\xe4w-\xfc\x87$\xcdR\x14\xca7T\xc8\x8d~(\x15t)\x8a\x0f\xc6\xa2\xa7\xf9\xfb\xae\xa4\x9b\xa2\xb8\xfb\x86\x02\xc0pc\xac\xa2\xb0]J\xbb\xc4\x09\x94Kv\x83'R\xces\xe4\x94k#V\x14\x85Y\xa8\xa4(j\x16\xa2\x12\x0dq\xb6\x9c\xd3\x8eu\xea\x8aB\xfb\x86\xa2\x95\xae\x19\x10$+\x8a\x0f\xc6\xa2We\x1f.\x85\xa20}C\x01`X1VQ\x98.\xa5\xfdyG\xc9\xc2\xef\x8dV\x94V\x8e8\x95\x92\x99Y\x85Y\xa8\xa4(j\x16\xa2\x12\x09\x89xJ5\x95\xad(n\xbe\xa1J=\x90\xc7(\x9a\xc6\xa2\xcf\xa3\x0b<\xea\xc50}C\x01`X1VQ\xd8.\xa5{\x89}\xb9\xf1g=(bz\x9b\x20\x1f\xafcEQ\x98\x85J\x8a\xa2j!\xea\xc2\x86\x8f\xf0\xbe\x95\x1e\x8a\xc2\xf2\x0de+\x8a/\xc6\xa2\xa9\xef\xb9n\xc4\xa5s\xd9\xbe\xa1\x000\xac\x18\xa1(Z.\xa5?f\x97\xd7\xdf\xa9\xcf7\xfe\x9e\xd9\xba\xd0\xe9\x9f\xae\x0f\x0b\x1a\x9b[O\xdb\x98Rn\xa2\xaa\x16\xa2.\x0a\xf8\xd4\xd2\x82\x95|\xecWW\x15V\xaa,\xdf\xd0\x17?\x90+5\xf7\xc5\x82\xb2\x01\xa8\x96\xb1\xa8\xc0\xed\xa8?\xbb\xd6G\xe5\xb2}C\x01`X1BQ\xb4\\JQ\xcb7\xf9\xf6\xc2S\xc3ps\xc5\xf5\x85a3>\xca\x1d\xcb\xad@\xb2Y(\xed&\xaan!\xea\xa4\xaf8!:.\xad\xe2=S\x92\xc2J\x95\xe5\x1b\xda(\x1a\x84&\x93L\xda\x00T\xc3X\x14\xb3/\xe6\x0ar\xcfU\xf1\x0d\x05\x80a\xc5\x08E\x01^\x95\x81,S\xb5[\x96\xaao(\x00\x0c'\xa0(\xa3\x82\x81b\xdb/\x8a\x0co\xbe\xa1\x000|\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a2\x829\x14\xd1\xaa\x15b\x0c\xe0\x89\x0a\xf8\x8aA\x8a\xe2\xdd\xa5T\xa0\xce\xfeR\x169CK.~\x80A\xd8\xfc\xa1|\x0c\xc9\xd7|T\xa5\xda\xb2\xcd\xdcF\xc5\xe7\x15\\P\xbeJ\xa8\x07\xda\xb1\xf1B\xdfB\xaf{\x8fA\xefd\x8a\xef\xe0\x89\x0a\xf8\x881\x8a\xe2\xdd\xa5\x14ao\xc1\x93y^\xca\x1b\xccQ\xa7\x86\xb4\xe5r_\x1c\xcd\x8d\xe0\x8ey\x0f\x7f\x15\x9e\\N,@l2\x83v+3Z\xaa\xc6mb\x87z\xa2\x1d{\xab\xaa*S\xcb\x9e\xe3;n\xad3\x05\x9e\xa8\x80o\x18\xa2(\x1a.\xa5\x02E\xe5wF\x90\xa2\xfcn\xb13Q\xc7\x1dA\xa8\x7f\xee,\xaf\xd1\xafH\x8a\x8a\xa2\xdc\x18\xbf\x16\xb9\x13\xec\xb3\xa2\xf8\x14\xfb\xad\x86\xa2\x1c\x9f&)\x0ax\xa2\x02\xbea\x84\xa2h\xba\x94\xa2\xba\xddO[F\x90\xa2HO\x94%\x8a\x822\xb9\xc1{\x20\xfb\x8e\x9a\xa2\xc4O\xf5\\\xab\x0f*!\xe1C\xac\x86\xa2\xbc\xc3-\x0e\x95\x14\x05<Q\x01\x9f0BQ4]J\xdb\xed\xd7\xd1\xb0(J\xeb\xd2\xb0i\x1f}\x146\x01\xab[fx\xe8\x1c<kP\xe4t\xd4\xc0^\x1a\xa2\xa2,\x9dF\x82]\x86\xa5\xc2\xd1\xf5\xf1\xec\x09sOM;\xec^]\xee\x14b\x00tk\xa2\xb3\x8a\x89w\xe4e/\x96\x98rl\xd6\xda,KR'mnJ\x14%\x8b\xe7\xf9\x98\xc7\x0a\xc3R\xd43\xf1cW\xd1\x1bo\x87\x8d\x9b\xb2\x00\xfb\x06\x04\x7f\xb4jV\xe8|<Xh{g\xea\xf8\xe9\x0b/!<c2\xce\xee\xca\xa5\x09\xfe\x20~j\xd8Bq\xa2\xc4\xd57eRKQ\xee\xb5\xa0I\xf28\x09<Q\x01_0BQ\x90\x96KiI9\x1a\x16E\xe9ycJ\xe6\xc6\xe0\x10\xfb\xfc\xad\xd8cc}\xc9\xfa\xe0\xdf\x0brq\x92<\xa3\xba\x0a\xcf%\xd7q%O\xeb?\xe6\xc8\xa3\xf0e\x1b\xd3\xb6\x99a\x9bKVp\x9c\xeb\xc0\x94x\x8b\x9bO\xaa\xdd\xbd]$\x97~nc\xad\x85\xdf\xb5\x8e\x8f=\xb8\xa4Xan\x8a\x15\xe5AZ\x14y\x8c\xb5lX\x8a\xd0Ei\xf6\xe6\xd8\x84\xf0\xcd\xe5\x1b9\xa1\x8d(\x98\x9b\xbd\xf7\xd0\x14\xec\xf2Q\xc4\xc5\x1f\xcb_\x18\xf4-B\xf5{\xc7r\x937m\x99\xe8\xee\xfd\x11\xcc\x85\xef\xdf?'\xb4\x0eQ}S$5\x15E\x80R\x14\xf0D\x05|\xc1XEa\xbb\x94\xd6\xe7v\x0c\x8f\xa2\xec\xe7.\xe1s\x1a|\xd0\x1d&\xa3\x91#\x1c\x19wPg=\x98\xa58I\x19\x96\xfe~\x12\x1e/\xac\xf2T\x94\xa6\xcfo\x90\xf7{M\"\xf7\x14K\xad\xe9\xe8\x1c\x7f\x06\xa5g(\xcdM\x05E)\x8e>\x8bS\x0aG\xd3\x12N\xac\x0buM\x9f\xdf\x85\xbdG\xf0\xa9b\xf0\x94VA\x14&\x0b\xa9\xa7\xf9x\xb4\xf4[bM\x16<I\x18\x9f,\x9d\x8c\x94\x04\xcf\x16\x8au\xcd\x8aP\xf4M\xd1\xcd\xc1)\x0ax\xa2\x02\xbe`\xac\xa20]J;\xec\xf5\xfd\xfd\xfdMy\xfd\x06\x1b\x80!\xb4v\x12\xc2\xe6<\x87\x84\xd7\xf8\xdf\x92\x9c7D?RYQ\xb6\x9c*\x89\x08\xc1\x9e\x1a\xb2ai\x7f(\xb9\xa8[\xef\xa9(N\x9a8\x17\x0a3\x0ek\xa5\xa0\x16\x9d('\x0d)\xccMS\x0a\xf69}~\x14\x8e\xa6\x85\xae\xc2%\xdc\xf7R\x15\xc1\xb8y\xc4\x03\x11\xb5f\xce\x9f9\x91\x9b\xe3\x96K\x11\xfcG\xfc\x9a\xc9\xb5\xd1}Sts\xb0\x8a\x02\x9e\xa8\x806\xc6*\x0a\xd3\xa5\xb4)\xdbE\x8bJ\xe9\xa1b+\xd7\x8a\x7f\xb6\xf1\x18e\xeeB\x92\xb3\x20\x02\xbf*gf\xdb\x82\xb2\x11mXz\x8b#\xbdhWU\x14TU$R\xa5\xc8\xb5^@\x0d&D\x14\x8567M\x89\xb3$|F\x8cI\x15\x8e\xa6\xa7\\G\xfbVN>I\x0c\xc6Z\xb6\x09k\xc7\xb7S\xa6\x7f\\X\x159G\x99K#\xce\xccVq\x17\xe9\xbe)\xba98E\x01OT\xc0\x17\x8cU\x14\xb6Ki+\xa6.\xb7\xb5\xd5\xe8AJS\xd0\x82\xa6K\xb3\"\xf0j\xe3g\x92\x9c\x19\xf2\x18\xc5\xde\xe4\x9a\x99\x9d\x88\x8fX\xd9\xb0\xb4?\xe4S\x1cT\xa7\xae(l\xac5\xa8!ZT\x14\xda\xdc4%\xae\xf9\xbe\xa5\x18\xa7\x14\x8e\xa6\x1d\xc1\xce\xdb\xdb\xca)\xa3/\xa2\x12D;fG`\xbf\xb4\xb7\xe7(si\x82W\xe1W;\x1e\xa3\xcc$\x19\xb8o\x8an\x0eNQ\xc0\x13\x15\xf0\x05c\x15\x85\xedRJ\x18\x8ey\x94\x8b\xdc\x14\x8e\x8b$\xb2VB\xc6\xf4\xfb\xb9\x12\xfc!2\x12\xa1{\xd8\xa0TT\x94)\xab.}J\x1b\x96.\x0e\xc37\xc7/e\xcc\xa3|q\xc3=\x8b\x82R\x14\xda\xdc\x14_=\xbe`\xc2\x13\xb3\x0aGS\xe14K\x14\xd8\x8e)\x91x\xda\xe9\x03,\x10\xb2vL\xc7\x13\xb1\xfds\xbc)\xca4<\xfd2;R\xd17E7iEi\xda\xc4\xbc3XV\x14\xf0D\x05|\xc2\x08E\xd1r)\x15\xe8o\xa9\xcbmi\xf3Z\xcb\x10p1\xb8\xbc\xa4\xaaE<p\x97\x06\xad-Z\x1bD&a\xd1\xc6\xe0-\x85o\x86\xdeA\xe8\x12\x99\xc2\x8c\\\x80\xa7\x1fd\x1b\xd3\x96)\xd33\x0f\xbc\x15\xec\xa9(\x0b=<\x07)\x9a\x17\x15?\xaf45>O[\xf7\x8027}r9q\xdb\xd5\xde\xcedk\xed#\xda\xb0T\xe0\xc7\xa0-b\xc1\xa3\xaf\xbf\x91Y\xf2\x01g\xc7\xf7\xc1\xc6\x9fB\x17\xe3\xc7U\xb5\xa0M\xdc;\x99\x9f\x87sa\x9bO\xd1\xb94\xc1\xdc\xfcS\xdfDL\xc2\x1aG\xf5MN\xde\xc1\xf7\xccnu\x19\xaf.\xe4&xl\xfe{UU\x13\x16;\xedZ\xc1\x13\x15\xf0\x0d#\x14E\xd3\xa5\x14\xdf\xfa&\xb0\xd7[%C\xc1\xc9\xf1xfd\xdc\\<\x91\xd2\x9f9'tN\xa6x\xf4t}\x10\x162\xf7[\x84\xf2\x85\xa5\x9b\x05]\x99\x15\x86\x7f\xd3]\x86\xa5\xc2\xf0*~z\xc8\x9b\xe7=\x15%wr\xb6{\x96D\xdf\x12\x9e\xaf\xb4\xf0\xe6j<O\"\x9b\x9b~\xcd\xf3|\xd4O\x95\xc2\xeb>D\x19\x96b\xd6\xbf\xee\x9c\xb8\xb8\xfe\xce\xb4\x89\x11\x85\xf8\xce\x13\xa1\xb1u\xa1\xc2\xeb\x0a\xd4\xbfuV\xf0\xe4\xc5\xb93\xc7G\xd2\xb94\xb3?}g\xe2\xd4\xa5\xe2y\xa5\xdc79\x19\xef\x9c\x18\x12\xef\x0f\xb6O\xe0\\\xd3\xe5\x12\xeb\xc9\xf2\xb1\xe4\x96\x16\xf0D\x05|\xc3\x08E\x19\xa9\xb4NX\xd1\xda\xd3\xd3\xf6\xdd\xdba/3:\xea\x18\xec<\xca\xa0Y5\xde\xe7?\x06\xbe:\x85\x9c\xb7\x8d\x00\x9e\xa8\x80\x8f\x04\xb2\xa2\x14N\x12\x87$\xfda%\x1a\x91,\x86^Q\xd0\xd6i\xca;Z\x86\x8e\xfe\xdcI\xca\x11\x8e\x12\xf0D\x05|%\x90\x15\xe5bP\x1dy\xaf\x0b\x92\xef\xf8\xf0\x1d\x03\x14\xc58Z\xc2V\xc1=\xf6\x80\x1e\x04\xb2\xa2\xf4\xc7\x87\xac\xd8\x7fl\xff\x8a\x90\x97\xf9\x0f\xdc\xf5\xc3\xdc\xaaSF_\xee\x06\x80\x91N\x20+\x0aBE\xf3\xa7\x8e\x9f:\xff\xa5\x9e\xf54W\x9a\xb4\x04\x00@\"\xb0\x15\x05\x00\x00}\x01E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14e\xd4\x01\xde\xa5\xc0\x08\xc6\x20E\xf1\xeaR\xda\xb5\x9b<\xd7\x20w$\xfe\xbb\xb5n~\xe8\x94\xc5\xc7\xa6\xdc\xf3\xcd\xd4S/\xc0\xbb\x14\x18\xad\x18\xa3(\xde]J\xdb\xb2\xbfo\x11\x18!\xbf\xbc\x0a\x8e\x84F\xd8\xf7\xcf\xe1\xb8z\x9fL=u\x03\xbcK\x81\xd1\x8a!\x8a\xa2\xe1R\xda\x96\xadxf\xfc\x08\xa2m\xe2[]\xc2hj&G\x86X\xda\x8fe\xd5\x0f\xf0.\x05F'F(\x8a\x96K\xe9\xc8U\x94\xb5!\xe4\x01%[\xb8\x1f\xf1\x9b\xd6\xa1\xa6'\xe0]\x0a\x8cN\x8cP\x14-\x97\xd2\xe1S\x94\xe3\xf3\xa7\x8f\x0b[0\x03\xd1\xae\x9f\x1b9\x8e\xdb\x8b\xf6\x0a\xaf\xeb\xd1L\xf1xi\xddB\x1e\x1e\"\x1fj\xb2\xd5\xa7\\\x03mc\xaa\x00\xbcK\x81\x00\xc2\x08EA\x1a.\xa5m\xd9\xe5\x07\xb2\xf7\x1e7\xfe\xab\xf9\x1d\x17\x7f\xa0\xdc\x1e\xc6\xf5\xd0\xae\x9f\xad\x8b#\x8e\xb7\xa3\xf6\x93s\x17\xdf\xeb\x0a\xdaJ\x87K\x87\x9al\xf5I\xd5@\xd9\x98*\x01\xefR\x20\x800VQ\xd8.\xa5m\xd987\x7f\xbf\xe1\x92\x929\x197$\x13?\x1c\x92r\xfd\xdc=\x9b,\xfcm\x1ej\"v\x83\x12\xaeC\x8d\xb2\xfa\xa4j\xa0lL\x95\x80w)\x10@\x18\xab(L\x97R\xd4_\x87\xb5\xa4k\xb7\xd6\x17Yw\xeeL\x9d\xb1\xc2\xfe}?\xd17\xd9\xf5\xf3RPW\xc7\xee\xb6\x9e\xe0K\xa8g,s\x8cBY}R5\xc86\xa6l\xc0\xbb\x14\x08\x04\x8cU\x14\xa6K\xa9\x8b\xe3\x85\xc8h\xda\xb2\xdf\x99\xcdM\xd9\x8c\x14\xae\x9f]c/m\xe5\xfe\xa9>H\x909\xe7<J\xcf\x11\xf2\xe6:\xd4h\xabO\xb9\x06\xd9\xc6T\x05\xf0.\x05\x02\x00c\x15\x85\xe9R\x8a\xca\xc5G\xd1\x1f}\xa9\xa73\xbe\x0a\xe7\xf1\x91\xd1\xb6?$S\xe9\xfa9{o\xe4\xdc\xd9\x85\xf8\xdc\xc7y\xad'\x9f#\xf7\xcaHc\x94\x99\xe4\x0d[}R5\xc86\xa6\x83\x02\xbcK\x01\xbf\xc2XEa\xbb\x94\x96\x90S\xf1\xb6\xdc\x97y\"\xfd+\xb1I\x9c9\x88\\\xa1t\xfd\\\xbcb\xfcan\x05v\xc6j\x9b\xf8\xb6pB\xd3\x1f)^\xcbq\x1dj\x94\xd5'U\x03ec\xaa\x04\xbcK\x81\x00\xc2\x08E\xd1r)\xbde?|\xbd\xe9\xbc\xbd\xc4\xf0'\xcbo\xe2&l,)\x8c\xc7\xd7Od\xd7O\x84\xbe\x08\x9d\xd8?+\x84(\xc3\xe1\xd0\x88\xdcC\xf3\xc7\x9eT\x9az\xcaV\x9fT\x0d\x94\x8d\xa9\x12\xf0.\x05\x02\x08#\x14E\xd3\xa5\xf4^\xf9\xde\xdc\xa2:\xc3\x05\x05\xe5\xcd\xfdt\xfa\xb8)\x91X\x0ed\xd7O\xa1\xbd\x93\xfe\x09m\x9e\x20\xce\x1e\xe3\xff\xf5,$\xd7Z)SO\xd9\xea\x93\xaa\x81\xb61U\x00\xde\xa5@\x00a\x84\xa2\x00z\x02\xde\xa5\xc0H\x06\x14e\xd4\x01\xde\xa5\xc0\x08\x06\x14\x05P\x05\xbcK\x81A\x03\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\xc0K\xc1\xfc'\x1e(\x0a\x00\x00\x83\xa7%~\x0a\xf3\xe9b\xa0(\x80\x933\x89\x8f\xb4B\x86\x9c\x97t`}\xc9b\x80&\xaaN\xb4\xfd\xb3g\xdb\xcbY\x1e\x16\x06)\x8aW\x97R:wt\xb1\x93\x8f\xaa\xd6\x8ayEj\xe7\xf1\x89}\xe8\x04\xcf\xcf\xabU\x0biL^dYS\xfb\xfe\x15\xb5\xe5\xbeq\x90/\x18@\x15<\xcf\x17\xa0\x02\xe1\xb5\xccK\xe8}\x13\xbf\\x\xdb&\x84\x99\xef\xaa\x879\xe69\x1fh\x19\xd3\xa8\x1e\xa4@r`\xfd\xdb\x8e%1\xc9}\xde\x83e\xdc\x8d[\xd9\xe0\xbe\xf1\x8b\x92oj\xc5\x0d\x96\x0c\x9e\xc7\x0f\xdb+\xe6\xf9\x0c\xb7%5qgX\x05\x86\x16\x9d\xbb\xa9\xe6D{\x89\xf3|n\x07\xc1\x18E\xf1\xeeRJ\xe5\x1a\xcd\xd1W{`\xd0\x03\x87\x89r\xea\xaa\xbd\xc6JR\xb0s\xbd\x07t\xd7\xf01\x0e\xd4y\x82\xaf\xe9f\x14\xc0\\3\xa5\x9c\xa8\xfc\x8c\xe7_M\xdbJ\xa3\xf0#\xf7\x9fU\xf0\x07\x1f\xa1G_\xf1\x15\xcf\xbc\xc4\x0e\\\xdd\x16\x8dp\xef\x1d\xa5\xfcU\xf5\xb0\xee+q\xc9\x0e\x81\x0a\xfe\x02\xf2\x09\xd9\x81\xf5\x93\xb8\xaf\xd3\xcdO\xbc\x06\xcbx\x18\xb7\xb2\xc1}\xab\xadHTW\xe6\x97\xe4\xa1\xf9+\xfc\xc4\xce\xc7_Y\x1e\xba-9k>\xe1Li\xeey\xfd\xd0\xa5\x9bT{U\x9ch\xbf\xe3\x8e\xb3\xb2\x0dR\x14\x0d\x97R*\xd7h~\xb7X+B\x83hJQV\xa7\xb2\x92\x14\xec\\\x8d\x80N>}\x9b0,\xe0;=\x17\x89lX7\x20\x1c\xe4\xdb^MQ\xee\x9ar\xc8{3_#\xbc\xd6\xf2\xcd^\xa3QA\xb4\xf8\xde\xe0MQ\x10Z\xb6\x03\xbf\xde\xf6QQd\x07\xd6\xc7|)\xeaS\xed\xb0\x1b,\xe3V&\xa4o}k\x12\xb4\xe2\x06\xcb\xfb\x15\xe4\xad\xecC\x8f%\xd2(Ks\xcf\xeb@k\xa4x\xea\xa7G7\xe9\xf6\xb2\x9dhU\x9fFl\x84\xa2h\xb9\x94R\xb9F\x13\xfe\x8eV\x84\x06\xb4\xa2\xacLe%)\xd8\xb9\x1a\x01\x9d|\xad\xf9\xb97EYF\xb4\xa0\x91?\xad\x16\xe0\x0b\x19V\xd1\xb4p(\x14\xa5\xb7\xd4\xdb\x80GFv`\xbd\xcb\x0f\xe2t\x81e\xdc\xcaD\xec[)\xff\\+p\x90|\xb6\x87\xbc\xe5|\xa6\x1e\xa2\xb9\xe7u\xa0\x8e\xab#\xefzt\x93n/\xdb\x89vX\x15E\xcb\xa5\x94\xca5\x94\"\xe7\x13\x10\xc3\xf1\x07\xdan\x94\xc6\x9b\xc7\xa8@t\xce\xae\x04\xf3\x86\x07\x08\x9dq\xce\x19\xacV$w\xf2\xa6\xd2\x0c\xeb\xa2\x94\xbb\x8a\\\x85\xf3\xe8\xe5\x0d6Sl\xb2m@\x19\x20\xd3\xc9\xdf_y\xc2\xa9(R\xb1}B\\%\x12\x1f\x1b\x99f\xc5\x87\xff\xc09E@\xa3\x89\xe7\xf7\xdcM_\x16\x93\xfc\xa2\x9aw\xcd\x8dT\xb3\x03\x84r\xbd\x16q\x88B+\x8al\x9a*\xf4\xa2\xcc\xd9M\xe1\\'\xcdjI\xdd\xe6\xae(\xeczEE!5DU:\xa7_\x14\x95\xa1\xbb\xa9\xb1\xa6\xb8d\x92v9\xb0\xf6\xc6\x8a\xdba\xd7\xe0\x8a]\x1a\xcbq\xeb\xaf/\x9d\x112\xbf\x876\x9a\xa5\x10\xfb\x96f\xc5i\xd6\x0e\xa0v\x96\x10\xf0\xf5j\xf3\xca\xd2\x01\xb7\x15K\xb1t\x0d\xc4k\x09\xa1\xd4\x1cE\xe7\x9f\x98y\xdcz\xa4\xb6\xe7\x95;\x80\x01\xd5!D[\xe0v|<{\xc2\xdcS\xd3\x94\xd3\x18\xdbg\x15\xd5s\xf5%\xb32U\xbb\xd9\x99\xb3\xdc\x9ct\xd5v\x81\xde\xa8\xbe}\x11\x99N\xb4\xc7\x86SQ\x90\x86K\xa9G\xaeAt\x9c\xac\x9a5\xb7\xaa\xaa\x0a\x9fm\xd1v\xa3\x0a\xbcz\x8c\x0a\x8a\xc2'T\x9eY\"\xfc:u^q$$9\x1c\x8e\xdb\x8ads\xa5\x89\xb7\x15\x14\xd8\xcc\xcdt.\xed<\xfa\xd3\xbc\xf4\x135e\xb1\xfc\x0be\x80\x8c\xa0(\xa5\xc9NE\x91\x8a=JK\xbc\xdc)\x94X\x93\xf6\x0bzh\x8bJ.\xf8\xa1\x17)\xea\xed\xae\xae\xb4%Xl\xbb\xd2\xe6=\xec\xbcl\xd9\xf7\x08=\xdag\x11J0\x03\x84r7y\x87\xb8\xb6f\xfe\\ww\xf7\x05\xac(\xb2i*\xeeE\\\xc1\x9f-\xf8G\xf8\xae%\xa1\xe2\xcc\x06\xde]Q\xd8\xf5.\xcb\xe8\xee.ND\xce\x09'q\xfa\x85\xae\x0c\xd5\x9aW\x7fUS@f6e\x07\xd6\x9b\x8eJ\xbe\xc0\xe1\xf8yp\xc5\xba\xf2\xf7\xce\x985q\xfa\xaa\xa5\\\x13e4\x8b(\x84\xbe=\xbf\x9d\xc3\x17(\xdaK\xed\x00jg!\x94\x1e\xbd\xe7\xdc\x9e\xe8t\xe5\x8a\xe5X\xba\x86\xb2\xd5\xe8\xaa\xed*ZY\xa6\xec|\x83\xc3\x11C\xd6\xc5\xde\xf3\xca\x1d\xc0\x80\xea\x10m\x81\xdb63ls\xc9\x0a\x8e\xcbD4-K\xb97\xb8\xdfr\x8b\xef\xa8u\xf3\xc9\xbb\x8b\x8a/\xec\xe4\xf9\xaf\xe9\x8d\xea\xdb\x17\xd1\xd3\x89\xb6\xe7\xde\xb1\xdfMR\x19\x19\x1a\xab(l\x97R\x8f\\\xe3\x90\xcez(\xbbQ%\xde=FQt\xdc\xdf\x84\xdd\x12G\xd2\xcc\xb3\x9e\xe8e\xc2\x90\xff\x89-Q\x91K9\x8f\x96\xc6\xe1\xafg\xa9\xa5\xcf\xad\x06\x09AQ~\x89\xf9\x85(\x0aU\xac\x82\xfc\xc2\x88\xa7\xf0\x8f\x0b\xfe`\xe2-\xd5\xc8\xcd\xd1t%\xff\xc934\x80O82\xf0\x8fhZ\x86z\x00:\xc7\xffU\\[\xb3\xf3\xf7\xa9Yi\x9a\x1am\x11~\xa2\xd3q7\xd7\xbc'\xfc\xa0\xf5}\xe8\xa6(*\xf5.\xc3U\x91\x1fK\xf1\xf4P<Y\x92+\xeb\xb6%w\x0b\x83\x92j\xe2E$9\xb0\xd2g=\x83*\x16\xce\xbd\xd9F\xce\x9ee\xa3Y\x1a\xb1o\xe9x\x80\xa1\xb2\x03\xe4\x9du\x81\xfc\xd0\xd7\x90\x19\x20y\xc5T,U\x83#\x16\xe5\x98r\xd0\"\"\xca\xd4FE(\xc6uN\xcc\xda\xf3n\xb1,\xa4\x0eQ\x16\xb8\xbf\x9f\x84\x9f;\xbe\xcaMQ\x10:<\x8e\x1bG\xc6-\xecn\xa6\xe3N\xa0,AQ\xe8\x8d\xea\xd3\x17\xd1\xd3\x89\xf6-a\xf8\xa7\xe6\xaee\xac\xa2\xb0]J\xdds\x0dDR\x14\xda\xb0\x94\x85\x8a\xc7(\x8a\xc6\xc7\xa9sV\x81\xad(\xe4t\xa2\x94\x7fL\xe7R\xce\xa3\x0f\xad\xcb\xb2\xcan\xf6\xf5\xba\xd7\x20!(\x0aJ.&\x8aB\x15k\x8c\xea~^\xf1\xe4E\xb4\xf3\xbalwM2\x7f\xce\xcd\xd1te\xb4\xeb\xc7\xaf6\xe69zn\xaeE\xaa\x01\xe8\xb4\xb0\x12B3\xff\xe7\x86\x86\x86b2\x8fB\x99\xa6\xe2\x1fk\xd2\xcd'\xe2e\xe5=n\x8a\xa2R\xef\xb2\x94\x86\x86tOEqU&\x1c\xb7\xd4E\xceBy\xd3\xb2\x15E\xb3Xx\xb03)\x1b\xcd\xd2\xe0\xbe\x9dM\x8c\xb9\x8fTw\x80\xbc\xb32\xde'E\x96oC\xf4\x8a\xa9X\xba\x06\xfeyR\xfa\x9aN\x9e\xf4\x9a\xda\xa8,EQ\xdb\x01l\xa4\x0e\xc9\x16\xb8\xfd\xa1\xe4Jy\xbd\x9b\xa2\xb4\xad\x1a?\x8d\x9b\x1a\xfcQ\xabJ7\xfb\xcc\xd8UAX\xa6T\x14\x9f\xbe\x88\x9eN\xb4M\x87\xb3g\x87\x8d\x881\x0a\xdb\xa5T\x99k(\xf2\xcc\xacl7\xca\x86\xed1J\x7f\xe3U\x14\x85|\xa9\x1c\xfc5:\x97v\x1e}R\x96\x9a\xc0/98\xe0V\x83\x04V\x94\x13+\x89\xa2P\xc5\xbaM\x8d\xc5\xfc\xbe\xdbQ\xc2ou\x039\xc3\xefKLqs4])M\xc8\xbcXt\x1a\x9d\x8e\xedC\xaa\x01\xe8\xaa\xeb\xec\x85\x9aG\xa1MS\xa5n6\x88\xa7G\xee3\xb3*\xf5\xe2y\x94f\xf1J\x08-\x0dR\xb2\x98\xa7.\x89\x9f\x92\x07\xd7lE\xd1,\x16\x1e\xeeLPF\xb3\x14\xa4oO\xa2\xb0$\xaa\xec\x00yg%\x92\x9e\xa0\xe4D\xa4h\x83\x1cK\xd5\xd0\x17\xddl\xbefn6\x89\xbf\xee\xf2Fe)\x8a\xda\x0e`#uH\xb6\xc0\xbd\xc5\x91\xa3\xa5\xddMQ6\x87e\xd7s\xf5\x99a\x9f\xabt\xf3\x818q\xdf\xe9\xa6(>}\x11\x99N\xb4U\x9e\xbe+\"\xc6*\x0a\xdb\xa5T\x91k,DQ\xecM\x0a\xbb\xd1A\xe1\xa1(\x15\x0f\x95\xc9\xe8,\xfc\xb9\x8c\x7fF\xe7R\xce\xa3\x0d9\xc2.|R\x19S\xeaV\x83\x04V\x94\xe7\xe6\x1aq\x8c\"\x1b\x96&T\xae[\x93p\x1a\x9f\xfbX\xc9\x1aP\xce{n\x8e\xa6\xd4\xb7\"+\x05}F\xa2\xd4\x02\x9e\xbb\xaeYQ\x8aB\x9b\xa6J\xdd\xfc\x1bO\x1a\x9a\xee\xa6(*\xf5J3\xb3\xce\x1a\xf6\xb8IC\x0dO\xdd\xa7!9\xb0z(\x8a\xaf\xc5\xc2\xdfv\xa5d\xa3Y\x0a\xb1o\x16\xfcc\xad\xb2\x03\xe4\x9d\x95\xf1.\x99}]\xee\x03\xcf]\x00\x00\x20\x00IDAT\x86\x87'\xf2\x8a\xa9X\xc5\xbe\xf8\xca\x8a\xac\xc5\xef\x91\x95(\x8eE\xa5\xa2\xb8\xedy\xf6\x0f\x88\x02\xa9C\xb2\x05n\x7f\xc8\xa78\xa3\xce\xfd\xac\xa7\x87\\\xeb\xc1clf7\xfb\xcc\xa4)\x7f\x91\x15\x85lT\x9f\xbe\x88L'\xdaa\xbd\xd6\x834\\J\xe9\\\x83\x89\x8cD\xe8\x1e\xb6\x17\xa5\xecF\x95x\xf7\x18U(JR\x12B\x8f\xc4\xdbB\xe4d\xf4\x12A\x0a:\xdfMR\xe4R\xce\xa3\x05\xe2\xcd\x1aI;\xdcj\x90V\x8c\x15\x05\xa5\xa7aE\xa1\x0dK\xd3\xb2L\x17\xf8\x9dx\xc7\xc7Z\xf1\xd7\xb3\x0f\x7f\x09\x14\x8e\xa6\xd4\xf7\xf5\x87\x98\x9fc~\xc0\x09\xb5\x00\x94\xfa\x9ex\xef\x04\xa5(\xb4i\xaa\xdc\xcdD\x9b\xb0\xb6\xdb1n\x8a\xa2R/\xa5(f\xe1\x84\xa2\xef\x0fn\xd2\xd0iM\xc2\xa3\xec,Q\x13]\x0e\xac\xb4\xa2\x0c\xaa\x98<\xe2\x94\x8df)\xc4\xbe\xc5e5\x16\xa8\xed\x00yg\x9d#3\x1d\x95\xf8T\x92Z1\x15K\xf789\xf13\xf4Y\xe2\x06\xb2\x12\xb6\xa2\xb0\xf6\xbc2\x96i\x08+u\x88\xb2\xc0]\x1c\x86o;Y\xea1\x8f\x82\xeeL\x12/C\xb2\xbb\x99\x1a+\xec\xb7\x81t\xa2(\xf2F\xf5\xe5\x8b\xc8v\xa2\x1dVE\xd1r)\xa5r\x8dfc\xf0\x96\xc27C\xef(\xedF\x15x\xf5\x18\xfd\xd9a\xdavu\xe0\xe66\x13\xbe0!|\xe9\x8aO\x7fb&\xc2.'\xa3\xf9\xd5\xd5e\x09\x96\xbf*se\xe7\xd1\x02\xde\xbc\xef\xac\x90\xacU\x06H+\xee\xae\xe1Ot\xa2Z3\xb9\xd6C\x19\x96\x1e4[\xfa\x12\xc876\x96\xb7\xee\xbb\x20\x14\xbbM\x07\xbc\xf8\x81\xcc\xd7\xdf\x17\xdb\xd9g\xdd`\x15\x15C%\x00\xdd\x8e\xfa3~\xa3\xef\x99\x95MS\xe9n6\x9bm\x05{\x16E\x99*\x9a\xd1C|\xcfl\xb1\xc3\xa1\xe8\x10Uo\xf7\xd5\xb8\xe4+\xae\xdbh\x12\xe3\x0e\x16$\xf2B1\xc56\xab\x8dY\xfe\xf5\x85,\xe7-\xff.\x07V\xf1Z\xcf\xd5\xbe\xc1\x15\xeb9E\xae\xdc5\x91<\xcahV\xa6\x91\x1c3\xeb\x92\xb7\xbd\xaf\xb6\x03\xa8\x9d\x95\x16\x95s6'*M\xb9\x8f\xe9Xj_d\xcd;\x88\xbe\x9a'\xe8\x1b\xbdQ{\xaf:\x1c1\xdb\x1c\x97\xc9\xc4+c\xcf\xbb\xed\x00OCXE\x87d\x0b\xdc\x96)\xd33\x0f\xbc\x15\xec\xa9(.\xd8\xdd\xfc\xd9j+=\x91\x12C\x14E\xda\xa8>}\x11\xd9N\xb4\xe7Y\xa7B\x18#\x14E\xd3\xa5T\xce5\x9a\xae\x0f\xc2B\xe6\xe2\x13B\x85\xdd(\x8d7\x8fQ\xb4S8\x055\xfd\xc5,\xbc\xee\x14>ug-\x8aIj\x20\x0b\xe4d\xf4\xae\x0c\x8b5\xfdg\xb7\\\xd9y\xb4bM\x81\xcddM\xaau\x0fp\xad\xb8v\x1e\xbe\x8f\xa4/QT\x04\xd9\xb0\xb4A\x18\xd6\x1e4\xe3\xd8?\x94\xe5,7\xc7\xa5\xdcV\xd4\xdb\x18E\xce\x8f\x93\xc5\xbaPqt\xb13\xa5\x12\x80\xf6\xc5\xe0\xff\x05\xd1\xff\xeb\x91MS\x15\xdd\xbc\x9b\xb2hYN\x85IH\xa6;O\xc2SU\xea%\xff\xeb\xa9t\xd6\x7f7)\xc6\xb2a\x8fP\x83r\x9b\xddN\xb5Y\x12]\xf7\xe6\x89\x0e\xac\xdd\x16R\x83\xe9\xf6\xe0\x8a]\x0a\"3\x0d\xa2\xfe\xd3F\xb3.\xf0}9_\x09\x0dL\x88=\x8bTv\x00\xb5\xb3\xfaJ?4\x7fX\xda\xa7\xdc\xc7\x8a\x9d%\xef\x8bs\xe6FAi\xcf(7\xeaObZ\x94=\xc6\x9ew\xdb\x01\x9e\x86\xb0\x8a\x0eQ\x16\xb8\xad\xf1\xd3C\xde<\xaf\xaa(*\xddD\x8f3l1\x9f4\x10E\x916*R\xd9\x0et{U\x9ch\xef\x8d}\xe7\xd2\xbd~\xe4\x89\x11\x8a\x12\xd0\xd07\xd5\x8ed\x06\xb2L\xd5Z1C\xceK:\xb0\xbed1O\x86sgy7\x84u\xa7C}\x8c\xe2\x0dqfv0\xa8:\xd1\x16\xce\xe6\xe0i\x06\xc3\xc1p~I\x07\xc5@\xb1\xed\x17\xad\x98!\xe7%\x1dX_\xb2\x98\x07\xc3\xb7\xb34\x0ca=0JQ\xbc9\xd1\xde\xbb\xd4\xc2\xc8\x05E\x19b\x86\xefK\x0a\x0c\x9a\xe1\xdbY\x835\x845JQ\x06\x0f(\xca\x90\xf2\x80L\xebiE\x01#\x82Q\xb4\xb3\xae\x1f\xe6V\x9db\xcdbx\xe7\xee\x05~\xd7\x0f}hH\x01E\x19R\xc8\xb4\xde}\xad(`D0\x8av\xd6\\\x8e\xe3\xc6^\xd7\x8a\xf2`\x0d\xee\xe1]\xad\xa8W\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd0HQ\xbc\xb9\x94\xf6\xe49\x1fl\xb0W\xbd\xbc\x7f\xa1\xb3\x91$\x00\x8c\x1c\x8cQ\x14\xaf.\xa5]\xd9\x17[\x04\xceg+\x9f3\xec\x87\xb8\xbc\x1f_\xc6H\xf2\xd9\xcf\xea\xcb^\xd1k\x15\x00\xf4\xc3\x10E\xd1p)\xad{*\xa4\x9e\xe6\xa9<\x13\xca\x8f\x90\xbc\x1f\x07m$\xd9WfY\xa7\xbe\xf4\x95\xbdV\x01@/\x8cP\x14-\x97RB\xc9\x81\xe1x\x86\x9b\xb1\xacT(\xca\x20\x8c$\x1bW\xf3)\x0f\xd4\x17\xbf\xb2\xd7*\x00\xe8\x85\x11\x8a\xa2\xe5R\x8a\xa9\xcf\xd6\xe7\x999#\x83\xc7\xe9\xb1\xb6\x9c\x9cXs5\xe5vI{?j\x19I*\xe9\xdc\x15e;\x8b\xd4\xa0\xbcV)_\xcb\x15\\P\x1ej\x1a\xcf\x89\x8f\x83\x97-.\x01`h1BQ\x90\x86K)&\xbf\x9cUl\x94\xd2\xbb\xdcZ\xba/\xc6\\\xb6\xa1\x98r\xbb\xa4\xbd\x1f\xb5\x8c$i\x06N[M9\xe2\xf3\x9f\xbb\xef\x8bPn5\x0a\xafU\xca\xd7\xb2\xa5j\xdc&A\xc1\xe3\x83q\x88lq\x09\x00C\x8c\xb1\x8a\xc2v)\x15h\xcaV\x1a\x94\x8fn\xaa\xf9F|N\x83}\xf9h\xb7K\xfa\xac\x07\xe3\xcdHRf'\xbf\xb2\xd9\x99Lr\x0es\xd6\x20%\xd4Y\x8f\xe4k\x89\x82\x05EA\x9b\xb0\xa2P\x16\x97\x000\xc4\x18\xab(l\x97R\x81r\x9d\x1e=<2\xc8\xb1\x08/\xb7\x89\x8b\x1b\xedvI+\x8a\x96\x91\xa4LE\xf4\xa2\x0a\xe7\x83\xc5n\x9f\x11q\xf3ZW(\x8a\xcb\xd7\x92R\x14\xd9\xe2\x12\x00\x86\x1ac\x15\x85\xedR*\xb0{\x18\xdc\xbf\x86\x8e\xe2y\x8f\xf1\xe8\x04\x0f-h\xb7K\xb7\x99Y\xafF\x92\x14w7\xf0\x89\xcd\xc8\x1b\xb4\xa2\x84\xbbR\xb2\xa2\xc8\x16\x97\x000\xd4\x18\xab(l\x97R|=\xd9\xf5\xcb\xea\x17<\x8cJ~\xd8\x98\x90\x88\x1f\xe8I\xbb]\xca\xde\x8f\xdaF\x924\xd4L\x0a\x1b\xc9k\x956\xea$\x8a\xb2\x1e+\x8alq\x09\x00C\x8d\xb1\x8a\xc2v)\xc5\xd3(\x83\xf1*\x19\xf1\\\xe3\x97\xf0\xfc:r\xb9\x97v\xbb\x94\xbd\x1f\xb5\x8d$\x95t\xee\x8a\xb2\xd6x\xe4JH^\xab\xf4p%\xf4ca\xebF`E\xa1,.\x01`\x881BQ4]JQ}\xf6\xa0\xac\x05F:\xd7bj\xce9\x1e\x88\xcf\x1c\x97\xdc.\x11\xe5\xfd\xa8m$\xe9N\xf3\x1a\xdaO\xd7\x0d\x97\xd7\xaa\xc2\xd7r\xee\xe4/>\x8f\xe0\xc6\xe6\xd6\xd3\x16\x97\x000\xc4\x18\xa1(\xda.\xa5M\x07\xbcV0\xda\xb8b\xc23#\xa65x\xf6Cr\xbbD\xb2\xf7\xa3\x0fF\x92\x83\xc2\xe5\xb5\xaa\xf0\xb5\xbc\x1e\x192q\xfe\x1f9\x0e\x1bK\xc9\x16\x97\x000\xb4\x18\xa1(\x81\xc6#\xf3\x8eG/^<\xf9\xe9\xb3EO\xb4B\x19\x18`\xd2\x04\x00C\x06(\x8a\xfe\x9c\xb6\x88C\x92\xbeX\xf7\xbb_}\x01\x14\x05\x18\xcd\x80\xa2\xe8\xcf\xb5(\xf1bos\xd4\xcb<\xaf\x00\x14\x05\x18\xcd\x80\xa2\xe8O_\x86yGum\xf5\x0es\xc6KX^\x1aa$\x09\x00C\x06(\xca\x100pf\x83\xd5dM>\xfb\x12\x82b\x88\x91$\x00\x0c\x19\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\xa3\x99C\x11#\xef)Jm\x11\x87\xb4B\x8c\xe7L\xe2\xa3\x11\xda2\xbf\xc3\x20E\xf1\xe6R\x8a\x1f\xe7~\xc0~\xe0$\xb8?\x0c\x96\xcd\xdcF\xf2\xde\xbc\xc1lM\xab\xb5>B\xdbx\x9e7\xfbv\xc3m\xed<>\xb1\x0f\x9d\xe0yo\xce\x865qg\\\xc9\xbf\xedX\x12\x93\xdc\xe7\x9e\xcbbs\xd0\x17\xacl\x83\x1b\xa9\xe0\x20_\x80\xef_Vi\x19\xa0'\xc6(\x8aW\x97R\xd4\x96WX\x7f\xab\xfe@\x9e_=\xc7\xcd\x002\x83v\x93\xf7\x1a\xf3\x1f\xca*?\xe4\xf9\xff\x8b\x1e8\x1c\xa5\xfcU\x8db\"\xdd5|\x8c\x03u\x9e\xe0k\x14^\x1d\xb2\x95*\xe6\xac\xf9\x84+\xf9I\xdc\xd7\xe9\xe6'\xee\xb9LJ\xc6n\xf7\xcc4\xba\x914\xa5Q\x15b\x82\xd92@W\x0cQ\x14\x0d\x97\xd2*\xe2\xb6\xd1\x93\x7f\xdc[\x1d\x80;7\xc6\xaf%\xef\x8f-)\xc2\xf1\xd6\xf9\x9ep\xb0\"\xec\xd3\xe1\xdb\xc1\x8a:\xf9\xf4m\x08\xdd\xe7\xdd\x1f`\xbb\x9a~X\x9c\xf4{\xff\x98/E}\xaeP\xad?2\xae\x0f\xbe\xe5\x9ee|#e\xee\x9ar\\IF\xcb\x00}1BQ\xb4\\J\xcb\xc5'\xe4\x1f\xf2'\x130\x03\x88\x9f*\x9e'\xe6\x98\x89\xc9z1OL7\x06q\xb0\xd6\x9a\x9f3\x0e\xd6\x95\xcc\xc7O\xde\xe5\xbd\x9e\xe9(\xe9\x98\xeaa\xe41\x9c\x8d\xcc\xb0Jn\xb0\x8c\x96\x01\xfab\x84\xa2h\xb9\x94\xb6\xe5\x1dk\xedi\xad\xca\x1by\xb3\x8c/\xcd\x8d\xb7\xc3\xc6MY\xd0\xe2\x96\xa4\xc9\x9db\xc7o\xb7&:\xad/&\xd2\x16h\x8d&\x9e\xdfs7}YL\xf2\x8b}<\xcfW\xa2J\xe1u\x9f\xb2\x82\x9e\x89\x1f\x8b\x89\xf72\xc8\xdb\xe3brf\x20\x1d\xac\x92=*B\x977\xd8L\xb1\xc96\xf2T~\xc9\x13\xb5\x93\xbf\xbf\xf2\x84\xf3`eZ\xa9>1\xf3|\x14~\xee6\xea\x8d\x15sw)r\xa9\xca\xa8\xf6\x92\x05\xebC\xdc\x9f\x1blh#\xcf\x0ao{P\x81\xf0\x8a\x9f\x0a\xdek\x91\x86(\xac\x96\x01\xfab\x84\xa2\x20-\x97\xd2\xae\xf2\xec\xec\xec#~\xb4\xab\x8fM\x08\xdf\\\xbe\x91\xdb\xaaL*x\x8b\x9b\x8f\xdfzvo\x17\xc9\xa5\x8d\xe4\xbb\xab+m\x09\x16\xdb\xae\xb4y\x0f\x1f\xa5%^\xeeD\x9dW\xd6\xa4\xfd\xa2\xac\xe0\"wL\x8c\x8d*\xa6\xb3\xa5\x83U\xb2GE?\xcdK?QS\x16\xcb\xe3\xa3]\xf6D\x15\x0e\xd6\xd2d\xe7\xc1\xca\xb4RE\x0d\x0eG\x0c1\xfc@7\x1d\x95|\x81\xc3\xf1\xb32W\xae\x8cj/Yp\x92;\x85\x14\x18\xdb\xc8\xe7Wl;\x1e\xa1G\xfb,\x97q\xb9\x9b\xbcC^\xb3G\xcb\x00\x9d1VQ\xd8.\xa5=\xe5\xf9\xf5-\xf5\xf9\xe5\xf415\xaa\xe9\x9a>\xbf\x0bO\x0c\xb5)\x92J\x9a>\xbfA\xde\xef5\x89\xb8\x1b\xc9\xaf\xe4?y\x86\x06\x9e!T\xb1\x9c|~\xbf\xc2-\xa0\x84\x13+\xb8/\x1a\x87\xb9p\x1d\xac\x94=ji\x1c>LK\xf1\xb3*)OT\xe1`\xfd%\xe6\x17r\xb0\xb2\xadT1.\xedP\x9eP8s\xa9\xca\xa8\xf6bnqn\x8f\"7\xba\x91\x05x\xfc\x92.\x8e\x8b\xce\xf1\x7f\x95c=Z\x06\xe8\x8c\xb1\x8a\xc2v)=\x9e\x8f\x87'=\xf9'U\x0a\x8f:J\xb8\xef\x19I&M\x9c\x0b7\x0f\xb4\x95\xd1\xe2\xcf=j\x8c\xea~^\xf1\xe4Et\xa3[\xc9Bg\x89^\x13\xf3\xe7\x9f\xb2G}h]\x96Uv\xb3\xaf\x17\xd1\x9e\xa8\xf8`E\xc9\xc5\xe4`e[\xa9b\xbc*\x0aU\x19\xd5^\xcc-w\x8fe\xa3\x1b\xf9`\xde_P\xb7\xa5\x86\xa4O\x0buHx\xb4\x0c\xd0\x19c\x15\x85\xe9R\xdao\x17\x0f\xba\xef\xed\xfd\xac\xa2\xa3\x90\xad\\\x17#\xc9\xa6\xaaH\xa4\xca-\x7f\xe5jg\xa2\xdb\xd4X\xcc\xef\xbb\x1d\xe5v\xfd\x14\x9dr\x8d\xdf\x9dS\x14\xbd5\xe4\xcdu\xb0\xd2\xf6\xa8O\xcaR\x13\xf8%\x07\x07hOTr\xb0\x9eXI\x0eV\xb6\x95*\xc6\xab\xa2P\x95Q\xed\xc5|\xcb\xb9\xff:\x18\xdd\xc8\xe4\x1ct\xc1\xd2K\x92W\xe9i`\xcf\x96\x01\xfab\xac\xa20]J]\x8ar\xd1o\x14\xa5\x9c\xbb\xc8H\x0e\x0e\xf9\x98I\xa8\\\xb7&\xe1\xf4r\xf7\x80\x8e`\xf1\xf66\x94\x13CfX\xaa\xf9G\xf8M\xfa\xf9\x97\xedQ\x1br\x84\xe4\x93\xca\x98R\xda\x13\x95\x1c\xac\xcf\xcd5\xe4\xe7\x9fi\xa5\x8a\xd1\x18\xa3H\x95\xb9\x1d\xe3\x9f\x8eoGJ\x8cn\xe4\x99E\xbd\xce\x93\x1e\xf4<\xda\xb5\x1c\xb1Z\x06\xe8\x8b\xb1\x8a\xc2v)\xfd\x86\x9c\xf5t\xe5\x7f\xe3\xad\x86\xd1D\xc7\x94H<'\xf4\xc1*ERI\xd3\x177<\x0bR\xc8GhZ\x96\xe9\x02\xbf\xd3\xf9\x91*\xb6x\xa6\xa8\xc0\x8f-\x9f\x09?\xc6}I\xcb\xc8'\xd7\xc1J\xd9\xa3\x16\x88s\x0fI;\x10\xed\x89\x8a\x0fV\x94\x9e\x86\x0fV\xb6\x95*\xc6\xab\xa2P\x95)\x15\xa5\x7f\xf6\x02W\xd2\xd5^\xa3\x1b\xd9\x1b{f\x91\xeb>\xdb\xd4\xf7\xa4;V\xa8\x96\x01C\x83\x11\x8a\xa2\xe5R\xda\xb5?\xbf\xeeN]\xfe~\xff\xb9\xd8s\xf4\xf572K>\xe0\xec\xca\xa4\x82\x85\x9c\x97\xef\xf6\x8b\x1f\xc8\xd5\x8c\xfb\xe4\xc3A\xb3\xa5/\xc1u\xd4P\xc5~\x0c\xda\"&.\x98\x13+\xcel0]A\xe8!\xbe\x1d\xb5\xd8\xe1\xc0?\xde\xb2=j\x01o\xdew\xf6t\x06\x8f\x8f0\xc9\x13\xb5\xbb\x86?\xd1\x89j\xcd\xe42\x0a\xd3J\xb5\xf7\xaa\xc3\x11\xb3\xcdq\xf9\x99\xeb2\xcaU|`R\xb9re\x8a\xf6\xe2S=i`&\xb5\xd7\xd0F\xe2:\xde\xb5\xbcp\xb6\xe1v\xd4\x9f]\xcd\xd9\xfa\xb2CF\xc0W\x8cP\x14M\x97\xd2\x9eo\x0f\xe4\x16~\xeb7\x97z\x04\xae\xbf3mbD\xa1{\x92&wr\xb6G\x9eDc\x14\x99HH&\x1f\x1a,\xfb\x04Ui\xf0,\xb6\xfeu\xe7\x9c@\xf3\x06\xf3\x92\x94\xbf\x08\x89t\xe7\x0c\x04\x1e/\xc8\xf6\xa8\x15k\x0al&k\x92\xf8\x93\xed\xf2D\xad\x9d\x87\xef\xd6\xe8K\xb4\xf6)be+U\xf4\x93\xd8\x08\xbe\x0cu[H\xc2t[\x91KU\xa6h/:\x1e\xf2\x91\xd4F\xb9\xbdF6R\xe06\x9f!5b_\xcc\x151A\xb7\x0c\x18\x1a\x8cP\x14`\x88X5>_+d\x18\xd8?>~\x04\xfc8tF\xcb\x7f.\x1c\xc82\x91\x13\xa4\x91\xd12?\x07\x14e4\xb3u\x9a\xfbm,\xc3O\xdb\xd4\x11\xf1\x07\xdf\xea\xd8\x17\xf2\x87\x81b\xdb/#\xa6e~\x0e(\x0a\xe0\x7f\x14\xd4\x0e|\xe2\xf6\xa7\x05\xc0\x20@Q\x00\xbf\xe39\xbfz\xa7\xd5\xf3\xa1\x06\x80\x11\x80\xa2\x00\xfe\xc7>\xf3\xba\xdbZ1\xc0\xd0\x00\x8a\x02\x00\x80~\x80\xa2\xe8\xcf\x97L\xb4J\x01\x80?\x00\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0b\x90\xa2xw)\xed\xbfTh/\x94\"F=\xa0(@\xe0b\x8c\xa2xw)\xed/\xca\xbd\xd8t\x9e<\xd8\xcd/pi\xc8\x9f\xfe\x0f(\x0a\x10h\x18\xa2(\x1a.\xa5\xdf\xdb\xb1\xf7\xd7\x8fv\x7f\xb1RwJ\xc8?\xff\xe7\xff\x06\x8a\x02\x04\x1aF(\x8a\x96Ki\xc9\x11\x92\xcc\xf3\x97A\x0a\x11\x90\x7f\xfd\xaf\xfc\x7f\x871\x0a\x10p\x18\xa1(Z.\xa5\x85\xa2\xb3\xc4\xa1\x12f\xe9\xd1\x87\x20\x1f\x7f\xfa\x1f\xa6\xff\xf2/_*\x10\x16\xdcM\x8d5\xc5%?@\xca$\x00\xf8\x11F(\x0a\xd2p)=\x99\x87\xe7g\xbbr\xfd\xc5\xed\xed\xcb/\xff\xe5\xbf\x98\xfe\xe7\x9f\x88\x8e\xfc\xe9\xff\x88\xfcIP\x94Z\xf3\xea\xafj\x0ax\xec\x85E%\x01\xc0\x9f0VQ\xd8.\xa5\x1d\xbb\x8bZ\xbbZ\x0ee\x8f\xc4\x87\xa6\xbe\x0c_\xfe\x0f\xfe\xbf\xfe\xabsd\xf2\x8f\xce\xc74\xff\xe3\x97\xa8\xdb\x96\xdc\x8dPo\xf5cD'\x01\xc0\xaf0VQ\xd8.\xa5\xa8\xad(;\xdb~\xaa\xe8\x10\xbb\xec\xa8\xe3\xcb\x7f6\xfd\xe7\x7fv*\xca\xff\xfe\x17\x91\xff\xfd%\xba\xc0\xdftEPI\x00\xf0+\x8cU\x14\xa6K)\xa6\xab\xad\x1f\xe5\xf9\x8b\x7f\xa4\xa0#\xffM\x1e\xa5H\xf3(\xc5\xbcd4J%\x01\xc0\xaf0VQ\x98.\xa5\x82\xb4\xe0\x97\xeb\xd9-\xcc\xa2\xa3\x0f\xac\x1f\xf2L\x8a\xa4(5\xfc5W\x04\x95\x04\x00\xbf\xc2XEa\xbb\x94\xd6g\xb7\x0a\x8b\xf6\x1e\xf3Z\xc3(\x82\x08\x08\xbe\xda\xf3\xbf\x14\x8a\xd2iM\xc2\xd6\xdeYY\x88N\x02\x80_a\x84\xa2h\xb9\x94\xfe\x98\xfd\xdd\x9d\xef\xf3\x8a\x9ej\xd53ZpJ\xc8\xbf\xfe\xe3\x7fW(\x0a\xaa\x8dY\xfe\xf5\x85,\xe2\xc6G%\x01\xc0\x9f0BQ4]J/\xe6\xe7\x16]\xec\xf7^\xc9(\xe2K&\xc2\x82\xdb\xa96K\xe2i\x12C%\x01\xc0\x8f0BQ\x02\x0dUE\x01\x00\xbf\x07\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00#h\xf5\x9f\xbf\xc2z\x05\x14\x05\x00\x0c\xa0g\xd2\x8d\xa7\x01\xa1)\x06)\x0a\xc3\xa5\xb4\xe5\xc8^{\xfeI\xf2\x88\x03\xd4r(\xf7\x88\xbf<\xc1\xcd7\x9a7\x98\xadi\xb5\xd6Gh\x1b\xcf\xf3\xe6\xbbZ\xe1\xc0h\xe7\xe9\x98\x09\xdfw\x04\x82\xa4\x18\xa3(\x0c\x97\xd2{\xd9%\xf5w\xea\x0f\xec\xc5\xcfY\xbac\xaf\xbaQe\xbf\xe3\xb5\x0a\xff\xa2\xc6\xfc\x87\xb2\xca\x0fy\xfe\xff\xa2\x07\x0eG)\x7fU+^\x8dg?\xab/;zQ}\x19`4\xedc\xc6L\xbc\xe47\x0f\x15\xf3\x82!\x8a\xc2r)\xbd\x91\x8d\x15\xe4)N\xf6\xef\xc5\xcf\xac>\xb97\x10\x14\\\xe4\xb1%\xa5\x1b\xa1\xce\xf7\x04E\x11hxYE\xe9+\xb3\xacS_\xfa\xbb\xc5\xea\xcb\x00\xa3i\x1f\x13\xff\x9b\xb0\xfa\x00\x90\x14#\x14\x85\xe9R\x8a\xc8\xc6m\xc5\x8f\xab\xae\xb7cK\xb0\xa7\xd2\x83\xf1\xfd\x9f\x1c3\x19[\x14\xf3\xb7\xf1\xdb\xcb*J\xe3j>\xc5\x8b+a\xf8;\xea\xcb\x00\xa3i\x1fSx\xfe7S\xebe\xf3;\x7f\xc5\x08Ea\xba\x94\x92\x05\xb7\xf2\x8b\x84\x8f\xe5\x87\xc9\xa7\x92\xa3\xac\xc2\xa3\x92\xcb\x1bl\xa6\xd8d\xdb\x80pZ\x92j5\xd9R\x1a\x85\xbc}<\xcfW\xa2J\xe1u\x1fz/\x83\x84=.&&\x1b\x92\xa2\x0c|\xbd\xda\xbc\xb2t@Y\x03\x1a\xa8H4'\xecz\xee\xbe\x8e\xce]Q\xb6\xb3\xee\x99\x12E\x9cH8B\x97\xc6r\xdc\xfa\xebKg\x84\xcc\xefY\xc1\x05\xe5\xa1\xa6\xf1\xdcl\x12\x93\x17\x11:k\x95\xbf\xd8\xd7\x8ft\xda\xc7\x1c\xf8\xf5\xe4k3\x7f\xf4{I1BQ\x10\xdb\xa5\xb45;;;\x17\xcf\xcc\x16\x8aF='\x0b\xd5J\x8f6~\x9a\x97~\xa2\xa6,\x96\x7f\x81\xd0Y>\xa3\xb6:%\xaa\x01\xa1Gi\x89\x97;Q\xe7\x955i\xbftG)\xecI%EI\x8f\xdesnOt\xba\xb2\x06\x94\x11\x95u\xae4ne\x9fb\x15\x03\xa7\xad\xa6\x9cN\x92\xec\xbe/\xa2\xb0\x00\xea8Y5knUU\x950\xee\xeb\xca\xdf;c\xd6\xc4\xe9\xab\x96rM-U\xe36\x09\xba\x1e\x1f\x8cC\xe2\x83>(\xd9>9<p\xce5\x87\x95\xf61\xf9\xbf\xfez\xe4\xb5\xd97\xfc]R\x8cU\x14\xa5KikK]\xfe\xdevi\xe1wy\xaa\xc5G\x19\xa5qX\x09J-\x82\x08<\xaf\x16\x0e\xfb\x81\xf7S\x84\xcf\x15\xcb\xc9\xc2\xf7+\xd0}^\xf1\xccj\x97\xa2\\\xe0k\x10\xf6\xf2\xb9\xa0\xa8\xe1,_Ab*\xe9\"h'\xbf\xb2\xd9\x99Lr\x1a\xa1\xaeAJ\xa8\xb3\x9ep\xee\xcd6\xf1d3XP\x14\xb4\x09+J\x11\x97+\xbc~\xcb\xedG\x80\x01\xb4\x8f\xd9\xff\xf7_\x7f-|-\xbc\xc9\xcf%\xc5XEqw)E=\xf9\xe5\xc2\x18\xa5\x8a\xa4\x8f\xf9\xcd\x18\xe5\xa1uYV\xd9\xcd>l\xc9\x83\x1e\x97&\xbfk\xe1?\x14R\x8dQ\xdd\xcf+\x9e\xbc\x88nD\xbd&\xe6\x18%\xe3}\xf2\xb6|\x9b\xa2\x86\xb4w{_\x08\xd82\x14\xab\xa8\x88^T1\x20&o\x9f\x11\xb9\x8d\x94\xd0\x8a\x12\xdc\xe4L\xc9\x8a\xb2xf\x0ffZ<\x02\x0c\xa0}L\x9e\xa0(\xbf\xe6\xbd6\xb7\xa9\x07\xf93\xc6*\x0a\xe5R\xda%\x8e\xb6/\xd9\xfb\x9d\x16\x83\xe8\xd07\xcc\xa2\xa3\x91'e\xa9\x09\xfc\x92\x83\xc2!\xdf\x10g\xcb9\xedX\x87\x15\xa5\xdb\xd4X\xcc\xef\xbb\x1d%\x9c\x9d8\xe7Qzk\xc8\x9bKQ\x12S\xc8[r\xa2\xa2\x86\x0f\x9dC\x90\x14\xe5*\xeen\xe0\x13\x9b\x917hE\x09w\xa5dE\x99\xe3\x9ciy\x8bQ\x14\xd0\x9d\xf61\xbb\xff\x03KJ\xe6\x98\xf9\xfe-)\xc6*\x8a\xecR\xda\x9f'\xce\xc3~/(J}6\x1e\xb9\xb4e\xfb\xcd\xb5\x9e\x86\x1cA\x09\x9eT\xc6\x94\"\x94\x90\x88\xa7TS\xb1\xa2\xa0\x84\xcauk\x12N\xe3s\x9f\x9c\x98_pF5\xff\x88\x84\xbb\xc6(\xef\x92\x89\xd8e\xe9\x8a\x1a\xd2\xde\xbdFx\xec\xb6\x12j&\x85\x0dQ\x14;\x19\x9c\x84\xbf\xed\xca$\x8a\xb2\x1e+\xca\xd2\x99\x17\x09\xad*\xc5\x01]i\x1f\x93K\x14\xe5\xd7/\xc6\xbcu\xcb\x9f%\xc5XE\xa1\\J\xf7\x1e\xc1\x19\xe4\xac\xa7\x9f\x18\x94\x1e\xf5\x9f\xfbQ\x0a\xf0T\x08BI;\x10\xb2\xa5\x0a\x89\xbe\x95DQ\xd2\xb2L\x17\xf8\x9d8\xe3\xb1\xe53\xe1\x84\xa6/i\x19\x09w)\xca92WR\xc9\x9fS\xd4P\xc3W\xe3d\xceA\x8f\xd5t\xee\x8a\xb2\xd6x\xe4JDF\"t\x8f\xcb\xc7Iy\xb8\x12\xfa\xb1\xb0\xbd#\xb0\xa2\x1c\x11\x17\xfd\xf1svi@_\xda\xc7\xd8\xff]\x94\x94\xf5c\x96\xde\xf1cI1BQ\x98.\xa5?f\x97\xd7\xdf\xa9\xcf'\xf7\xcc\xde\xb2\x1f\xbdq\xcc~K\xa3\x9a\xd1C\x01o\xdew\xf6t\x06_\x8b\x93\xa9\xa5\x05+\xf9\xd8\xaf\x04\xd18h\xb6\xf4%\xc4\x14\xe0\x88\x0b\xe6\xc4\x8a3\x1bLW\x10z\x88\xef\x99-v8\x1e\x0a\xb9iQ9gs\xa2\xd2\x945\xa0\x9cyi'\x84\xa4rfV\xa4yM*#\xd7\xc9\xc6\xe0-\x85o\x86\xdeA=\xa7\xc8e\x1fq&e\xee\xe4/>\x8f\xe0\xc6\xe6\x0a\xe3\xc1\xb5\xdc\xe2\xfcC\xf1\x9c\xdf\xcc\x87\x8fl\xda\xc7d;\x15\xe5\xd7U\xaf\xadh\xf1_I1BQ\x98.\xa5\xa8\xe5\x9b|{\xe1)q\xe2\xbb\xe5\xb0\xfd\x90\x1f\xfd\xaf\xa7bM\x81\xcddM\xc2r\xd0W\x9c\x10\x1d\x97V\xf1\x9e)I\x18\x8bX\xf6\x09\xaa\xd2@B\x9a7\x98\x97\xa4\xfcEH\xa4;\xa7I\xc8X\xa6\xf4C\xf3\x87\xa5}\xca\x1a\x84Q\xca\xbaX\xcb\x9a\x0bj+S\xa5\xeb\x83\xb0\x90\xb9\xdf\"t)\x88\xcc\x97,\x20\x99\xd7#C&\xce\xff#\xc7\xad\x10\xd2G\"\xc3&\xcd=\xec\xbd\x12@'\xda\xc7d\xfe\xdb\xbf\xff\x87x\xdc\xc4\xbf\xb6\xca\x7f%\xc5\x08E\x01\x80\x80GP\x94\xff\xe7\x1a\xa4\xfc\xfa\xf6kk\xef\xf9\xab\xa4\x80\xa2\x00\x80\x01\xb4\x8f\xd9\xde\x8f\x07)\x7f?y\xfc\xf8\xf1c\xaf\xbf\xb6\xb1\xd5O%\x05\x14\x05\x00\x0c\xa0}\xcc\xd6\x1e2H\x996\x86\xf0\x9b\xedm~s%B\x01(\x0a\x00\x18@\xfb\x98-]\xe8\xdf\xec\xff\xfek\xf9\x98\x05\xff\xb4y\xf3\x16\xfb7~\xfaP7P\x14\x000\x80\xf61\x9b;z6\xbe\xb6\xf9\xef\xbf\x8e\x9ft\xb8\xbe\xa9\xa9\xa9\xd5O\xef\xc6\x07E\x01\x00\x03\x10\x14\xa5m\xd5\x98\xff\xf4\x0f\xff\xfe\xeb\xde\xd72[z\xfa\xfb\xfds\x84\x02\x8a\x02\x00\x86\x20(J\xfc\x987>~-\xf3\xef\x7f\xff\x87Yu~:>\xc1\x80\xa2\x00\x80\x01\xb4\x8f\x09\x1d3g\xf7\xa9\xd9\xdc\x7f\xfc\xba\xf97\xf9~:\x87\x82\x01E\x01\x00\x03h\x1f\xf3ZD^]k\xf9k\xb9\x7f\xff\x8f\xdf\xbc\xe5\xc7\x7f\x16\x04E\x01\x00\x03h\x7fma~}G\x7f\xdbl\xee\xdf\xda~\x13Y\x0f\x8a\xc2D\xabr\x00\x00D\x9e\xfe\xd3qAPP\xcf\xe1\xdf\xfc\xa7\xdf\xfc\xc3\xa7?\x82\xa20\xd1\xaa\x1c\x00\x00\x91\x9e\xb6V\xf2H\xa0\xf6\xa2\x88\xf9[N\xc2<\x0a\x1b\xad\xcaG:\x8b\xb9\xb0\xdf\xfb\xcdCY\x80\x91\x8d\xf3rq\x7f\xdb\x8d\xba\xeb\xfez\x07>&\xa0\x15\xa5\xe5h\xee\xec0\xf1a\xf0m\x11\x87\\\xb9T\x12\x00\xf4\xa6\xbf\xa7\xa7\xc7\x7fG(\x86)\x8a\x86K)\x1d`,\xc7\xb8Kbbs\xd0\x17\xae<*\x09\x00\xc0\xa00FQ4\\J\xa9\x00\xa3\xf9\x96;\xe5L\x95\x8c\xdd\x8e<\x93\x00\x00\x0c\x06C\x14E\xc3\xa5\x94\x0e0\x1aYQ\xd0\xfa\xe0[\x8c$\x00\x00\x83\xc0\x08E\xd1r)\xa5\x02\x0c\x87R\x94\x8e\xa9\xf1\x8c$\x00\x00\x83\xc0\x08E\xd1r)\xa5\x02\x0c\xe7\x12wLJ\xaf\x0f\xe9b$\x01\x00\xf0\x1d#\x14\x05i\xb8\x94R\x01\x86\xd3\x13\x16q\xf2\x8eS\xe4N\xca\xe3\x15*\x09\x00\x80\xef\x18\xab(l\x97R*\xc0x\x0es\x1c\xb7PL\xde\xe2\x0e\xb8r\xa9$\x00\x00\xbec\xac\xa2\xb0]J\xa9\x00\xc3\xe9\x98<c\xeb7N\x0b\xcf[\xb2\x07\xf0-\xb0\x03\x06\x80\x97\xc1XEa\xbb\x94R\x01\x86\xf3-WN\xa5O2\x92\x00\x00\xf8\x8e\xb1\x8a\xc2v)\xa5\x02\x0c\x87\xba\xd6\x83>\x1d\xdf\xceH\x02\x00\xe0;\xc6*\x0a\xdb\xa5\x94\x0a0\x1cJQ\xfag/`$\x01\x00\x18\x04F(\x8a\xa6K)\x15`4\xa7dE\xd9\xca]d$\x01\x00\x18\x04F(\x8a\xa6K)\x1d`$=-\x17\x17\x07\xbb\xdcQ\x8f\x87|\x84<\x93\x00\x00\x0c\x06#\x14e\xc4\xf2\x16\xc7\xcd8\xe4L\xef\x1f\x1f\xdf\xe3\x99\x04\x00`P\x04\xb4\xa2\xb4\\\xbc\xe3J\xb6M\xfd\x82\x91\x04\x00`p\x04\xb4\xa2\x00\x00\xa03\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x12(\x9cI|\xa4\x15\x12\x10\x90\xed0\xb4N\xb4\xee\xab\x18\xda\xb5\x8d0\x0cR\x14\xef.\xa5\x1dU\xf9\xf6C\x97\xe0\xff\xbe\xbeS\xcc\x0b\xccK(\x1b\x10?\xd6\xc4\x9dq\x8f\xd8&\x04\x98\xef\xca\x9f\x0f\xf2\x058\xb8>,\x17\xd9\xc3\xae\xbbG3\x19L,\x8b\xc6(\xa1\x0d\x19\xd2GF#u\xa18\xe6\xcfR\xfa\xbe\x89_\xee\x99\xa4qn\x07\xb6\x13mc\xf2\"\xcb\x9a\xda\xf7\xaf0\x16\xb9\xf0\xa1\x17\x9e\xab\x08$\xdf[c\x14\xc5\xbbKi{\xee\xa1\xba\xa6\xf3\xbb\x0bAR\xd8\xd4^\xf3\xc8z|\x90\xafp\x9cK\xe3\xf7\x89\x1f\xcf\x9aO\xb8G<p8J\xf9\xab\xd2\xc7\xd2\xa8\x0a\xf2^\xce\xadB\xab\xb8oH\xfa\xa8\xc6c\xa5\xe8X6\x8c\x96Q\xbc\xb8\xba\xf2}\xc7C\xe9#\xa3\x91Z5\xf8\xc4\x87\xa6\xf7\xa5\xf4\xc0\xd5m\xd1\x9eI\x0a\xd7v`:\xd1^3\xa5\x9c\xa8\xfc\x8c\xe7\xab\xf1\x07\x95\x961{\xa1\x80\xb5\x8a\x00\xf2\xbd5DQ4\\J\xbf\xc9\xc7\xcf\x9am\xb3\x9f\xf7VG\x00\xb3:\xd53\xaf\x86o\x16\x0e\x9a\x9d\xfcm\xf1c\x9fg\x04B\x0d\xb2\xa2\xdc5\xe5\x88\x89\xf3\xdcF\xb4\xd1\xf9\x84\xba\xdf-f\x95\x92\xa1c\xd9\xb0ZF\xf3I\x12\xfd\x89\xd5H\xad\x1a\xb4\xe9\x8cJ\x8b\xea\x94?\x16D\xb3\x92.\xa4\xed\xc0t\xa2\xdd\xb0N\x18[\x0cl\x13\x15E\xade\xccMM\xc1^E\xe0\xf8\xde\x1a\xa1(Z.\xa5\x85\xf9d\xe1\xd1\"v\xf1\x80g\xa5\x9a\xa2\xa0n\xcbN\xcfE\x12\x94\xa2dX\x9f\x8b\x89\xeb\xdcV\xb4\x9d\xbbA\xd2\xe1\xef0\x8bI\xd0\xb1lX-\xa3Q*\x0a\x0b\xad\x1a\xb4\xa9\xe5\xaf\xf1\xb5\xf2G\xef\x8a\"m\x07\xa6\x13\xed2\xa2\x05\x8d\xfci\xfc\xf6\xb2-c\xaf\"p|o\x8dP\x14-\x97\xd2\x16\xf1\xb9G'\x87\xc1t\xeb\xc6\xdba\xe3\xa6,\x20\x0f\x86\xcc\x0c\x0f\x9d\x93)\xbc\xaf\xe0\xc6\xd9W\xcd\x0a\x9d\x7fK\x91T%/\"t\xd6\xaa\x0e\x84.\x8d\xe5\xb8\xf5\xd7\x97\xce\x08\x99\xdfC%\xdd\x82s\xa7\xd8\xf1\xdb\xad\x89\x9c\xc8D\xe9\x89O\x02;yS\xd9\xae\x04\xf3\x86\x07\xf8\xc3@E\xa29a\x97\xf0\xdd<\xc3\x8b\xacV\xd6$*\x0a\xda\x19\x8b\xd0\x133\xcfGU\x92\xdcg\xa9V\x93-\xa5\xd1\x19#+J\xaf\xc5\xf5\xbb\xd9\xca\xe5\xa1|\xae\x15\xa1\"g\x13\xc2I\xb6k;\xac\xe0\xc6n\x8f\x9f\x16\xb6\xf0\xba\"\x96\x8d\xa2e\x977\xd8L\xb1\xc9\xb6\x01e\x88\xac(T#\xe5XE\x0dR\x8f\xd9\xdb\xa1\xd1\xc4\xf3{\xee\xa6/\x8bI~\xa1\\G\x81\x0dY\xc5\x93\xbf\x07iVK\xaax\xaa#%\x95\xc5\xe4\xed\x80XN\xb4iV\xbcQ\x07\xceu\xd2-\xa3k\x90{\xa1h\xe4\xe3\xf4X[NN\xac\xb9\xda\xcb*\x02\xc6\xf7\xd6\x08EA>\xb8\x94\"\xd4\xbf\xb7\x8aYt(96!|s\xf9F\xe1\xa7\x18\xa1\xf8\xe0\xf5%\xeb\x83\x7f\x8fP\xfd\xde\xb1\xdc\xe4M[&\xbe\xadH\xaa\x11\x1f\xf4A\xc9\xf6\xc9\xe1\xfd\xa8+\x7f\xef\x8cY\x13\xa7\xafZ\xca5QI\xb7\xe8\xb7\xb8\xf9\xf8\xadg\xf7v\x91\\Zr\x9a+M|\\\xc1\x9f-\x9f\xe1\x0f\x19QY\xe7J\xe3V\xf6\xa1\xce+\x8e\x84$\x87\xc3q[Y\x93SQ\xcaxa\xc0\xdf\xe0p\xc4\x14\x90\xdc\xb3|FmuJT\x83\x18#+\xcaM\xde\xe1L\xf5O;\x85\xbe\x9b&\xc8x\xc7\xc9\xaaYs\xab\xaa\xaa\xc8\x94\xb9\xb4\x1dp\x8fg|\xfe\xe9\x8c\xd0::\x96\x0d\xdd\xb2\x9f\xe6\xa5\x9f\xa8)\x8b\xe5\xdd\x8evj\x8c\"7R\x8eU\xf4M\xea1{;tWW\xda\x12,\xb6]i\xf3\xe4\x99\x19\xc2\xbaT\x94\xba\x0e'\xeeZ\x12*\xcel\xe0\xa3\x15Ie1y;\x20\x96\x13\xedC[Tr\xc1\x0f\xbdH\xd17E\x0dR/\xe8F\xf6.\xb7\x96\xee\x8b1\x97m(\xf6\xb2\x8a\x80\xf1\xbd5VQ\xd4]J\x85M\x9e\xdb\xc6.;ttM\x9f\xdf\x85\x1d>\xda\xb0Y)v\xfb8\xc2\x1d\x16^\x83'\x09\x83\x92\xa5\x93\x912\xc9\xa4\x88\xcbE\xd8\xa2\x838\x10\x86so\xb69O\xe9\xa8$M\xd3\xe7\xe29\xc4\xbd&\x11\xb7\xc7\xffG[\x84\x9f\xbc\xf48\x84\xa5\x01\xcf\xee5\xf0\xe4\xf7P\xfd\xac\x07]pN\xa48\x0f\xd6\xe7\xd5\x82\xc0\x0c\xbc\x9f\"\xc6\xc8\x8ar\x8e\xff\xabG\x0d\xd4Y\x0f\xb5\x1dP\xf0\x0c\xdc\xf0\xe9\x11\x8cxO\xa4\x96\x95\xc6a-)\xb5\xb8M2(\xcfz\x9c\x8dT\xc4J5\xd0=V\xdb\x0e\xfc'\xcf\xd0\xc03\xa4\xa0\xcf\\\x8c\x8a\xcd\xb8\xae5\xef\x09C\x99\xbe\x0f\xa3\x95IE1\xc5v`8\xd1>.\xf8\x83\x89\xb7T\x8b\xc5\xe4\xad\xaeX\xb1\xb3\x17T#\xabyaTX*\xee\x10\xd5U\x04\x8c\xef\xad\xb1\x8a\xa2\xeeR\x8aNe\xbb\xff\xa0\x0f=%\xdc\xf7\xaed\xfco\xc9\xdb\x1b\xf8l7\x18\xbfl\x0cF\xca$\x93\xc53{0\xd3\xc8Irx\xb0\xd4\x05*\xc9\xa0\x89s\xa1\x8c\x8aNG\xce\xb3\xff\xb4w{_\x08\xd8\xc8\xb5W/\x8aR\xc1?&\x1f]_\xf3\xc7\xa5\xc9\xefZ\xf8\x0f\xc5\x0f\xb2\xa2\x9c\xe6\xef#O$E\xa1\xb6\x03\x0a\xfe#~\xcd\xe4|\x92w\xa9e\x0f\xad\xcb\xb2\xcan\xf6\xf5\xba-g*\x8a\"V\xaa\x81\xee\xb1\xdav\x88v\x1b\x9e`\x1a\xf9+\xddW\xf0!\xfd\x84/\xc3\x9f\xf7D+\x92\xcab\x8a\xed\xc0v\xa2\xed\xaeI\xe6\xcf\xe1\x04\xad(\xf4\x8a%E\x91\x1a\x99c\x11^n\x8b\xb3/\xaa\xab\x08\x18\xdf[c\x15E\xd5\xa5\xb4\xe7\xa8]\xbac\xc58\xb6r\xd2\xb9\xed\\\xd1M}\x01\xfem\x0e\xde(\xbcl\x12\x15EN2\x99\xe3T\x86\xb7\xf0\x87\xf0p)\x9fJ\xb2\xa8*\x12q;\xcf\x8b\xc6_V\xf2%\xfd\xd0y\x1eOF\x1b^\x14\x85|\x99\x91\xf45o\x88\xb3\xe5\x9cv\xac\xf3P\x94\xab\xd4ud\x19IQ\xa8\xed\x80\x827\xe1\xd7c\xbe\x19\x16\xc9-{R\x96\x9a\xc0/9\xa8:\x8f\x82q\x1d\x8bt\xacT\x03\xddc\xb5\xed\xe06\x97D(%\xcbKqo\xc9\xe9\x06.F%\x95\xc5\x14\xdb\xc1\xd3\x89\xb6\x81\xcc\x8a\xf4%\xbaou\xc5\x8a%E\x91\x1aY<\xef1\x1e-\x8ac\x14\xb5U\x04\x8c\xef\xad\xb1\x8a\xa2\xe6R\xfa\xb4(\xcfe\x9bc$\xe5\xf2q\x13?\x93\xbc\xcd\x20c\x14|P9\x15EN2Y:\xf3\"\x81L_\x86\xcb\xf3-\xe1^\xa6^\xd4\x91\xbf\xa4i\xef^#\x90\x11\x08\xf9nW(\x7f\x9fEE\xe9\x8ds~\xed\x9d_\xf3\x84D|\x9d!\xd5CQ\x9eG\x17\x20O\x88\xa2\xd8\x9b\x14\xdb\x01\x05\xaf\xc2\xaf\xf6A\x8cQp\xcb\x1ar\x04}xR\x19S\xaa\\.*J\xe7>\xc5@J\x11+\xd5@\xf7\xd8\xdbvp'uuCC\x03\xbe\xd2\xfb7\x9eT\x98\x1e\xadH*\x8b)\xb6\x83\xa7\x13\xad5\x8b\xbc\xe5\xbc\x87_\xa9\xad\xaeX\xb1\xa7\xa2<\x8cJ~\xd8\x98\x90(\x9e\xf1\xa9\xad\"`|o\x8dU\x14\x15\x97\xd2\xd6\xfd\x07\x84\xcd\xddo\xf8dx\xc7\x94Hf\x08$f\x00\x00\x03\xb5IDAT<\xa3\xf3\xc1*<\xf0\xc7\x83\xd2\xfd\\\x09RW\x94\xa6M\x1e?\xdcG8r\xe5\xfb\x8f\x9f\xe3W\xeaj\xac\xca\x85\xd9\xa6/\xbc]\x8b\xa5\xbe\xa45\xe2=\x119\x07\xf1k\x92p\\>\x123\xa4\x1aDE\xc9\xe1\x9d\xb7a9\xbf\xe66\xfc\xd5\xef[\xe9\xa1((\xf5=\xc6m\x14\x91\x91\x08\xdd\xc3\x1d\xa0\xb6\x03\x0a\x9e\xd2!d\xcc\x8ct\x0fft\x9ejY\x01\x7f\x81|\xde!\xc6\xba\xba)*\xcaM\xfe2\xf9\xe4l\xa4\"V\xaa\x81\xee\xb1\xcav\xa0\x0fli\x15\xd6]\xc2\xcb.\xab\xf0\x92h\x13t\xe7vL\xb42\xa9,Fm\x07\xca\x89\xd6UY\xac\x15+W\x9fX\x80\xda\xea\x1a\x8ar\x8d_\xc2\xf3\xeb\x1e8\x97\xb3W\x118\xbe\xb7F(\x8a\x96Ki\x93}\x7fSKK\xcb\xc9|\xad\x8at\xe7\xe8\xebod\x96|\xc0\xe1K\xbaK\x83\xd6\x16\xad\x0dZ\x8aPK\xd5\xb8\xf8S\xe8b\xfc\xb8\xaa\x16*\x89\xa3\x17r\x13<~\xb9\xd7r\x8b\xf3\x0f\xc5sy\xa8\xe7\x14\xb9v\"\xfc\xe2\xd3I7\x16r^\xbeW?;L\xdb\xae\x0e\xdc\xdcfr\xfc,\x1cC\xf3\xd2N\x9c\xce\x10g$\x0b\xa2\x8bO\x7fb~H\xd7@\xee\x99\xbd\x90N\xee\x99\xed\xbd\xeap\xc4ls\\~\x86\x0f\xd6\xd4\xd2\x82\x95|\xecWW\xd1C|\xcfl\xb1\xc3y\xcf\xea\xed(\xf9Nu\x89\x8d\xc1[\x0a\xdf\x0c\xc5\x17\xb0\xa9\xed\x10\xcc\x85\xe7\xdbgM\xf2P>V\xe7\xe5\x96\x15\xf0\xe6}g\x85\xf6\xd6:cI#_\xfc\xb0\xf2}\x87\xc0\xd7\xc2I\x88\xa2\x91T\xac\xdc7\xa9\xc7\xec\xed\xf0\xe2\x07r\xf5\xe5\xbe\xd4\x1c\xb2\x8a\xee\x0b|N'\xea\xcc\xe1/t\xa3f\xb3\xad`\xcf\xa2(SE3\x95t+Fm\x07\xca\x89\xd6\xb5[by\xeb\xbe\x0bBsn\xd3-\xa3k\x90{A7\xf2ZL\xcd9\xc7\x03\x97\x8e\xb0W\x118\xbe\xb7F(\x8a\x96K\xe9\xe1l\x91a\xb8\xc3\xed\xfa;\xd3&F\x90\xc9\x9d\xfe\xcc9\xa1s2\xfb\xf1M(\x1c7\xae.Tx]A%q\x88}\x02'M)K\x1c\x89\x0c\x9b4\xf70B\x97\x82\xc8\x84\x0a\xfejRI7r'g{f\xba\xd8\xc9\xf3\xbc\xe9/f\xe1\x15\xdf\xb6V\xb3.\xd6\xb2\x86\xfc\x98\xa3\xee\xacE1I\x0d\x8a\x1a\xc8\xffz\xf8ed\x02\xf2\xa7(q\xaeA\xf8\xd0W\x9c\x10\x1d\x97V\xf1\x9e)\x09\xa5;g\x20\x9c?\xaf\xfbb<\xff\xac\xd2\xf5AX\xc8\\\xb1G\xf2v\x08^\x15?q\xeaR\xcfsPf\xe7\xa5\x96U\xac)\xb0\x99\xacI\xce;\xcd\x9c\x8dlt6\x8c\x17\x0eQ\xaa\x91\x8aX\xaao\xae\x1e\xb3\xb7\x83\xb3\xb2d\xa4XE\xcd<|\xcf\xfc\x09\x9e\x9fW\x83\xd0\xdd\x94E\xcbr*L\xb8\x98\x94t+&o\x07\xda\x89\xd6\xb5[\xfeP\x96\xb3\xdc\x1c\x97\"^>s\xb5\x8c\xaeA\xee\x05\xdd\xc8+&\x9cgZ\xd3\xac\xbe\x8a\x00\xf2\xbd5BQ\xfc\x86B\xdff\x17F\"\x03Y\xa6j\xad\x18\x8283\xcb`\x14w\x9e\xc2\xb5\x1dtt\xa2}d\xde\xf1\xe8\xc5\x8b'?}\xb6\xe8\x09\xf9\xccX\x85\x8ek\x1b\xf1\x80\xa2\xf8L\x7f\xee\xa4\x15Z1#\x97\x81b\xdb/Z1\x18\x15E\x19\xdd\x9d\xa7\x10\xb7\x83\x9eN\xb4\xa7\x9dw\xe1\xf4\xc5\x8aCJ\xcfU\xe8\xb9\xb6\x11\x0f(\x8a\xcf\xb4\x84\xad2|\xee\xd8xT\x14%0:\xffR\\\x8b\x12Ow\x9a\xa3njD\x06\x04\xa0(\x00\x858\x17\x0d\x0c\x86\xbe\x0c\xf3\x8e\xea\xda\xea\x1d\xe6\x0c\xb7\xbbq\x02\x13P\x14\x80\x82\xccE3.R\x01^\x188\xb3\xc1j\xb2&\x9f\x05A\xc1\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xff\x1f\xec\x88D\xdc\xfa\xfa\x88\xfa\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/error1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\xc1\x00\x00\x00\xbd\x08\x03\x00\x00\x00\x8d\xa5\x9a\x96\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x02\x05\x01\x0a\x03\x01\x05\x07\x03\x1e\x01\x00\x0b\x0d\x0a\x10\x12\x0f\x16\x17\x13y\x00\x01\x19\x1b\x18\x1b\x1b\x14\x83\x01\x00\x8c\x00\x00\x8c\x00\x04\x20\x1f\x19!#\x20#$\"%%\x1e$%#&'%'(&+)\x1e()'++$*,)/,!-/,02/63(241\x98\x1b\x1b786;8,\x82%#:;9><0>?=C@4@B@\xa0*,CEB\x9c.-KH<MH7\x00f\x00\x00g\x00\x00h\x00JKI\x00i\x01\x00j\x02MOL\x04l\x05TO>\x09n\x07PRP\xa9:<WRA\x0co\x09\x0fp\x0bTVT\x0cr\x17\x11t\x19^YG\xaaDCY[X,`\xae7]\xad\x15v\x1c\\^[\x19y\x1e;b\xac_a^faO>e\xaf*{!bda)}*Bh\xb2egdLj\xafpiR.\x81.Em\xb1ikh\xb3XX0\x8301\x841/\x858Jq\xb5mol;\x86:Vu\xb4>\x89={t\\tvs@\x8b?B\x8c@@\x8dG\\z\xbay{xJ\x8eI^~\xb8\x84|d\xbbkkL\x90K~\x7f}O\x93Mb\x83\xbdN\x95UW\x95V\x82\x84\x81\x8f\x85hm\x87\xbdZ\x98Y[\x9aZ\x87\x89\x86\xc0{|]\x9c\\\\\x9dcr\x8d\xc2\x96\x8cnd\x9dd\x8c\x8e\x8b{\x8f\xc0f\x9fg\x90\x92\x8f~\x93\xc4j\xa3jy\x96\xc5\x94\x96\x93s\xa4l\xa1\x96xq\xa5s\x81\x99\xc3\x97\x99\x96\x83\x9b\xc5\xa5\x9b}u\xaaw\x9a\x9c\x98\xc7\x91\x92\x9c\x9e\x9b~\xaby\x88\xa0\xca\x9e\xa0\x9d\x81\xad|\xab\xa0\x82\x8e\xa2\xc7\xa1\xa3\xa0\xa2\xa4\xa1\x81\xb1\x85\x92\xa5\xca\x8b\xb2\x88\xb4\xa7\x83\xa6\xa8\xa5\x8d\xb5\x8a\x97\xab\xd0\xa9\xab\xa8\x8e\xb6\x8c\x8d\xb8\x93\xab\xad\xaa\xb9\xad\x88\x9f\xae\xce\xae\xb0\xad\x96\xba\x96\x98\xbb\x98\xa3\xb2\xd2\xb0\xb2\xaf\xd9\xa8\xa6\x9b\xbe\x9a\xc2\xb5\x90\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xb6\xb8\xb5\xa2\xc0\xa4\xb7\xb9\xb6\xdb\xb0\xb3\xa5\xc4\xa7\xba\xbc\xb9\xb1\xbd\xd7\xa7\xc6\xa9\xbd\xbf\xbc\xa8\xc7\xab\xcc\xbf\x99\xaf\xc6\xab\xb8\xc0\xd5\xbf\xc1\xbe\xb2\xc9\xae\xd0\xc3\x9e\xc2\xc4\xc1\xbc\xc4\xd9\xe2\xbd\xbe\xc4\xc6\xc3\xb2\xcd\xb7\xbb\xcd\xb9\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc5\xd8\xc9\x9d\xbd\xcf\xbb\xc6\xca\xda\xc0\xcc\xda\xca\xcc\xc9\xbf\xd2\xbe\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd3\xc1\xe0\xd1\xa5\xd0\xd2\xce\xc8\xd6\xc9\xea\xcc\xcb\xd1\xd3\xd0\xd2\xd3\xdd\xca\xd8\xcb\xd3\xd5\xd2\xdf\xd6\xa8\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xd4\xdb\xd0\xeb\xd4\xd2\xd2\xda\xe3\xd8\xd9\xe3\xea\xdb\xaf\xda\xdc\xd9\xd7\xde\xd3\xe1\xdb\xda\xd5\xdf\xda\xdc\xdd\xe7\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xdc\xe1\xe3\xf0\xe0\xb3\xe0\xe2\xdf\xe2\xe4\xe1\xee\xe1\xe2\xdf\xe5\xe7\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xf2\xe4\xe5\xe6\xe8\xe5\xe3\xe9\xeb\xe7\xe9\xe6\xe8\xea\xe7\xeb\xed\xea\xf6\xf0\xef\xf2\xf4\xf1\xfe\xf8\xf7\xf9\xfb\xf8\xfe\xff\xfc!l\x99S\x00\x00\x20\x00IDATx^\xed\x9d\x0fXT\xd7\x9d\xf7\xf7\xd9\xd9\xd8w\xd3$C\x03\x9b\x12-K^\xd6fm\xfb\xdc\xe1\x19\xa9\xbe+\x0c\x8d\x1d\x14\xd7?1+\xbeVQ\x8aV1\x1b1\x18\xe7a\x13\xa3\x82\xc6\x84L\x0a\x19%)\x20B\xe6\x89E\x1eY3*\xbe\">\x19Me\xc1\x96hqm\x12\xe8S\xa6\xd1\xb1\xb6\xda\xe4\xf2(\xac\xe4y\xaf\xe7\xed\xa6\xe5y\xcf9\xf7\xdf\xb9\xc3\xbd3(\x03\x97\xd1\xdf\xe7\xd1;\x87;\xbf\xf3\xbb\xe7\x9c\xb9\xf7;\xe7\xfc\xee\x99{\xfejh\x14\x20\x00\x00\x00\xf3\x18\x1a\xfa\xabH*\x15\x8eH\xee\x01\x00\x00\xc6\x10P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x173\x15,p\xa0\xaa\xa2\xfa\x18O\x92\xc2\x99\xba\x8a\xba\xceH\x19\x00\x00\x004\x98\xa8`A\xb7\xb7\xb3\xbb\xb3\xae\x0aK\x98\xe0\xf5\x9c\xee>Yq2R\x16\x00\x00\x00\x16\x13\x15\xac\xcb\xdd\x8d\xb7\xbc\x1bw\xbd\xceT\\#;*\xf8Hy\x00\x00\x00\x18LT0D\xf5*\xe8\x0e\x20\xe4=@wTB'\x0c\x00\x80;\xc1L\x05\xc3\xf4wW{\x05\x84\xea|\xf4/\xef\xfe\x08\xe6\x00\x00\x00,\xa6*X\xd0\xedv{HO\xecX\xe5\x00\xde\x0ex\xea\"\xe5\x00\x00\x00`0U\xc1P0\xd0^M\"\xf9\xbc\xc7\x1b\xec\x0fx\xdd\xd5\x912\x00\x00\x000\x98\xab`\x98\x81\xea&\xbc\xbd\xe6\xc5\xdd\xb1\x16\xaf7\x925\x00\x00\x00\x83\x89\x0a6\x20\xd0\x973n\xfa\xda\x7fM@\x95\xc7\xc2f\x00\x00\x00\xd0b\x9e\x82\x09\x95b\xf8\xfeL\x05V\xb0A\x92\xea\"\xb7%\x01\x00\x00F\x8cy\x0a\x86\xaa\xe8\x14\x0a:\x8a\xect\x07\x11\xe2\xab|\x91\xb2\x00\x00\x00\xb0\x98\xa8`]\xee\xa6\xce\xeeN\x1a\xc9\xefr\x9f\xec>S\xe9\x85\x09\xad\x00\x00\xdc\x11&*\x18\x0a4UW\xd4\xb5\x90y\x14\xe8t\xb5\xc7{Z\x88\x94\x01\x00\x00@\x83\x99\x0a\x06\x00\x000:@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]bK\xc1\\.\xbd$\x00\x00\xf7+&+X\xbb[z4~\xc0\xeb9\x10\xf1\x09\xad\x1fs;u\x92\x84z\x8e\xe3\xcaQ9\xde\xd6\x0f\xcf\xa6\xd0k\xe3\x16\xe1\x17\x176K\xeb\x09c\xa7\xe5\xb8\xe3p\x98w\xef\xd0\xd9\xe8\xc0\x07\xab\xc1/5\x1c\xc7\xea\xf7\x8b\x1c\xd7\xa8\xfcq\xeeG\x8eY+[\x97|0,\xafH-k\x1b\x81\x17Gd{w\x8d\xfa\xd9\x8b\x0e\xfb\x8f\xa2\xf28%\xed\x81\xc3\x7fX\xe3\xc3D(\xc3\xfd\x83\xb9\x0a\xc6W\x1c\xab\xa4\x89\xee\x0a_\x97\xaf\xa2;\x82y\x91\xfd\x8aN\x92\xc0\xbf\xcb\xed\xbe\x8e\xae\xbf\xc5\xbd\x1b\xf6)\x89\x1d.;\xde^\xf2\xfbk9\xa3K|8\xcdi\xe1\xae\xe3;t\xa6\xd2z6\x92\xc5p.\xa5\xbd\xd5\x87_\xfa\xde\x9aq\x89\xd9{\xc5o+\x97\xd3gm\x05\x87\x1a\x9f3\x96\x9e>\xff\xf2r\xa4\x87NqX\xbfa\xb8\xabF\xcds\xd4\xba\xd2\xfa\"Y\x8d\x04\xed\x81\xc3\x7fXw\xd7\xea#\x81\xf5\x1b\xa9\x0c@41W\xc1\xbcM\xddT\xc1\x84*\xb2\xc6\xc7\xb1\xaa\xf0_\xca=\\\x89NR\xe4\x02w\x1co[\xb9\x0b(,\xe5v\xf1\xb5\xe3\x0e.6\x14\xa9\xabpG\xce\x14~P\x18\xc9B\x87%b\x17\xb3~\x89v\xb7]Q\x9a\xd5yd\xeb\x0a\xd3y*\xd0W%\xdd\xe2\xd8G\xa2`w\xd3\xa8}\xb8/)\xf4G\xb2\x1a)\xec\x81#|Xw\xd5\xea#@\xe37\xd2\x09\x03D\x11S\x15\xac\xdd\xc3\x07\xa8\x82uV\x90\xb3\x99\xaf\xe8\x0ck\xeeR\xfb].m\x17ll\x15,\x12w\xe7l\xd9\xdd\\K\x85e\xf4\xa5,$\xaf\xaa4s\xa9\xc19\xee\x102\xc2@\xc1t\x8b3f\x0a\xd6\xc3Es\xa0u\x07\x07\xbe\xabV\x1f\x01c\xe5\x17\x88\x84\x99\x0a\xc6Wt!Q\xc1\x9a\xf6\xd3\x1d\xfb\xc3.\xf5\xd1k\xdb\xaa\x93\x94`\x14\x8c/\xcc\xb4e\x15\x9c\xc3\x7f\xbe\xc4\xd9\xeaK\x16\xa4\xad\xa6C\xae+E\x99\xe9\x85\xaea\x17[\xe3\xca\xb4\x05%X?\xcf\xd98\xae\xac\xa7h\xae}\x8d\xe6\x1b\xb4/\x8d\x13\x87d\x82\xc3\xf6jVf\xeb\xd6Yy<\xf1[\xe3\xcaJ/\xe81p\xc6\xda2\x87`\x8as\x98\x13YF\xde\xf7\xaf\xce\xb29~\x94\x854\xa8\xb5`\xd9)^(\x85;Y\xbfXi\xb6\xba2\xc5\xe2\x14fR\x0do\xa6\xbbk\x97\xa5-\xa9\x153\xf6\x14:\xf01\x88\xecc\x05\xdb\x8a\x8fl\xff\x8c\xf1\xa0)\x0e\x83\xbdDn\xbeh6\xea\xa0C<\x9a\xd8\x8d\x96\x0bi\xf0\x01\xe8\xb7\x03[!\xf5\xc0\xca\x87E\x88\xd4\xea\x06\xce\xe4\xe20\xd945fZ]\xc9\xc6\xfa\xd5\x94A\xc7\x19\x10e\xccT0o\x13\x92\x14\xacN\\(\xf2X]8s\x97\xed\x92NR\xe2\x02\xd7<00\xd0L\x14\xac\x99s\xb56\x16p\x1d\x08}\xdch\xe3\x1c\xe553\xc8e\xdf3kA\xfd\xe1\xd5\\\xe8\xc5\xe6\xe2\xb66\xd78\x96\x09h\xa0\xb11k\xc1\x8c\xac\x92\"\xaeW\xe3\xf8\xac\xdf/\xf6DZgq%y\x9cc\xb7\xa3\x86\xfa\xcd\xda]\x9e\x95v\xc1\xc0\x19c\xcb\xece\x8a\xc3\x7f\xe0_\x90\xe7\xf7\xfb\x89\xe8\x9c\xe5\x8a\x1a\x8f\xd7;8\xed\xd8C\xad\x05K\xfd\x0fPG\xd6\x07hY=\xeb\x17+\x0d\xb7\xac\xb1q\x09)No\x16\xb7\xa6\xbccP,\x8e\xbd\xac\xb9\xcc^D\x92\xadi\xcb\xde:^No\x03`\x05\xbbR\xc4\xd5t\xb0\x1e\xd8\xe2\xb0\xd8\xb9E\x8d\x87\x1d\xa4\xf9\xa2\xda\xa8\xe7\xfc\x8d\\\xb9\xdfO\x15C)\xa4\x81\xad~;\xb0\x15b\x0e\xac|X\x91[\xdd\xc0\x99R\x1c&\x1b[c\xb6\xd5\x95l\x1a\xbfl\x19t\x9c\x01Q\xc6D\x05\xeb\xf4\xf0\xb2\x82U\x9e\xa4{NV\x861\xef\xb5\xbd\xa8\x93\x94\xb9\x20}\x0d\xe2\x8b\xb8\xbf\x91|C.y\x8e\xec\xb6\xa7c\xa9+r\xe0\xd4\xca\x05x\xaf\xb0$\xe4bk\xe6\xde\xa5\x7f\xd1/\xcde\x1c\xe93\x0d\xbf\x15\x20\x9d\x90\x99E\xd8\xfc\xb08\x8d\xc3>\x17\x9b\xf5e-7r\xc6\xd8\xb2\x87P\x8b\xc3\x8c;j\x1d\xe4r\xa8\x9d\xa5U0\xb6\x16*~\x07\xdai+A\x0e\x7f\x88\xdfE\x03X\x02\x16,\xc7\xc9\xbe\xdd\xcbm\\:\xd9y\x9cvK\x8fs\xcd\xf8\xad\xac5\xd8`\xb0\x91\x84\xce\xb1\x82\xd5\xd8\x9b\x893m\xe5uG\x91\x0e\xdcSs\x91\xf2F\xb9Q\x95Q$SH}[\xfdv`+\xa4\x1dEJ\x1fV\xc4Vg`\x9c\xb1\xc5a\xb2\xa9I\xc6\xaf\xa6\x0c\x1a\xbfR\x19\x0c\x9c\x01Q\xc5<\x05\xe3+:\x05A\xe8\xae\x14\xf0\x95['\x0e\x1f}\xe1\xfa`/\xd9zu\x922\x17p\xaf\xa2\xa3\xa3\x86\xc6\xc1>\xab]3w\x16G\x83\xddv\"7$N\xd3'N\xb3(\x0b\xb9\xd8\x0a\xe7\x0e\xe2B\x08Ytr\xc22\xfb0\xb7\x14Y\xc1\x1aq6\x1e\xed|\x9e\xec\xa2\xc3\xb8Z\x8e\x9e\xbd:\xce\x18[\xf6\x10Jq\x10s\xce_\xca\x9c\xfbR\xfd9a\x10iaj\xa1\xd2\xcb\xf5\xe7\x15\xad\xec'\xdd\x14\x8d\xdfW\xc9\x9bRq\xd0@\xeb\x1ar\xd5\xb8\x16\xd1\xbf\x16Q\x15U\x87a\x05\xe5e\x92|h+\xaf\xab`jy\xa3\xdb\xa8\x8a\x821\x854\xb0\xd5m\x07\xb6B\xba\x0a\x16\xb1\xd5\x19\x18glq\x98lj\x92\xf1\xab)\x83\x9e\x82\x198\x03\xa2\x8ay\x0av\xd1-\x13@M\xe2\xac02\xac4\xe2\x0a=\x07B\x93\x0aL\x1c\xac\xc3\x91\xb5\xf3\x90?O\xbc\xd8\xc8\xb9DN\x9c\xb3\x9c\x1f\xa1\xe1A\xe7%R\xd7\x8d~\xc5/\x1b\x16\x1f\x11\x91\x15\xec8\xea\xb0!I\xc1\xe8.?G\xef\xa1\xeb8cl\xd9C(\xc5A\xec9\xdfW_\xb8\x08\x0f9\x91\x06\xb6\x16*\x82\xfdB\xda\xb9\xb4\x0b6A\xc7/-N\x07\x1d\x9a\x09+\x0bp\x07\xa9\x80f)XN&\x90\x0d(.\x0a\x1c3\x16\x89\x87\xd6V\xde0\x92O\xcb\x1b\xe5FU\x14\x8c)\xa4\xbe\xad~;\xb0\x15\xd2U\xb0\xc8\xad\xae\xc28c\x8b\xc3dS\x93\x8c_M\x19\xf4\x14\xcc\xc0\x19\x10U\xccS0!Hh\xf7\x04\x83\x02\xeat\x93\xa1\x03\xef\x0es/r+\xd7\xa3\x93T`\x14l\xd1r2\xee(\xd4^l\x9fq\xb5\xe4\xef\xd0\xa0s\xd1\xdc\xb3\x14\x12\xd66\xbc\x9f\xc4(\x98]V0z'\xa1\x9e\xa3#\x1e\x1dg\x8c-{\x88a\xd7R}/\xd6\x01\xd2\x9f\xebk\xb4\xd7j\x0e\xca\xd6\x82a\xc1[\x99(\xabf\x01\x0a\xf1K\x83\xe2\xa48\x99/Q\xb32l\xe1\x9aK\x93s]\xa4]\x98>\x98\xe3B\xef,\x1a?\x1a^yR\x1c\x16\xb5\xbcQnT\xb5\x0f\xa6\x16R\xdfV\xbf\x1dZ#\xf5\xc1\"\xb6:\x03\xe3\x8c-\x8e\xae\x821~[\x87\xf5\xc1d\xbfr\x1fL\xdf\x19\x10U\xccS0\x91\x804\x1f\x8c\x0c#}a\xe6\x83E\xe8\x82\xb1\x0a\x96EN&a\x89\xf6bC\xcb\xb3\xf0\x10\xab\xc7\x1er\xb1\x1d\x17\x835e\xb4\x03t'\x0a\xe6\xc0\xd7\x15?\x97N\xbe\xd2s\xc6\xd8\xb2\x87`\xcf\xe3<\x9c\xf9\x0ay\xaf\x9c\x16\x1d\xe5ic{l-\x18\xd6\xac|\x0e\x15\xae\\\x8dB\xfcf\x91\x88\xcc\"\xec\xd1A\xaa\x89\x04R\x95fj\xd0H\x06\x94\xfd\x99y\x838\xbd\x95\xe8.\x99M\xd1l\xeb\x08\xf1\xa0\x16\x87E-o\x94\x1bUQ0\xa6\x90\xfa\xb6\xfa\xed\xc0VHW\xc1\"\xb6\xba\xbe3\xb68\xba\x0a\xc6\xf8\xd5\x94A\xe3W*\x83\x813\x84zw\x8f\xfc\xc7\x0b@\x04\xccU0!\xd0\xee\x09\\CtN\xfe\xc5\xb0s\xf2K\xd4~W\x89N\x17\x8c\x9d\x93_\xce\x15\xd6\xee^\xc69\xde\xea\xb8\xe2\xb7\xb9:\xd0Y\x97\xcd\x7f\x05]H\xcb*/K\xe7l\xef^\x10gq\xd7\xf8\xfd\xbd8\xe3N\xee\xf9\xc6Cd\x02\xa8\xd0A\xef'\xf5\x868\x1e\xfc\xc0\xef\xb7\xbb\xfc~\x1e]H\xaf\xe9o\xb4\x9d\xeb\x7f>\xef\x12\xa27\xff\xea\x17\xa4\xf7\x20}g\x1a[e/[\x1cr:\xd7\x1c\xcaK\xbbD\x14,\xad\xac\x19\x1b\xb4j\x0e\xac\xd6B\xb3{+\xb7\x1b\xbd\xc5\xd1\x8bF\xf1K\x8a\xb3\xa6\xa3u%)\x8e\x83\xcb,;\x8e\xfd\x92&*\xe2v6\xef\xe4\xc4{\x91\xf6E\xb5\xcd[\xb9z2'\xdf\xf5\xc1`\x7fAf\xebu\x8d\x07\xb58*ly\xa3\xda\xa8\xe2\xbd\xc8\x0e\xfa}\xa5\x14\xd2\xc0\xd6\xa0\x1d\x94\x0a\xb1\x07V?\xac\xc8\xad\xae\xefL-\x0e\x93M\xe3\x81i3&\x9b\xea\x97-\x83\x9e3b\\\xc0\xfd\x08\x01Q\xc2\\\x05\x0b\x900X\x15M\x1d\xa8\xf0\x86\xf9]\xe4\xf5\xb4\"\x9d\xa4\x0a\xfb\xbbH\xa1f\x81\xddQX\xbf\xc0\x96\xf7\"\xfe\xdbv\x81L\xd0\xc1\xfd\x9b\x9e\x82\xf4\xb9%\xef\xdap\xd2%\xc52\xe87\xfe\xf1<G\xfa\xcaf2\x09\x94R\x10\xe2\xf8\xacd[/88\xaeq\x06\x97\xd6Hc\x20\xf6\x12\xd7\xac\xcc\"r:\xea9\xd3\xda*\x87\xd0\x14\x07\x0dlM\xb7\xe7\x91\xcb\xb2qey\x96-3O+`L-4\xbb\x9b\xd3\xcea\xdd\x10;0\xb2_<\xd4*/\x9c!\x16gy}\xd9\xa24\x878SM\xa8Y\x92\xb6\xa4V\xec\xd7\xf6\x14f\xcdX~\x88\xfe.\x92\xe3\xce\xe2\x82qe\x1a\x0fjqT\xd8\xf2F\xb3Q\x07f\xd1\xbd6m!\x0d>\x00\x83vP*\xc4\x1eX\xf9\xb0\x88A\x84V\xd7w\xa6\x16\x87\xc9\xa6\xf5\xc0\xb4\x99\x9aM\xf5\xcb\x96A\xcf\x191\xaew\x84\xfb\xf5.pG\x98\xab`#\xe6U\xeec\x9d\xa4yH\xe3\x04\x00\x00\xcc%F\x14l\xa2=V\x07\x14\x0c\x00&\x041\xa2`\x13\x0dP0\x00\x98\x10\x80\x82\xdd\x05b`V\xe6\xcdo=\xc4\xf2\xad7\xc3\xe4\x04\x00\x20\xaa\x80\x82\xdd\x0540\xdb+\xa6\xff\xa8\xd5/\xaaa\x7f\x0c\x9b\x1b\x00\x80\xa8\x01\x0a6J\x86\x0b\x18\x96\xb0H\x99\x00\x00\x88\x0e\xa0`\xa3\xe3M\x1d\x01{\xe8!\x18H\x02\xc0\xf8\x00\x0a6:\xf4\xba`\xd0\x09\x03\x80\xf1\x02\x14lt\xe8\x0a\xd8C\x0fE\xca\x06\x00@T\x00\x05\x1b\x1d\xa0`\x00`&\xa0`\xa3\x03\x14\x0c\x00\xcc\x04\x14lt\x80\x82\x01\x80\x99\x80\x82\x8d\x0eP0\x000\x13P\xb0\xd1qo)\x98wf0\x92\xc9\xb8sm\xa67\x92\x09p\x1fc\xb2\x82\xb5\xbb\x95\xd3\xd3\x17~\xb1\xc8\x11\xe3\xb1Z\xad\xc5\xa8\x18o+\xc2X]\x8c\xb7N\xc3/\xb9\xd8,\xb1+\x8c]$\"+X\xbe5\xae\xda0{\x08\xbb\xacqU\x91ld\xc6\xa0\x9e\xdb\xb0\xc3\xc848\x9dG\xc2\x1a\x1ct:\x9d{\xd1^\xbc=\x18\xc6\xea\xd3l\xe7*\xfc\xf2\x0a6\x9b\xffi\x18;\xb4-n[\xb8\xb7\x81\xfb\x1bs\x15\x8c\xaf8&/O\x14t\x9f\x0ck:bx\x8fu[\x10\x05\xb7Y=\xc3W\x1dbh\xc9M\xc0\xdbn\x9fo\x97\xb5%\x9c]\x04\"+X\xc0\x17?\x12]\xa0\xf0G\xa7\xeb\xdb\xfaN\x0f\xdb\x15\xfdz\xee\x8a\xf3D\xb0\xa0\xdch[\xbfW\xf7\x8d\xb6\xf3\x92\xc1A\xe7\xde\xcf\xd1\xe7\xef8\x0f\xde\xd0\xb5\x13\xb9\xfd\xf3W\xb2\xf1\xcb\xef\xdb\xda\x1a\x9c?\x0fc\x87{\x86\x8f\x96\x86}\x1f\xb8\x9f1W\xc1\xbcM\xdd\x92\x82\x05\xaa\xa3\xa5`\xa8\xddz\x00o}\xd6\xf6\xf0f\xc5\x09\xe2kK\xc4+;\x1c\x91\x15\x0c\xa1\x84\x11+\x18B\xf3\xf4m\xa7/\x1e\xbe/\xda\xf5\xbc\x18\xbf!\xbc\x81\xc2f}\x05[\xbfEJ|\xe4<\x85\xb7m\xce\x8ft\xcd\x14\xf6f\x8b\xaf\xe7#(\x18\xda\x94\x10\xe6\xe9\xbd\xc0\xfd\x8d\xa9\x0a\xd6\xee\xe1\xc5\xe7\xe4#\x9f\xdbW\x11\xc3\x0a\xf6\xbf\x7f\xf7_\xff\xf5\xeb\x7f\xfc_x\xfb\xbb\xa7\xc6D\xc1R\xc7A\xc1r\x93\xc3v\xe6\x18\x0c\x14l\xed\x16)\x11m\x05\xe3\x93s\xc3\x1b\x00\xf7/f*\x18_\xd1%\xad\xf4\x81\xfayy\xd5[]\xaa\x95\x98O5\xe2\x17'\xc7\xa7\xcc;\x83\xf7\x9ey\xd4j\xdd\xd4\xb5tj\xe2\x9cA\xd6\x98\xb9\xb2U\xdb|k\xbc{\xdd\xb4\xc4\xd9\xf4\xcb<\xb04y\xca\xc2\xdcaWv\xe5\xcc\xc4i\xebx#\xbf\xdd\x93\xad\"\x93\xd9\x0e\x81\xa8`o\x92\xb6x\xea_\xc9\xf6_e\x05\x93\xbda\x05\xcb\xcfM\x9e2\x8fF\xa1\x8e\xceN\x89O\x9a\x93B\xb3\xeeJML\xdd%z\xe9Z\x98\x14\x9f<\x87<e\x1b+X>>\xc6cA\xc6\x83W:p*\xd2\x10\xe5z\x0eL\x96\xbb`m\x9bWd?\xb3y\xc5m\x9c\xbc\xdd\xb0~\xfe\xda\x86\xdbt\xf7\xa7[\x9e\xc9\xce\xd9\xfc{D\x15\xecu\xa7\xd3\x99\x8d\x07\x89\xb7\x0f\xae\x9f\xbf\xea\x8d[\x08\x9dp\x8a\xacG\x1a\x05\xbb\xb1%'{\xc5f\"e\xaf8\xb3\x0f\xbe\xb1j>u\x80~\xbf=\xe7\xe9-\xaf\x84*\x98\xe2\xec\xa3l\xa7s\xcf\xa7\xdbWdo\xfe\x82\xbe\xb1)\xb1\x1f\x01\x80\x1ef*\x18Y\x1e2\xa0,\xd3\x1dN\xc1\xf8\xa3\x937\x05Qp\xd3\x94\xa3<\xbe\x9es}\xd5\xf3\xe2\xf0\xe5\xd8_]\x95\xf2\xe4\xe4\x94uK\xad\x9aAF\xbb\xd5\xdb\xdf\xdf\xbf\x9f\\\xd9\xaamg\xd5\xa3\xd6\xa4\xe2\xd2\xc9\x0b\xb1A\xd7\xe4i\x1e\xeflk\xe8\x95\x9d\x1b\x97\xef-MJ\x15\x0c\xfc\x0exJE<\xecR\x85\xa2\x82=\xfc\xe6\xd0\x7f\xfc\xe3C\x0f\x7f\xeb\xd7C\xff\xf6\xb0\xa4`\x8a7\xac`\xd6\xd4\xaa\xaa\xd4D\\\x9e\x93\xd6\xa5\xd5M\xee$+Q\x8c\xdc\x84M\xdeM\x09K\x89\x13_b\xea\xb6\xa6b+\x89\xf6`\x05\x0b,\x8d+ma\xcb\xc3\x1f\xf3=\x99\xe1\xf3\x85\xde\xea\x88r=O[}\xe2\xfb\xbf\xfc\xfe\xf6#\xa7\x0e>\xe3$\xe2\xb1#{\xcf\xa9=\xd9\xdb\xc9\xee\xb6\xf9\xeb\xdf9\xb5\xd7\xd9\x80\xa8\x82\xfd~\xbb\xb3\x81\x84\xbdv8_?\xd5\x90\xb3\xf66\xba\xd1\xd6\xb6jc[[\xdbo\x10U\xb0[\xb7n\x9d\"\x0av\xc2\xb9\xa3\xed\xc8f'6\xfd\xe8H\xb63g\xef;\xf3\xb7`\x83O\xe7\xaf:xb\xb33T\xc1\x14g\xb7\x8e\x1cY\xb1j~\xce\x1b\xdb\xbf\x7f\x95\xbeq,R\xff\x11\xb8o1Q\xc1:I\x08zd\x0a\x86/;2\x8cZL\x06\x13|5\xe9\xd8\xa4.\xa4\xbbS\xad\xb3\xf9\xd0u\xea\xdb\xa5.K\xbb\xd66a\x0a\xbeN\x97&\xe1T\xc6T\xbcWH\x0d\xb9\xb2\xbdV\x0f\xfd\xab\xca\xc8o\xf0\xa2\x88f\xc2\x81\x14\xf7zj\xe8\xd7\x0f}\xeb[\x0f\xfd\xdf\xa1\x7f\x94\xe2`\xac\xb7\x84i\xb8\x07\xd1?u&\xeev%\x11\xed\xda5\x05\xeb\xda\x01\xda\x83:`\xdd\x8f\xdfJ\x99\x83Eq\xa0\x9a,\xda\x84\x15l[\x82wxytG\x91Q\xad\xa7\xd7zQ4l\xc8!\xda\xd5\xf04\xeey\x9d\xa2\x9d)\xba\xbd\xb5b3\xee\x1c\xdd>B\x82\xf3X\xc1\x1a\xb2O\x10\xdb\x13\xf4v\xe3y\xf1\xe6$3\x8a\x14\xc1\x0av\x8bd\xb8-\xbe\x93\xfd4\xee\x7fm\xcf\xc1\xa9\x8d\xab\x88\xaf\xb5!\x0a\xa6u\xe6\xdcx\x03\xdd\x96n\x05t[G|;\x17\xb8\xcf0O\xc1\xf8\x8aNA\x10\xba+\x05i\x91\xc8\xf0\x0a\xe6K\xe4\x11\x9fH{\x09\xc1]s\xa6N\x96\x86T\xa9:1\xdevkiKKK)\x8d\x0f1\xb6\x09D\xfeHP\x88\xb7\xba\xc9\xdf\x9bB\xae\xec\xc5S\x07\x061)\xb9\x06~/Ze\x86\x8f\"\x1f\xfa\xfb\xa1??\xf5\xe7\xa1\xa7\x86\xfe\xfc\xb0\xa4`\xac\xb7\x04:<s[\xaf\xa1\xee\xe4\xa9\xf9\xee3\x02\xe9\xc4\xe5N\xa3\xf9\xa7a\x83\xfd\xd63\x8a\xbfy\xc5\x9b\xac\xe2\x04\x13myt\x15,\xaa\xf5\xac\x93\x15\xecj\xce\x8a\xd7\x0f\xfe\xea6\x19:\xeeXK\xf7\xacz\x85\xc8\xd8\xafdK\xac`?qR\x01C\xdbW\xdc\xfe\x02\x93\xb3\x83\xfc\xc1(\xd8;\xe7\xcf\x9fo\xa0q\xb0\x1b\x0d\x9bW\xccwR?\xd9\xc4\x8a\x04\xbfn\x88\xd3,\xf6\x84(\x98\xd6Y\xf6U\xa4\xd0m\x1d\xf1$\x13\xe0>\xc3<\x05\xbb\xe8\x96\x11WY\x0b\xaf`\x83Iu\xa8.\x89\x88]Kr\xca\x86:_\x86\xa4`\xd3\x87\x9b2\xf1!\xd6\x96\xc6\xd3\xc9\x95}R\x1c.\x85F\xb8S%}Zh\xe4\xd7\xe7\x15\xf1\xb1;%\x05{\xe8\xbf\x87\xfech\xe8\xd7C\xbf\x93\xfe\xd4x\x13#\xf9>\xebi\xb2,\xf9\xe2i\xd6$2\xbfi\xe6<\x9a\x7f\x0e>P\xa9U\x8d\xf2\xccK\x9e<M\xee^\xb2\xe5\x09\x1f\xc9\x8fF=\xd58\xd9\x8d\x83[V9\x9fy\x07K\xd8\xc6\xcdt\xc7\xe6\xf5d\x16\xd8-\xc5ts\xce\xfcU[hpl\xad\xd4\xdb\xa2vz\x91\xfc\xf39+\xf6\x9ch\xdb(*\x18\xb9\x01@\x14\xec\xbc\xb3\x0d\xa1\xe1\x91|\xad\xb3\xf5H\xa5\xc5z\x0c\x01\x80\x1e\xe6)\x98\x10$\xb4{\x82A\xb1\x13\x16^\xc1P\xfeB\xb40\x9f$\xa6\xcd$\x83\x9e\x85\x92\x82-\x1cn\xc9\\\xd9\xac\xadre_\xb3\xd2\xf8yh\x84{\xe9\xd4\xd3\x94\xa0\x91_]d\x05\xfb\x0f\xb1=\xfe]V0\xd6[\xc2:bYa\xe5\xd1I\xd2\x1b\xe3\xab\x12q\x01r\xa7\xd2\xfcSqW\xa8\xc9\xaa\xce\xf6\x9a\x97\xd4~q2\x9d\xfe\xa4-\x0fQ\xb0\x90\x15\x81\xa3\\O^\xbeez~\x0f\x16\xa7\x1bG\xb2\x1bp\x1fL\x0c\xe7\xaf\xd8A\xfa`\xe7\x15\xd3\xcd9\x1f}:\x9f\x04\xc4p\xb7\xe9<\x85\x8e\xf6\xa8\x82\x1d\xbc\xaaQ\xb0U\xeb\x89\xf0m\xd1*\xd8\x1fi4\x0d\xed\x18\xd6\x07\x0bu&S\x1c?\xd2\xdb\xa4\xc0\xfd\x86y\x0a&2\xd28\x18jI\x08$\xd0K0\x85\\tB\xaa\xa4`\xe1\xfb&\xac\xadre\xa3\xe9)\xd7\x10\xeaz,\xe4\xca>\x20\xc6Z6\xd1\x09\xe0z~u\x91\x15\xec\xcd\xa1\xa1?\xffyh\xe8\xdfd\x05c\xbd%\xa4\x900\xd7\xb4\x0c|xZ4\x94\x91O\xc2Nd`TE\x86\x8c|r\x06\x19W\xe6\x13\xa1#\xb3)\xf6\xc7\x93\x12i\xca\x93\x813\x07\xa5`P\xf76q\xb8\x17\xedz.\x9e*~\x95\xec\xa5\xfa\x836\xd2\xa1#\x89I\x1d!;n\xe4l$j\xf6\xfa\x1bH\x9cMq*\x9b(\x9ah\x80\xf6\xd0\xe9\x15\x1b7\"\xf49\xd9\xc1(\xd8\x8a-\x88D\xbc\xb4\x0a\x86\xd6\xaf\xc0*\xf5\x9b\xec\x10\x05\xd38c\x15L\x986\x07\x01\x80.\xe6*\x98\x10h\xf7\x04H\x00\xbb?\x10\xf0\xf8\x02\xe1~\x94'$\xcfN\xa6WX\xb1u\xf1\xaem\xa9x(\xd62\xd8B\xef\xd1]\xd4\x1a\xb2s\xd5U\xdb\x80/>\xb7\x05\x9d\xce\x8d\xf7\x05P{bJ\xf1\xa6)q\x8fz:\xc5\xb9\xea\xa5>\x1f\xe9\xddl\xb0.\xae\xf6\xe6Z+\x91\xbe_}d\x05\xfb\xd7\xa1\xa1\xff\xf3\xefCCO\xc9\x0a\xa6z#\xf7\"\xe7\xb44\xcd\x9cr\x91\x94=\xb1\xd8[\x97K\x87wK\xe36x7\xc4\x89\xf7\"\x1f\x9b\xe6\xde\x9fo\xad\x20s\xf2s[\x06\xf89\xc9\xbe\xa0\xc6\x03V\xa4\xd2\xba\xd9\x89b\x1fl\x9e\x95^\xcfQ\xafgW\x9c8\xf5}\xafs\xfe\xde\x13'v\xd0\x91\xdev\xe7\x9e\x13{\x9c\xe2\xbd\xc8\xecU\x0d\xa7^w\x1e$s\xf2_\xf9\xf9\xed\x1b\x9bs\xda>\xc7r\xf3\xfd\xedG\xb0-\x95\x9e\xbd\xd9\x0d'6\xce\xbf\xaa\x99\x93\xbf\xd7\xb9\xa5a\xefZ<&\xfd\xf9\xd5\xb6l\x9c\xed\x97\xafd\xb7]E\x1f\xcd\xcf\xd9\xbb\xe7ig\xf6\xc1\x8f\xd0U2'\xbf\xa1\xad\x8dD\xbd\x14g_\xfc\x82\xde\xd8\x94\x7flT\xcatR\x01@\x83\xb9\x0a\x16\x20a0\xd2\x179)F\xc4\xc2\x8d\x15J\x13\xc4\x0bL(}2!i\xb1gj|\xc6\x998\x1a\xd0\x09\xf9~V\x7f/\xe8fl\xc9$\xab\xf8\xf6D\xbc\xc5\xfd\x9f\xaeyS\xa6\xae\xf3<\x8a\x93\xb9RP\x88vE\x0ed$M\xc9\xd8\x8f\x90\xbe_}d\x05\xfb\xfb\xff\xfa\xef\xa7\x9e\xfa\xef\xdf=\xac(\x98\xe2\x0d\x8f\xf1\x8a\x17ON^J\xa2}\x95\x19\xc5)\xf1\xc9\x194>%\xd0\xf9`b\xb7\xa7kq\xca\xe4\xe9u\xe4w\x91Vk\xdc\xc9*\xbc\xdd\xa4\xf1\x80\x06\xf2\xa7$fHq*O\x12\x8d\xd0G\xbf\x9e\x9b\x1e\xa3\xd1\xa6\x83\x1b\xf7\xae\xc8\xce\xd9HCU\xb7\x1b\xd6*\xf3\xc1~\xb3%g\xfe\xfa\x13\xf4w\x91N\xe7/\x8f\xe0\xcdO\xf0\xdeS\x1b\x9fyz#\xed\xb4\xa1[\xaf?\x9d\xbd\xf1\xbc\xf6w\x91\xb7\x1bVe\xe7l?\xb8*{#\xf9\x01d\xf6\xaf\xe6\xe3-\xee\xdc}\xba\xf9\xe9\x15{\x0ef\xe3\xe4\x0e)\xf8\xb5\x051\xce>b\x02b\x08\x1dM\\\x87\x00@\x1fs\x15,\xf6yH\x9fH\xd9&&\xeb\xe2'\xe2\xa4\x85\xaa\xf8\\\xcd\x8ce\x00`\x00\x05\x1b\x1d\xf7\x94\x82\xa1\xd2\x94\x09\xf8t\x9ddx4\x05`\x0c(\xd8\xe8\x10\x05\x8bi\x91\x98V0\x00\x885@\xc1F\x07(\x18\x00\x98\x09(\xd8\xe8\x18>\x80\xfc\xea\xc3\xa0`\x000^\x80\x82\x8d\x8ea+\xde>\xfc7\xff\xe3aX\xf1\x16\x00\xc6\x09P\xb0\xd1\xf1o\x0f\x85\xf0\xb0\x05K\xd8\x9b\x91\xb2\x01\x00\x10\x15@\xc1FIh'\xec\xab\x16\xcb\xdf\xfcO\xf8\x0d\x0c\x00\x8c\x0f\xa0`\xa3\xe4\x8f!\x12\xf6UK\xee_O\xe9\x04\x09\x03\x80q\x01\x14l\xd4\xbc\xa9\xd1\xb0\xafZ\xeaNZ\x92;\xe1\x99\xa2\x000\x1e\x80\x82E\x19\xdeR=t\xcc2\xb5\x0b$\x0c\x00\xc6\x01P\xb0(C\x14l\xe8\x80e\xdaE\xf6Y\xd4\x00\x00\x8c\x0d\xa0`Q\x86\xb7T\xfdeh\xa8\xce2\x1d$\x0c\x00\xc6\x1eP\xb0(\xc3[*\xb1\x82\x0dUZ2\xbaA\xc2\x00`\xac1Y\xc1\xda\xdd\xe2C\xe1y_u\x85\xf7\xcc\xbd\xf0\x08\x02\xde\xe2\xf9\x92H\xd8.\xcbl\x900\x00\x18k\xccU0\xbe\xe2\x18}\x80\x1f\xef\xf1\xb6w\x9f\xf4\xd4\xdd\x03\x12&+\xd8\xd06\xcbB\x900\x00\x18c\xccU0oS7U\xb0\xa6j\xf2\xa4\xbfkQ[\xb6\xdbDxK\xc5\x97\xa2\x84m\xb2,\x05\x09\x03\x80\xb1\xc5T\x05k\xf7\xf0\xe2s\xf2\xeb\xc4'\xeb\xf9\xbca\xcdc\x02\xde\xe2\xfe\x93\xa8`C\xeb,\xf9\x01\x900\x00\x18K\xccT0\xbe\xa2KZ\xe9#\x20>\x01\xfe\xd8D|D\xe8\x1d\xc2[v\xfd\xe9\xcb/\xc5\xd6\xc9\xb5\xac\x03\x09\x03\x80\xb1\xc4L\x05\xf36\xb1k\x15!$Ti\x96b\x8cM\xb0\x82\xfd?\xb9\x136\xb4\xd0\xb2!x\x0f\xc4\xf6\x00`\xc2b\xa2\x82uzx\xad\x82\x1d\xf3\\3\xb6\x8e\x15xK\xa9@:a\x7f9v\xf4\xe8Q\xdfc\x96b\x900\x00\x18;\xccS0\xbe\xa2S\x10\x84\xeeJA\x90v\xb4\xb8\xb5+\xba\xc6&X\xc1\x06i',\xc5\"R\xca\x0b\x08\x00\x80\xb1\xc1<\x05\xbb\xe8\x96!\xeb\x90\xa1A\x9f\xbb3R\x96X\x00+X?\xfaS\xc5\x97CM\x969\x9b\xb6m+u7\x05A\xc1\x00`\xac0O\xc1\x84\x20\xa1\xdd\x13\xa4W8\xef\xad\x0cD\xca\x11\x13\xf0\x96m\xfc`\xb1e\xdb_\x86\xe2\xa7\xec\xef\xbcx\xb1;8`\xb9\xe7\x88\xd4\x08\x000^\x98\xa7`\"R\x1c\xecZU\x1d\x8fE\xed\x1ex\xa0\x03Q\xb0u\x96I\x7f\xfb\xe5P\x95eW`\x00\x0f\x94\x91\xe5\xe6=\x06(\x180a0W\xc1\x84@\xbb'p\x0d\xa1\xee\x8a\xaa\xee@\x20po\xcc\xa6\xd8\x96k\x99\xb6\xc1\xb2\xeb/\x7f\xf9\xdb'\xdb\xe9\\\x0aP0\x00\x18+\xccU\xb0\x00\x09\x83U!\xb4_\x8a\x88\xdd\x133Z\x13-\xa9\x9e\x96i\xd6/\x87\xb6Y\xaa\xe9\x08\x19\x14\x0c\x00\xc6\x0as\x15\xec\x1e\x84\xb7X\xa6W\xb6_k\xb2x\xfe\xf2\xa5e\xe1E2\x95\x02\x14\x0c\x00\xc6\x0aP\xb0(\xc3[\xe6Uw\xf2\x02?\xcd\xfa'\xde\x92\xd1I\x86\x91a\x14L\xef\xad\x08\x82\x17E=\x8c\xecJ\xdf\x02\x14\x0c\x980\x80\x82E\x19~\xd3Q,`h\xe0\xc0\x03\x93,_)\xee\xba\xd7\x14\x8c\xee\x00\x05\x03&\x0c\xa0`Qf\xe0Z\xb0_\x9c\x1e2}v\xe9\xb1k\x11\xe2`\xa0`\x000*@\xc1\xa2\x8d\xf4\x1b\x03\x81\xbf\xd8\xdeu\x8d\xfe\xa2\xc8\"+\x01I\xbc\xf6\xb8e\xd2w?\xc1\x7f\xbc\xfc\xc8_?\xf2\x02\xd9\xff\xe3\xaf[\x1e\xf9\xe1\x1fH\xe2q\xcb\x83/S\xab\xf7\xbf3\xe9\x81\xef`#\xcb\xb3\x0fZ\x18\x03%\xcbM\xc6\x91b\xfb\xc2#\x96\xaf\xff\xf4\xe5G,O\xfc\x8cu*\xf1\xb3Ix\xf3]\xfc\x7f\xd2\x87\xea\x9b8\xcb_?\x82\x8fH|X\x1e\x7f\x0d'\xc8\x8e\x17nj\xcar\xf3\xa7_yA\xc9Bg\x83\x81\x82\x01\x13\x07P\xb0\xb1B\x18\x18\x18\x10\xc5L\xa3`_\xdbw\xf9\xc3\xefb)y\xfb\xc1}\x97\xf7\x11}\xfa\xe9\xdf\xfd\xf4\xf2\xfb\xdf\xfc!\xde\xf3\x95\xb7/\xbf\xffO\xd4\xea\xef\xf6]\xfe\xed?\x7f\x0f'\x9f\xf8\x905\x90\xb3P_\xb2#\xd5\xf6\xfd\xcb\xff\xf2\x00\xd9|\x93\xc9\xa3\xf4\xa2\xbe\xf6\xde\xcd\x9fY>\xbc\xf9\xde\xd7\x987-\xd4\xe1\xdb7o>\xfe\xec'\x7f\xf8\xe9\xb7\xb1N=\xb8\xef\xb7\xfb\x1e\xfc\xb1\xa6,x\x1f\x9b\x85\x1e;B\xd5\x01`\xdc\x00\x05\x1b{4\x0a\xf6\x1e~\xfdO\xdc!z\xe2\xc7\xa4\xa7\x83\xf7\xfc\x03\xd9\xf3\xe1#7o~\xe3\xb5\x9b\xb2\x15\xe1\xb7\x0fJ\xd6\x8a\x81\x92\x85Z\xc9\x8e\x14\xdb\xf7o\xde\xfc\x84n\x1e`\xf2(\x0a\xf6\xcf\xcf\xde|\xd6\xf2\xf2\xcd\x1f\xfe3\xf3\xa6\x85:|\xe2\xe6\xcd\x07>\x14\x8d\xbeAw|\x83-\xcb\x0b_\x7f\x9f-\x03(\x180\xb1\x00\x05\x1b{4\x0a&'&\x91\x91\xe4'$!\xfeP\x07\xef\xfcDV\x8d\x9b\x1f~{\x92\xb8\x8b\x8c\x03\x15\x03%\x8bd\x15b\xab\xece\x9d*\xbc\xfd\xcd\x9bO|\xef\xdb7\xbf\xf1v\xe8\x11?\xc1*\xf8/\x93\xbe\xf72\x11\xb1I\xf2\x0e\xa5,?\xfc\xc6oo\xb2e\x00\x05\x03&\x16\xa0`cOx\x05\xb3H\xfd\x1fq\x8f\xf8\xe6\x13\xff\xf2\xe1\x1f\xfe\xa0\xe8\x85\xc6`\x98\x82im\xe5\xc3\xc8y\x14.O\xfa\xf0\x81\x0f'}h\xb9\xcc\xbc\xa9(\xd8\xcd\xf7\x9e\xfd\xce\xa4g\x19\x05S\xca\xb2o\xd2\xdb\xf4U\xc9B7\x91j\x0c\x00\xe3\x05(\xd8\xd8C\xf4\xea?\x89L\xb0\x0a\xa6\x0c\x09\xbf\xf1\x82$\x0eO\xbc\xa6\x88\xc4\x03Xg\xf6\xc9\xd6\xaa\x81f\x14\xa9k+o\x94<*\xff\xf0\xbd\x7f\xa0\xff\x997\x95Q$\xe1g\x0f0\xa3H\xb5,\xef}\xe55M\x16\xba\x89Tc\x00\x18/@\xc1\xc6\x1e|\xd5\x7f\xf7\xbb\x1f^\xde\xf75V\xc1\x94\xb0\xfc\xbeI/\x7fry\xdf7q\xe2A%z\xfe\xf8\xb3\x97\xdfS\xac\x15\x03m$_\xdejl\xe5\x8d\x92G\xb2\xc3<ky\x96\xfeg\xdeT\"\xf9\xdf|\xfb\xf2\xe5\x17\x1e\xa7Q\xfb\xcb4\x92\xcf\x94\xe5\xfd\x07_`\xb2<\xf26(\x180\x91\x00\x05\x1b{\xb0\x0c|\xf2O\x93,_\x7f\x8dU\xb0\x9b/?(M\x8d\xd8\xf7\xc4\x03\x96'\xf6\xe1\xc4k_\x97g0\xbc\xf7\xb8\xe5\xc1\x17\x14k\xc5@\xc9\xc2*\x98\xc6V\xd9(y\x14\x05{\xcf\xf2\xfe\xcd\xf7i\xfc_y\x93L\xc0\xa0\xb3)\xde~\xc22\xe9\xdbd\x12\x06\xd9A\xbb[jYn\xfe\xec\x91g\xd5,\xaf=\x02\xb3)\x80\x89\x04(\xd8\xd8\xa3\x88\xc8\xbd\x02(\x180a\x88-\x05s\xb9\xf4\x92\x13\x1dP0\x00\x18+LV\xb0v\xe9\x81:\x81\x03U\x15\xd5\xc7\xf8\x08\xd6\x1fs;u\x92\x84fN\xc2\x11f]\x8d\xe3\x8e\xc3\xc6oF\x07\xf6\x10\xbd6n\x11M\x80\x82iy\x91\xe3\x1a\x99?\xc7\xe1c\x91\x089\xf0]0z\x0f\x91q\xe1\xd38\xad'\xbc\xcd\xf8\xb5\xd9\x84\xc7\\\x05\xe3+\x8e\xd1g\xb4\x06\xdd\xde\xce\xee\xce\xba\xaa\x08\x12Vd\xbf\xa2\x93$\xf4\x7f`s\xf91;\xb9\xeb\xc3\xb3\xc94\xa7\x8d\xf9\xd9\xa79D\x87\xcbN_A\xc1\xb4\\\xf1\xdb\xca\x99?\xc7\xe1c\x91\x089\xf0\x1d\xd0zV|\xbd{\x0f\x0c\xb23\x03.\xf9\xfd\xb5\xdc\x07aM\xc6\xb1\xcd&<\xe6*\x98\xb7\xa9\x9b*X\x17]\xa6\x88\x8f\xb0\xd6G\x0fW\xa2\x93\x94\xb0\xd33\xab\x91\xfb\x0c\x193\x0eKnh\x0eQ\x0e\x0a\xa6\x8f]#\x03\xe3\xf0\xb1\xc8\xd8\xefR\x7f~P(\xa7\xee\xd6\x03\x83\xea\xcc\x88\x8eH\x0a6\x9em6\xc11U\xc1\xda=\xbc\xf4\x9c|\xda\xf9\x0a\xba\xc3/\xf6\xe1R\xfb].m\x17\x0c\xc9gVO\xa8\xb0\x99\x8a\xac`\xf7\x1c\x11\xea\x1d\x91(\xc8\xc0\xddq\xb7\x07^\x16M\x05[\x16\x05\x05\x03d\xccT0\xbe\xa2\x8bY\xf1\xb6\xbf\xbb\xda\x1b\xf6\x9b\xa5\xd7\xb6U')\xa3\x9cY/q\xb6\xfa\x92\x05i\xab/\x91\x1e\x19\xc7\x95\xa3r\x8e\x04/\xfa\xd28)\x86q\xce\xc6qe=Es\xedk\xc8\xe1j\x97\xa5-\xa9\xd5fc\xc0{k\\Y\xe9\x05=F\xd9\xf4\x0f\x81\x87\x1bE\x99\xe9\x85\xd2(\xb2qe\xda\x82\x12\xba\x88\x89\x7fu\x96\xcd\xf1\xa3,\xcd!\x10_\x98i\xcb*8\x87\x8c\xca\xc0x\x18u\xdd\x04\x87\xed\xd5\xac\xcc\xd6\xad\xb3\xf2x\x03\xbf\x87\xa5\x80\xe22M\x01\xca\xe8\x01\xc81\xcbpS\x97\xa8\x85\xd4\xf1\xc0\xa2\xd6M\x83}\xab+\x936*St\xd6\x83\x9a\x8d\xa9\x10\x89u\xbe*\xd5\xd8\x00\xa5}_\"FJ\x20\xb2\xa7\xd0\x81w\x93\xef<\xb6\xe8\x0al!\xf5>!M\x93\xe8U^\xc3gE\x8e\xac\x92\x12\x07\x1d\xe6\xc9\x1f\x80\x913\xd6\x80\xb5\x0d\xaf`\xecy\xa6{F\xddW\x98\xa9`\xde&u\xcd\xee\xa0\xdb\xed\xf6\x84\x0f\x83\xb9l\x97t\x922\xf6\xb2\x81\x81B\xd2\x03\xfb\xb8\xd1\xc69\xcakf\xe0/\xba~\xff\xac\xb2\xeb\xe8z\xd9,?>\xcd\xce\xfa\xfd\xa2\xca\x0d46f-\x98\x91UR\xc4\xf5\x92\xce\\Ys\x99\xbdH\x93\x8d\x81\xec\xcd\xda]\x9e\x95v\xc1\x20\x9b\xfe!P\xcf\xac\x05\xf5\x87WsT\xc1\\\xdc\xd6\xe6\x1a\xc72,)g\xb9\xa2\xc6\xe3\xf5\x0eN+\xd4\xcd\x9c\xab\xb5\xb1\x80\xeb0*\x03\xe3a\xf4uk\x9d\xc5\x95\xe4q\x8e\xdd\x8e\x1a\x03\xbf\xfc\x07\xfe\x05y~\xbf_\x1bJ\xbe\xfe\xfcJ?\x8f\xdf[\xf9\xfcu\xdc\xd4\xdc\xa2\xc6\xc3\x8eB\xa3\x92\xb1\xa8u\xd3`\xe7\x9656.\xc1\x8d\xca\x14\x9d\xf5\xa0fc*\xd4\xffA\xd6\x8bW\xe4\x1a\xeb\xa2\xb6\xaf\x18\xaf\x92\x02\x91\xadi\xcb\xde:^\xce\xd5\x20M\xd1U\x98B\xea~B\x9a&\xd1\xab<\xcb\xe0\xa2\xcc\xda2{Z\xfd\xea\x1a\xe6\x030r\xc6\x18hl#\xf4\xc1\xd4\xf3L\xff\x8c\xba\xaf0Q\xc1:\x89b)}\xb0`\xa0\xbd:l$\xbf\xd7\xf6\xa2NR\xc1N\xbe\xd8\x0a\xc4d:\xd6\xb7\"\x07I\xba\xc8\xa9\xf6\xbc<\xf1B\xe9\xa7-\xe3H\x1f\x04\xff;\xce\x1dGd\xdb\xac\xcd\xc6\xfa\x9d\x8b\xcd\xfa\xb2\x96\x1bf\xd3=\xc4\xca\x05\xf8*\x13\x96\x90\x0b\xa8\x99{\x17\x91s\x12\x7fi\xd6:h\xcfh\x96\xf6|\xebo$W\xe4\x92]M\xa7\x00\x00\x00\x11\xe6IDAT\xe7hv\xbd20\x1eF_\xb7\xcc\"\xec\xef0\x9d\x8cb\xe0Ww\x94\xf3\xae\xd8\x9bYDm\x1d\x9f\xe1\xa3\x13[#\x0f\x0al\xdd\x18\xec\x8b\x06\xb08-X.\xfd%\x15]\xf5\xa0\xc9\xa6T\x08\x95\x93\x8eK\x91\xf14\x1a\xb6}\xa9S:\x8c\x1f\xc8Z\x83\x8f6\xd8\xd8\x87\xd8\xa230G\xd3\xff\x844\xa3H\xdd\xca\xab4r\xb83W\xcb\x11qf?\x00\x16\xc5\x19c\xa0\xb5\x8d<\x8a\x94\xda\xcc\xa8\xbc\xf7\x11\xe6)\x18_\xd1)\x08Bw\xa5\xa0\xb4\xfe@uS\x18\xfb\x97l\xbd:I\x05\xbb\xab\xa3c\x89\xa4`\xe4\x1c\x17cP\xad\xf6~\xd4\x9f\xe6\x97m\x94\xab\xdc.9pI\x17\xa6K\x9b\x8d\xc1Ngm\xd4r}F\xd9\xf4\x0e\xd1\xc7\xd5\x93\x972\xe2\xacp\xee\x20\xae\xa7\x90\x85m/e\xce}\xa9\xfe\x9c\x10:\xe1\xe3\xb3\xda5sgqKhv\xbd20\x1eF_\xb7\xccF|}\xf0h\xe7\xf3\x86~u\x15\xec\x1c7\xd0\xffn\x9f`?\xa7\xb15\xf2\xa0\xc2\xd4\x8d\xc1\xfe*\xd9\x8a\x8d\xca(\x98\xea\x81\xcd\xa6T\x08]\xc2\xc200\xa3\x15\x19\xc1\xb6\xaf\xaa`\xcd\x9c:\x8a\x8dTH\x83O\x88U0\xdd\xca\xab\xecLG\xe4F\xd3!\xa4\xfd\x00X\x14g\x8c\x81\xd6v\xc4\x0afT\xde\xfb\x08\xf3\x14\xec\xa2[&\x80\xa4G\x01\x9eq\x1b\x7f\x97\\\xb1\xbbt\x92*\xe4#mnU\x92\xd2i*8\x0e\xa1C\x0e\xd9\xabz\x95\xcbQ\x9e\x95\xa2\xe6\x15,\xd7fc\x10\xf3\xf8\xb9\xb3F\xd9\xf4\x0eq\x96\xa3\xc2B\x9d-\x91\x02\x1f\xe4+\xbe\xaf\xbep\x11\x1e\xc2!\x0d\x1d\x8e\xac\x9d\x87\xfcyK\x94\xec\xa1e`=\x8c\xban\x99\xc7Q\x87\x0dQ\x053\xf0\xab\xab`\x03\xb6s5\\Y\x0f7\xa0\xb15\xf2\xa0\xc0\xd6\x8d\x81mTF\xc1\x14\x0f\x9alJ\x85\x10ZS\x82\x8e\xa7\x87\xb9\\\x99\xf6U\x9d\xd5\xd0B\x8bD,\xa4\xee'4,\x92?\xac\xf2*5\xe4n\xf8q\xda\x07c?\x00\x16\xc5\x19c\xa0\xb5\x1d\xb1\x82\x19\x95\xf7>\xc2<\x05\x13\x82\x84vO0(\x08\x95>\xba\xebL\x85\xb1\x82m\xe5zt\x92*\xd2Gz\xee3\xedi\xba\xf59\xf4\x9c\x12\xf5W\xafr\xe5[p.}\x99\xebB\x06g7\xb2\xd3\xdc\xf5\x1co\x94M\xef\x10\x9fq\xb5\xd4\x8c8+\x9a{\x96\x82\x0bv\x96\xf4\xe7\xfa\x1a\xed\xb5\x88e\xd1r2\x88)4V0\xc6\xc3\xe8\xebF\x14\xcc.*\x98\x91_\xea\xa1\xbe\x17iX\xd4\x98\xb7r\xd1!\xdaSPm\x8d<\xa8\xb9\x98\xba1\xd8\xe9-c\xb1Q\xf5\x14L\x93\x8d\x11\xd4\xc3\x8e\xc1p\xbf\xc5`\xdb\x97:\xa3\x9d\xe0V\xb6\x0f\x16\xa1\x90\xfa\x9f\x10\xdb$\xfa\x95W\xe9\xe5\xd6\xf4\x9e[\xb0\x92\x9c\xc8\x9a\xb3\x84Aq\xc6\x18hmG\xac`F\xe5\xbd\x8f0O\xc1D\xc48X\xd5\x01\xb2\x0d7\x8a\x8c\xd4\x05\x93?\xd2\xcc\x9d\xda\xd3\xb4\xc3~\xc5\xae\xc4\x91\x87_\xe5\xcd4\x8a\xd1(\xc6\x8a\xf4\x15\xcc\x81Oo~n\x9ea6\xddC,\xcf\xea\xc3c\x09;qv\\\x0c\x94\x94\xe1\xef\xc9r\xee8I\xe6i\xa3xY\xc4\xab\xb0\xc4X\xc1\x18\x0f\xa3\xaf\x1b\xa3`F~\xf3pe\xaf\x84\xde\xf0{\xfe%\xdbq\xeeE\xea[\xb55\xf2\xa0\xc0\xd6\x8d\xc1\x9eE\"S\x8b\xf2\xa4\xbf\x86)\x98&\x1b\xa3`\x83\x8e\xc3\xe9\xf2\x20\xb2\xb7|\xd8-N\xb6}\xd3\xf0\x89\x20,'\xce\xfa3\xf3\x06\xf1\xcbV\"\xf6\x91\x0a\xa9\xff\x09\xb1M\xa2_y\x95\xb3\x9c\x83\xe3\xf2\xe8\\\x1f\xcdY\xa2\xe7\x8c1\xd0\xda2\x0a\xa6SM\x82\xd4fF\xe5\xbd\x8f0W\xc1\x84@\xbb'p\x8d\xcchm\xea\xec\xee\x0c\x17\xc9/Q\xfb]%:]0yN\xbe\x7fV\xc9\x15\xbf\xcd\xd5\x81\xce\xbal~r\x1a\x09\x99\xab3i\xc7n\xf0\x03\xbf\xdf\x8emx$t\xd0\xbbA\xbd4c\x11\xb7\xb3y'WDg[3\xd9T\xc8m\xb3\xfa\x05\xe9=\x06\xd9\xf4\x0f\x81.\xa4e\x95\x97\xa5s\xb6w\xf1hb'\xf7|\xe3!\x179C\xcb\xb9\xb4\xb2f\x9c\xd4Fr\xca\xb9\xc2\xda\xdd\xcb8\xc7[\x1dFeP<\x8c\xben\x17\xd2k\xfa\x1bm\xe7\xfa\x9f\xcf\xbbd\xe8\xb7\xdc^s(/-\xe4n\xef\xee\xb4Y\xc2\x02\xfb\xee\x90\x862\xf0\xa0\xa0\xd6M\xe3\xcc\xce\xad\xe9h]\x89\x1b\x95):\xebA\xcd\xa6\xa9\x10>\xde\xdct\xb9\x9b^\xc0\xa5\xf5!-l\xfb\xaet\xec\xde\xbd\\\xfc\x00Z\xed\x8bj\x9b\xb7r\xf5#(\xa4\xfe'\xa46\x89~\xe5Y\xce\xd9[\x9b\xfdW\xc4B\xb2g\x89\x8e3\x8d\x81\x9a\xa4s\xf2k\xe4:\xebT\x939\xcf\x8c\xca{\x1fa\xae\x82\x05H\x18\xac\x8a$\x9a\xaa+\xeaZ\xd4xE(\xd7\xd3\x8at\x92*\xca\xef\"\xb9\x9a\x17\xf1\xc6v\x81L\x99\xa1_L5\xf6\x1ajqVz\xbf\x1e\x9d\x13\x13b\xe0A\xa8Y\x92\xb6\xa4V\xa0\xbfxc\xb3)\xd8K\\\xb32\x8b\xae\x20\x83l\xfa\x87\xc0\xfd\xaf\x82\xf4\xb9%\xef\xda\xa8\xb3\xe3y\x8e\xf4\x95\xe4\xcb\xb5qey\x96-3/\xe4t\x13j\x16\xd8\x1d\x85\xf5\x0blyFeP<\x8c\xben\xb8\x83\xd08\x83Kk\x14\xc37\xfa~\x07\xb6\xa6\xdb\xf3B'@\x9c\x9dU\x86U\xac#\xd4\xd6\xa0d2j\xdd4\xce\x16\x95\x17\xce\xa0\x8d\xca\x14\x9d\xf5\xa0f\xd3T\x88\x84\xc8\x95\xfew}\xda\xb0I\x1al\xfb\xf6\xe4\xd9g\xac~U,NOa\xd6\x8c\xe5\x87FRH\xfdOHm\x12\xfd\xca\xb3|`#\xe5\xb5\xad<\x87B\xce\x92\xe1\xce4\x06j\xd2%5\x89\xd8\xf5\xd4\xa9&s\x9e\x19\x95\xf7>\xc2\\\x05\x1b1\xafr\x1f\xeb$\xc7\x03et\x06L\x00\xfa\xed\xea\xc5z\x88\x0b\xed\x9cL\x00\xae\xa7\xbdx]\x10\xfa\xce\x16\xa6G\xabp\x13\xb2\x9a\x13\x88\x18Q0\xf3\x1e\xab\x03\x0a6\x91hT\xee\xbd\x0a\xef\xce\x1a\xdf\x13ad\x1c\x92F\xb9\x82#4\xfauwL\xd0jN\x20bD\xc1\xcc\x03\x14l\xc2P\xde\x8a\xf2\xca\xe4?\xae8J\x8c\x83\x0e\xe6qV\xba\xf1y\x8e\xd3\x0d\xc0\xdf1\x13\xb4\x9a\x13\x08P\xb0\xb0\x88\x91[`\"\xd0\xcf-{)s\xa2\x8f\xa8\x04W\x9a\xab\xb1\xb5\x11o#Y\x02\xd1\x01\x14,,4r\xdb\x1b\xc9\x0a\x18\x17\xca\xd2\xf2\"<\xf8o\"pxu\xa6-sMt\xc6\x90@d@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]bK\xc1\xcc\xfby$\x00\x00\x13\x11\x93\x15\xac\xdd\xed\xd5I\x1a\xf11\xb7S')3\xd2\x95\xd8k\x8d\x97\xebR\xd6\xe7\x02\x00\x20&0W\xc1\xf8\x8ac\x95\xc3\x93\x86\x14\xa9\xeb\xdc\x16\x0d[\xf2v\xc4+\xb1\xf7\xf9\x97\x1b\xfeZ[Z\x9f\x0b\x00\x80\xd8\xc0\\\x05\xf36uW\x0eO\x1a\xd1\xc3\x95\xe8$U\x86=J\xce\x88\x02\xe3\xe7M\x0c{\xca4\x00\x00\x13\x18S\x15\xac\xdd\xc3\xcb\xebE2IC\\j\xbf\xcb5\xbc\x0bv\x07\x80\x82\x01\xc0=\x82\x99\x0a\xc6Wt\xc9+\xde2ICzm[u\x92\x12\xba\xab\xd77\xe2}\xe5\xca:\xf5\xea\xb2\xeeX\xc1\xb6\xe2\x9dv\xb2\xca\x8c\xbar\xfc\x95\xa2\xcc\xf4B\x18E\x02@,a\xa6\x82y\x9b\x945\xbb\x99\xa4!.\xdb%\x9d\xa4\x8c\xde\xea\xf5\xfd\xfeYe\xd7\xe5u\xea\x99e\xdd\xb1\x82])\xe2j\xc8\x83\xbf\xd4\x95\xe3{f-\xa8?\xbc\x9a\x03\x05\x03\x80\x18\xc2D\x05\xeb\xf4\xf0\xb2l1ICzm/\xea$Y\x94U\xbb\x94\xd5\xeb\x91\x8b,\x97\xf0<\x99x\xc1.\xeb\x8e\x15\xac\xc6N\x9f\xe0\xc4\xac\x1c\xbfrA?Ys\x0b\x14\x0c\x00b\x08\xf3\x14\x8c\xaf\xe8\x14\x04\xa1\xbbR\x10\xd8\xa41/\xa9O\x1ad\x92,\x8a\x82\x11\xc5\x12\x03Z\xad\xf6~\xd4\x9fF\x16\xd0f\x97u/(/\xe3\xc4\x99\x17\xea\xca\xf1}t\x89!q\x8dT\x00\x00b\x04\xf3\x14\xec\xa2[&\xc0$\x0d\xcd#.y\xab\xb7r*\x12\x1c\x87\xd0!\xba:\x04\xbb\xac{\x81c\xc6\"q-+u\xe5\xf8\xb3\x1c\xd19\x88\xe4\x03@La\x9e\x82\x09AB\xbb'\x18\x14\x98\xa4\xa1\xf9Vu\x9d\xdb\xad:K\xde\x12t\x14\x0cm}\x0e=G\xa3\xfe\xec\xb2\xee\x05\x8e\x0b\xbd\xb3\xe8R\x8b\xea\xca\xf1\x9fq\xb5\xd4\x0c\x14\x0c\x00b\x08\xf3\x14L\x84\x09~\x85\x8d\x83\x8d\xa0\x0b\xa6\xab`\x1d\xf6+v\xbaT\x07\xbb\xac;\x99M\xd1l#\xbb\x99\x95\xe3\x97g\xf5!\xd4c\x97\x14\xacww\x0c<\x92\x1d\x00\xee{\xccU0!\xd0\xee\x09\\\x0bM\xeaQ\xa2\xf6\xbbJ\xf4\xba`\xfa\xab\xd7c\xb7\x99\xab3C\x96\x80\xef\xf3/w}0\xd8_\x90\xd9z\x9d]9\xfeBZVyY\xba\xb8N=Y\xec\xfdG\xc3\x0f\x02\x00\xc0\x04\xc3\\\x05\x0b\x90\xd8WUhR\x87\xebiE:I\x06\xfd\xd5\xeb15\xf6\x1a\xd1BY\xd6\xbd\x96\xd8\x9d%s\xc5\xc8\xe2\x83\xea\xca\xf1=\x05\xe9sK\xde\xb5\x89\xd9\xea\x1d\xf5:G\x01\x00`ba\xae\x82\x8d\x98W\xb9\x8fu\x92\x00\x00\xdc\xe7\xc4\x88\x82\xc1cu\x00\x00\xd0!F\x14\x0c\x00\x00@\x07P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\xf3\x18\xe8\xef\xef\x1fDh\x10\xbf\x0cD\xb2\x05\x00@\x0fP0\xd38\x16g\xb5Z\x13y>\x11\xbf\xc4\x1d\x8dd\x0d\x00\x80\x0e\xa0`c\x88wf\x10\xa1k3\x0d\xd6\"\xaf\xb6z[Z\xda\x11joi\xf1Z\xab\xf5m\x00\x00\x08\x8b\xc9\x0a\xd6\xee\xa6\x97w\xbf\x87>c\xda\x13\x8d\xc1\xd4~\xabDR\x18oMI\x06\xb2\x12\x9ek\xf9I\x89sF\xbc\xb0\xee6k1}\x89\xdb\xa6\xfbv\xb5\xb5[Nv\xdf\x81\x82\xdde\xd1G\xca\xa9\xef;Ern\x871\xca9a\xfc&\x00\x8c#\xe6*\x18_q\x8c>\x98\x95w\x9f\x09`\x82\x91\xecG\x02\x7f,>\xd7\x87\xd9`\x0d\xe3\xce\x9b8r\xc9`\x98\x9d\xec\xceM\xe4#YI\xec\x8a\xf3\x88\x09\xef\xa3\xa5z\xefGR0\xdf\xe9\xe1\xfb\xd0]\x17}\xa4\xdcj\xcb~\xa5\x0d\xb3\xc7\xf9\xb9\xb1\xd1\x89\xf9G\x8c\xdf\x04\x80q\xc4\\\x05\xf36uK\x0a\xa6\\\xccQ\x20\x81v}*\xc3)\x18\x1aqG\x8a\xe5\x9a\xb5\x14\x09#\x15\xb0\x8b\xf1\x1b\xe4\xe4\xa6\x04\xbd\xeaER\xb0\xe9\x8b\x87\xef#\xdcU\xd1\xef\x80\xec\xbdd{\xd0y#\x8cM\x98\xfe\x19\x00\x8c'\xa6*X\xbb\x87\x0f\x8c\x99\x82u\xad\x8bdw\xc7tY\xef`\x00\x97\x9b\xach\x1d\x9f\x9c\xabc\x10I\xc1R\x0d\x14l\xac\x11\x15\xec7o\x80J\x011\x80\x99\x0a\xc6Wt\xa1\x91)X\xb5\xd5j-F\xc5x[\x8d\xf8\xc5\xc9\xf1)\xf3\xce\xe0\xbdg\x1e\xb5Z7u-\x9d\x9a8gPc-*\x18&\xdf\x1a\xef^7-qvw\x88\x87D\xab5\x8e>\xd0Z\xebaWjb\xea.m6\x86\x81$1\xbc\xb6\x8e\x18\xc4U\xe2>\x96uZ\xa8m\xd7\xc2\xa4\xf8\xe49t\xc9\xb8\x81\xc9J\x17\x0cw\xc2\x12\xfb\xd10\xf4\x14\xec\xe8\xec\x94\xf8\xa49)\xb8w*\x05\xf3R\xb5\x85T\x8b\xae9ppiR\xca\xbauI\x9a\xf1e\xf7d\xc9\xc5dm=n7\xac\x9f\xbf\xb6\x81\xcaS\xdb\xe6\x15\xd9\xcfl^\x11\"U\xa2\x82a^qf\x1f|c\xd5\xfc\xcd\xbfG\xe8\x88\xd3\xe9\xdc\x8b\xf6\xe2\xed\x11tc>}\xc1|\x94\xedt\xee\xf9t\xfb\x8a\xec\xcd_0~\x99l\x000\xd6\x98\xa9`\xde&\xa4(XS\xb5\xbb\xea\xa8\xcee.\xc2\x1f\x9d\xbc)\x88\x82\x9b\xa6\x1c\xe5\xf1\xb5\x9d\xeb\xab\x9e\x17\xd7\x82P\x7fuU\xca\x93\x93S\xd6-\xb5j\xaf\xd1\x84M\xfd\xfd\x8bI\x0f\xac\xb3\xeaQkRq\xe9\xe4\x85Z\x0f\xe8\xa4\xcf'\xaa\x9c\xc6Cn\xc2&\xef\xa6\x84\xa5\x9al,g|U\xd6b\x9f\x0f\xebS\xc0\x17\x8f\xb3\xb7\xe4&\x84\xd8\xfa\x12S\xb75\x15[i\xd4\xeb\xb4\xd5\xa7f=fmA\xc3\xd0Q\xb0\x93\xd6\xa5\xd5M\xee$+\x96\xaac\xbe'3|>_gH!\x95\xa2\xb3\x07\x1e\x98\x96\xbc\xab8!\xb1b6\x1bo\x1b\xf0\x94\x8a\x84\xdc\x1f\xd9\x91\xbd\xe7\xd4\x9e\xec\xed8\xf5\xcb\xefo?r\xea\xe03\xce/4\xef\xa3\xec\x9f\xdc\xba\xb5\xe5\x0d\x9c\xf8\xe8H\xb63g\xef;\xf3\xb7\x20t\xa3m\xfeO>G\x9f\xef}\xba\x0d\x8f-\xcf\xb7\xb5\x89*w\xeb\xc8\x91\x15\xab\xe6\xe7\xbc\xb1\xfd\xfbW\x19\xbfL6\x00\x18kLT\xb0N\x0f\xaf*X\xe5\x99\xee\xce\xea*\xe3\xbb\x87\xb9dH\xb5\x98\x0c\xc6\xf8j2:K\x15\xe5%\xd5:\x1b\xff\x15\x12\x9aJ\x20=\x8fybr\x0a\xbe\xea\x97&i=\x10\x12\xe5~\x9a\xe2\xe1\x80\xf5\x00\"\xdb\xfd\xdal,\xea(\x92\xaaHq\x02\xd2\xd8\xf6\xa7\xcc\xc1\x15\x18\xa8\xa6+.y\xad\x17\xd5\x8c\xba\xa3D\x1d\x05\xdb\x95D\xfb\x82Sh\xa8\x8b\x19Ej\xaa)\x17]=p\x95\x15wIwY\xdb\x91\x86\xe0E\x11m8\xf0\x94\xf3\x94\xbcm\xc8!\xda\xd5\xf0th\x1f\x8c\xdc\x89\xdc,&\x9f\xc6\x1d\xa9\xed9$\xb9\x83h\xde\xf6\x1d\xb2\x8d\xdcO[\xeb\xdcx\x03\xdd\xbe\xa1\xf1\xcbf\x03\x80\xb1\xc5<\x05\xe3+:\x05A\xe8\xae\x14\xf0\xe5*\xb4\x93\xeeW\xbfG\xa7\xa7\"\xe1K\xe4\xf1\x10\x8avk\x82\xbb\xe6L\x9dL\x86W\x98T\xbd\x18yBnKK\xaa\xa4`D\xb1D\xa5a<\x20V\xc1d\x0f\xb9\xd3\xe8\xcb\xb4\\m6\x16}\x05Sl\xf7\x13!\x91\xa9\xd3*\x98\xce*L:\x0a\xd6\x9d<5\xdf}F\x10\x85\x9cU0\xb6\x9a\x8a\x82)\x07\xde0\x05\x0d\x0f\xd2]\x94g\x95h{\xa8;\xd6\xd2\x97U\xaf\x20t5g\xc5\xeb\x07\x7fu;4\xde\x95\xbd\xe3\xfc\xf9\xb5\x92\x82\x11\xc5\xda\x9bM\x92m\xd9\xb7\xd0\xad\xf9m\xb2\x8d\xa2`\xd9W\xc5\x04\xe3\x97\xcd\x06\x00c\x8by\x0av\xd1-\x13\x90w\x1d\xad3\xb4\x1eL\xaaCuI\xa4o\xd2\x92\x9c\xb2\xa1\xce\x97!)\xd8t\x1d[\"/\xfb\x9b\x94\xa4\xa44\xaa\x07\x82\xaa`\xb2\x87\x99\xa2\xe6\xcd\x99\xae\xcd\xc6\xa2\xaf`J\xb2\xd4\xca\x0c\x83[\xd8\x81c\x8b\xf5\x18\x1a\x86^\x1c\x8cw/\x9efM\x12\xe7\x8f\xb1\x0a\xc6VSQ0\xe6\xc0A\xd2{\x0c\xe9\x83\xf9\xbc\"\xcch\x16\xb3Q\xd4\xa6\xcd\xeb\xf1\xe6\xc6\xc1-\xab\x9c\xcf\xbc\xa3\x13\x07;\xd5\xa6$%)\xfa\xe2\xe9\x13\xe8\xc43\xb2\xa9\xaa`\xeb\xa5\x04\xeb\x97\xc9\x06\x00c\x8by\x0a&\x04\x09\xed\x9e`P@M\xa22\xf8\xc2\xdc\xea\xcb_\x88\x16\xe6\x93\xc4\xb4\x99d4\xb5PR\xb0\x90X\x15E\x8a\xe4\x9f\x09j\xa5H\xf1@P\x15L\xf6\x90;\x95\xbeL\xcdE#U\xb0M!\x0a\xd6defp\xf1\xca\xfd\x04\xf2v\xbc\xce\x1c\x0c\xbd8\x18\x89\xfe\xf3U\x89\xe4~\x82\xa8`\x15\xd4FS\xcd\xe1\x0a\xd6\x1d7\xa7\xfb\xcc\xd4\x99#\x9af\xb1\x83\x06\xeeo\xaf\xc0\xdd\xa4\xf3{p\xf2\xc6\x91\xec\x06\xad\x85\xa4N\x1f\xdd\xd0J\xd1\xeb[\xd0\x96\xd7Cl\xb0\x82m\x91\x12\x8c_P0`\xfc0O\xc1D\xc48\x98\x97v\xbe\xaey\x98QX(-\x09\x81\x04\xda\xabI!W\xb3\x90*)\x98\xde\x8c\x03I;\x927h\xa5H\xf1@P\x15L\xf6\xe0\xa5#\xbd**R\x11\x15,\x11\xfb\x16\xa6\x87(\x18\x9f\x9cA\xc6\x7f\xf9\xe24\x8e\xc5S\x15E\x11\xa6\xcdA\xc3\xd1Q\xb0b\x1a\x8bC\x19Th32\xf0\x88Y|CS\xcd\xe1\x0av\xda\x9ad\xb5f(]\xd9\xb0\x9c\xa2\xb7\x11\x8f\x90x\xd5^\x1a\xb4B\x1b_\xa1oto\x93\x86\xbd\x92:\xe5\xec\xd1J\xd1/\xb2\xaff\xffB\xf62\\\xc1\x18\xbf\xa0`\xc0\xf8a\xae\x82\x09\x81vO\xe0\x1a\xbez\xdc\x07\xba\xbaOVx\xc3\xf4\"\x84\xe4\xd9\xc9\xf4\xedb\xeb\xe2]\xdbR\xf1P\xabe\xb0\x85\xde\xafc\xe2M\x04yN\xbeo\xf2\xba\x80/>\xb7\x05\x9d\xce\x8d'7\x10U\x0f\x03->_B\xae\xef(\x8f4\x1e\x96\xc6m\xf0n\x88[Jo52\xd9\x14\xc4{\x91-\xd4\xc5\xcc\xa4m\xdbfZ\x1f\xf5tjl}\x8fMs\xef\xcf\xb7VP\xf3\xae8\xe5\xce`\xa9Uoz\xbd\xae\x82%\x16{\xebr\xc5\xdb\x98\xc5\x09\xa5u\xb3\x13\xbb5\x85T\x8b\xce\x1e\xf8tB\x93\xd7\x17\x18Q\x17\x0c\xa1\xed\xce='\xf68I\\~\xafs\xfe\xde\x13'v8\xc5\x11\xe3<+\x95YyN~\xdb\xfc7\xae\xe2\xe4\xcfo\xff\xf2\x95\xec6\x12\xeb\xba\x9d\xb3Y\xfc\xa1\xd1\xed\x9f\xb7Q\x9b\x1b\xe8\x8b_\xb4\xad\xda\xd8\xd6\xf6\xa9\xd6\xaf6\x1b\x00\x8c)\xe6*X\x80\x84\xc1H\xd7'\xd8T\xe5\xf1\xb6\x87\xbd\x06K\x13DE\x10J\x9fLHZ\xec\x99\x1a\x9fq&\x8e\x06\xaaC\xfa7\xca\xef\"\xad\xa5\xf9x\x13\xdfN\x9e\xfd\x90\xcfz8)\xe6\xb3\xba\x91\xc6\x83@\xe7\x83\x09d\xaa\x95&\x9b\xc4\xc0\x14j\xfbh'\xf9\xa3+#q\xf2\xec\x0d\xd8@k\xdb\xb58e\xf2t9\x98\xb7\xe91)\xf8u4Qwrm\xb5\xb5K~\xbaN\x97\xa4`\x95\x19\xc5)\xf1\xc9\x19b\xe4j\x20\x7fJb\x06\xee4\xb2\x85T\x8b\xce\x1e\xf8X<\xd9\x17\x9f\x11\x12\x08\xd3\xe7v\xc3Zi>\xd8\xc1\x8d{Wd\xe7l\x94\xa2\xf3\x9e$7y9\xe5\x94ix\x05o\xb2\x7fEf\x7f\xd1^Z\x834\xdc\xfc\xa5\xf4\xfeA\xf4\x91\x98\xd8\xac\xf5\x1b\x92\x0d\x00\xc6\x12s\x15\xec\xdef]<\xd5\xa5\xaa\xf8\\\xed\x8c[\x09:iUz\xba\x0e\x9d\xc3q\xb7\x04\x13\xf3\x83\x83\x83\xfc\xc9\x85SF\xfa\x8b'\x00\xb8W\x00\x05\x1bCJS\xc8\xd3u\x92\xf5\x1fM\x81\x06\xcf\xb4\xc8O\xd7i9\xa3\xabq#\xa4N\x9c?\x86\x84\xa4\xd1\xe8\x20\x00\xc4\"\xa0`\xb1\xcf\xe98q\xf8\xd8\x1e\x17\xe6N\x08\x00\xdc\x93\x80\x82\xc5>Bnb~\x95\xaf*?Q\xef\xf7\xe3\x00pO\x03\x0av/\xe0\x9d\x9d\x1c\x9f<\xe7\x0e\x1e\x9c\x01\x00\xf7\x08\xa0`\x00\x00\xc4.\xa0`\x00\x00\xc4.CC\xff\x1f\xf8\xaa\xf0z\xf7O\xc9\x8f\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/help.html": "<!--{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"Title\":\x20\"Static\x20analysis\x20features\x20of\x20godoc\"\x0a}-->\x0a\x0a<style>\x0a\x20\x20span.err\x20{\x20'font-size:120%;\x20color:darkred;\x20background-color:\x20yellow;\x20}\x0a\x20\x20img.ss\x20{\x20margin-left:\x201in;\x20}\x20/*\x20screenshot\x20*/\x0a\x20\x20img.dotted\x20{\x20border:\x20thin\x20dotted;\x20}\x0a</style>\x0a\x0a<!--\x20Images\x20were\x20grabbed\x20from\x20Chrome/Linux\x20at\x20150%\x20zoom,\x20and\x20are\x0a\x20\x20\x20\x20\x20displayed\x20at\x2066%\x20of\x20natural\x20size.\x20\x20This\x20allows\x20users\x20to\x20zoom\x20a\x0a\x20\x20\x20\x20\x20little\x20before\x20seeing\x20pixels.\x20-->\x0a\x0a<p>\x0a\x20\x20When\x20invoked\x20with\x20the\x20<code>-analysis</code>\x20flag,\x20godoc\x20performs\x0a\x20\x20static\x20analysis\x20on\x20the\x20Go\x20packages\x20it\x20indexes\x20and\x20displays\x20the\x0a\x20\x20results\x20in\x20the\x20source\x20and\x20package\x20views.\x20\x20This\x20document\x20provides\x20a\x0a\x20\x20brief\x20tour\x20of\x20these\x20features.\x0a</p>\x0a\x0a<h2>Type\x20analysis\x20features</h2>\x0a<p>\x0a\x20\x20<code>godoc\x20-analysis=type</code>\x20performs\x20static\x20checking\x20similar\x0a\x20\x20to\x20that\x20done\x20by\x20a\x20compiler:\x20it\x20detects\x20ill-formed\x20programs,\x20resolves\x0a\x20\x20each\x20identifier\x20to\x20the\x20entity\x20it\x20denotes,\x20computes\x20the\x20type\x20of\x20each\x0a\x20\x20expression\x20and\x20the\x20method\x20set\x20of\x20each\x20type,\x20and\x20determines\x20which\x0a\x20\x20types\x20are\x20assignable\x20to\x20each\x20interface\x20type.\x0a\x0a\x20\x20<b>Type\x20analysis</b>\x20is\x20relatively\x20quick,\x20requiring\x20about\x2010\x20seconds\x20for\x0a\x20\x20the\x20&gt;200\x20packages\x20of\x20the\x20standard\x20library,\x20for\x20example.\x0a</p>\x0a\x0a<h3>Compiler\x20errors</h3>\x0a<p>\x0a\x20\x20If\x20any\x20source\x20file\x20contains\x20a\x20compilation\x20error,\x20the\x20source\x20view\x0a\x20\x20will\x20highlight\x20the\x20errant\x20location\x20in\x20red.\x20\x20Hovering\x20over\x20it\x0a\x20\x20displays\x20the\x20error\x20message.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='811'\x20src='error1.png'><br/>\x0a\x0a<h3>Identifier\x20resolution</h3>\x0a<p>\x0a\x20\x20In\x20the\x20source\x20view,\x20every\x20referring\x20identifier\x20is\x20annotated\x20with\x0a\x20\x20information\x20about\x20the\x20language\x20entity\x20it\x20refers\x20to:\x20a\x20package,\x0a\x20\x20constant,\x20variable,\x20type,\x20function\x20or\x20statement\x20label.\x0a\x0a\x20\x20Hovering\x20over\x20the\x20identifier\x20reveals\x20the\x20entity's\x20kind\x20and\x20type\x0a\x20\x20(e.g.\x20<code>var\x20x\x20int</code>\x20or\x20<code>func\x20f\x0a\x20\x20func(int)\x20string</code>).\x0a</p>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-field.png'><br/>\x0a<br/>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-func.png'>\x0a<p>\x0a\x20\x20Clicking\x20the\x20link\x20takes\x20you\x20to\x20the\x20entity's\x20definition.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-def.png'><br/>\x0a\x0a<h3>Type\x20information:\x20size/alignment,\x20method\x20set,\x20interfaces</h3>\x0a<p>\x0a\x20\x20Clicking\x20on\x20the\x20identifier\x20that\x20defines\x20a\x20named\x20type\x20causes\x20a\x20panel\x0a\x20\x20to\x20appear,\x20displaying\x20information\x20about\x20the\x20named\x20type,\x20including\x0a\x20\x20its\x20size\x20and\x20alignment\x20in\x20bytes,\x20its\x0a\x20\x20<a\x20href='http://golang.org/ref/spec#Method_sets'>method\x20set</a>,\x20and\x20its\x0a\x20\x20<i>implements</i>\x20relation:\x20the\x20set\x20of\x20types\x20T\x20that\x20are\x20assignable\x20to\x0a\x20\x20or\x20from\x20this\x20type\x20U\x20where\x20at\x20least\x20one\x20of\x20T\x20or\x20U\x20is\x20an\x20interface.\x0a\x0a\x20\x20This\x20example\x20shows\x20information\x20about\x20<code>net/rpc.methodType</code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='470'\x20src='typeinfo-src.png'>\x0a<p>\x0a\x20\x20The\x20method\x20set\x20includes\x20not\x20only\x20the\x20declared\x20methods\x20of\x20the\x20type,\x0a\x20\x20but\x20also\x20any\x20methods\x20\"promoted\"\x20from\x20anonymous\x20fields\x20of\x20structs,\x0a\x20\x20such\x20as\x20<code>sync.Mutex</code>\x20in\x20this\x20example.\x0a\x0a\x20\x20In\x20addition,\x20the\x20receiver\x20type\x20is\x20displayed\x20as\x20<code>*T</code>\x20or\x0a\x20\x20<code>T</code>\x20depending\x20on\x20whether\x20it\x20requires\x20the\x20address\x20or\x20just\x0a\x20\x20a\x20copy\x20of\x20the\x20receiver\x20value.\x0a</p>\x0a<p>\x0a\x20\x20The\x20method\x20set\x20and\x20<i>implements</i>\x20relation\x20are\x20also\x20available\x0a\x20\x20via\x20the\x20package\x20view.\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='716'\x20src='typeinfo-pkg.png'>\x0a\x0a<h2>Pointer\x20analysis\x20features</h2>\x0a<p>\x0a\x20\x20<code>godoc\x20-analysis=pointer</code>\x20additionally\x20performs\x20a\x20precise\x0a\x20\x20whole-program\x20<b>pointer\x20analysis</b>.\x20\x20In\x20other\x20words,\x20it\x0a\x20\x20approximates\x20the\x20set\x20of\x20memory\x20locations\x20to\x20which\x20each\x0a\x20\x20reference&mdash;not\x20just\x20vars\x20of\x20kind\x20<code>*T</code>,\x20but\x20also\x0a\x20\x20<code>[]T</code>,\x20<code>func</code>,\x20<code>map</code>,\x0a\x20\x20<code>chan</code>,\x20and\x20<code>interface</code>&mdash;may\x20refer.\x20\x20This\x0a\x20\x20information\x20reveals\x20the\x20possible\x20destinations\x20of\x20each\x20dynamic\x20call\x0a\x20\x20(via\x20a\x20<code>func</code>\x20variable\x20or\x20interface\x20method),\x20and\x20the\x0a\x20\x20relationship\x20between\x20send\x20and\x20receive\x20operations\x20on\x20the\x20same\x0a\x20\x20channel.\x0a</p>\x0a<p>\x0a\x20\x20Compared\x20to\x20type\x20analysis,\x20pointer\x20analysis\x20requires\x20more\x20time\x20and\x0a\x20\x20memory,\x20and\x20is\x20impractical\x20for\x20code\x20bases\x20exceeding\x20a\x20million\x20lines.\x0a</p>\x0a\x0a<h3>Call\x20graph\x20navigation</h3>\x0a<p>\x0a\x20\x20When\x20pointer\x20analysis\x20is\x20complete,\x20the\x20source\x20view\x20annotates\x20the\x0a\x20\x20code\x20with\x20<b>callers</b>\x20and\x20<b>callees</b>\x20information:\x20callers\x0a\x20\x20information\x20is\x20associated\x20with\x20the\x20<code>func</code>\x20keyword\x20that\x0a\x20\x20declares\x20a\x20function,\x20and\x20callees\x20information\x20is\x20associated\x20with\x20the\x0a\x20\x20open\x20paren\x20'<span\x20style=\"color:\x20dark-blue\"><code>(</code></span>'\x20of\x0a\x20\x20a\x20function\x20call.\x0a</p>\x0a<p>\x0a\x20\x20In\x20this\x20example,\x20hovering\x20over\x20the\x20declaration\x20of\x20the\x0a\x20\x20<code>rot13</code>\x20function\x20(defined\x20in\x20strings/strings_test.go)\x0a\x20\x20reveals\x20that\x20it\x20is\x20called\x20in\x20exactly\x20one\x20place.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='612'\x20src='callers1.png'>\x0a<p>\x0a\x20\x20Clicking\x20the\x20link\x20navigates\x20to\x20the\x20sole\x20caller.\x20\x20(If\x20there\x20were\x0a\x20\x20multiple\x20callers,\x20a\x20list\x20of\x20choices\x20would\x20be\x20displayed\x20first.)\x0a</p>\x0a<img\x20class=\"ss\"\x20width='680'\x20src='callers2.png'>\x0a<p>\x0a\x20\x20Notice\x20that\x20hovering\x20over\x20this\x20call\x20reveals\x20that\x20there\x20are\x2019\x0a\x20\x20possible\x20callees\x20at\x20this\x20site,\x20of\x20which\x20our\x20<code>rot13</code>\x0a\x20\x20function\x20was\x20just\x20one:\x20this\x20is\x20a\x20dynamic\x20call\x20through\x20a\x20variable\x20of\x0a\x20\x20type\x20<code>func(rune)\x20rune</code>.\x0a\x0a\x20\x20Clicking\x20on\x20the\x20call\x20brings\x20up\x20the\x20list\x20of\x20all\x2019\x20potential\x20callees,\x0a\x20\x20shown\x20truncated.\x20\x20Many\x20of\x20them\x20are\x20anonymous\x20functions.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='564'\x20src='call3.png'>\x0a<p>\x0a\x20\x20Pointer\x20analysis\x20gives\x20a\x20very\x20precise\x20approximation\x20of\x20the\x20call\x0a\x20\x20graph\x20compared\x20to\x20type-based\x20techniques.\x0a\x0a\x20\x20As\x20a\x20case\x20in\x20point,\x20the\x20next\x20example\x20shows\x20the\x20dynamic\x20call\x20inside\x0a\x20\x20the\x20<code>testing</code>\x20package\x20responsible\x20for\x20calling\x20all\x0a\x20\x20user-defined\x20functions\x20named\x20<code>Example<i>XYZ</i></code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='361'\x20src='call-eg.png'>\x0a<p>\x0a\x20\x20Recall\x20that\x20all\x20such\x20functions\x20have\x20type\x20<code>func()</code>,\x0a\x20\x20i.e.\x20no\x20arguments\x20and\x20no\x20results.\x20\x20A\x20type-based\x20approximation\x20could\x0a\x20\x20only\x20conclude\x20that\x20this\x20call\x20might\x20dispatch\x20to\x20any\x20function\x20matching\x0a\x20\x20that\x20type&mdash;and\x20these\x20are\x20very\x20numerous\x20in\x20most\x0a\x20\x20programs&mdash;but\x20pointer\x20analysis\x20can\x20track\x20the\x20flow\x20of\x20specific\x0a\x20\x20<code>func</code>\x20values\x20through\x20the\x20testing\x20package.\x0a\x0a\x20\x20As\x20an\x20indication\x20of\x20its\x20precision,\x20the\x20result\x20contains\x20only\x0a\x20\x20functions\x20whose\x20name\x20starts\x20with\x20<code>Example</code>.\x0a</p>\x0a\x0a<h3>Intra-package\x20call\x20graph</h3>\x0a<p>\x0a\x20\x20The\x20same\x20call\x20graph\x20information\x20is\x20presented\x20in\x20a\x20very\x20different\x20way\x0a\x20\x20in\x20the\x20package\x20view.\x20\x20For\x20each\x20package,\x20an\x20interactive\x20tree\x20view\x0a\x20\x20allows\x20exploration\x20of\x20the\x20call\x20graph\x20as\x20it\x20relates\x20to\x20just\x20that\x0a\x20\x20package;\x20all\x20functions\x20from\x20other\x20packages\x20are\x20elided.\x0a\x0a\x20\x20The\x20roots\x20of\x20the\x20tree\x20are\x20the\x20external\x20entry\x20points\x20of\x20the\x20package:\x0a\x20\x20not\x20only\x20its\x20exported\x20functions,\x20but\x20also\x20any\x20unexported\x20or\x0a\x20\x20anonymous\x20functions\x20that\x20are\x20called\x20(dynamically)\x20from\x20outside\x20the\x0a\x20\x20package.\x0a</p>\x0a<p>\x0a\x20\x20This\x20example\x20shows\x20the\x20entry\x20points\x20of\x20the\x0a\x20\x20<code>path/filepath</code>\x20package,\x20with\x20the\x20call\x20graph\x20for\x0a\x20\x20<code>Glob</code>\x20expanded\x20several\x20levels\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='501'\x20src='ipcg-pkg.png'>\x0a<p>\x0a\x20\x20Notice\x20that\x20the\x20nodes\x20for\x20Glob\x20and\x20Join\x20appear\x20multiple\x20times:\x20the\x0a\x20\x20tree\x20is\x20a\x20partial\x20unrolling\x20of\x20a\x20cyclic\x20graph;\x20the\x20full\x20unrolling\x0a\x20\x20is\x20in\x20general\x20infinite.\x0a</p>\x0a<p>\x0a\x20\x20For\x20each\x20function\x20documented\x20in\x20the\x20package\x20view,\x20another\x0a\x20\x20interactive\x20tree\x20view\x20allows\x20exploration\x20of\x20the\x20same\x20graph\x20starting\x0a\x20\x20at\x20that\x20function.\x0a\x0a\x20\x20This\x20is\x20a\x20portion\x20of\x20the\x20internal\x20graph\x20of\x0a\x20\x20<code>net/http.ListenAndServe</code>.\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='455'\x20src='ipcg-func.png'>\x0a\x0a<h3>Channel\x20peers\x20(send\x20\xe2\x86\x94\x20receive)</h3>\x0a<p>\x0a\x20\x20Because\x20concurrent\x20Go\x20programs\x20use\x20channels\x20to\x20pass\x20not\x20just\x20values\x0a\x20\x20but\x20also\x20control\x20between\x20different\x20goroutines,\x20it\x20is\x20natural\x20when\x0a\x20\x20reading\x20Go\x20code\x20to\x20want\x20to\x20navigate\x20from\x20a\x20channel\x20send\x20to\x20the\x0a\x20\x20corresponding\x20receive\x20so\x20as\x20to\x20understand\x20the\x20sequence\x20of\x20events.\x0a</p>\x0a<p>\x0a\x20\x20Godoc\x20annotates\x20every\x20channel\x20operation&mdash;make,\x20send,\x20range,\x0a\x20\x20receive,\x20close&mdash;with\x20a\x20link\x20to\x20a\x20panel\x20displaying\x20information\x0a\x20\x20about\x20other\x20operations\x20that\x20might\x20alias\x20the\x20same\x20channel.\x0a</p>\x0a<p>\x0a\x20\x20This\x20example,\x20from\x20the\x20tests\x20of\x20<code>net/http</code>,\x20shows\x20a\x20send\x0a\x20\x20operation\x20on\x20a\x20<code>chan\x20bool</code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='811'\x20src='chan1.png'>\x0a<p>\x0a\x20\x20Clicking\x20on\x20the\x20<code>&lt;-</code>\x20send\x20operator\x20reveals\x20that\x20this\x0a\x20\x20channel\x20is\x20made\x20at\x20a\x20unique\x20location\x20(line\x20332)\x20and\x20that\x20there\x20are\x0a\x20\x20three\x20receive\x20operations\x20that\x20might\x20read\x20this\x20value.\x0a\x0a\x20\x20It\x20hardly\x20needs\x20pointing\x20out\x20that\x20some\x20channel\x20element\x20types\x20are\x0a\x20\x20very\x20widely\x20used\x20(e.g.\x20struct{},\x20bool,\x20int,\x20interface{})\x20and\x20that\x20a\x0a\x20\x20typical\x20Go\x20program\x20might\x20contain\x20dozens\x20of\x20receive\x20operations\x20on\x20a\x0a\x20\x20value\x20of\x20type\x20<code>chan\x20bool</code>;\x20yet\x20the\x20pointer\x20analysis\x20is\x0a\x20\x20able\x20to\x20distinguish\x20operations\x20on\x20channels\x20at\x20a\x20much\x20finer\x20precision\x0a\x20\x20than\x20based\x20on\x20their\x20type\x20alone.\x0a</p>\x0a<p>\x0a\x20\x20Notice\x20also\x20that\x20the\x20send\x20occurs\x20in\x20a\x20different\x20(anonymous)\x20function\x0a\x20\x20from\x20the\x20outer\x20one\x20containing\x20the\x20<code>make</code>\x20and\x20the\x20receive\x0a\x20\x20operations.\x0a</p>\x0a<p>\x0a\x20\x20Here's\x20another\x20example\x20of\x20send\x20on\x20a\x20different\x20<code>chan\x0a\x20\x20bool</code>,\x20also\x20in\x20package\x20<code>net/http</code>:\x0a</p>\x0a<img\x20class=\"ss\"\x20width='774'\x20src='chan2a.png'>\x0a<p>\x0a\x20\x20The\x20analysis\x20finds\x20just\x20one\x20receive\x20operation\x20that\x20might\x20receive\x0a\x20\x20from\x20this\x20channel,\x20in\x20the\x20test\x20for\x20this\x20feature.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='737'\x20src='chan2b.png'>\x0a\x0a<h2>Known\x20issues</h2>\x0a<p>\x0a\x20\x20All\x20analysis\x20results\x20pertain\x20to\x20exactly\x0a\x20\x20one\x20configuration\x20(e.g.\x20amd64\x20linux).\x20\x20Files\x20that\x20are\x20conditionally\x0a\x20\x20compiled\x20based\x20on\x20different\x20platforms\x20or\x20build\x20tags\x20are\x20not\x20visible\x0a\x20\x20to\x20the\x20analysis.\x0a</p>\x0a<p>\x0a\x20\x20Files\x20that\x20<code>import\x20\"C\"</code>\x20require\x0a\x20\x20preprocessing\x20by\x20the\x20cgo\x20tool.\x20\x20The\x20file\x20offsets\x20after\x20preprocessing\x0a\x20\x20do\x20not\x20align\x20with\x20the\x20unpreprocessed\x20file,\x20so\x20markup\x20is\x20misaligned.\x0a</p>\x0a<p>\x0a\x20\x20Files\x20are\x20not\x20periodically\x20re-analyzed.\x0a\x20\x20If\x20the\x20files\x20change\x20underneath\x20the\x20running\x20server,\x20the\x20displayed\x0a\x20\x20markup\x20is\x20misaligned.\x0a</p>\x0a<p>\x0a\x20\x20Additional\x20issues\x20are\x20listed\x20at\x0a\x20\x20<a\x20href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.\x0a</p>\x0a",
+
+	"analysis/ident-def.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xf5\x08\x03\x00\x00\x00\x8b\x0c=\xff\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE!#\x20#$\"$%#($#&'%'(&-'\")+(4,\",.+01/>/\"241A2%685G6$8:7;<:Q9$>@=W>#AB@CEB\\B'cC$GIF\x00f\x00\x00g\x00\x00h\x00gF'\x00i\x01KLJ\x00j\x02\x02k\x03\x04l\x05mJ&\x06m\x06sJ(OQN\x0bo\x08\x0ep\x0awN&\x0aq\x16TUS\x10q\x0c\x0cr\x17\x0fs\x18~R%WYV\x12u\x1a,`\xae7]\xad\x15v\x1c\x86T)\x16w\x1d[]Z9a\xab\x19y\x1e^_];b\xac<c\xad\x8dZ(>e\xaf)z\x20ac`+{\"(|*\x92]%cebAh\xb2egd+\x7f,\x9a_)Li\xafDl\xb0.\x81.ikh0\x830Ho\xb31\x841/\x858Jq\xb6mol\xa3f);\x86:Us\xb3\xabg->\x88<Wu\xb5\xaej(sur@\x8b>B\x8c@\xb3m,vxu@\x8dGC\x8dA\\z\xbbxzwI\x8dH]}\xb7K\x8fJ\xb9r*_\x80\xbaM\x91L}\x7f|\xc1s-O\x93MP\x94Oc\x84\xbeN\x95U\x81\x83\x80\xc7x+W\x95VX\x97Xm\x87\xbcY\x98Y\xd1z(Z\x99Z[\x9aZ\x87\x89\x86\\\x9b[r\x8c\xc2\xd6~-^\x9d]\\\x9dc\x8a\x8c\x89d\x9ddz\x8f\xbff\x9ff\x8f\x91\x8eh\xa1h\xde\x85+~\x93\xc4j\xa3j\x92\x94\x91k\xa4ky\x97\xc6s\xa4lq\xa5s\x95\x97\x94\xec\x8a,\x83\x9b\xc5\x98\x9a\x96\x9a\x9b\x98u\xaaw\x86\x9e\xc8\xf1\x8e/\x9b\x9d\x9a~\xaay\x88\xa0\xcb\x9e\xa0\x9d\x80\xad|\xf7\x93-\xa0\xa2\x9f\xfd\x92/\x81\xb0\x85\xa2\xa4\xa1\x92\xa5\xca\xff\x952\x82\xb2\x86\xa4\xa6\xa3\x83\xb3\x87\x8b\xb2\x88\xa6\xa8\xa5\x96\xa9\xce\x8d\xb5\x8a\xa9\xab\xa8\x8e\xb6\x8c\x9e\xad\xcd\x8d\xb8\x93\xac\xae\xab\x95\xb8\x95\xa1\xb1\xd1\x97\xba\x96\xaf\xb1\xae\x98\xbb\x98\xa4\xb3\xd4\xb2\xb4\xb0\xa5\xb5\xd5\x9b\xbe\x9a\xb5\xb7\xb4\xac\xb7\xd1\xa3\xbf\x9d\xa2\xc0\xa4\xb7\xb9\xb6\xa4\xc2\xa6\xb9\xbb\xb8\xa5\xc4\xa8\xb1\xbd\xd7\xbb\xbd\xba\xa8\xc7\xaa\xb7\xbf\xd4\xaf\xc6\xab\xbe\xc0\xbd\xb9\xc1\xd6\xc0\xc2\xbe\xb2\xc9\xae\xc1\xc3\xc0\xbb\xc3\xd8\xbc\xc4\xd9\xb1\xcc\xb6\xc4\xc6\xc3\xb3\xcd\xb8\xb9\xcc\xb8\xc1\xc8\xde\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xbd\xcf\xbb\xca\xcc\xc8\xc7\xcb\xdb\xbf\xd2\xbe\xc4\xcf\xdd\xcd\xcf\xcc\xcb\xcf\xdf\xc8\xd3\xc1\xc6\xd4\xc7\xcd\xd1\xe1\xd0\xd2\xcf\xc8\xd6\xca\xd2\xd2\xdd\xd2\xd4\xd1\xca\xd8\xcc\xd3\xd5\xd2\xce\xd6\xdf\xcc\xda\xcd\xd5\xd7\xd4\xd6\xd8\xd5\xcd\xdc\xcf\xd4\xdb\xd0\xd8\xd9\xe3\xd2\xdb\xe3\xd5\xdc\xd1\xd9\xdb\xd8\xd7\xde\xd3\xd5\xdf\xda\xdc\xde\xdb\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xd8\xe2\xdd\xdd\xe2\xe5\xe0\xe2\xdf\xe2\xe4\xe1\xdf\xe5\xe7\xe4\xe6\xe3\xe8\xe5\xea\xe2\xe7\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xfe\xff\xfc\x93\x8dkM\x00\x00\x20\x00IDATx^\xed\x9d\x7ft\x14\xd5\xdd\xff\x07%\x064*\x15\xe1y<\xb3=lbJ0@\x94\x86F\xac(\x98o\xe5\xb4\x86\xf4\x89i\xfa\x8d\xf6\xa4R\x7f`A\x10\x1a\xcd\x93\xc3\xb1\"\x02\x15\x1e\x8c\xf5l\xea\x81\xd8\xb4\x91`h\xf6(\xb89r\xb2\x12\xe4\xc8\xba(<\x12\xda''\x94\xd2\xf6!\xc5\x08\xc8S(\xc8\x93v\xd7\xd4\xb3\xde\xef\xf9\xde{\xe7\xd7\xbd\xb3wfv\x03a\xc8\xec\xe7\xf5\xc7\xee\xec\xe43\xf7\xde\xf9\xcc\xbc\xf7\xde;;\x99\xb7\xf4\xff.\x00\x04\x00\xc0e\x86\xe4$[;\x9c\x0a\x07\x00\xe0R\x03\x92\x06\x00O\x01\x92\x06\x00O\x01\x92\x06\x00O\x01\x92\x06\x00O1\x92$]_/Z\x04\x00\x80\xc1=I\xf7w4\x07Zv\x9dS?u\x07\x82\xb6\xd1\x98?\xc9\xeb\x04\x8b\x84_\xcb\x849\xed\xc9\xdbX\xf0\xb1O.u\x8a\xb1'\xc5\x12\x9e\x95\xe5\x90S\xccP\xe9$;]\x82\x17z\x17\x14\x16TE\xca\xf6!\x94h\x983\xcd7\xed\x9eF\x84\xa2\xb2\\\x95@!\x1c\x11q*\xc7\x0e\xf1n\xa6\xb8\xf3\xa8\x0eW\x9f\xd7\xe7\x14\xa5s\xb6\xbe(wA\xc2)*\x89\xc8\xf4\x9dN!\x19\x85k\x92>\x11\x08\xf6\x1c\xeb\xd9\xd2<@?\x9d\x0b\xecjr\xd8\x00\xd5\xe6\x9e\x16,\x12\xce\xbf*\xb7G\xbb\x96\xca\x0d\xc9\x1bYp\xa0\xce\xef\x14\xe2\x80}\x09\x91^\xe5\xfdT\xd4\xd7h\x13\x96\x1aZa&\x06\xf6E\x0b\x16\x1d\xc6\x8a\xf6=\xda\xb9}\x11\xfd\xee\x88\xc8\x0b\xda\xba\xda\x17\xcaQ\x14\x8f\xc8\xb9Q\x14\x0b\xc9\x91\xb8p\xe3T\x11\xeff\x8a\xe9;\x1e\x8d\xb6\xc9\xfb\x9c\xa2t\xaa\x8b\xda\xea\xf2\xce;E%\xd1\x95\xa7}kZ$*\xc3pM\xd2\x87\x02\xc7\xf0\xeb@\xa0\x87~\x0av\x1cs\x92t\x9f\xbcZ\xb0\xa8\x10\x91\xf1\xa9\x8d\xbb\xc4?\xa3TiL\xe9\x9c\xb4\xc3\xb6\x84\x7f[\xa2-\xf9/\\\xd2Faf\x0a\xd7\xe2\x97\x9aj\xb2XG$\xbd\xba\x80\x088>\x05\xa7'&\xd7\xd6\xe1\xfeT\x8eYm\x9b\"\xe2\xddL9}\x07S\x97\xf4y\xb9\x15%\x86\xd2\\\xbdc\xb7NT&\xe1\x9a\xa4\x11\xed\x9eO\x06\xfa\xc9[w\xd3@\xbf\x93\xa4\xeb\xfc\xa7\x04\x8b\x0a\x8a\xa4\xe3\x05+Q\xaa\xa4|NZb[B\xf9\xc5\x94t\xb9\xbd\xa4K\xe8\xe0\xa4W\xee\xc4\xfd\\\x05]]QC$\x1d\xc9\x8f\x8d(I\xf7\xc9\x17:\x80\xb6NT&\xe1\x9e\xa41\xb1\xa3-A\xf2\x15{.p\x089I\xfac\xdf*\xc1\xa2\x8a\"i\xb4\xb2\x90\xbcn\xaf\xca\xbbg\xb5r&\xf7-*\xf4\x15-\xa0\xfao+\xcf+k\xa3+O\xd5\xce\x98\xb2H\x1d92\xb1\x1a\xbd>Yn\xe8\xab-\xc9\xadI\xb0\x01\x03Kf\xf8J\x16\xf6\x9aK\x88\xd6\x94\xf8\x0a\x17\x94p%\xec\x94\x15\xca\xc9\x07\xff\xda\xd5\xf7\xe4\xd5\x1c\xa7\x7f\x10\xd4\xb6R\xf6\xb5'\x07\x1c\xc6mX\x88f\xcarA\x9c+\xcc\x0c\x95\xf4\xd2\"\xba\xf3]x\xbb\xaaEt\xf5\xa2*\"\xe9\x8f\xcbC\x02IkU\xf0\x15\xa7\x91(v\xad\x06\x99\xb37\xa2F\x99\x8c\xfe\xd9D\xe9\x92^)\xcb\xdb\x8d)\xb8\x20\x0f\x83\x85\xcan\xae6\x1f\x00\xb59\x89\"\xdf\x8b3gDV\x15T\x0fp\xdb\x9d\xcf\x93\xd5\xcb\x15\\\xa2D\x87%SpQ\xd2'\x03\x18zy,\xd8\x81\x1c%]\xef;.XTQ%\xdd.\xe3\xe3]/\xaf\xeaj\x9d^NN\x87H~\xf9\xab\x91F<\x9e#\x1d{CW\x83\xff)\xbc\xd4WpO\xfb\xce\x1a\x99\x9e\x93L\xacN<\x14*\x99\x93?su\xad|\x9c\x0d\xe8\x92\xeb#\xa1\x85\xf2A\xbe\x84\xdf\xcaO\x85\"\xed\x852W\x02\x9e\xe4\xce\xa9\x8eF\xa3t\x1a\xe0\x97KC;\x8b\x16Y\xd5\xf6\xa7\x90O\x9e\xde\xf8\xeb|>\x20q\xa0Q>\x80\xde\x94\xb7\xf7\xf2\x85\x99\xa1\x92>^\"\xd74\x1e\x18$\x9f\xcb\x96\xd1\xd5\xcb\xca\xa8\xa4[\x17(\x92\x8e\x7f\xac\x10g\xab\xe0*N#Q\xecZ\x9dX\xb4\xa0\xe1o\xe8o\x0d\x05\xd1\x18\x9b(\xa4KZ\xb9\xa6\xa0N\xc1Ey@\xbd\xd1\x90\xdc\x18\x8d\x9e6\x1d\x00\xbd9\x91\x02yu\xb5\\\xb8\xb1\xa8\x95\xdb\x0co\x17U\x06Bl\xa2\x84\x87%SpQ\xd2\xe8d\x7fwK3\xd6tO`\xc0Q\xd2\xc7}\xcf\x0a\x165TIw\xe1\xc9t\x97\xfc&\"g\x12\xfe\xe6\x8e\x97\xd4\xe0\xb3x0t\x1e\xa1w\xe9\x85\xdf\x88\xdc\x85{\xb29\xf8,O\x94\xf9i\xbc\x1e\xcbQ.\x93\xbe`\x80\x0b\x88\x85H\xb7R\xb6\x10q%\xb4M\xa7=I\x81\xf9\xdca\x06\xdeEg\xf1I<\x1dY\xd6\xe6\x9f\x82\xcf\xdc\xda\xa4\x80\xba\x8a\xb337\x9a\x0b3C%\x8d\xceo\xac\xf0\xc9S\xc8V\xa5\xb5tum)\x95\xf4\xe9\xdc\xd3T\xd2\xd5j\xffU\xc5WaT\x9cN\xa2\x98\xb5,\xf5K\xf1\xcb2\xf2\xd3\"\x93(\xc4\x0c\xbc\xa9\xee\x1a\xed\xb2\xce\x0c\xbc\xf5\x03\xc04\xa7\xa8\x16o\xb9\x13\xd5%\xff|\x99\xab\xcdm\xf4DY\x1d\x96\x8c\xc0MIc\xe2-\x1d\xe4\x12Y\"\x918\xda\x94\xb0;\x00+}\x1f\x0b\x165\xf4^\xfa<Zz\xc7\x20.-1\xb3\x9e\x9c;\xfa\x15\xd0\xfa2\xfaVZ\x87\xce\xcb\xf4\xb7\xae\x06rr1\xb1\x1c\xe5~u\x18\xc0\x06\x9cm\xab\xb9\xa3@.C\\\x09\x9f\xce(Y\xd9\xde\x9b\x184\x15\xc0J\x9al\xdbhS\x9b\xbfN\x18\x10/+z4\xa903\x8a\xa4It\xe4G\xe4\xb4W{\xe9\xa5J/\x8d\x16\xb4RI\xf7\xedT\xe8\xe3\xab0*N#Q\xecZ\x96Hn\x0c\xc5\xf2\xa2dQO\x14A\x20i\xab\xac\xb3\x92\xd6\x0e\x80\xd1\x1cT\x14\xc2\x85\x0d\xa0\xb5\xcb\x90\x99dI[\x1d\x96\x8c\xc05I\xc7\x15\x01\xef\x0f$\x8e\x044\xfa-\xa3O\xf9\xeb\x05\x8b:\xaa\xa4\xd7\x16\xe0\xb3Z\xed\x92p/\xd1*\xeb?\xe0T)\xf2x\xb4\x02\xf5\xca\xf4\xbc\xa3'\x17\x13\xcbQ\xaeM\\\x99\x80\x83E%k;\xa3\xd5e\x88+\x01\x9do_R*\x17\xbdj*\xc0|y\xcc\xae6\xab\x80\x90~a\xc9A\xd2\x07\xe9\x148Q\x857\xabR6]\xa8\xcc\xa5Q\xa8\xcc<\x97f\xab0*N#Q\xdc\xce3$\x0a;Qg!9\xa6F\xa2\x08\x02I[e\x9d\x95\xb4v\x00\x8c\xe6\xa0\xa2w\xd1A\x1fB\xebR\x91\xb4\xd5a\xc9\x08\xdc\x92t\xa2i\x07}\xc7\x92N\x9c$t\x07N\x9e\xb4\xee\xa6W\xc9}\x82E\x1dE\xd2\x83\xd3\xf1!\xad\xbd\xa3\x97r\x96\xac5:\x9f;\xe8[I\x1d:+\xd3k?tV\xc7\xc4r\x94/R\x17\x98\x80\xd2\x0a\"\x8eE\xf8LeK\xe8%\xb7\xbc\xfc=\x94\xdbf.\x81\x9c\\\xed\xa4\xab1Ne\x8b\xda,\x02N\x155\x94\x9c5\x17f\x90\xa0sk*\xe9\xa2\x95tM\xc3\x1c<\xc4V\xa4P^\xa3H:\x96\x171I\x9a\xad\xc2\xa88\x8dD\xb1k9V-D\x8b\xe8UK#Q\x04^\xd2\x0dvYg%\xad\x1d\x00\xa39\xa8(\x82\x0e\xfaS\x904I\x94\xd5a\xc9\x08\xdc\x924j\xee\x20\xafd\xe0\xad`;\x97>M\x07\x89\xe6E\x03E\xd2\xeb\xc8\x99\x19Q\xe6h\x0dx\x1e\x1a+\xaa&C\xafU\xab\xc8\xd0\x92\xac\x0d\x91\xc1iE\x09\x9e2\xf6\xe5*\xa7\xb2\x1e\xcb\xa1\x7f\xdb3\x01%\xe4,K\x94\x913\x95)\xa1Q~\x97\x04T\x9b\x07\x0e\xd5\xd5\xb8\xa5\xca\x8c\x95\x11\x8e\xb06q\xc0`E\x03\xaa\xafN\x98\x0a3h#\xbd\xe5Y\xf9u\xbcX8\x93\xdc\x9e\x91\x202X\x9dO\x7f\x97\xce\xabW$\x8d\xea\x96\x99$\xcdVaT\x9cN\xa2\x98\xb5\x1c\x07\xfc\xa7\xfc\x07\xc8\x02\x93(\xc4H:\x0f\x7f\xfb$*\xec\xb2\xceJZ;\x00LsR\x90\xb4\x9e(\xab\xc3\x92\x11\xb8&\xe9C\x81\x8e\x9ec=-\xea\xddc\x89\xfe\xee@\xff\x19\xcb\xe0\xb5F\xcf\xbcV\xd0I+w\x8f=\xa5\xdc=\xb6N^\x16\xea\xac\x97\xb7#2\xc1+m\xebZEg\x7f\xb5\xf2\xba\xaeu2\xb9zt8ofc\xc34\xd9\xf7\xe6a.V'q\x80^9U\xe6\xebF@\xa3\xbc\xa4mc\xb9\\\xf8\xea\x01\xb6\x84F9\xbf\xa1\x0b\x07\x98\xef\xbal\xf4\xff\xba\xb3:\xefSr\xa5\xb7\xee\x00\xea\xad\xf3EO\x89k\x13\x07\xc4\xf7=;\xfd8\xea+X\xbd/\xce\x14\xc6\x12\x91\x17\x84\xde\xac($+\x0b\xe5\xa2\x86wq@\x1fY[\xd3\x19\xed\xac\x91;\xc9\xddc\xa1\x18\x8a\xe6\x99\x7f\xc4\xd2\xab\xe0*N#Q\xecZ\x96\xc4\x8c\x9a\x19\xf4\x1b\x88I\xd4\xa7\xe4\xee\xb1\xd6h\x94\x0c0\xaa\xa6\xbf\xba\xb1\xc2:\xeb\xea\x15\xef\x03\x09\xd3\x01\xd0\x9bsxZk,\xe4\xeb\x8d-\xab\xe6\x86+\x83\xfb\xa2Q\x7f]4JO#=QV\x87%#pM\xd2\xa8\x7fGK`\xebnu\x12\xd7O\xa6\xd2\xcdV\xa1\xa7\xf3j\x05\x8b\x06\xca=\xde%\xea=\xde\x91\xea\xc2)U]t\xb1o\xc9\xcc\xfc\x8aN\xb2\x94x\xbd,\xaf\xac\x8d\x9es}\x0b\xa7\x95\xac}\xd3'?\xcb\xc7j\xf4*3\xbdGM\x85%Z\xe7\xf8\xa7/m\x9f\xe3\xabfK\xd8^\xd5X\xe2+\xaaN:u\xe2\xab\xa6\xe5V\x1f\xa4\xf7x\xcb\xbe\xc3\xe4\xb7S\x8b\xda\xc4\x01\x11\x99\xfcB\xbbJV\xee\xd0\xd6\x0a\xe3\xe8,\xcf+x\x94\xca\xaa\xa2\xbd\xa14o\xfaB\xf2M\x97h\x98S\x20\x17\xcciL\xd0\x12B\xb8[,2Of\xb4*\xf8\x8a\xd3H\x14\xbb\x96\xa5\xd5\xdfJ\xdf\x99D\xd5\xa9\xb3f\xd2\xe7\xf6U\xe7\xe6\xd7\xbch\x99\x87x\x01\x8d\xf4\xfd\xd9t\x00\xb4\xe6$\x8a\xf0\xfe\xe4\xcby!\xd3\x1c\xfc\xb7j\x15\xf4\xd8\xeb\x89\xb2:,\x19\x81{\x92N\x83\x17\xe5?\x09\x16\x01\x00HfDH\x1a\xfe\xab\x12\x00ReDH\x1a\x00\x80T\x01I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x18I\x92\x86[\xbd\x01\xc0\x11\xf7$m\x18\xe8\xc4\x9a\x94\xe7\x149\xf8BX\x1b\xe8\x10\x86\xcdF%U\xb7\x98\xa1\xe3\xd8t\xc7\x00\x95\xa1\xda\xf5\xa4it#&\xd5FR\xd2O\xeaP\xf7-\xf3pM\xd2\x8c\x81\xce\xb9\xc0\xfe~\xccI\x87-\xac\x0dt\x08\x86\x8d\x8a#i\xfa\xac\xa4f\x95s\x018:\xc08\xed\xdb\x85\xda\xf5\xa4it#F\xd8H\xcb\xec\x08\x92j\x9f\xc9\xa1\xee[\xe6\xe1\x9a\xa4\x19\x03\x9ds\x81\xa3N\xd1\xc8\xde@\x87\x90\xfa\x03^\xd3\xf5YI\xd1*g\xe88:\xc08\xec\xdbE\xb0\xebI\xc3\x15\xc3\x0aQ#\xad\xb3\x93\x9cT\xa7L\x0ey\xdf2\x0c\xd7$\xcd\x18\xe8\xa4&i;\x03\x9d\xf4H\xd7g%E\xab\x9c\x8b\xc0\x10\x0b\xbb\x08v=\x17A\xd2\"\xacw(9\xa9N;?\xe4}\xcb0\xdc\x934\xd2\x0dtR\x92\xb4\xad\x81\x8ea\xa3\xc2\xf8\xc2\xe0\xc5\xd6\xfa\x99\xd3\xc8\x13|\x18\xff\x16\x0bC\x1a\xc3\xf6\x85s\x96\x11\xb9\xc50\xf6,|a\x9a\xf5\x8c\x85\x05\x8f\xd8\xd5\xc5\xc2\x01F\x14\xc0{\xdeh\xa4c\xd7s\xe1F7LR\x11c\xb6#l$\xbfC\xf6\x16<\xe2Lr\xf8W\xd5\xcf\xa0\x15w\xe1\xb8\x17\xd5\xbd0`\xf7-\xa3qQ\xd2\xba\x81\xce\xb9@\xc7\x96@s\xd8\xf4\xe0;\x13\xb6\x06:\x86\x8d\x0a\xe3\x0bC\x16K66\x96\xe4\x1df\xfd[,\x0ci\x0c\xdb\x17\xd6YF\xe8\x16\xc3\xd8\xb3p\x85\xe9^/\x16\x16<\x16\xae.B\x07\x18a\x00\xe7y\xa3\x93\x8e]\xcf\x85\x1b\xdd0Ie\xcdv\x84\x8d\xe4Z\xe6`\xc1#\xce$\x87_.\x0f\x85\xcap\xc5\xb1}%\xf5\xa7\xd5\xbd0`\xf7-\xa3qQ\xd2\xba\x81\xce\xb9@S\xf7\xd1\x9e\x96f\xbb+\xde\xf6\x06:\x04\xed\xd1\xaf\x86/\x0c\xf2\x97\xe0\xd1\xfd\xf9\x12b\xe7h<\xe1V<\xc2cm_\x8c\x12\xc4n1\x9c=\x8b^\x18\xe3\xf5\"\xb6\xe0\xb1vu\x11<[^\x1c\xc0\xec\x1bK\x1av=\x17ntc$\x95\xdbcq#\x99\xa7\xf7:Y\xf0Xd\xd2\xc0_\x8aO\x90\xf8\x1cr4\x1bIg\xfe\x94\xf9\x87Lc\xdf2\x1a7%\x8d\xd4\xe7x'\xba\xc9\xc9\x15k\xdam\x13ho\xa0C\xd0\xcf(\xf2\x9coE\xbc\xfe\xff\x20\xafm\xf2ygI\xb3\xb6/z\x09\x16n1\x9c=\x8b^\x18\xe3\xf5\x82\x84\x16<\xd6\xae.\xa9K\xda\xd87\x964\xecz.\xdc\xe8\xc6H*\xb7\xc7\xe2F\xea-s\xb6\xe0\xb1\xc8\xa4\x81\xffE\xf2J\x8f\xe6q\xf90\x8a\xe7\x9b\x1f\x00\xca\xec[&\xe3\x9a\xa4\x0d\x03\x1dmMx\xabe\xb0\x93\x81\x0eA?\xa3\x0c\xf1*C\xc1(yb\xbf\x93\xa4Y\xdb\x17=\xd6\xca-\x86\xb5g\xd1\x0bc\xbc^\x90\xd0\x82\xc7\xda\xd5%uI3{\xc1\x90\x86]\xcf\x85\x1b\xdd\x18I\xe5\xf6X\xdcH\xbde\xce\x16<\x16\x994`\x8e&\xfa\xd1Z\xf4\xee\x14\xf3\x97\xa3\xb1o\x19\x8d[\x92f\x0ctPG\x90.\xee\x08Z\x87;\x18\xe8\x10D\x92\xa6\x97\xd1\xa8E\xad\xe1\xdf\xc2\xf8\xac0\xb0\xb6/z\x09\x16n1\x9c=\x8b^\x18\xe3\xf5\x82\x84\x16<\xd6\xae.\xc9\x0e0\x16\x01v\x92N\xcd\xae\xe7\xc2\x8dn\x8c\xa4r{l#i\xd2\xb2\x14,x\xc4\x994\xf0\xd3_.\xe9\xd1D;\x0b\x07\x05\x16\x96\xfa\xbee4nI\x9a5\xd0\x09n!\x8bg\x02\xfb-\x83\x9d\x0ct\x08\"I\x17\xe1\xb3v\xe0\x8ej\xc4\xfa\xb7\x88\x0diX\xdb\x17\xa3\x04\xb1[\x0cg\xcf\xa2\x17\xc6x\xbd0=\x0e\xe3\x16c\xed\xea\x92\xec\x00c\x11`!\xe94\xecz.\xdc\xe8\xc6H*\xb7\xc7\xe2F\xea-K\xc1\x82G\x9cI\x03\xffL\xe2\x98[J\x8e&\x1a,\xdc9-\xf9\xc1\xfb\xfa\xbea>\xdex\xa1\xb7\xc3\x8dT\\\x934c\xa0s4\xb0\xed\xd0\xd1\xbd\x81\xa0\xf5\x90\xc9\xc1@\x87\xb1Q\xe1|a\xc85\xd2\xf69S\xc8\x06\x8c\x7f\x0b\x12\x19\xd2\x18\xb6/l\x09b\xb7\x18\xce\x9e\xc5(L\xf7z\xb1\xb4\xe0\x11\xb9\xba\x88\x1d`\x84\x01\xdc\xbe\xb1\xa4l\xd7\x83.\xdc\xe8\x86M\xaaa\xb6c\xd5Hc\x87\x9c-x\x04\x994U\\s\x20R5E9\xfc\xeb\xee\x98\x92|\xba\xe8\xfb\x86Y(/H\xfa{f\xe0\x9a\xa4Y\x03\x9d\x13\x1d\xcd\x81`\xb7\xb5\xa2\x9d\x0ct\x18\x1b\x15\xce\x17\xc6\xbf\xba\xbe`F-=\xffY\xff\x16\x91!\x8da\xfb\xc2\x95\x20t\x8b\xe1\xecY\x8c\xc2t\xeb\x19\x0b\x0b\x1e\xb1\xab\x8b\xd8\x01F\x18\xc0{\xde0\xa4l\xd7C\xb80\xa3\x1b.\xa9\x86\xd9\x8eU#\x99\x1dr\xb4\xe0\x11d\x92\xa3\xb4qI\xbeZ1\xb9\x81PtEE\xdb7L\xfb\xf4vA@&\xe0\x9e\xa4\xd3`\xa8\x06:p\xbf\xd10py$5\xe6\xcfL\xc3\xab\x14\x18\x11\x92\x1e\xea\x7fU^\x1eg\x9f\xc7\xb8<\x92\x1a\x82+\xdbV\x8c\x08I\x0f\x95\xcb\xe3\xec\xf3\x18\x97AR\x1b#\xa8\xba\xc1)(c\xf1\xb0\xa4\x95\x0b5\xc0E\xe5rHjL._Yt\xde)*c\xf1\xb0\xa4\xe9\x85\x1a\xe1\x8df\xc0\x90\xb9,\x92\xda\x90_m\xbe\x11\x1e\xd0\xf1\xb0\xa4\x01\x20\x13\x01I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x18I\x92\x1e\xea\xad\xde\x00\x90A\xb8'i\xc3@\x07\xd3\xb3\xad\xa9e\xaf}\xbc\x83\x81\x0e\x00\x00\x04\xd7$\xcd\x18\xe8\xa0xG`\xf7\x91\xbd\x81C\xf6[\xd8\x1b\xe8\x00\x00@pM\xd2\x8c\x81\x0e\xea\x20\x9e\x1b'\xe9\xa25N\x06:\x00\x00\x20\x17%\xcd\x18\xe8\xf4+O\x1d;g\x1f\x7f\xf1\x0ct\x00\xc0\xc3\xb8'i\xa4\x1b\xe8\xec\x0e\x0c:\x19\xb99\x18\xe8\x00\x00\xa0\xe2\xa2\xa4u\x03\x9d`\xb0gk\xa0y\xd7\x85\x18\xe8\x00\x00\xa0\xe0\xa2\xa4u\x03\x9d\x16j\xa0\xd3\xdcra\x06:\x00\x00\x20w%\x8d\xb4\xe7x\xd3\xbez\x20\xb0\xc7&\xd0\xd9@\x07\x00\x00\xe4\xa2\xa4\x19\x03\x1d\xd59'l\xe3\xb6\x91\x82\x81\x0e\x00\x00\xc8=I\xb3\x06:{\x9b\xa8\xbc;.\xcc@\x07\x00\x00\xe4\x9e\xa4Y\x03\x1d\xc5:\xe7\\\xc0\xfa\xf6\xb1T\x0ct\x00\x00@.J\x9a1\xd0A{\x03{\x8fv7m\x15\xd8\xb4\xaa8\x19\xe8\x00\x00\xa0\xe2\x9a\xa4Y\x03\x1dt(\x18\xd8\xb2\xd7Z\xd1\x8e\x06:\x00\x00\xa8\xb8'\xe94\x18\xaa\x81\x0e\x00d\x1e#B\xd2\xf0_\x95\x00\x90*#B\xd2\x00\x00\xa4\x0aH\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\xc5H\x924\xdc\xea\x0d\x00\x8e\xb8'i\xdd@g\xb0)\xa0\xd0l\xbf\x81\x9d\x81N\xef\x82\xc2\x82\xaaH\xd9>\xf36\xb6<+\xcb!\xa7\x18\xf2\x88a\xb9\xd4)\xe6\xa2\x11\x99\xbe\xd3)D\xe7l}Q\xee\x02\xc7\x87%#T%\x93\xfd\x0c\xe1\xd7*\xa7P\x0b,\x12U\x87\x8b\xcc\x13\xfd\xf7z\xaa-\xa3\xa4\x91_-;\x96\x15'\x93\xda1\xf6\x14\xaeI\xda0\xd0\x89\x05\xf6\xf6c\xf6*\x0f\xe8\xb7\xc6\xc6@\xa7\xd7\xf7h\xe7\xf6E\xa9\x1e\xbdH\xaf\xf2~*\xeak\xb4\x8f\xa4\x1c\xa8\xf3;\x85\xa4\x88V\xb1\xf5\xda\xae\xbc\xd4v\x81P]\xd4V\x97w\xde)\x0a\xa1\xbe\xd5r$\x86bQyuj*H\xc6\"Q\xc7\xa3\xd16Y\xf4-\x9aj\xcb\x14\x04\xf9\x15'J\xcf\x8ee\xc5\xc9\xa4r\x8c-j\x1b\xa9\xb8&i\xc6@\xa7\x9b<\xd9d\xa0i\x97\xfd\x06v\x06:5\xd5\xe4\xb5.EI\xff\xdb\x12m\xc9\xefx\xb8\x09\x8d\x17K\xd2F\xc5\x96kS\xed\xdb\x10:/\xb7\xa2\x84\xfd\xb3\xcfUZe\xf2\xa0\x89\x04\x8e\x1f2V\x89:(RV\xea-SH\xce\xaf8Qlv\x84\x15\x0bq>\xc6V\xb5\x8dP\\\x934c\xa0C\xd9\xb6\xc5\xfa\xa9&\x14;\x03\x9d\x92\x06\xf2\xda+w\xa2T(wK\xd2\xe5\xc2sG\xbc\xd6\x91>9\xd51\xfa\xa5\x96t\xea-SH\xce\xafsJ.\xa6\xa4\x9dk\x1bQ\xb8'i\xa4\x1b\xe8\x10z\x02'\xeccm\x0dt\x96\x16\x1d&o]\xb4k\xd8^\x95w\xcfj\xa5\x93`\x165v\xca\x0a\xe5\xe4\x83\x7f\xed\xea{\xf2j\x8e[\xc5\xe2q[\xed\x8c)\x8b\xd4\x81a[y^Y\x9b\xb2\xbaoQ\xa1\xafh\xc1)\xb4R\x96\xb7+\x93\xc1D\x91\xef\xc5\x993\"\xab\x0a\xaa\x07\xd8\xc2V\xca\xbev\xb5\x0a\xb6\xe2\x81%3|%\x0b{M\xcd9\x9f'\x1bs\x07\xad6\xa6\x04\x86\xc1Be\xb3\xd5\\l\xafO\x96\x1b\xfajKrk\xb8\xce\xde\x90\xb4Q\x18\xd7^\xa39\\\x09\xd1\x9a\x12_\xe1\x82\x12R\x84\x91(#\x96\x90\xac\xac\xb4Z\xc6\xe5W\xcb\x998Q|v\x8c\x8a\x99F\x1a\xb0\x8d\xf4\xaf\xaa\x9f1m\xa12\xe70\x92\xaa\x1d7\xfe|\xf0\x04.JZ7\xd0!\xb4t\xd8\xc6:\x18\xe8\x1c/\x91k\x1a\x0f(\xdd|\xbd\xbc\xaa\xabuzy\x82_\xd4\x19\xd8\x17\x9dS\x1d\x8dF\xffL>\xf8\xe5\xd2\xd0\xce\xa2E\xa6\xcd\x0c\xfa\x0a\xeei\xdfY#\xd3S\xae\xce\xdf\xd0\xd5\xe0\x7f\x8a,F\xf2\xcb_\x8d4b\x89(35:\x19\x8c\x14\xc8\xab\xab\xe5\xc2\x8dE\xadla\x7f\x0a\xf9\xe4\xe9\x8d\xbf\xce_\xc4W\xdc%\xd7GB\x0b\xe5\x83\xa6\xe6\xf4F\xa3Z\x9f\xa2\xd7\xc6\x94\xc0\xd2\x1b\x0d\xc9\x8d\xd1\xe8i.6\x1e\x0a\x95\xcc\xc9\x9f\xb9\xbaV\xe6\x12dH\x9a)\x8cm\xaf\xd1\x1c\xb6\x84\xdf\xcaO\x85\"\xed\x852I\x89\x91(#\x96\x20\xe8,\xd3i\x19\x9b_=g\xe2Dq\xd91*f\x1bi\xc0n\xe6\x97\xcbC\xa1\xb2<\xf2\x9d\xaf7\x879n\xdc\x01\xf0\x04.JZ7\xd0\xc1\x1c\xa13k\x1b\x1c\x0ct\xceo\xac\xf0\xc9S\xc8wx\x97\xfc&\"G<\xc4-r0\x03\xef\xa2\xb3\xf8\\\x9a\x8e\xacb\xab\xe6\xe0^#QFN\xb9w\xe5\x08~\x8d\xc8]\xf8\xfc,\xa9\xc1\x1a\x19\x0c\x91\x0b@\xf4$\xa3#\xc7\xa2Z\\\xc8NTW\xcf\x17\xe6\x9f\x82O\xe2\xda\xe9|\xc5\xb1\x10\x19\x0e\x94-\xe4\xd7\x12r\x95\x93\x96\xa9\x8d+\x81A\x1f\xde\xb2\xb1\xa8\\\xa6\xdd.\x17\xc9\x0e\xbc\x8d\xc2\x98\xf6\xf2\xcd\xd1Jh\x9bNt\xd2V@%\xad'\x8a\x8bu\x18x;\xb6\x8c\xc9/w\x00\xc4\x89\xd2\xb3\x83\x8c\x8a\xd9F\x1a\xb0\x9b\xf9K\xf1\xde\xc7\xe7T\x98\x92\xaa\x1f7\x18x\xb38\x15\xeeL\\\xed\x9d;Z\xec\xe3R0\xd0\x89G~D\x0e\xd6\xd2;\x06\x13\x98\x99\xf5\xdc\"\x07#i\xf2'z`\x85\xb1\xe7\xe5v\xf2\xd6@\x02\xea\xcb\xe8\xaa\xd2:r\xf6\x19\x97H\x19I\x87\xf0y6\x80\xd6.\xe3\x0b\xa3\x8f\x1dO:w\xce\xb6\xd5\xdcQ\x20\x97\x99\xd6\"\xfd\xa4ej\xe3J`\xd0\x85\xc3\xc6\xa2r\x7f\xb2\x05\x20'i\xbd0\xa6\xbd|s\xb4\x12>\x9dQ\xb2\xb2\xbd7A\xc7>F\xa2\xb8X\x07I;\xb5\x8c\xcd/w\x00\xc4\x89\x12I\x9am$\x03\xb3\x99\xffE\xf2\xda&\x9f\xe7\x93\x0a\x92\x16\xe2T\xb8\x1d\x8c\x81\x0e\xa6\xc9\xfa\xb1\xfc\x14\x07\x03\x9d\x83\xf4rY\xa2\x0a\x7f-\x97\xa9s#~\x91\xc3ty\x8c\x1eXal\xaf\x1cEZ@\xd5\xa3t\xd5\xa3\x15\x9aD\xcc%\x14\xbd\x8b\x0e\xfa\x10Z\xb7\x8c/Lx\xee\x1c,*Y\xdb\x19\xad\xb6\x964S\x1bW\x02\x83.\x1c6\x16\x95\x0b\xe6\x84m\xf2\xdf\xf1kL&\xb3Ha{\xf9\xe6\xe8%\x9co_R*\x17\xbd\x8a\xb8\xcd\xb8X\x07I;\xb5\x8c\xcd/w\x00\xc4\x89\x12I\x9am\xa4\x01\xbb\x992X\x8f\xe2\xafa\xab\xa4\x82\xa4\x0d\x9c\x0a\xb7\x815\xd0!~\x1bG\xec\xc3\x1d\x0ct\x8aV\xd2\xb7\x869xPyG/\xe5,\xb7\xc8A\x0fa;\xe93\x8c\x03+\x8c=KU\x80\xe8\xe5\x9b\xfa;\xe8\xaa\x92:2t3\xf5\xd2\xb4\x9b)\x8a\xa0\x83~E\"laI\xe7\x0e\xa9\xb8\xb4\x82\x0c\x0c\x17\x95\xf1k\x09Z/m\xd4\xe6(i6\x16\x95\x9b\xe6\xdc\x84(m\xaf\xa2\x1fF\xd2F{\xf9\xe6h%\xf4\x92\xdby\xfe\x1e\xca\xe5\xbf\x09\xb8X\xa7^\xda\xa1el~\xb9\x03\x20N\x94H\xd2l#\x0d\xd8\xcd\xfc\xf4B];\x1e\x90$%\xb5\xc1tX\xbc\x81[\x92f\x0dt\xc8TZ\xbbL&\xc6\xc9@\xa7p&\x99\xd7&\xc8Y\x13Qfc\x0d\x1b\xb9E\x8e\xeaj\\\x8c2\xd1\xd5\xcfTqlE\x09.\xb7/\x97\x04t\xd1\x80\x10\x19\xdb\xc7\x8a\xaa\xc9@o\x15\xb9\xee\x9e\xb7\x16\xd7[a\x92\x08[\x18+H\xbd\xe2\x12rz'\xca\xcaL\xcdA\xfaI\xcb\xd4\xe6(i6V\xd8\xe3\x0cL#\xe3\x9a\xfai\x03\xc8B\xd2\\s\xf4\x12\x1a\xe5w\xc9[u=\xb7\x19\x17\xeb\x20i\xc7\x961\xf9\xe5\x0e\x808Q\"I\xb3\x8d4`7\xf3\xcf$\x17>J\xab\xf9\xe6\x18\xc7\xcdt\x00F>\xaeI\x9a5\xd0A=\x01;oig\x03\x9dB\xb9\xa8\xe1\xdd\xcejz\x93\xe0:yY\xa8\xb3^\xde\xce/\xb24\xfa\x7f\x8dc?%\xd7=\xeb\x0e\xa0\xde:_\xf4\x94E\xec\xe1\xbc\x99\x8d\x0d\xd3d\xdf\x9b\x87q7\"\xaf\xebZ'\xd7\x92\xd5\x91\xdc\xd2\xb6\xaeUt\"X5\xfd\xd5\x8d\x15$\xe0\xf0\xb4\xd6X\xc8\xd7\x1b[V}\x9c)\x8c\xabB\xaf\x18\x9f\x88K\xda6\x96\xcb\x85\xaf\x1e`\xd7\x0e\xee\x8bF\xfdu\xd1(I\x89^\x1b_\x82\x8er]\xf9\x00\x9d\xb5\xe8\xb1\x89\x03\xf4\xeam\xd2\xa5\x86\x90\xfclW=9g\x99\xc2\xd8\xf6\x1a\xcdaKh\x94\xf3\x1b\xba\xf0^D\xb860M\xff\x94\xdc\xc4\xd5\x1a\x8d\xf2\xfd[:-c\xf3\xcb\x1e\x00Q\xa2\x98\xec0\x15\x1b\x8dda\xf3\xeb\x97k\x0eD\xaa\xa6\xf4!\xee\x10\xea\xc7\x8d\xad\xcd\x1b\xb8&i\xce@\xe7\xc8\x16\xdbPG\x03\x9d\x8a\xf6\x86\xd2\xbc\xe9\xea\x8f\x8f\x91\xea\xc2)U]\xe6E\x86\xf8\xaai\xb9\xd5\x07\xe9\xfd\xbf\xb2\xef0\xf9\xb9\xf3Y\xab\xd8\xbe\x85\xd3J\xd6\xbe\xe9#\x01\x89\xd7\xcb\xf2\xca\xda\x94+\x00}Kf\xe6Wt\xd2\xa5\xea\xdc\xfc\x9a\x17e\xb9\xbeH\x96C\xf9r^H\x99\x0dj\x85\xf1Uh\x15\xa3D\xeb\x1c\xff\xf4\xa5\xeds|\xd5\xec\xda\xdf\xaa\xd3I\xf2U\xa1\xd7\xc6\x97\xa0\x11/\xa0\x91>\xfa\xd3\x8b\x1e\xdb\xabl\xff(2\xd3U\x9eWNv\xcd(\x8ck\xaf\xd1\x1c\xb6\x84\xedU\x8d%\xbe\xa2\xea\x08\xdf\x06\xa6\xe9uj{\xb9\xee7\xbd\x961\xf9e\x0f\x80(QLv\x98\x8a\x8dF\xb2\xb0\xf9-m\\\x92?\xa3V\xb9\xd8b\x1cB\xed\xb8q\x87\xc5\x1b\xb8'\xe94\x00\x03\x1d\x00H\x95\x11!i\xf8\xafJ\x00H\x95\x11!i\x00\x00R\x05$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9eb$I\x1an\xf5\x06\x00G\xdc\x93\xb4n\xa0\x83\xd0\xc0\xae-\x81-\xbb\x06\x1c6\xb03\xd0\xd1\xb9\xf4\x86)\xe9x\xde0\x88Mf:\xc9\xff\x0c\x92'\xd8\x1a\x8e@\x89\x869\xd3|\xd3\xeei$O'\x91\xab\x12\xd4\x09\xc7\xf4\xbf\x84Cm\x83\x90\xce\xd2\xdc\xb2Py\xd2\x7f\xa4\xda\x93\x86\xa5\x0d0\xcc\xb8&i\xc3@\x07\x9dk\xda\xdas\xb4gK\x93\xfd\x93M\xec\x0ct\xd26\xc5\xb9\x88\xa4\xe3y\xc3\x206\x99\x19\xd8\x17-Xt\x98s\x04\x8a\xc8\x0b\xda\xba\xda\x17\xcaQ\x14\x8f\xc8\xb9Q\x14\x0b\xc9\x11\xf3\x03#\x84m\x18\x9a/\xcc\xebrm\xe7Z9\xdd\xc7\xf8\xa7ai\x03\x0c3\xaeI\x9a1\xd0\x09\xb7\x90\xe7\xfe\x0c\xb6\x84m7\xb03\xd0I\xdf\x14\xe7\"\x92\xba\xe7\x0d\x83\xb5\xc9L\xe1Z\xc49\x02\xad.\x20\x02\x8eOYM\x9e\x08X[\x87\xd0\xc7r\xf2v\xa26\x0c\xc9\x17\xa6On\xc0\xaf\xab\xd3\x954J\xc7\xff\x02\x18V\\\x934c\xa0\xd3\xb1\x95\xae\x08\xda?\x9d\xdf\xce@'\xe9\xa9\x9f\x97=\xd6&3T\xd2\x8c#P5}\xbe&\xaa\xa8!\x92\x8e\xe4\xc7\x84\x92\x161\xa4\x07_>5\x9d|\x81\xfcI\xe6\x1f\xcf\x97\x0a\x20\xe9\xcb\x04\xf7$\x8dt\x03\x9d3M\xe13\xf13\xe1\xa63v\xb1v\x06:\xe9\x99\xe2\xe8\xf67HhSC\xe6\xaa\x8d\xa8QV&\xe5Z\x09\x16\xce2ix\xde0\x01\xbc\xc9\x8c\x09*i\xc6\x11\xa8Jy\xb2\xe6\xa2*\"\xe9\x8f\xcbCI\x926\xda`a\xd7\xc3y\xff\xe8\xf0N8\x1a\xd3\xd6\xd2\xb7\xd7\x8f[l\xc6fG\xe8\xa5\xc3x\xd3\x20\xab\x03\x00\x0c'.J\xda0\xd0\x89u\xe0\xa5\x0e\xfb#og\xa0\x93\x96)\x8ea\x7f#\xb6\xa9\x89E\x0b\x1a\xfe\x86\xfe\xd6P\x10\x8d1%X9\xcb\xa4\xe1y\xc3X\xf0\xb0&3f\xa8\xa4\x19G\xa0\xb2et\xf5\xb22*\xe9\xd6\x05\xc9\xbd\xb4\xde\x06\x0b\xbb\x1e\xd6\xfb\xc7\x80w\xc2QQ\x1f\x96\xaf\x20\xda\x8c\xcd\x8e\xd0K\x87\xf1\xa6\xb1:\x00\xc0\xb0\xe2\xa2\xa4u\x03\x9dxGKO\x7fOK\x87\x9du\xa5\x83\x81N\x1a\xa68\x8c\xfd\x8d\x85MM\xfdR\xfc\xb2\xac\xde\\\x82\xd0Y\x06\xa5\xeey\xc3\xd9\xc98\x0c\xbc\x19G\xa0R\xe5\xf9\x89\xb5\xa5T\xd2\xa7sO\x8b\x06\xde\xda\xd3p\x85v=\\\xc5:&o\x1a\x85\xc3\xca\xc5\xf4x<n\xb5\x19\x93\x1d\x0b/\x1d\xe3\x01\xc1V\x0eF\xc0p\xe2\xa6\xa4\x91\xfa\x1c\xefp\x0b\xbd\x00\xd4bg0\xedd\xa0\x93\xb2)\x0ek\x7fcaS\x13\xc9\x8d\xa1X^\xd4\\\x82\xd0Y\x06\xa5\xeey\xc3\xd9\xc98I\x1a\xe9\x8e@j/\xbdT\xe9\xa5\xd1\x82V[I3\x15\xeb)\xe1*6\xe0\xbdi\x14\xfeN{\xe9e\xf4w2\x8b\xcd\x8c\xecXx\xe9\x18\x92\xb6r0\x02\x86\x13\xd7$m\x18\xe8$\x02\xfb\xb5E\xcbh\x07\x03\x9d4LqX\xfb\x1b\x0bG\x95Da'\xea,L\x98K\x10:\xcb\xa0\xd4=o8;\x19\x07I3\x8e@UJ\xf3\x17*si\x14*\xb3\x954S\xb1\x9e\x12\xaeb\x1d\x937\x8d\x0a\xad\xfdt\xa7\xbc.n\xb1\x19\x93\x1d\x0b/\x1d\xa7\x03\x00\x0c/nI\x9a1\xd0\xd1$\xfd\xa1\x8d\xa4\x1d\x0ct\xd20\xc5a\xedo\xacljV-D\x8b\xe8\x158\xde\xd5E\xe4,\x83R\xf7\xbc\xe1\xecdD\x92N\xd0\x89/\x15\x15\xe3\x08T\xad|\x93\x94\xd7(\x92\x8e\xe5E\xd2\x914I\x09W\xb1\x8e\xc9\x9bF\xe5\xa9\"\xf2\x85\xd7I\xae4\x887c\xb2c\xe1\xa5cx\xd3X9\x18\x01\xc3\x89[\x92f\x0dtv\xa8\x03\xef\x1d\x96\xc1N\x06:\xe9\x98\xe20\xf67V65\x07\xfc\xa7\xfc\xc4\x07\x83/A\xe8,\x83R\xf7\xbc\xe1\xecdD\x92n#\xaeUg\xe5\xd7\x11\xe7\x08\xb4:\x9ff'\xaf^\x914\xaa[\x96\xa2\xa4\xf5\x94p\x15\xeb\x98\xbciT\x94\xdf\xa5\xab\x89\xa4\xc5\x9b1\xd9\xb1\xf0\xd21\xbci\xf8\x03\xf0\xf1F\xb8\xbd\xecR\xe0\x9a\xa4\x19\x03\x9dXsK\xf7\xb1\xee\x96f\xebK\xdeN\x06:\xe9\x98\xe2\xb0\xf67\x1665\x89\x1953\x94\x11\x83^\x82\xd8Y&-\xcf\x1b\xc6\xbf\x855\x99a\x1a&/\x08\xbdYQH\x9c\\\x18G\xa0\x88\\\xd3\x19\xed\xac\x91;\xc9\xddc\xa1\x18\x8a\xe6\x99$m\xb4\xc1\xc2\xae\x875\x8e1\xe0L|\x0cZ\xe5\xfa\xaez\xe5\xee1\xe1fLv,\xbct\x18o\x1a\xee\x00,\x94\x17\x98\x8b\x02\x86\x01\xd7$\xcd\x1a\xe8\xc4\xf7l\x09l\xddcm\x8b\xe5h\xa0\x93\x96)\x0ec\x7fceS\xd3\xea\xd7\xee\x9e\xd2J\x10;\xcb\xa4\xe3y\xc3\x04p&3\x0c\x9d\xe5y\x05\x8f\x1e&K\x8c#P\xa2aN\x81\\0\xa71\x81\xc5M~\x0dNT\x14\xf1_\x05F\x1b,\xecz8\xef\x1f\x1d\xce\xc4\x87\xa1\xb34\xaf\xa2\xab\xa4\xcbj3dd\xc7\xc2K\x87\xf5\xa6a\x0f@\xfbt\xe6\x072`\xd8pO\xd2i\x00\x06:\x00\x90*#B\xd2\xf0_\x95\x00\x90*#B\xd2\x00\x00\xa4\x0aH\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\xda]6_0N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d@\x86\x01\x92v\x17'\xc1:\xe3T\x03\x90a\x80\xa4\xdd\xc5I\xb0\xce8\xd5\x00d\x18\x20iwq\x12\xac3N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d\x97\x92K\xfbD\xa2K[\xdb\x88\x01$\xed.N\x82u\xc6\xa9\x86KF\x7f\xe5u\xd2\\\x84\xe6I9\xf3{\x9cb/\x1c\xb56\x20\x09\xefK:8\xf9\xa4S\xc8\xa5\xe1\xcc\xe4`\xf2J'\xc1:\xa3\x16\xe4\xfan&&N\x0ct\x1c%\xffa\x17\x98\x983@W\x09\xf7\xf8\xe2\xa0\xd5\x06$\xe1\x9e\xa4\x19\x03\x9d\xc4\xfe\xad\x81\xad\xf6\xdf\xec\xff\xbb\xe1;\xb3\x9f\xfe\xc26D\xcc\x1ai\x85\xbatd\xb44\xd164\x897\x8a1_\xff\xfe[_:\x05j|2\xab\xf8\x01\xeb\xbf\xae\x19\xf5\\\xd2\xbaoK\x84\xeb\xff\xaf\x93pu~v\xa5t=\xb7B-[\xdfM!\x1d9C\x12\xd7\x99\x1f\xe4d\xdf\x9e\xe2\xf8\xb6[\xda\xa6-\x86%\xe595\xc2=\xbe80\xb5\x01<\xaeI\x9a1\xd0I\x04\x03\x1f\x1e\xd9\x1b\xd8k\x17\xfe\xe4}o\xbd0\xfb3\xbb\x081\xebG5\xe9\xcb\xbb+\xb3l\"\x05|\xf6\x9b\xe2\xb7?z\xff\xf9\xe2\xd7\x9c\x025\xbe\xfc\xdd\x86;m\xfe\x1c\xbcb\xbdy\xd5+\xdf\x96\x1e\xfc\xc9\xe37KwY(8\x99\x9f\xdcr%\xf7\x99\x16\xc3\xee\xa6\x88`\xf6\x96\xe4\x95;l3N\xb8\xed\xba\x97*\xb3\x1d|\x8d4\xf6Hacq\xb7\xba$\xd8\xe3\x8b\x03S\x1b\xc0\xe3\x9a\xa4\x19\x03\x9d\xfd\x813t\xc5\x80u\xf4g\xc5o\xa0/\xfea\xfdw+\x8e\x8c^\xcc|Z\x91\xaa\xa4ONUF\xb1\x1f\x14\xff\x11\xebtC\xf1_\xec\xc3\x19^\xb3\x934Z\x9ee\x1e+n~B\xfa)\xd6\xe5\xad\xd2\xcf\xc4\x02\x16\xf0\x7f\x92%\xcd\xef\xa6\x08QW;y\x9e`%\xcb\x19i=J\xd8\x1c\x15\x0eC\xc7\xecb\xf2\x1e_\x1c\x98*\x00\x1e\xd7$\xcd\x18\xe8\xa8\xce9M6\x9d\xc6'\xc5\xefY\xff\xd1\x86\xca\xeb\xd832eIwK\xdd\xf4\x9dJ\x1a}~\xf7\x06\xfbp\x06{I\x0f\\WiZ\xa3J\xfa\x97W\xdd*\xd6\xaf\x00\x81\xa4\xf9\xddL\x95IN\x92>$\xa51\\\x17K:y\x8f/\x0e\x20iK\xdc\x934\xd2\x0dt\xb6*c\xa8\xa0\xd5\xec\xe8\x8b\xef\x14S^FhCq\xf1;\xea\x8cuC\xf1\xac\xb7^~`\xf6\xd3\xffCc>y\xe6;\xb3\xeeS\x97\x0d\xe2c\xb5\xde\xab\x7f\xfe\xb8\xab\xbf\xa5\x0e\xbc\x9b&gOxD\xd1\xc0\xa1o\xe5\x8c\xbe\xee\xf6~n\xa3\xf5\x13\x82=ROp\xc2K\x9a\xa4\xd1\x86\xef\xe0\x97/\xdf\xfe\xf1\xdd\x0f\xbc\xfc\x99\xd61\x82\x00\x00\x0f\xfaIDAT9\x0d1j\xfb\xf2\xad\xc7f?\xfc\x06\x9dl\xff\xcf\xf3\xdf\xbd\xf7\x19e\xe0\xad\xc7\xfeqVq\xf1\xa6O\x9e\xbf\x7f\xf6\xd3\xff\xa4\x1b.\xcf6=`M\x95\xf4\xe6[\xc7\x90\xd7\x07o\xbc\xea\xfao\xfc\x92*\xf5g7\x8f\xb9r\xccW\x7fN\x16\xbfw\xc3U7|\x8f\xae\xfc\xf9\xd7\xae\x19s\xb3:\xf0\xd6b\x91\xb1\x9b-xZ\xbe\x02\xad\xc0\xaf-l\x1d\xe7\xb2%iT3Y\xfa\x814:\xf0\xc8\x84\xec\xdbq\xcf\x19\x94\x14&\xd1\x10-%\xfb\xaf\x90\xa4\xe5\x87\xe6\x8f\xcf\xbe}0\x9e\xa3\x04<BJ\x987n\xf4\xb8\xb9\xea\x04\x99\xc9\x19\x93I<\x81\xd6E\xd6\xcd\x8c\x8a\x93\xf6\x18\x09kc\x16q\xc0K\x93\xb2'\xe1\xf4#~-K\x18$m\x85\x8b\x92\xd6\x0dtv5\xd1g`\x06\x04\xd3=\x85?|\xf4N\xf1k\x1f}\xf4W,\x9b\x8ff\xbd\xa6\xceX\xff\xfb\x9dY\xc5\xf7\xbd\xf6\x9b\xbb\x9f!\x11\xffy\xf7c\xbf\xf9\xe05<:\xe7\xd9\xab\x9d[\x87\xc6N\x08\x04o\x93\xa8\xa4+G=\x14\\\x9f3\x89\x0cE\xc3c'\xad\xe9X!\xad\xe16\xea\x9f/M\x94n\x92\xe6\x1d\xd3%\xfdV1\x1e\xf3\xbfP\xfc\xf2\xfbo\xdc\xf70\xb9D\xc7\xd4\xf6\xc2\x9d\x9b\xde\xdft\xe7\xf3x\xe9\x93\xbb\x1fx\xfb\xbd\xa7\x8b\xa9\xa4\xf5\xd8\xcf\xdfy\xe7\xfe\xef\xdf\xfd\xdd\x97\x9f\xff\xfa_i\xd9\xbb\xccg\xa2&\xe9\xefIX\x9d\xb7H\xb7>\xfe\xbd17\xfc\x0a\x7f\xfe\xc9U7|\xfb\x89\xbb$\xa2\xe4[\xae\xbc\xeb\xf1\xbb\xae\xbc\x85\xc8\xfc\xaa\xeb\x1f|\xfc_%*i=\x16\x19\xbb9\x10\x1e\xbb\xfc$:\xb9\xfc\xea0\xdfi\xef\x0d\x87\xb3\xe8\xd5\xb3\x9e\xe6+\xa4\x9c\x15k\xc6~\x8bxz\x87'L\x0d\x87\xc3\xf4\xaa\xa4\x9e\x92XK\xf3W&\x8c\x1d\xf7\xc8|\xe9(\xda\x1fn\x96V\x84\xc3D\xbbA\xa92\xdc2w\xd4\x1e\x12\xcb\xe4\xcc\xc8\xe4\xe0\x89\xf0\xe4\xab\xf5J\xe39\x93w\x1dS\x87\xfaI{,\xae\x8d\xad\x18Uf-\x0f.\xcf\x9a\x8f\xb8\xe60\xf0\xb5\x01<.JZ7\xd0\x19h\x0a\x9e\x8c\xf5\x07\x03-\xd6\xa1\xc6\xc0\xfbNr\xadJ\x19\xde\xdey/\xee'\x9f\xbf\x0f/}~\xff\xd3\xb8K\xfc\xe2\x1d\xf3\xf5\xb3\xa0tDY\x98:\x9e\\\x86\x9b\x94E\xd7\x05\x10\x19\xb8\xe1n+6\xee\xf68y\xda\xb0\xd9_o\xdbhi4\x1d2\xa8\x92~\x1fO\xa6\xdf+~\x1b/\xfd\x1e\x0f\x12\xd8\xda\xde/\xfe\x80\x86\xbd\x8f\xd0\x8f\xbfOV>LZ\xc6\xc4\"\xf4p\xf1\x93\xff@_\xaa\xd7\x01\x8eJ\xa6\xef-M\xd2O\xe0\xc9\xf4\xe3\xd2\x83x\xe9\xdf\xa5\x1f\xe2\x81\xf85\xff\x8a\x85\xfd\xcb\x1f\xbeB\xfe\xf2\xc4f\xf5\xf5\xc6k\xb1\xee\x7fu\x03\x91\xb4\x11\x8b\x98\xddD\x95d,=O0\xd6\xcdV/\x88g]\x8d\xc51?\x87.\xeb\x03o&%x\xadt\x1b>&\xf4\x9a\x98>\xf0\x1eh!\x02\xba\x89\xfc\x0e\xcc\xe4\x8c\xd9l.\xee\xce\x99A\xfa6\xfc\xf1\x9b\xcab\xd2\x1e[\xd6\xa6/n\x93\xc8L\xacC\xb9\xa6\xcd\x04\xe8\x98j\x038\xdc\x944R\x9f\xe3\x8d\xce\x04q\x7f\xbd;hs\x94\xc4\x92~A[|\xbf\xf8\x0f\xc2\xcd\xb6\xaa\xe7\xfa9z\x16\xa1\xe5D\xd2\xf3\xc6\xc7\x071\xe3*\xc9\xb9\xb3_\xb0\xd1\x99GF\x8f\x93\xc6e->\xa3K\xfa\xed\xe2\xcf\xd0\xf3\xf7\x7f\xf1O\xccw_\xe0j{A\xf9\xcd\xea\x81\x0d\xe8\xb3\xe2\xb7\xc8\xd2&\xd2\x1c&\x16K\xfa\xce\xbf\x1ae\x1fUNd\x03M\xd2\x0fJ\xafl\xbe\xf9\xda_\xfe\x0as\xcd-\x9b\xb5\xb5\xb4;V~\xb3\xba\xfe\x96\xcd\xaf\xd0N{\xf3]D\xd2F,2v\x13w\xa1\xd9\x03h\x20[\xf0@t]\xd2D\xee\xea5\x05]\xd2LJ\xf0Z\xe3\x82\x961\x97>\xf9\xd2\xed\xe3\xc7J7!.g\xccfG\xb7\xe9?Fc\x06r\xc6\xaf\xdf\xa16)i\x8f-k\xd3\x17+o\xa2o\x13\xcd\x01:|m\x00\x8fk\x926\x0ct\xc8[\xecL\x025\xd9xb\x89%\xad/\xbeQ\xfc\xb9p\xb3\xdd\xea\xa8O\x1d\x99\xd2Sy\x92:\x89\xc4]\xcezI\xf4\xe8\xf059\x01<\x97^\x9f\xf3\x9c.\xe9_\xdcM:[\x85\xa7\xb9\xda~\xfc4}{\xfa1\xdc'\x7fD\x96hs\x98X\xfc\xe11\xa6\xec=\x92i'5\xf1~\xe3\xaa\xcd\x9boP[\xf6Uu\x1c\xaep\xe3W\xe9\xdbWo\xdc\xfcS\xe9'\xba\xa4\x8dXd\xec&\x1e\x92\xe6lE[s\x12(\x09]\xd2\xe4\xdd,i&%\xf8\xc3$}#]\xd2{\xae\x1b\xb7xk\xf86\"5&g\xdcfxv\xbbG\xfb\xc3\x1e\xc9\xb0\x0aO\xdac\xcb\xda\xf4\xc5\xa9J\x07\xff\xcd\xc9\xa6\x00\x16\xa66\x80\xc7-I3\x06:\xf8D$K\x87\x02\xfcU*\x0e\x93\xa47\x99$\xfdA\xf1\xef\x85\x9b\x0d(SHtF\"\x17[\x10\xbd<6\x7f\xfc^\xcaI2\xb6\xfbP\xb4U\x9c^\xf1&\xf3{E\xd2_\xdc\xf7\x0c\xe9y\x7fO\xf9\x8c\xab\xed\x85\xfb\xc9\x95\xb1/\xef\x7f\x01\xfd\xaf2\x91\x7fA\xe9\xa5\xf5X,\xe9g\x98\xa2W\x8c6\xfd\xca\xab]\xf1\x1es\xf3\xe6\xcd_\xbb\xf6\xa7\x94\x9f\xf3\xbd\xf4\xb5\xf4\xedZ\xbd\x97\xa6\x97\xc7\x8cXd\xec&\xe6\xa1\xb9h\xeeC(\x19KI\x07\x8er)\xc1k\xbf\xa5o\xa4Kz\xe2d\xd2'~\x8bH\x9a\xc9\x19\xb7\x99\xc5\x15\xef\xe4=\xb6\xacM_\xac\x1cO\xdf\xc6W\x9a\x02X\xe0\x8a\xb7%nI\x9a5\xd0\xe9\x09\xe0\xa3{\xae\xd9\xee\xde\x01C\xd2\xb3\x7f\x815\xf6\x98I\xd2\xff\xb8\xefIr\xd9\xea\xe5\x97\xcd\xdb\xcd\x1b\xaf\xf4X\x93\xc7\xe1a\xf4\xa1,r*w(\x97\x83\x97?G~a\x99J\x84\xfbP\x92\x06\x8e]}\x8c\xbe+\x92\xdeD$\xfc\x8123\xde\xf4\x1b\xae\xb6\xf7\xe9\xdaw\xc8\\\xfa\xb1\xfb\xb1\x82\xff2[\xf9\x86\xd1cyI'&~\x13\xf1\xa8\xe2\xbd\x8b\xbc>Af\xd1x\xf9\xdb\x9b7\xbf2\xe6_H7}\xeb7\xc8\xac\x99\xac\xfd\xa1\xf48\xee\xb0\xafy\x85\\##\x926bI)\xdan\xe2\x0e;\xab?Kt\xb2\x8b$=u*B'H6\x98\x94p?m\xe9\x92\x1eGt\x95\x98D$\xcd\xe4\x8c\xdb\xccB\xd2\xc9{lY\x1b3\xb5'c\xf5f\xa5r\x8b_\xda@\xd2\x96\xb8&i\xc6@\xe7P`\xcf\xb1\xfdMA\xeb\xc9\x91r\xc5\xfbw\xf4~\xd0\x1f\xdf\xf7\x9b\xd7\x1e+\x9e\xf5\xf6\x7f\xff\xf5\xa3Y\x1b~\xf7\xe5\x1f6\xcc\"W\xc2\xffs\xf6\x03o\xbd\xff\xb22\x9de94J\xb9\x9a\xdd\x9d=n\xc5\xf2\x9cQW\x90;[\x16K\xf3Z\x82\x95\x12\xb9\xddjG\xd6\xc4\x97\xb6=\xa4L\xb4\x05pw\x8fm\xfa\xfa\xf3\xef\xbc\xf7\x02\x15+S\xdb\xf3\xc5\x9b\xde\xdbTL\xaex\xffq\xf6w_\xdbt/i\x19\x13\xfb\xcf\xff\xfa\xe8\xfbO~\xf4\xd1'j\x81k$\xf3o\xef\xf4\xee\xb1'nQ\xee\x1e\xbbK\xfa\xda\x0f\x1f\xbf\x85^\xf8\xfa\xc9U\xd7\x7f\xef\x89[%r\xa3\xe8\xd7\xa4\xbb\x1e\xc7\x7f\xc1K?\xbd\xea\x9ao\xdf5F\xba\xf2\xc1\x9f1\xb1\xa4\x14m7\xb1\x84\xc6\xdd>\xce<\xee\x8e\xef\x0e\x87\xb3*\xc3\xe1s\xa8?<\xbar7\xda[9\x9a^\xc7^\x91\xb5f\xebm\xd9\xe4\xcbKO\xc9\xe0nz\x1d\x9c\xce\x83\x95+\xde\xbbIi+\xa4y/=7I\xcaY\xb3\x9b\xcb\x19\x93I2\xb9\xd1G\xd8\xc6D@\xb0\xc7\xe2\xda\xd8\x8a\xd1\xfcQ\x8b\x83\x8bG\xcd7\xad\xe5\xd8\x9b4\x9e\x07T\\\x934k\xa0\xf3aK\x20\xf8\xa1`\x02\xa8\xf2\xf9\xbdtf:\xeb/\xe4\xc3'O\xce\xbe\xfb\xe9M\xc5\xc5\x1b6\x90U\x7f\xb8\x1b\xbf\x92\x1bA\xfe\xf2\xccw\xef~\xec\xbd\xe4m\x97g)\x87\xfe\xd0\xdc\x9c\xf1\x8b\x03WH?\xc0\xcb\x1d\xb7\xe5\\=U\xf9\x11\xfc\xd0\xbcqc'oM\xdeL\x81\xde\xe3]|\xbf\xfaE\xf1\xc1\x93\xdf\xb9\xf7\xc7\xef\xd3E\xa3\xb6/\xdexx\xf6\xc3o\xd0/\x9bO\x9e\xbe\xf7\xfe_\xbc=\x8b6G\x8b\xfd#3\xa9&\x17\xaf\x92n\xf2R\xee\xf1\xbeV\xf9\xd9y\xf3\x13\xff2f\xcc\x8dO\xd0\xc5\x9f\xdd|\xcdU7>N\x96~E\x7f\x97\xfe\x15]\xf9\xd51\xd7~\xe3\xc1+\xa5[\x99XZ\x8c\xb6\x9bx\xae\x9b\xc5\xff$\x87\xd93J\x99\xbc\x06\xd0\x0f\xf0\xeb\xe8\xeel\xfcJ\xf2\x10\x7f('{\xaa2%\xd5R\xb2_\x09%=k\xfcj\xbax\x05\xf9\x95+\xb1fBV\xce\xbc\xc0\xf8\xd1\xb8_gs\xc6d\x12\x9d\xb8b\xde\xfe\x13\xf8\x20\xc6\xfb\xf7\xce\xcb\xd2\xe6P\x82=\x16\xd7\xc6,\xe2\xea\xd6\xdf\x94}\xd3K\x09\xd3Z\x0e\xad6\x20\x09\xf7$}\x89xht\x8bS\xc8\xa5\xa2yt\xa5\xf9\x8e\x89\x8b\xf6\x9fX\x97\xc1nn\x9dH/y\xcd\x95\xa4\xafh\x17\xcaE{|\x91Pk\x03\x92\xf0\xbc\xa4\xd1\x9aq'\x9cB.\x0dg\xae{.y\xa5\x93`\x9dQ\x0b\xba\x1cv\xf3\xc4~\xdc;\xf7\x7fxL\xfb,\xdc\xe3\x8b\x06\xad\x0dH\xc2\xfb\x92\xbe\xbcq\x12\xac3N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d@\x86\x01\x92v\x17'\xc1:\xe3T\x03\x90a\x80\xa4\xdd\xc5I\xb0\xce8\xd5\x00d\x18\x20iwq\x12\xac3N5\x00\x19\x06H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\xda+\xc0\x0d\xcf\x00\x05$\xed\x09\xc0N\x06\xd0\x00I{\x01\xb0\x93\x01t\\\x95tw@\xfd\x97\x9d\xfe`\xa0\xc3\x9d{\xf0\x19g\x19\x0b\xb7\x18{S\x9c!\x13\xbc:\xf5\x07\xe2i\x8d\xac\x94$)\xfb\x90\x20\x00\xecd\x00\x1d7%}.\xb0K\xf9\xef\xf9c\x81\xf0\xa1p@\xff\x07\x9eK\x09\xe3,c\xe1\x16\xe3`\x8a3T\x16KN\x06\x19\x06Z#\x8f\x86\xc3/\x09\x9f\xe6\x01v2\x80\x8e\x9b\x92\x0ev\x1c\xa3\x92N4\x93\xff\xdf\xdf\xd5\xec\xca\x05\x1e\xbdRk\xb7\x18{\x07\x8d!\xb2\\Z\xee\x14b`dF\xfc\x80\x1exl\x0f\xa0\xe3\xa2\xa4\xbb\x9b\x06\xfa\xa9\xa4{\x02\xe4\xa1\x93\xd4\x1e\xcbE\xac\xddb\x86E\xd2+\xec\xad&\xad\x00I\x03\x0e\xb8'\xe9s\x81CH\x91t\x872\x11\xdc&x\xfc\xf4\xf0b8\xcb\xb0n1,\"S\x1cda\xd7#r\xcd1\x1b\xe8\x18\xacQ<>\x8e\x8eU*\x96\xc6\xb2\xf3\x0e\xc6\xe8\x86i$A,^\xb0\x93\x01t\xdc\x9341\xb7S$\xbdUyn\xd6.\xcbg\x80\x0d\x1b\xba\xb3\x0c\xeb\x16\xc3\x204\xc5\xb1\xb2\xeb\x11\xb9\xe6\x98\x0dt\x0c\xd6K\xd4\xa65\xde\xb4^!\x10g\xfe\xc8\x18\xdd\xb0\x8dDBI\x83\x9d\x0c\xc0\xe2\x9a\xa4{\x88\xf7\xac\"\xe9&\xe5\x91v{\xec-\x92\x87\x09\xedi\xb8\xc2\x81\xb7\xd8\x14Gl\xd7c\xe5\x9a\xc3\x19\xe8\x18\x04\xd4\xe7\x92\x9e8\xa2`z\xcc\x10kt\xc34R$\xe9\xb9\x12\xd8\xc9\x00\x06nI\x1a\xcf\x9c\x13\x89\xc4\xd1\xa6DBw\xae\x0c_\xfa^\x1a\xd9K\xda\xc2\x14Gl\xd7c\xe5\x9a\xc3\x19\xe8\x184)\xcf\xca=\"i\xf0O\xb6e\x8dn\x1c$\x0dv2\x00\x8b[\x92>\x12\xd0\xe8G\x1d\x8a\x96\x82\x97|.M\xb0\x93\xb4\x85)\x8e\xd8\xae\xc7\xca5\x873\xd01\xd8u\xb5\xa2\xcdpP\xc1\xf4+\x14\xfb\x08}\x07I#\xb0\x93\x01\x18\xdc\x92t\xe2$\xa1;p\xf2d\x02\x8f\xc1\xc9\xaf\xc1\xe7\xdc\xb9\xe2m'i\x0bS\x1c\xb1]\x8f\x95k\x0eg\xa0\x932\xe9I\x1a\xaex\x03:nIZ\xa1_\xfd]\x9atQ;\xdc\xf9]\xdav.-6\xc5\xe1\xedz\x8e<\xa7\x0c\x99\xad\\s\xac$m\xbf\xb7\x20i`\x88\xb8)\xe9D\x7fw\xa0\x9fx;\x1f\x0d\xec8\x12&~k\x97\x18\xc3Y\x86u\x8ba\x10\x9a\xe2\x98\xecz\xe6J\xb7+\xc1\"\xd7\x1c\x93\x81\x0eCp\xac\xcd%-\xd6\xe8\x86i\xe41r\xf7\xd8\xfap8)S`'\x03\xe8\xb8)\xe9~2\x95\xa6\xbf\xb8\xf6o\x0b\x04]\xb8\xc7\xdbp\x96a\xddbXD\xa68\x88\xb7\xeb\x09\xe4h\x96Z\x02\xd7\x1c\xde@\x87e[\x8e\xcdm\xd9\xac\xd1\x8d\xd1Hz\x8f7!\xc9\xf9\x0d\xecd\x00\x1d7%\x0d\\4\xc0N\x06\xd0\x00I{\x04\xb0\x93\x01\x14@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)\\\x95\xb4n\xa0\x83P\xd8\x95G\x9a\x8c\x14\x86\xc9\xc4\x07\xf0\"nJZ7\xd0A\xe8D\x20\x13\x1e\x9e\xb5c\xafS\x84\x05\xc3d\xe2\x03x\x117%\xad\x19\xe8\x20\xd4\xdf\x92\x11\x92\x9e\x9c\xf4\xec\x82\x94\x19\x16\xc7\x0f\xc0\x8b\xb8(i\xdd@\x07\x85\x03\xe1\x8c\x90\xf4$\x9040\xec\xb8'i\xc3@\x07\xc5\x06\xb4\xc7\xf3{\x82\xfdWH\xd2\xf2C\xf3\xc7g\xdf>\x88?5M\xce\x9e\xf0\xc8\x00\x1e\x93\xa8O\x19\x9aD\x9eC4\xaa\x09\x1d\x19-M\xe4bY\xd7\x1c\x96\xe13\xf1\x01\xbc\x88{\x926\x0ct\x08^\x92t\xac\xa5\xf9+\x13\xc6\x8e{d\xbe\x84\xd5Y9\xea\xa1\xe0\xfa\x9cI\x094\xb0+<aj8L\xae\x03\xf6\x87G\xaf@hwe\x16\x17\xcb\xb9\xe6\x18\x0c\xa3\x89\x0f\xe0E\\\x934c\xa0C\xf0\x92\xa41\x93\xa4\xdb\xce\xe1\x81\x08\xe9\x9b\xc9\xc3\x06\xf7H\xf4\xa9\x89\xc6\xc0\x9b}\xa6\xaf\x1ekr\xcdQ\x19F\x13\x1f\xc0\x8b\xb8%i\xd6@\x87\xe05Ig\xa9\xc3\xe7y\xe3\xe3\x83\x98q\x95t\xadX\xd2Z\xac\xc95Ga8M|\x00/\xe2\x96\xa4Y\x03\x1d\x82\xd7$=I[Pg\xd0\xf4\xf1\x9d\x16\x92\xd6bM\xcf\xe3W\x18N\x13\x1f\xc0\x8b\xb8%i\xd6@\x87\xe05Ik\x13\xe2\xf9\xe3\xf7RN\xd2\xb5D\xd2\xd4\x82\x80\x8awy\x16\x1f+\x94\xb4\x8b&>\xc0\x88\xc4-I+xw.\xad\xf5\xc7\x1dR\x0by[\xfe\x1cy\x9d:\x15\xa1\x13tE\xf6b\xfc\xad69\x8b\x8f\x15JzXM|\x00\x0f\xe2\xa6\xa4u\x03\x9dX\x7f\x7f`G\xbf\xc9ay\xe42\xb8\x9b^\xdbVT\xb6X\x9a\xd7\x12\xacT\x9cgWd\xad\xd9z[\xf61\xbc45\xe7\xb9\xe7&KW\x04z\x98X\xd65\x87a\x18M|\x00/\xe2\xa6\xa4u\x03\x9d\xbd\xca\xac\xfa\x9c\xd3\x06#\x84\xfd\x8a\xe5\xcd7\x95O\x1d\xb7\xe5\\=U1\xcb\x89?\x94\x93=\x95\x0eG\x0eM\xcd\x1e{\xfbbI\xfa\x01\x13\xcb\xba\xe6\xb0\x0c\x9f\x89\x0f\xe0E\xdc\x944\x00\x00\x17\x1d\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x8a\x8c\x96\xf4<)g>X\x02\x00\xde\"\xa3%\xdd\xbf#01g\xc0)\x0a\x00F\x12\xaeJZ3\xd0\x19\x08\xb7\x04\x82\xfb\x07\x1d\xa2\x87\x85\xb0\xb4\xdf)\x04\x00F\x12nJZ3\xd09\x17\x08v\x1f\xd9\xdb\xb4\xd5\x0dM\xef\x91v;\x85\x00\xc0H\xc2MIk\x06:;Z\xc8\xf3\xc7\xce\x04\x86\xea\x18u!\x80\xa4\x01\x8f\xe1\xa2\xa4u\x03\x9d\xad-\xf4\xf3\x0e\xdd\xc6\xf2\x12\x02\x92\x06<\x86{\x926\x0ct\xfa\x8f\xd1\x15\xbb\xb6\xd8\xc6\x0f\x0f\xddR\xd8)\x04\x00F\x12\xeeI\x9a7\xd0A(\xd1\xec\x86\xb8\xe29\x93w\x1dK8E\x01\xc0\x88\xc15I\x9b\x0ctp'\x1d8c\x1d=|l3\x1e\xfc\x07\x00\x1e\xc0-I\x9b\x0dt\xd0\xee\xc0\x11\xdb\x0d\x86\x89\x81\x9c\xf1\xebw\xb8R3\x00\x0c\x0bnI\xdad\xa03\xb8#\xe0\xcem\\{\xa4\x0e\xa7\x10\x00\x18I\xb8%i\xde@g\x20\xd8\xc4=\x8e\xfe\xd2\x01W\xbc\x01\x8f\xe1\x96\xa4\x15\xd4\xb9\xf4\x99\xe6-\xe7\xb0\xcac\x0e\xd1\xc3\x01H\x1a\xf0\x18nJZ3\xd09\x1ah>\xd2\xdf\xdf\xbf\xab\xc5i\x83a`7H\x1a\xf0\x16nJZ3\xd0\xd9\xa6\xce\xaa/\xf9\xad&\xf1\xfe\xbd\xf3\xb2\\\x1a\xf1\x03\xc0\xf0\xe0\xa6\xa4]g\xae$}\xe5\x92\x7f\x8f\x00\xc0\xb0\x92\xd1\x92\xee\xff\xf0\x98S\x08\x00\x8c02Z\xd2\x00\xe0=@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)\xfe??\xe8B\x81\x97E\xcd\x14\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/ident-field.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xde\x08\x03\x00\x00\x00\xe6g\xc8\x0a\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x02\x05\x01\x0a\x03\x01\x05\x08\x03\x0c\x0e\x0b\x0c\x10\x1c\x0e\x11\x14\x10\x12\x0f\x0d\x15$\x16\x17\x14\x1c\x1b\x15\x1b\x1d\x1a\x1f\x1f\x19\x13#A!#\x20$$\x1d#$\"$%#&'%\x19(G((!'(&+)\x1e\x14+N()'++$*,)/-\"*.0-.,02/63(241685<9-5:=:;9=?=CA5AB@CEBKH<MH7HIG\x00f\x00\x00i\x01JLI\x00j\x02SN=MOL\x05m\x05PRO\x0co\x094U\x98XSBTUS\x0fq\x0b\x0cr\x177Y\xa3WYV,`\xae7]\xad\x15w\x1c\\^[c^L9a\xab\x19y\x1e_`^;c\xad=d\xae)z!ac`De\xa3?f\xb0)|*Bh\xb3egdghfLi\xafDl\xb0qjSikh/\x82/Ho\xb3/\x859Jq\xb6mol;\x86:Ut\xb4Xv\xb6?\x8a>|u]tvsB\x8c@@\x8dG\\z\xbby{x]~\xb7e|\xb8K\x90J\x85}e_\x80\xba}\x7f|O\x93Nb\x83\xbdN\x95Ud\x85\xbf\x81\x83\x80W\x95Vl\x87\xbc\x90\x86hZ\x98Yo\x89\xbf\x87\x89\x86]\x9c\\\\\x9dds\x8d\xc3\x95\x8cn\x8b\x8d\x8az\x8e\xbfe\x9ef\x8d\x8f\x8c|\x90\xc1\x9b\x91s\x90\x92\x8fi\xa2i~\x93\xc4x\x95\xc4\x80\x94\xc5\x93\x94\x91\x9f\x95w{\x98\xc7s\xa4lq\xa5s\x95\x97\x94\x82\x9a\xc4\x97\x99\x96\x83\x9c\xc6\x99\x9b\x98u\xaaw\xa6\x9b}\x87\x9f\xc9~\xaay\x9c\x9e\x9b\x89\xa1\xcb\x80\xad|\x9f\xa1\x9e\x8f\xa2\xc7\xab\xa1\x82\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\x82\xb1\x85\xa5\xa7\xa4\x8a\xb2\x87\xb4\xa7\x83\x8b\xb3\x89\x96\xa9\xce\xa7\xa9\xa6\x98\xab\xd1\x8e\xb6\x8c\xaa\xac\xa9\x9e\xad\xcd\x8d\xb8\x93\xba\xad\x88\xad\xaf\xac\x95\xb9\x95\xa1\xb0\xd0\xaf\xb1\xae\xa3\xb2\xd3\x98\xbc\x98\xa5\xb5\xd5\xb3\xb5\xb2\x9b\xbf\x9b\xc2\xb5\x90\xab\xb7\xd1\xb5\xb7\xb4\xa3\xbf\x9d\xa2\xc0\xa4\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbc\xd6\xa6\xc5\xa8\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xa8\xc7\xab\xb7\xbf\xd4\xaf\xc6\xab\xbf\xc1\xbd\xce\xc0\x9b\xb9\xc1\xd6\xb2\xc9\xae\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xb2\xcc\xb7\xc4\xc6\xc3\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xd9\xc9\x9d\xc6\xca\xd9\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xc9\xcd\xdd\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xc8\xd3\xc1\xcc\xd0\xe0\xcf\xd1\xce\xe1\xd1\xa5\xd2\xd2\xdd\xc9\xd7\xcb\xd2\xd4\xd1\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xcf\xd8\xe0\xd5\xd8\xd4\xd2\xda\xe2\xd8\xda\xd6\xd8\xd9\xe3\xd5\xdc\xd1\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd8\xdd\xe0\xd5\xdf\xda\xdc\xde\xdb\xdc\xdd\xe7\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xdf\xe1\xde\xdc\xe2\xe4\xde\xe3\xe6\xe1\xe3\xdf\xe3\xe5\xe2\xe1\xe6\xe9\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xeb\xe7\xe9\xe6\xf1\xf3\xf0\xfa\xfc\xf9\xfe\xff\xfc\xc5\x83\x89%\x00\x00\x20\x00IDATx^\xed\x9d\x0fX\x14\xd7\xbd\xf7/\xd7\xbc\xf5m\xea\x9d(o\xb9o/)\x04S\xac\xb6Y\xd9\xe6\x91\x96p\xcd<f\x09\xe8\x8d\x18\xb9\x8a\x20\x1aR\xa4&J\xa3VL\x8c\x18b\x1e5\xd6\xb8\xc1\x10,i@\xafJ\xb34\x06\xb4\xa4P\xe3\x1fb\xc0\x98\x08j0&$/)i\xc0\x98\x0d\x1a\x93\x9a?\xf8\xc8B\xe0\xb4<\xef9gfg\xce\xcc\xce\xec,\x08;\xec\xf2\xfb<\x0f\xbbgg\x7fs\xe6\xec\xd9\xf3\xdd\xf3g\x86\xf9\xfeK\xff\xa0A\x00\x00\x8c8\xfe\xc5H\xb8\xfa\x18e\x0d\x00\x80\xff\x01I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x18Zz\x8d\x02\x86\x17\x904\x00\x0c!\xce\xf4\x89\xdc,\xa3\xa0a%\xd8%]6\xcdi\x14b&\x1d\xd3\xca\x8cB\x02\x91Q\\\xebS\xa6\xd8+?4\x0a\x1aV\xcc\x93t\xd3\xbe\xa2\x92cb\xfa\xb4\xdd\xe15\xf6\x9b\x8ds\x13s\xfb\xbc\x86h\xf3\x18\xb7\xc6(d\xa8h]\x95\x94\x92w2\xe5K\xf5\xf6Ol\xfc\"\xadx\x81\xc7\xc6\xaf\xf3\xd8V\xc4a\xa2f\x1c\xd7\x08gh\x09\xe5\xa6\xf8\x1a\xeb#$\xb35h\x0d~,\xf0\x12%\x1c\xd8\x1bC_\xeb\xfbyL\xf2\xaaw\x8c\xe2|D\xab\xd6\x87\x86\x06n\x9fQ\xc8pc\x96\xa4]\x95\xf6\xc3-\xc7\xed\xcd\xf4\xc5\xe5\x82C\xc5^\xa3\x1fJ\xa9\xc8O\xba\xe65D\x93\xcd\xe3\x8b\x8cB\x86\x8a\x13I\xbf\xaa\xa8\xce\xe2\xf9\x0f\xd4o\xf4\x9d\xd9h\xd3\xdaA\xc41a\xb3z\xd3\x95\"n]U\xd14\xaeJ+^\xe6pz\x98\xcf\xb1\xde\xa9\x12\x7f\x11HfN\xe4|\x8c+\xba\xe2-\x9c\x1e\xd8\x0b\xc3P\xeb\xd7\xf6\xf3{O\xee\xcf\xbe\xf3\xa4Q\xa07N\xbe+%5j}h\xa8\xe5j\x8cB\x86\x1b\xb3$]Y\x80\x87fN{\x13}\xe1\xa8l\xf7*\xe9\xaf\xf8r\xd4\xd7\xe5-B\x9b\x96\xd0e\xde\x03:\xe2:\xbc\x07\xf8\xccW\xc9\xb9=\x08uexJ\x1a\xa1Ro\x92F+\xc2\xda\xd5\x9bN\xd3\x9f\xfa\xb8\xc9\x1a\xd1,k\xc2|\x8f\xf5\xca\xeds\xc4\x84\x90Y\x15w\xda[\xb4x`]\x86\xa5\xd6[\xf9\x13\xf8\xd71'\xc3(\xce\x1b\xd9k\xe5\xb4F\xad\x0f\x09\xb5\xdca\xa3\x90\xe1\xc6$I;\xedo\x92'\xa138]\xe4rz\x95\xf4y\xfe\x88\xb7\xb7uI\x9f\xd8\xe9=\xe0\xb4Q\xe3\xf5\x99\xc2\xa4\xcf\xc8S9\xff\x91\xe7{\xde%\xdd91]\xbdIP\xd6f\xce\xa0\xf4\x8c\xa4\x0dc\xbd\x123\xa4\x92\x1e\x96Z\xa7\x92\xc6\xd5;\x88\x1fv\x89,F\xd2\x1a\xb5>$\x8c^I\x1f.\xe8\x96\xd2W\x0a\x9a\x91\x17I\xf7\xcc\xe5)O#\xb4\x85\xe7\xab\xc5\xb9\xe9\x16\xdeV\xf1tF\xd2\xaa\x8b4\xe6\xfc\xda\xb9\xb6\x94\xdc\x8b\xaa=]\x11Rw\xd1<'*t\xe2\x0c\xe5\x9a\xcd\xe6\xc9\x8e&\xae\xc91\xf9)\x9cn\\\x95f\x9b\x9b\x9bF\xa6\xeb}\x7f\xcaN\xcax\x1a7\x9d\xf7m<\xbf\xe3|~Z\xe2\xaao\xab\xf1\xf1KQ)O\x8e\xaf\x19\x8026\xd1<\xbf(\xc7}u_EvRV\x05\x9d\xfa_\xccKM^+\x0c\xbc\xa5\xdd\x90\xaa\xbc+\xc2]H\x89\xa0\xacy\xd1\xf4E\xf1\xb4\xf0\xc9K\x88H\xae\xcc\x99\x18\x1a}w\x03\xdd\xe8\x9c71rN\xba,iu,\xea\\6%\"\xeep\xf4>\x94\xc9\x8d/\x96\xa7\xbfr@\xcd\x8c\xe8\xd0\xa8\x19x7\x07'\x10\x83T\x9268\xb0\x1c\xd00\x81\xe3V4\xcf\x9b\x14>\x83|\xa9\xeeZWn\x95\x90k\x9d\xa9>\xfcm\x96oJM\xce=OC\xb4\xbeMA\xd2y\xa9$\xcd\xd4dW\xe1\xa2\xa4\x9c3\xa9ul\xd3P\x04H_\xec\x11\xa1\x15\xf1\xd9b\x86\x9e\xb5\xae\xf9\x81\x94\x9f\xe2\xa9\x98\xf0\x18\xd2\\t>\x1b\"u7Z%]\xe6h\xdae/>Dk\xd5Q\x89\xbcI\x1a}\xd0X\xcd\x9766\xe2^\xf0b\xa3\xadT\x9c\x9b\xb6V\xdb\xf8\x94\xd2?$\xe7\x92\x88\x93I\xd9{O\x94\xe2\xd1\xb9\x92\xe3\xd2\x0c\xb3*\"\xe6\xb1\xca5\xdc\x06\xc5\xdb\xcey\xdc\x14\xee6n\x0e\x1e\x81\xbdsg\xfe+'*\xe6\xf2\xdf\xe2\xcd\x9b\xf8mu\xe5)Y}\xa8\xa7\xba:-\xe3\x9e\xd4\xa7\xf3\xee\xfc\xb4\xab1\xf9\xb9/\xd1\x97\xcf%7vi\x07\xf4\xb0\x07\xcf\xb7\xed\xa8\xdba\xcb\xc7\xa9\xf3\xc9\x19\xfb\x8f\xac\xe2\xa9\xa4\xa5\xdd\xd4\xe5=\xe4\xd1\x0aNs\x0eW\xd32\x8e.\xe1\xa4\x8f\xcftl\x8e\x8a\xe9%\xdaK\xaf*\xb9{|-\xde\xd8\x1c1\xb9\xa8l:\x17\xa6\x1b{yR\xd4c\x8eL\x8e{\x0a9kB\xd7H\xd3_9\xa0\x96\x9b\xb7\xab\xd2\x1e\xc5u\xa3\xceC5\x93\xe3jjj\x9a\xc4\xcc\\\xae}T\xd2F\x07\x96\x03\\%\xc5\xd1\x93#\xa2\x97\xcc\xe3\xc8R\xaf\xbb\xd6\x95[%\xe4Zg\xaa\x8f|\x9bi\xa5\xa5iI\xadH\xe7\xdbl\xe5\xeb\xba>*\xc4\xbf\xab\x88\xad\xc9ki\xc9\xe5uX\xcd\x15l\xd3`\x03\xe4/\xb6\xebLcFNcc\xa3{\x14\xe5Y\xeb\x9a\x1fH\xf1)\xd2\xc3V8V\x84\xcd\xd3\xfdl\xdd\xce\xaa\xdb#\xafg\xb84$\x98$\xe9\x12{qC{Sq\x09\xd6tSQ\xa7wI\xb3\x03o\x1b\xf9N\x85\x81\xac-\x19\xff\x8e\xe7\xa7\xe0TO\xda*\xdc7\xf6T\x7f\xa5\xda\xcd\xc1\xb5\x08\x09W\xf4\x0c\x17\xf9\x1e\xd4S\xb8}\xa1\\(]\xa0\xacH!b.O\xc6\x8d\xe0U~?N\x9e#\xdd1\x1e\xaa\xf1\x0f]C}d]nS\x1e~\xc8#]\xb1f\xc0'\xcc\xd4\xa0\x8ev('\xf8:\x84r2\xf0O@_\x96M\xb9\x9b\xaa\xbc\xed\xdc.\xa4\xe44\xed6\xe7\x91\xa4\x83#KM\xb5\xdc\xf3\xa4\xfc\xa4\xb5\xdcFNz\xc6M\xc2\xc9\xde\x980\xdd\xd8y\x91dD\xb2\x84#]J\x18Y~\xa6ce&\xe0\xa9(\xd2\xbfl\x8e\xa4\xc7c\x06\xde\x02\xa7}80\x13\x80s\xe0\xa6_\x11\xe7QR\xad+\xb62H\xb5\xce\xd6\xaf-\xed\x1aQh\xb6\xde\xb7\xd9J\xbb\xd8|\xf2\x83\xc8\xd4d>i\x03h\x1b\x964\xdb4\x98\x00\xe6\x8bU\x0e\xbc5j]\xef\x03I\xc9}t\x0c#<j~\xb6Y\xb8\xea\xbc\x9f\xba\xf1\x07&I\xdaQ@*\xa3\xb3\xa8\x16u\x164\xf5\xf6\xf6~X\xec\xed\x92\x1bmI\xe7\xbb\x93uZkR\x982w\xe3rpoj\xbc\xdd\xb1$4\x9a\x9b\x18\xb6\x04\x0b\xfd\xd3\xd4\xb4m\x15\x1f\xf4\xe1\xa6\x84\xf2\xd2z\xbe\xc5\xa4\xd2\x81t\x96\xedS1\xf8db\x17\xeaJ:\xa9\x17\xd0c\x93;\x95M\xc29\xabE\x1b\xd15\xda\xd6\xd0\x0e\x9br7Uy\xdb\x85F\xc4p\x9a\xdbp\xd81-\x9c\x94\xfe\xdeI\xaenL4\x99\xf9u<5cR\x04w\x1b\xee\x839;\x09[\x11\xa6\x1b\x1bN\xcf\"5\xa9$\xcd\x04\xb4O\x9c\x94i\x7f\x13\x09\x83OF\xd2\x1bjkk7\x10I\x1b\x1e\x98\x0d@1aRwU\xc6H:L\xd1\x89Q\x98Zg\xeb\xd7VH\x1e\xcb\xf9\xaft\xbe\xcdV\xfe\x0f\xe7^\xcdN\xfc\x04\xb15\xd9\x97T*\xbc\xa7\x944S\xd5\xcc\x17\xeb!iu\xad\xeb}\x20)\x99~\x1b}\x9a\xa2\x0e\x90\xf8p\x9f}\xca\xa8\xed\xa5\xab\x84\x9f\xc8\xaa2\xd4bw\xa3\x7fu\x82\xb6\xa4\xa5d9\xdf\xa3\xb9\xdba\xf7\xd8j3\xe79oB\xe8\xb1(;\x9e\xd5m\x8e\"c\xd6k\x15k3\xf8\xb9{\xfbH\xc7!@G\xf4Y\xee\x99\x17\xfa6\xf9\x08:2\x97\xfc\xd8k\x07\x88s\xe9\x1e\xdcA?H\xdfA\xb9\xd9\xb8\xa3h$)ZHf7Uyk\xb9CH\x09\x9d\xd2^\x1eO\xe4\x13#\xf6\x9b\xb8\x8b\xac\x9d\x18\xbdlW\xcdt\xdc\xae\x8e\x09gJ\xe4\xe51u\xac\xd8\x05]QI\x9a\xc9\x0c]\xb6\xcf\x99\xc2E=F\x8f\xa7\xb5<fx`63\x14s\xbbT\xf8\xc3\xf2\x88\x96\xd9*\xc1\xd6:S\xbf\xf4\xdbD\x8d\xfc\xbb:\xdf&\x9dK\x0b?\x91rM^\x14\xdaE\x97J\xd2\xec7$\x7f\xb1*I{\xd6\xba\xde\x07\x92\x92\xd3\xee\xa6O3\xa6\xa9\x02Xj\xb8Z\xcd\xed~\xc4$I\x1f/\xa2\xbdr%\x1e\xa6t81\xa7\x8b\x9c\xfa\x8aVKz\x87J\xd2'\xf8\xf75w\xeb\x0c\x13\xafx\xa8\xe44/\xc5p\xd1\xb5W\xa2\xf6s\x85dbV\x9dXA~\xe2\xdf\xa5|A\"\x98F\xb0-\x17\xe5n#\x09\xed\x80\xc2D\xfa\xba\x9a\xff\x12m\x12V\xd9\xd2\xf2\xd17B/\x9doS\xee\xa6*\xef\x9aP\xf5\xd0TPV\x04)\xfd\xbcI\xc7)\xb8S\x9b2\x8d\x14u\x0eVV\x07\x95*b\x96\xc7T\xb1\xbdB/}Z\x964\xedX\x99\xcc\x8e\x915\xac+\xcf\x87\xd3\x8c\xa8\xa4\x0b>TH\xda\xf0\xc0L\x00\xf3\xa3\xc0\xd4\xbab\xab\x8c\\\xebl\xfd\xdah\xddV\xf0\xd7t\xbeMay,\x99|\xe7rM\x8a\xbd\xf4\x07\xb2\xa4w\xa8\xaa\x9a\xf9b\xc5\xa3\xed\x17\xc7\x05\x9e\xb5\xae\xf7\x81\xa4d\xfa$\xfa4)]\x15\xc02zW\xbc;\xe8I\xac+\x05\xee\xcb\xc7|\x9dK'\xe1\xf1Y\xdf\xafT\x92\xeeJ\xc9!?\xec\xdb\xb6\xa9\xf7\x9b3Y\x18\xcewN\x8c#M(s\x89:\xa0=R8;YJ&\xbex\xea\xbb\x91\xe8\x8dN\x92\x0b\xf7\x92GF\xd2o%~\x96\xf8\x16Ih\x07\x08\xe7\xa5\xfbr\xd2\xc8\xb8\x9a\x04T\x93,\xb3\xd3\xf0\x8c\xf0\xa3D\x9br7ey{\xa7\xcc@*\x04eM\\\xd2\xb0\x06\xcf\xdcJ\xc8\x96\x15\xb8S\x8b&\x8d\xa87\x86\x8c\xfe\xa6E\xe3v\xd7\xfc\x830\xdd\xd89Q\xa4a\xce\xa3\x0a\x0c\xc7\xea\xed\xbd\x9d\xc42\x01k\x84\x19a\\&}\x8c\xc3\xdf\x00y\x8f\x91\xb4\xe1\x81\x99\x00e\x03w\xd7\xban\xb3w\xd7\xbaB\xd2s\xbbp\xc5\xa4\xe5\xa8k\xa7e\x9d0\x8c\x17$\x9d\xb2\xad\xb5\x94\xad\xc9\xb5s\xb1l\xfb\xf2\xa9\xa4\xe5\xa6\xc1\x040_,~\xc4\xb9\x7f)\xbc\xa7U\xebz\x1fHJ:\xe8X\xfdya\xba\x0c\x92Vs\xac\xe0X\xfb\xe9\xe2]\xdd\xf4E/\xe9\xa5u/?\x10V\xbc\xcf\xd0\xb1\xd3\x83){K\xb3y\xdb\xfe\xd6\xcf\x1am\x1b\xcf\xf4\xbd\xb3\xd1FV\xc2O&.\xaa\xa8\x13\x16I\x144\x8f\x17\xd7\xb8\xab~0\xe5)G\xa6\xfee\x8e\xa5|R\xe9\xabG6\xf1d\xae\\xg\xde+8Y\x8d\xbe}\x8b\xae\x91~\"\x84\xf4\xa5\xaeJ\x15.I\xd5\x0e\xa8Kzp\xff\x91U\xb638\x99\xc7\x17\xbeZ\xc8\x93\xf5\xb4\xd6\xa4\xd4\xd2\x1d\xc9\xa4\xbc\xccn\xaa\xf2n\xf0\x1cB\x08W\x15N\x9fA&o\xcb\xb8{K\xca\xd2\xb9b\xa2\xc29O\xad\x8b\xc1\x83\xe5\xc3\xe8tx\xf4\x9a\x15\x91\xe3'\x145\xe9\xc4:'F?\xb5kV\x18\x95\xf4\xb4\xa8u\xeb\xa6q$V\x91Y\xc4\x1a\xc7\xaetauzM\xd8\x86\xb2\xe9\xe1\xed\xca\xab\xc7\x8c\x0e,\x07t\x1f\xa6k\xe6\xee)\xb4X\xeb\xaa\xad\x9e(\xaa\xcf\xc6gWWd$\x93\xf5hE\xed\xcc\xe2\x04\xe9\xb5Rm\xe6\xe4n\xccbk\xf2\xb3\x94\xb4\x8aWr\x13i\xac\xd44\xd8\x00\xf6\x8b\xc5\xbf\xff\xe5G\x1eJ\x12zi\x8dZ\xd7\xfc@\x8aO1o\xfc2\xc7\xb2\xf1\xf3\xbc}\xb6c\x1e\xe3y\xbfc\x96\xa4QsY\xd1\xaec\x82\xa2\x91\x93L\xa5\xf5\xfa\xe9\x9ed:1\xb2\xd1\xb3\x0f\xe7s\x12\xefY\xb5\x83\xe7\xb7l!\x9b>H\xc2\x8f[\xf0\xe6\x8f\xd6\xa6\xde\x93-\xaf9K\xac\xf8\x81X\xc1\xcds\xa2#\xa6\xa9\x978e\xfe\x94S\x9afK\xc9\x11.7<\x91379\x077\xa0\xf7\x9993\xa6\\Z\x01\xd3\x0eh]\x9547\x97\xae\xec\xf4\x95g%e\x95S\xfd\x9f\xcfMN+\xdco\xa3\x85t\xef\x86\x14\xe5\xad\x09\xf7\x18;\x94\xe0\x09\x1d\x9e\xe46L\x8e\"\xfd\xc1\xbe\xe9Q\x91qD\xb6\xbd\x1b&\x87E\xdd[49\x14\xf7\xa9\xcdwGNZR4\x81\xcb\xd4\x89E\x1d\xe9\xd1\xe1\xd3\x8fQI7\xc7\x85G\xccX\xc6q\x99l@q\xdc\x9a\xe8\xd0\x89q\xe2\xf9\xa6\xcc\xc8\xf0\xb8Z\xf6\x1ao\xbb\xe1\x81\x99\x80\x86\xf1t\x0e*u{B\xad\xab\xb7z\xa0\xa8>\xdb\xd3\x9b\x92S\xf3\xe9\xe5:\x8ao\xb3(\x8a.\xc8\x91\x0b\x03p\xa7\xdb\x9a1\xf7U\xc4\xd6\xe4\x17\x9b\xd2\x12\x1f:G%-5\x0d6@\xf1\xc5\xf6lKN\xcc9G\x93\x1a\xb5\x8e4?\x90\xf2Sl\xbe-\xfc\xb6\xcd\x1e[Y\x9c\x13\xe648\xcd\xfd\xefJ\xd3$\xed\x1f\x96\x84\x96\x18\x85\x98\xcb\xf3\xa1\xe9\xddF1\x83\xa6S\x98\xfa\xfa\x9dA\xd4\xba\xb0<68\xba<\xc7g\x06\x0cc\xad\x97M\xe1\xe0\x9f+\x87\x95\x0d\xd1^\x96\xdd\xcc\xa7c\xe2:\xa3\x90\xeb\xc0,I\x0f\xa2\xd6\xfd*\xe9\xe1\xadug\xc3@?\xfc\xd0\x12\xec\x92\x1e\xd5\x98&\xe9\x81\xe3WI\x077\x20\xe9\xe0\xa5y\x1f\xb7\xc4\xf4\xf5W\x9f\xb8H\x17;\x8d\xa2t8_\xc7?\xfd\xd6`w\x0eB@\xd2\xc1K\x1c\xc7q\x13\x9a\x8d\xa2F\x02t\xb1\xf3\x13\xa3(\x1dr\xc8\xce\xe7\x8d\xa2F\x0f\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\xb38\x92\xfd\xe5\xf0Z\xb9\x00\xa3\x13\xf3$\xed6\xd0q\x15\xd1\xdb\x14\x15i\xddK(\x88\xd9\xcb\x97\x92\x8b\x18\x87\xcf\xca\x05\x18\xa5\x98%i\xd9@\xe7\xb2\xfdMr\xab\"s\xff{\xc5\x1f0\xfe-\xe4\xfec\x7f\x12\x12\xc3f\xe5\x02\x8cR\xcc\x92\xb4l\xa0s\xd9n\xae\xd1\x9f\xdf`\xfd[\xce\x0bw\xc4$\x0c\x97\x95\x0b0J1I\xd2\x8c\x81\xce\xa8\x914{\x83\xcaM)]\xee\xe4pY\xb9\x00\xa3\x14\x93$\xcd\x18\xe8\x98(i\x0d\xa7\x16\xd6\x14G\xd3\xa9\xc5\x87X-7\x1e\xa5\x7fK\xcf=R'\xadm\xe5\x02\x00\x83\xc5$I3\x06:\x97\xed\x958YcB\xb3\xd6rja\\]\xb4\x9dZ\x8cc5\xddx\x94\xfe-\xef\x087\xf8\x16\xd0\xb0r\x01\x80Ac\x92\xa4\x19\x03\x9d+4Y\xf2\xbc\xdf5\xad\xe7\xbb#\xb9\xba\xe88\xb5\x18\xc5\xea\xba\xf1\xc8\x03\xef:\xd6\xe0\xd2\xd3\xca\x05\x00\x06\x8fI\x92\x96\x0dt\x10:M\xc4\xec*\xf2{W\xa5\xe7\xbb#\xb9\xba\xe88\xb5\x18\xc4\xea\xbb\xf1\xc8\x92>\xc23\xff\xef\xefi\xe5\x02\x00\x83\xc7$I\xcb\x06:nj\xfc\xdeU\xe9\xf9\xeeH\xae.:N-\x06\xb1\xfan<\xb2\xa4\xcf\xf0g\xe4<<\xad\\\x00`\xf0\x98$i\xc6@\xa7\x92\x9a\x17\xa0*\x87\xd7\x1d\x86\x01=\xdf\x1dIz:N-\x06\xb1\xde\xddx\x04\xff\x96.\xf6\xeey\x9eV.\x000xL\x924c\xa0\xe3\xa0\xddsG\x91\x96\xb9\xe4\xb0\xa2\xed\xd4\xc2\xc8T\xc7\xa9\xc5(V\xcf\x8d\x87\xf5oY\x9b!\xdd\xffN\xc3\xca\x05\x00\x06\x8fI\x92f\x0ct\xda\xed\xfb\x9a?<V\xe0\xf7NZ\xdb\xa9E\xe1\xea\xa2\xed\xd4b\x14\xab\xe9\xc6\x83\x94\xfe-\x1f\xf1\x7fp\x97B\xcb\xca\x05\x00\x06\x8dY\x92f\x0ct\x9c\x95\xc5E\x8e\xd3F\xf1\xc3\x81\x86S\x8b\xd2\x14G\xd3\xa9\xc5(V\xd3\x8d\x07)\xfc[\x10z.Q\x9cMk[\xb9\x00\xc0`1M\xd2\x81\xc8\x10\xde\x03\xbeo\x9b\x8dv\xdd\xc3h\xe5\x02\x8cN@\xd2\x03`\x08%\x8d\xfa\xcaS\xbf\x18n+\x17`4\x02\x92\x1e\x00C)i\x00\x18\x1e@\xd2\xbe\x03N-@\x00\x00\x92\xf6\x1dpj\x01\x02\x00\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x04)\xbdF\x01A\x0aH\x1a\x08F\x9c\xe9\x13\xb9YFA\xc1\x09Hz\xd4A\x9d{\xae\x9f\x91\xed\xfd3e\x8a\xbd\xd2\xb4;\xcf\x9a\x8by\x92v\x1b\xe8(\x93\xfe\xa52J\xfa7\xed\x8e\xcc\xa8\xf0\x19\xa6\x8c\xd5>\xb1\xf1\x8b\x8cb\x10\xb9\xaf\x12\xe6\xce\x8c\x0a\x9f\xafH\xd5\xc9Wt\xee\xe9\x98\x1e\xf9\x98\xc6\xbb\x03`\x88\xbd\x7f\x1c\x91\xbe\xff\xcb\xbc\xfb{K\xe78.\xbcY#\xa0\x81\xdb\xa7\xb1ut`\x96\xa4e\x03\x1d6\xe9o\x1c\xe1\xd2\x1d\xcf\xa6O|*=\xfc\xb2\xb7\xe0\xe1\xa2\xef\xccF\x9bQ\x0c\xe6\xab\xbd\xfc\xfe\xc6\xba<\xfe9\xa3@7\xda\xf9\xba\x9d{\x96Lzl\xfcu\x9a\x16\x0d\xad\xf7\xcf2n\x99Q\x88\x84\xfb{k\xaf\xa9\xd9\xacy\xcb\xe4Z\xaeFc\xeb\xe8\xc0,I\xcb\x06:l\xd2<:8\xdc<;\x8d\xa2\x86\x89R_$\x8dN\xf0\xadX\xa7[\xd8\xfb\x05\x1b\xa0\x91\xaf\xe4\xdcs\xfb:\x14~\xbd\xcd~H\xbd\x7fVp+\x8cB\xb4\xa8\xd5\x91\xb4\xdfo8;b0I\xd2\x8c\x81\x0e\x934\x91f\xce\xf7a\xdf\x903\x00I\xa3\x9e\xe4-F\x81\x12\x1a\xf9J\xce=\xb7\x15\xb5s\xd7;0\x1aR\xef\x9f5\xdc\x1a\xa3\x10-@\xd2jL\x924c\xa0\xc3$\xfd\xcb\xe5p\x8e\x1b_LR\xae(\x8e\xe2q\xcb\xa0\xe2i\xe1\x93\x97\xe0\xbe\xbba\x02\xc7\xadh\x9e7)|F7\x93T\x05\x8b\xb7/j\x8f\x102\xe3\"T]\x98\x86]\x0fB\x17\xf3R\x93\xd7\x0a\x03d\xc6\x82G3V\x904\xda2W7\xb6\xaf\";)K\x98l\xeb\xe4+;\xf7\xccX1\xeb6\xfcY&4i\x1f\xcd7#!\xd9\xfbG\xfc\xf0\x0a\xa4\xdd\x98\xcc\x14\xf9*x\x8c\xa3s{\xed\xea\xcb\xe4B\xedK&\x87\xcf\x20\xdb\xe4\xef\x8d\xa0-\xde*\x90\xf4`0\xca\xda\x1b\x8c\x81\x0e\x93\xf43\xc7jj\xc2\x84\x9e\xe1\xcd\x9a\xe7\xb9555\xea\xb9e\xfa\xf8L\xc7\xe6\xa8\x98^\xe4*)\x8e\x9e\x1c\x11\xbdd\x1e\xf7!\x93TE\x8b7\x19t\x15m\x16P9fk\xd9\xf5\xa0\xf3\xc9\x19\xfb\x8f\xac\xe2\xa9\xf4d\x0b\x1e\xedXQ\xd2\x15|\x97^l\xbemG\xdd\x0e[\xbe~\xbe\x8cs\xcf\x9a\x88\xb0c\xdd3\xe2\x0e\xeb\x1c\xcd7#!\xd9\xfbG\xfc\xf0\x0a\xa4\xdd\x98\xcc\x14\xf9*\xd8\xcc\xd1\x99\xb9v\xf55\x15O\xe0\xa2\xd6l\x88\xa0\xe7\xa5\xe4\xef\x0diJ\xba\xdbYu{\xa4Y\x93(\xf31I\xd2\x8c\x81\x0e\x93\xf4?\xe1\xee\xa6\xa15\xf0vpE\x88\xb4\x19j\x86\x11\xc3M\xbf\"N\x0f\x98$\x8b\xfbV\xc0\xce\x16\x01\xe5\x0f\x84\xb6]ON\x06\xd6g_\x16\x91\x1ec\xb6\xa3\x1d+J\x9a\x98\xefh\xc7\xd6\xf1'hX\x9d^\xbe\xacs\xcf:\xce\x8e\xae\x84\x93\x0f}\x1dFB\xb2\xf7\x8f|\x1fd\x09\xa5{\x90;3E\x92\xc5\xce\x09\xfd\xbcv\xf5\xa1\xb0H\xdcC\xcf\x8b\x12_\x85{\x93\xf4,\xdc\xc7\x9b8\x8d2\x1b\x93$\xcd\x18\xe8\xb0^:~\xc7\xab\xa4\xef\x9d\xe4\xea\xc6D\xd3\x09cL\x98\xd4+3I\x0dZ87\x8aF\xaei\xd7sM\xd0\xc6\x0e\"=\xc6lG\xdb\xdaG\x94\xf4~\xfe+\x9d\xd8M\xc29\xabE\x1b\xf5\xf2e\x9c{J\xb8\xc8%h\xc3D2y\xb8\x0e#!\xaf\xde?J\xf7\x20\x9b\xd4+3I\x96\"\xfa\x03\xaaW}(\x8c|\x0bk\xc2\xc4W^%\xfd\xe1>\xfb\x14\xe8\xa5\x07\x83Q\xd6\xde`\x0ct<\xbdt\xfc\x88WI\xc7\x88m\x8b\x8e\xf6bn\x97\xb7\xcbI-j\x1c\x02\xca\xf5dM\xbb\x9es\xc28\x98.c1f;\xda\xd6>\xa2\xa4\x0b\x93\xf5b\x1f\x14n?\x9c\x9b\xad\x97\xaf\xec\xdc\xe3\x0c_R\xf5\x83\x96I\xf4\xd3_\x87\x91\x90W\xef\x1f\xa5{\x90;3E\x92\xe5P\xa4\xa0M\xed\xeaCt\xa8\xed\x9b\xa415\x9c)=\xc4\x88\xc0$I3\x06:L\xd2\xffx\x95\xf4\xbcI\xc7)\x1d\xe4E\xcc\x1ci;\x93\xf4\x1dM\xbb\x9eo\x04m\xe4\x0b\xbd\xa9d\xb6\xa3m\xed#\xaex\xa7\xac\xd5\x8b\xdd$XZ\xa7\xe5\xeb\xe5+;\xf7\x94\xe1>p\xd6\xa4\x88\xcbB\xbe\x836\x12\xf2\xea\xfd\xe3\xe9\x1e$\xc0$\x07\xc0\xc0$\x0d+\xde\x83\xc2(ko0\x06:L\xd2\xffx\x95\xf4>\xae\x84<\xad\xa0\x17I\x19KZc:\xc9\xa0m\xd7\x93\x9d\x86g\xb0\x1f%\x12\xe91f;\xda\xb1\x82\xa4\x0b\x89\x00\xb5c\xeb\xe8\xd6j2\x97\xd6\xce\x17I\xce=\xbb\xb8f\xf4&w/\xea\x8dn\xb9\x0e#!\xc6\xfb\xa7e\x8d\xc7\x191\xc5\x81A\xd2~\xc3$I3\x06:l\xd2\xaf\xb8\x0e\xd7\xd4\x84\xa5\xd7\xd4\\q\xafx{\xb4\x82e\xdc\xbd%e\xe9\\1\xea>\\39\xae\xa6\x864v&\xa9Bk\xd1\x97A\xcb\xae\x07\xb5&\xa5\x96\xeeH\xe6m\xfb[\x15f;Z\xb1\xc2\xd5c\xf9<\xed'\xb5c\xf3\xf8\xc2W\x0b\xf9<\xfd|%\xe7\x1eg\xf8\x9c]\xd1\x93C3\xd7\x85:\xaf\xc3H\x88\xf1\xfe\x99\xc5\xc5!5\xd2nLf\x8a|\x158\"\xbc\x8c\xd3\x9c5\xa1\xe9\x87\xd1\xf1\xf4\xd0\x1a'\xfb\xbd\xd1\xab\xc76\xd7\xd4x\xacm\x1c\x1b\xc5n\xa0fI\x9a1\xd0a\x93\xfe\xa4v\xbc0U\xb6#W$ML\xf0\xb8\x80m\xdf\xf4\xa8\xc8\xb8}\x085\x08\xa1\xa4\xb13I\x15Z\xa7fY4\xecz\x10:\x9f\x9b\x9cV\xb8\xdf\xc6\x93\xebG\x18\xb3\x1d\x8dXz\x8d7\x9f&\x0ey5c\xfb\xca\xb3\x92\xb2\xca\xfb\xbc\xe4+9\xf7TN\x8e\xca\xec\xac\x9c\x1c\xf9\x94\xce\xd1|1\x12b\xbd\x7f6\x87E!\x0f\xdc\xbb1\x99)\xf3e\xd9\x17\xe5\xe5\xb2\xecL\\\xe5\xa1\xa7\xc3\xf1c&\xf3\xbd\xd1k\xbc\x09\x1e\xc3&\xe7\x849\x0dNS\xae\xd87\x1f\xd3$\x0d\x98\x83\xdb\xb9\xe7z\x10\x96\xc7\x94\xde?\xb3\xa6\xebE\x9bB\xd9\x14\x0e\xfe\xb9r\xc0\x18e\x0d\x8cH\x04\xe7\x9e\xeb\x82JZ\xe9\xfd\xb3n\xc4\x9d\x09v6\xa8\xaf\x1c\x1a%\x80\xa4\x81\x01\xe3i$\xd4\x1e\xb5Y3\x12\xf0?\x20i`\xa0\x80\x91\xd0\x88\x06$\x0d\x0c\x140\x12\x1a\xd1\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa80O\xd2\xa2kNw\xb1]\xa0\x18\x01\x00p\xdd\x98%i\xc95\xc7e?\xee\xc4\x1c\xb37\x18\xed\x12\xe8T\x1dG\x000\xec\x98%i\xd95\xe74\xb9\xdb\xaf\xab8\xf8\xefBq\xfb`nY\x06\x00\x03\xc4$I\xab]s\x1c\xfe\xbfO\x91\xdf\x19\xd4]\x08\x01`\x80\x98$i\x95kN\x93=x\xfe]]\xe9\xb0\xe3\xb6\xe0q\x88\xb7\xd4\x89!7\xdd\x19_\x8cZB\xb9)\x8aX\xd6\"\x86e`.4\x00`\x92\xa4U\xae9%\x95^\xa3\x03\x0a\x85\xc3\x8ed\xc1\xd3y\x88\xde\x85\xb0\xa6\x89\xde\x1ao\x0d\xfeQK\x0fS\xc4*,b\x18\x06\xe6B\x03\x00&IZ\xe9\x9a\xd3b\x1fBS\xd3\x11\x80\xe4\xb0\xa3\xb4\xe0\x91\x06\xde\xec\x0dle7\x1e\xa5E\x8c\xc8\x00]h\x00\xc0$I+]s*K\xbcG\x07\x1a\x92\xc3\x8e\xd2\x82G[\xd2\x92\x1b\x8f\xd2\"Fd\x80.4\x00`\x92\xa4\x95\xae9E\xa6\xdc\x96\x7f\xf8\x90\x1cvb\xc4\x19\xb4`\xc1\xa3-i\xc9\x8dGy\xf3y\x91\x01\xba\xd0\x00\x80I\x92V\xb8\xe6t\xd8\xbd\xd9T\x04\x20\x92x=-x\x0aH\x9fL\xc5\xbb\"L\x19\xab-\xe9\xa1u\xa1\x01F\x01&IZ\xe1\x9a\xd3b\xbfl\x10\x1e`H2UX\xf0\xc4\xc5!\xe4\xa4\x1b\xc2\x97!\xd4{\xbbO\x92\x1eZ\x17\x1a`\x14`\x92\xa4\x15\xae9Mv\xf7\xcaw0\xa0p\xd8\x91,x\x10Q\xeb\x86\xb2\xe9\xe1d!pZ\xd4\xbau\xd3\xb8\x09EML,k\x11\xc320\x17\x1a\x000K\xd2\xackN\x8b\xdbw<(P:\xec\xb8-x0\xae\xcc\xc8\xf08\xba\x1e\xd8\x1c\x17\x1e1c\x19\xc7e2\xb1\xacE\x8c\x82\x01\xb9\xd0\x00\x80i\x92\x06\x00`8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\xc5(\x96\xf4\x1c.j^\x93Q\x10\x00\x04\x18\xa3X\xd2\xce\xaa\xa2)Q\x9dFQ\x00\x10X\x98'i\xd1@\x07\xa1\xceC\xbb\x0av\x1d2E[U\\\xd0{|\x00\xa3\x0d\xb3$-\x19\xe8\xa0\xcb\xc5\xbb\x9a\xda\x9bv\x15\x9bqg\x93Z\xee\xb0Q\x08\x00\x04\x16fIZ6\xd0\xa9)!7B\xe8.\xa91\xdae\x18\x00I\x03A\x87I\x92f\x0ct*\x85\xbb\x84\x96\x99qw~\x904\x10t\x98$i\xc6@\xa7\xa3\xb8\xaa\xc3\xd5QS\xdc\xe1-~\x98h\xe0\xaa\x8cB\x00\x20\xb00I\xd2\xac\x81\x0e\x9eV\xdb\xed\xfbL\xb9\xa3\xa0+j\xda\xa1\xf6^\xa3(\x00\x08\x20L\x924c\xa0\xe3\xaa,ir6\x95T\x9ab]\xb9\x8f\xe3\xb8\xbb\x8d\x82\x00\x20\x800I\xd2\x8c\x81N\x0d5\xc6r\x95\x98a0\xdd\x195isU\x90\xf9\x02\x00\xa3\x1c\x93$\xcd\x18\xe8\x14\xd0\x852\xf4f\x81\xb7\xf8a\xa2\x963cQ\x0e\x00\x86\x11\x93$\xcd\x18\xe8\x88\x92>n\x8e\xa4a\xc5\x1b\x082L\x924c\xa0S%\x0e\xbc\xcdX{\x06I\x03A\x87I\x92f\x0ct\\\xcf\x97\x9cn?]\xf2\xbc\x19K\xde\x87A\xd2@\xb0a\x96\xa4\x19\x03\x1dW\xed\xae\xa2]\xb5\xfeW\xb4\xcby|N\x98\xd2\x80\x0a\x00\x02\x1e\xd3$m>\xb38.\xba\xcc(\x08\x00\x02\x8cQ,i\xe7\xf1v\xa3\x10\x00\x088F\xb1\xa4\x01\x20\x18\x01I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x85y\x92\x96\x0ctz\x1b\xca\x0av\x8d\x1c\xbf\xb9\xd6\xdc\xe4\xe4\x9c\x93Yg\x8c\xe2\x04N\xa4\x1c\xd1\x7f\xb3\x94\xb7\x91w\xeb\x92\xf8R\xed\x80-<_\xad\xfd\x0e\xfa\xc4\xc6/\xd2ykh\x09\x88B\x02\xbec\x96\xa4e\x03\x1d\xe4(:\xder\xac\xe0\x98\xd1\x1e~\xe2][\xee+\xd5\xb9\xfa\xadX\xc5\xabI\xaf\xe8\xbf\xf9E^\xd2C\xf8\xe9\xa1\xc4\xbc/\x94o\x9c|Wx\xbe\xd8h\xd3\xd1\x11\xea;\xb3\xd1\xa6\xf3\xd6\xd0\x12\x10\x85\x04|\xc7,I\xcb\x06:o\x16\x90\x9b\xf27\x17\x98\xe2s\xe7\xc9\xaa\x9c>\xdcT7\xfa*i\xd4\xe7\xed\xcd\xc2\xdc\xa4k\xe8\xab\xc4\xdcB\xd5\xf6\xec\xb5\xee\x94\xaeZp\xf7\xe9'\xb5\x04D!\x01\x9f1I\xd2\x8c\x81\x8ec\x1f\xddR<B\xba\xe94\xda\xb2[y/\xe3i\xdf)\xcc{\xa8\x1a\xfdiU\x9eZ-Y#I-\x01QH\xc0gL\x924c\xa0\xb3K\xf0\xb7+s\xe8\x06\x0f\x0f\xef\xdbx~\xc7\xf9\xfc\xb4\xc4U\xdf\xb2\x9b\xf3RZ\xf1c_]\x17y\xfcSvR\xc6\xd3]\x8a\xd8j\x9e\xc7\x93\xceR\x9e\x0c\xcd\xaf%\xf1\xf2\x08\xfd\xfc\xda\xb9\xb6\x94\xdc\x8b\xecnX-\x15\xb9(\xb7\x82\xaaE\xdaz\x84\x17\xc8&{\xd9\x0a\x9f\xceHZE\xf6B}\x15\xd9IY\x15\xb4\xd7\xbf\x98\x97\x9a\xbcV5\xa6m\x8f\xe0\x04\"Twn\x90\x0f,\xa1\xf8lrqPW\xe1\xa2\xa4\x9c3\xa9u\x8a\xfd\x87\xb2\x90\x80\xf9\x98$i\xc6@\xe7P1\xbdCh\xd1.\xa3}\x86\x98\x9e\xea\xea\xb4\x8c{R\x9f\xce\xbb\xf3Sv\xf3\xa7i\xfc\xaa\xd2\xb7zhz\x13\xbf\xad\xae<%\xab\x8f\x8d\xedjL~\xeeK\xf4\xe5s\xc9\x8d\xb8\xe1\x9fklL\x14{\xb0\x93I\xd9{O\x94\xf2\xe5\xecnX-\x17\x93\xbeI\xfc\x8c\xaaE\xda\xdau\xa61#\xa7\xb1\xb1\xf1#\xb2\x9b\x8d\xcf\xa8>27\x97$\xf3m;\xeav\xd8\xf2q\xea|r\xc6\xfe#\xabx\xa5Z\\E\x9b\x05\x8a\x94\xb7ic\x0e,\xa1\xf8lrq\xae\xa5%\x97\xd7m\xe1\xf9\x0aE\x06CYH\xc0|L\x924c\xa0\xd3Y\xe4p\xba\x9ce\xf6\x12\xa3}\x86\x9e,\xfe\xa1k\xa8\xef\x9ar\xe3W\xa5\xbf\xb2\xf1\xc9\xa4\xef}\x95\xdf\x8f\x1f\xcf\x09\xfd\xb0\x1c\xbb)\x0f?\xe4m\x12\xc3EI\xf7\xa4\xad\xea!R\xfaJ\xb1[a\x1e\xca\xda\x98\x8d\x88Z\x94\x99\xc9c\xda\x94op\x8e)8U\xc7\x9f\xc0\x8f'x\xdc\x85\xe6d\xe0\x9f\x8b\xbe,\x95Z\x9c-\x02\xca;\x202\x07V\x20\x95\x979p~2\xe9i\xb7yHz\x08\x0b\x09\x98\x8eI\x92f\x0ctP\x87\xc3n\xb7\x1fv\x98pg\xbf,\x9b\xa2\x83\x96\xe89\xb1\x8a4\xda\xbc\xb4\x9eo1\xa9\x9b\x94\xb1'\x13\xbbPW\xd2I\xf1\x95(\xe9:\xfe\x03\xf7\xde\xccnX-{\xf9\xbdT-\xca\xccd\xb5\x90\xd7tB\xbaI8\x1d\xb4h#\xba&hn\x87R--\x9c\x1b\x85\xe3\x0fs`\x05Ry\xe5\x03\xf7%\xd1\xb2\xb6zJz\xc8\x0a\x09\x98\x8fI\x92f\x0ct0\xae\x8e^Tl\x82'VV\xb6\xe7\xb6s\xc2\x94\xf1\xc1\\\xd2\xd1\x09\xe4*c\xbfM>\x82\x8e\xccu\xaft\x8b\x92.\xe7{\xdc\xef3\xbba\xb5|Q\xf8%U\x8b23\xe5\xca\x13U\xcb\x83\xf4\x1d\x94\x9b\x8d{\xc9F\x84<W\x9ej\x1c\x025\x8a\xad\xcc\x81\x15H\xe5\x95\x0f|QX\xf3\xeb\xf2\x94\xf4\xd0\x15\x120\x1d\x93$\xcd\x18\xe8\x20\xbaP\xd6l7\xe1\x8e\xdar\xa3\x95I\xd9F\x9f\x0a3H\x9f\xf5.\xe5\x0bU\xec\xb6\\\x94\xbb\xcd\xfdB\x94\xf4\x09\xfe}\xf7\x16f\xb7\xc2<aK\xa1Vf\xfbI7*\xabeS\x1a\xf9\x95\xe8K\xcbG\xdf\xf0\xe5\xbd\x1dW\\\xf9>\xa9\x859\xb0\x02\xa9\xbc\xf2\x81\xc5^\xfa\x03OI\xd3\xb8\x81\x16\x92\xe6\xe2[!\x01?b\x92\xa4\x19\x03\x9d&\"\xe6+\xc5f\xf8\xe7\xb0\x92nY'\x8cg\xe7\xa6\x92Yi\x1fy\xeb\x840\xa7,\xdc\xab\x8a}+\xf1\xb3\xc4\xb7\xdc/DIw\xa5\xe4\x90\xder\xdb6\xc5n\x8cZ\x14\x99\xe5\xe4\x20\xf4%\xdd\x20\xab\xa5\x8e\xbe\xae&#\xfe\xec\xff\xfa\xd1\x981?\xfa\xb9Oja\x0e\x8c\xe4O\xc1\x94\x979\xf0\xda\xb9X\xab}\xf9\xa2\xa4\xdd\xb1\x83-d\x1a\xae\xa8\x8f\x12}*$\xe0GL\x924c\xa0\xd3l\xafm\x7f\xb3\xd8\xe1w\xb7\x8do\xdf\xa2k\xba\x9f\x88/gq3\xe8\xf3\\>\xa5\xb4\xee\xc8CId\xa9\xb7\xf0\xce\xbcW\x8el\xc2\xadX\x19\xdb\x97\xba*\x95\x8e\xbb{\xce46&nll$\x8bf'\x13\x17U\xd4\x09+O\xd2n\xdf\xe4\xe5|\x86_\x7f\x96\x93\xf7\x0d\xb3\x15\x11y\x94\xe3C|\x8a>k\xb4m<\xd3\xf7\xceF[#\x8e\xcb\xe3\x0b_-\xe4\x89\xbe\xde\xff?\xdf).\x18\xf3\x7f\xff\xb3\xa2\x15\x19\xc3\x1cX\xfa\x14\x8a\xf2\xca\x07\xfe,%\xad\xe2\x95\xdcDe\xec`\x0b\xd9\x9a\x94Z\xba#\x99\xb7\xed\xf7\xa5\x90\x80\xff0K\xd2\x8c\x81\xce\xf1\x92\"\xc7q\xa3\xf0\xa1\xe7}f\xda\x88)\x8a\xb2\xd3\xe7_U\x14.JJ\xc9\xa5'o\xd0\x89\x9c\xb9\xc99u\x1e\xb1\xe56\xe1\x94\xd1;\xe2\xd4\x93J\xe4\xa3\xb5\xa9\xf7d\x1fQ\xecV\xca\xf3dai#O/\x9fvo\xc5\xf4lKN\xcc9G/\x9f\xe6m\x1f\x90\xb3\xdb[\xf0/EyVRV9\xf9\xadp\xfdpV\x7f\x7f\xe4\x8f~N\xb6\x1a\xc3\x1c\xd8\xfd)\x94\xe5\x95\x0f\xfc\xc5\xa6\xb4\xc4\x87\xce\x89\x92\x16c\x07[Ht>79\xadp\xbf\xcd\xb7B\x02~\xc34I\x03\xfatF\xce\xc1\x92\xbe\xadyxF.\xea\xe51\x20\xb8\x00I\x8f@\xa8\xa4#nk\x02I\x03\x03\x07$\xad\x84\x1f\x09\xfc\xe7\xff\xc6\x92\xfe\xe1\xff\xfa\xb7\x7f\xfb\xf9p\x88\x1a$\x1d\xdc\x80\xa4\x95\x18\xa9\xcd/PIG|\xe7\x87\xdf\xfdN\xc3.\xc7\xe5n4\xa4\x9c\xaf\xe3\x9f~\xcb\xeb\xff\x8f\x01\x01\x0dHz\x04B\x07\xde\x13;\xfa\xbbC0\xa1\x87\xdb;\x87R\xd59\xf87\xc3v\xde(\x0a\x08X@\xd2#\x8f\xde+D\xd2w\xe3*\xfe\xde,W\xf3\xd8\x90\x90\xef\xd9;{\x8dv\x02\x00\x01\x90\xf4\x88\xa3%.f,\x96\xf4f\\\xc5\xd3\x9b\xfa\xfb\xd3\x97\x1c\x8a\x0b\x99\xde\x01\x9a\x06|\x03$=\xd2pE|\xef\xf6\x1b\xb0\xa4kq\x15/\xfb\x07\x96\xb6\xb3\xbf\x7fF\xf80\x9d\xd0\x02\x82\x0f\x90\xf4H\xa3!\xe4p\x7f8\x964\xc2U|\x0c\xff\x1d\xc6\x7fs\xc2\x1aF\xc8}\x9c\x80\x11\x0fHz\x84\xd1\xbb!\xe4\x1f\xfdd.M\xf8\xa7\xf8\x07\x92\x06|\x06$=\xc2\xe8\xce\xfc^\x7f\xff\xc49\xfd\xbd\xae\x7f\xf6w\xe3?\x17\xfe\x03I\x03\xbe\x03\x92\x1ea\xb8\xe6\x85\xf5\xf7\xc7d\xfe\xf3\x1f\xfd\xc7\xff\xf1\xcf\xfe\x86\xde\xfe\xfe&\x9040\x00@\xd2#\x0c\xd7\xacHZ\xbb\x9b\x1fs\xf6oXw\xa5\x7f\xdd:\x04\x92\x06\x06\x00Hz\x84\xe1\x9a\x1e\xfdO\x0f@\xd2\x80\xcf\x98#\xe9\xeeb\xbb@1y\xe5,+\xdag\xc2=MF&\xaei\x93\xff\xe1\xc1,\x904\xe0+\xe6H\x94>:\xac\x00\x00\x0c\x08IDAT\xdae?\xee\xc4\x1c\xb37\xe0\x17\xed\x055\xcd5\x05\xaa\x9bS\x8fZ\\\xd3&zn\x8c\x8e\x02I\x03>b\x8e\xa4\xd1iz\xefnz\x0b\xc1^\xfax\xa8\x18.\x8f\xa2\xb8\x96\x8d\xa9\xb9\xa2bW\xc8\xbd\xa7A\xd2\x80o\x98$i\x8a\x83\xdc\xa7\x085\x15Py\x17\x8c\x1c\xefJS\xe9m\x0a\x0d\xb9\xe1\xbb\x94\xb1\x84\x1b0!?(iq\xa1\x90\x00\xc5\xe8\x13\x03C\x8b\x89\x92n\x12n\x0aZ)xb9\xcc\xb8\x9f\xe0H\xc4uz\xc5\xac\xe9230\x99\x8e\x86\xcb\xbd(\xe4j@\x02\x92\xf63&J\xba\xa4\x92>\xed\x12n\xe0}\xc8\x84[\xf3\x8fL\\\xce\x96&\x05\xcd-N\xf2\x9fX\x20i\xc0\x17\xcc\x93t\x8b]X\x11+\xae\xa5O\xb5\xc5\xde\x82G\x17\xdd.%\xddt\x9d\x01$\x0d\xf8\x82y\x92\xae\x14M\xb0D\xe7\xca*\x7f\xdb\xdc\x05\x1c\x20i\xc0\x17\xcc\x93t\x91h(M\x1d7\x10*\x83\xb9\xb4\x01D\xd2O\x8e\xc5\x8f\xac\xb6C<\x12\xde\xf0)HB/Z7\x17\xcd7@\xd2~\xc64Iw\xd8E_\x88&;q\xbc\xbbb\x87\x15o\x03\x88`\xc6\xfd\xf9\xaawI\x7f~\xdfMcn\xf8\xe9\xee\xab\xdahi.\xe4\x16\xe1\xf9\x16\x8fl}\x94t\x88F\x8a}\xdb\xe8s\x01C\x8bi\x92n\xb1_\x16\x12\xbd\xd4;\xa7\x0a\xceK\x1b\x11\xa2%\x1a\xb5\xa4\x7f\xf1\xb3\xd7?\x7f\xfb\xc9[\xd5a^\x08\xb9\x89\xfe\x00\xec\xbe\xe9\xfa%\xad\x09H\xda\xcf\x98&\xe9&\xbb\xfb>\x1d\xed\x05U-Up\xf5\x98!d\xc8-\x80\x85\xf2\xcc\x7f\x8c\x19w\x9f\xa8\xa7G\xc7\xfd\xeb\xb8\xdf\x88\xc2\x1a\xf37\xb7\x94\xa4\x88\x07n\x0c\x19{\x01'.\x8c}\x9b\xeey\xf3\x98\x1b\x1fe\xdf\x7f\xfc\xc7$\xfc\xc7\x8f3\xd9\x0aG\x09y\xfc\xe61c\x7fA2\xfc\x0d9\xc2U\xd5\xa1^\xff\xe9\xd817?\xee\x8e\xc5G!\x85a\xf6\xb9Q\x08\x05I\xfb\x19\xd3$\xdd\"/\x879\xf7\x15\x94\xc15\xde\x86H\xbd4~x\xf1\xdf_\xbc\xf0\xfa\x8f\xef\xa3\xe9\xdf\xdf\xb8\xfb\xc2\xee\x1bE\x9d\x8d{QT\xb4\x1cq\xeb\xdbW\x7f\xf28\xde\xf2\xf8Oh\xf4w\x9f\xb9\xf0\xfa/\x149\xdc\x84G\xf3\x7f\xfe\xbe:[\xda\x7f_x\xfbg?\xc3B\xbfq\xf7\xe7\xbbo|Fu\xa8\x9b\x1f\xf8\xdb\xe7/\xfe\xc4\x1d\x8b\x8fB%\xcd\xec#\x84\x82\xa4\xfd\x8ci\x92\x06\x06\x0a+\xe9[\xc9\x9c\xfa\xedqB\x1ak\xed\xea3\xa2\xce\x9e\x19\xfb\xd3\x07\xa8\xaa\xe5\x08\x9c\xa0#\xf1[\x9f$\xd1\xb7<)\x0429<\x8e\x15\xf8\xb3'\xd5\xd9\x0a{^\xfd\x7fc\xf1>\xf4\x08\xb7\xa8\x0eu\xc3\xdb\xc2\xb3\x1c\x1b\xc2\xec#\x85\x82\xa4\xfd\x0cH:``%=\xd6=\x02'i2\xcc\xfd\x9b\xa8\xb3\xab\x7f{\xf4\xae\x9bIW-G|~\xf5\xea\xe7c\xdf\xbe\xfa\xf6\xd8\xcfI\xb4{d\xce\xe6\xf0\xfd\xd7_\xff\xbeG\xb6\xe2\x03y\xbc\x81\x1e\xe1\x06\xd5\xa1\xfe{\xec]\x8f\xbe-\x95\xe9sQ\xd2\xca}@\xd2\xfe\x07$\x1d0\xb0\x92\x1e#\xf6\x90\x0a\xf1H<\xfe}e\xc4\xd5\xabw\xddw\xf5\xbe\xbb\xe4\x1f\x80\xab\xca\xf7\x9f\xbc\xeb\xae'=\xb2\xd5\x92\xb4\xf2P\x7f~\xe0\xa77<\xc0\xc6\x82\xa4G\x02\x20\xe9\x80\x81\x95\xf4-\xbf\x91\xb5\xa7\x18\x0dS\x88\xfa\xd8\x08<I\xbe\xe9\xeaM/\x0a\xd1\xe2\xc0[\xf1\xfe\xcd7_\xf5\xc8\x96\x91\xa7\xf6\xc0\x9b\xf0\xfa\x0dz\x92\x86\x81\xb7Y\x80\xa4\x03\x06V\xd2\xbb\xc7>\xfa\xb7\x0b\xbb\x7fL\xd3\x8a5\xab[\x9f|\xfb\xf3\xd7\x7f\xf6\x0be\x04\xe6\xa6\x07n\x12\xf7\xbc\xf1\xf7tyL\xf5\xbe*\xdbq\xbfw\x1f\x8c<\x0aK]\xea\xe5\xb1\x1f\xff\xfe\xc2\x85\xdf\xdc\xcc\xc6\xb2\x92~f\x1c\x0e\x1d\x07\x92\xf6?\x20\xe9\x80\x81\x95\xf4\xd5\xdd\xb7\x8e\x19s\xebn!\xfd\xe8\x8d\xf2\x99\xa5\xdd?\xbda\xcc\xb8\xff\xbe\xa0\x8a\xb8z\xf5\xbe\x7fu\x9f\xf2z\xe6?\x84\x93X\xca\xf7U\xd9>3.$D\x96\xe7\xd5\xdf\x8c\x0b\x11Ob1\x87\xfa\xfd\xadc\xc6\xfe\xe4u6\x96\x954=\x89\xf5\xc0\x18\x90\xb4\xdf\x01I\x07\x0c\x92\xf6\x02\x07<\xde\x07I\xfb\x1b\x90t\xc0\x10`\x92\xfe\xc5\x9f/\xbc\xf8\xef\x0f\x80\xa4\xfd\x0eH:`\x080I?\xfa\xfd17aE\x83\xa4\xfd\x0dH:`\x080I\xbb\x01I\xfb\x19\x90t\xc0\x00\x92\x06|\x01$\x1d0\x84\x04(F\x9f\x0b\x18Z@\xd2\x00\x10T\x80\xa4W\xaf\xd6J\x02@\x80b\x8e\xa4\x95\x06:\x08U\x99wK\x93\xbfZ\x9e\xd0H\xbay\xd9\x82I\xc0\x89\xf7~\x19\x1f\xbb\xf0\xe8\xfc7pr\xeb\xcc;\xa6\xde1s;B\xf5\x16\xcbB\x84\x0e\xe0\x88\xa3\xea\xfd\x86\x89\xa3\xf1\x7f\x91\xd2mS-\xb3\xbd\x84z\xe7a\x8b\xe5\x80Q\xcc\x80\x18\xba\x8aZ\x8d\xc3\xacmFQ\x80.\xe6HZa\xa0\x83\x90\xd3^k\xb0\xc3\xf0\xb1\xd2zI#\xe9\xc6\xf5F}\xec\xf2\xf7\x10:;u\xe9\x81\x97\x96S\x1d\x1c\xb5\xfcr\xcf\xc1\x17\x96Z\xea\x91\xeb\xa8\xc5\x8a\x1f\x0fX\x8e\xba\xd0\x10s\xf4\xac\xe6\xe6\x83VF\x88\xa7V[5\x83|\xe1R\xfd\xd4\xedF1\x03b\xe8*\xea\xe3\xfa\xfa\xff\xb1\xbca\x14\x05\xe8b\x8e\xa4Y\x03\x1d\xac\xe8\x12\xf3$\xddfY\xaf\x91d\x89']\xf7\xe2\xc5$\xb9\x9a\xb4\xd4\xf5\xb1\xb4\xec\xb18\xd8eY\xb9\x9a\xec\xe7CC\x1d\x20\xf3\x97\x1bE`\xb6\x0f^\xd2\x08Y\x87V\xd2h(+\xea\x14H\xfa:0I\xd2\x14\xc1@\x07U\xd9\xab\x0aL\x93\xf4j\xb9g^\xed\xd9I\x13hKM\xd8J\x92\xef\x91\x96\xbax\x01\xdd\xbc`1i\xa9Gq\xb3\xf5\xb9\xa5\x0e\x80\x80\x95\xf4\x90T\x14H\xfaz0Q\xd2\xa2\x81\x0er\xb9\xdc\xb7\xe7\xf7?mS\xd7k$\x15\xd0\x96\xba<\xfe=\x92>\x88\xdb\xe4BAm\xcb\x17\x92\x96\xda6\xff\x80\xba\xa5\x9e\x9dj\xb1lm[\x99`\xbd\x9f\xdc\x20\xf1\xa5\x85\xd6\x99\xeb\xe9\xfb\xae'f\xc7.|#\xe1\x20z\xc4byI\x9e\x09\xcb\x01\xf5\x8b\x13\xa6\xc6\xff\x12\xcfG\xffb\x11\x98\x8f\x14|m\xb5\x90=)\x97V\xc6\xc7.\xf7\x1cx\xb7-\x8f\xc7Y\xe0_\xa6N\x9cHXJF\xef\x8fX\xa6\xeeY?\xd3\xba\xf8cU\xa8u\xfd\xea\xf8;\x96\xb6\xd1\xb4\\\x06\x19\xcd\x1c\x0e\xe2\x12\xfc\x16m\xb7h\xce\xc4\x07ZQdn\xbd]\xccL>\x1aA\x94\xb4^E!\xf4B\xfc\x1e\x04\xe8`\xa2\xa4E\x03\x1d\x82i\x92^=\xf5c\x8d\xa4\x02\xdaR?N\xb0\xdc\xbf\xfd\x14\x1dT\xcc\xff5\xdd\xfc\xeb\xf9\xb4\xa5\xee\xfc\xa5\xba\xa5\xba\x0e\xbc\x94036a\xfdJ\xcb\xc7d\x04\xba\xfe\xe0\xce\xf8\xf9X\xdc_'\xc4\xef<\xf8\xb0\xc5\xb2G\x9c\xc7\x8a3a9\xe0\xace\xe5\x81\xa3{\xe2-\xbdd^:sa}}}\x9b\xaa$g\xeb\xeb\xc5\xbe\xb5-v\xe6\x0b\x7fYlQK\xfa\xb5\xd8\xf9\xbf;\xba\xdd\xb2\x93ho\xf5k\x07\x96ZN!\xf4\xd7\x97\xa6Z\xe2\xb7\xef\x8cUw\xfbV\xcb\xfc\x97^\x9ao%\x02\x94\xcb\xc0\xa0\x99\x83\xeb\x8d\x84\x87/\xa1K[c\xeb5\xfa\xdb\x01WT}\xecVwf\xf2\xd1\x08\xa2\xa4u*\x0a\xb3\xdcr?\x02t0O\xd2n\x03\x1d\x82Y\x92\xfex\xea\xc3\x1aI%\xb4\xa5\xa2\xaf\x9f]0\xd5\x12K\xfa\xa6\xd9+\xe9\xe6\x95\xb3iK\xbdd\xbd\xe49\x9e\x9coY\xdc\x89\xfb9\xa2\x8b?\"\xd2Bq\xdf\xba2\x96\x0c\xeb\xd7[H\xf7B\x85I\x87\xcdL\xc0\x9ex\xd2\\\xff'V\xc8Ag\xe0-Jz\xe1L|\xc8\xde\xf9*I\xbb\x12\xee\xc7\x9b\xbb\x0f|M~WH\x99\x84\\\xac\xb1\xf8\xb7ee\xbc:\xa7\xd98\xc25s\x81\xa2\x0clf\xda9l'C\x87\x95\x9a'\xfb\x06^Q\xabI\xee\xbf&\x99\xb1Gc\x06\xde\x9a\x15\x85i{\xb6\x0d\x01:\x98'i\xb7\x81\x0e\xc1,I?2\xb5M#\xa9$\xde}f\xcbu\xf4~\xcbA\xa9\xf3Y.t>\xe8\x97;5$m\x15;\xfc\xe5\x09\xdd\xbd\x98\x04\xdcj\xadt\x92\xf9W\x95\xa4\x99\x80\x8f\xe3\x13\x1e\xd9s\x16u\x0b9x\x95\xf4\xd74\x17\xb4U%\xe9\x83\x16y\x9d\xfc\xef{\xeeO\x88\x15\x86\xeeV\xa2\x19\x8fy\xb7\xf5\xb7\xe4q\x8f\xe5k\xb6\x0c,\xda9|ly\x0f\xb9b5\xcfE\x0d\xbc\xa2^\xb3\xba\x90\xcbZO\x92\xcc\xd14%\xadSH\xc0\x13\xf3$\xed6\xd0!\x98$\xe9K\xd6\xd5\x1aI\x15\xb4\xa5\x9e\x12V\xce\x16.\x15\xfe0K\x85)\":0_C\xd2\xeeY\xf0|qV\xbc\x1cK\x81\xce>]*I\xcb\x01X\xa8{\x96\xcf\xb6\xc4\xffN\xd8\xd1\xab\xa4\xcfZ\xa8\x0c\xd42\xdd)\x17\xe4T|\xc2\x13\x07\xea\x17\xcf\x97\xf6\xf1\x944\xcd\xa9\x1e\xff\x0a\xb0e\x90\xd1\xcb\xe1\xfe'\xd0\xd1\xd8n\xa4\xc1\xc0+\xaa7\xfe\x00z\x99\x0eN\xd8\xa3iJZ\xbb\x90\x80\x06\xa6IZ2\xd0!\x98$\xe9\xf5\xb8\xa5y&%z\xe9&\xdaR\xe3\x1f\xa1[\xb6\xceDHlw\xf3\x17\x0b-\xd5e=\xea)iw\xc3[\x99p\x96\xf2w\xd4+H\xe8=Y\xd2\xb4\x8f\x95\x03\xd0Yr\x9c\xaf_\xb2\xee\x91rx\xc1sr/\xe4\xf2w\xa1\x97V/\x8f\x1d\x95{\xe9\xd9\x0bH\x99\x96{\x934]\x0c|\xc1\xd2\xc9\x96\x81A/\x87\xbf\xc4w{\\d7\xe8\x8aZ\xbf\x1c-\xa7\xe5`\x8f\xa6\x96\xb4\xba\xa2\x00\xef\x98&i\xc9@\x87`\x8e\xa4\x8d:\xe9=\xa43\xfc;YmB\xf1\x09_\x93-Di\xe2\xe9V\xb2\x03i\xa9h\xf5\xaf\xf5%}T\xe8\x9b\xb7>K\x96\x82Ik\\)H\x1a7\xfe\xde\x05Ve\xc0v\xe1\xd2\xaa\x85tJ\xbf\x10wm\x974\x96\x95\xc5\xb9\xf4\x02R\x9c6\xabJ\xa6\xae\xf8\x85\xa4\xfb\\\x8fE\x92@J\xd0;\xdf\x9b\xa4\x13\xc8\xbc{\xf6BE\x19\x18\xf4r\xe8\x8e\xff\xcb\x1d\xeaq\xf7\xa0+\xea\x94\xf5\x92\x95.\x89\xb1Gc%\xadUQ\x98\xb6\xedm\x08\xd0\xc14I\xcb\x06:.\xa7\xb3\xa8\xcai\x82\xdd\xc6\x13r\xcf\xfc\x84F'M.\x7f:\xf0\xc7\x05\xf1\xa4\xaf\x8c\xb7\xc4o=z`1\xb9P\xf1\xa8\xe5\xfe\x97\xeb_^ly\x99\\\x14u\xc0\x85\xea\xad\xca\x96\xda{\x8a\xaeW\x0b\xf9=a\xf9\xf5\x81\x97W\x93E\x9dK\xf1\x09{\x0e,\xb7RI/\x8c\xff\xdd\xb3\x0b,S\xff\xf8\x1e\x1b\xb0\xdd\x12\xbb\xf5\xe0\x81\xd5\x96\xd7\xc8~\xdb\xad;_^lU\xf6\xd2\xddo\xd4\xd7[W\xd7\xd7w\xe2\xce\xde\x9a\xb0}\xeb\x1dB\x0e\x0cG\xad\xb3\xf7\x1c\\oy\x81d\xb6|\xcf\xb3\xf3\xf10\xfe\xd4\xa5\xfa\xa9\xabO\xa1\xb3\xab\xa7\xd6+\xcf\xba[-\xf7\x9f:\xba0\xb6\x0d\xb1e`\xd0\xcd\xe1\x89\x84X\xb5}\xd9\xe0*\x8a\x10\xbfXX\xb6\x93\x8f&\\=\xb6\xb3\xbe\x9e\xe4\xa6YQ\x98\xa5\xe4\x02S@\x1b\xd3$-\x1b\xe8\x1c\x13.\xf7\xbe\xe2-z8\xb8d]\xa9\x91d90\xdf\x1a\xbb\x94\xaaf\xc1\x0b[g[\xe3\x85\xd3\xb8[g\xc6Zb\xc9\xa5\xcb\xaf\xd1S\xaa\xbd\x0b\xe2\x15M\xfc\xac0\xe9\x13&\x92\xe8\xe8\xe2\xf8\xd8\x85\x07I\xea\xef\xab\x13\xac\x8b\xcfRI\xb7-\xb4\xc6.\xfe\xad\xc5\xf20\x1b\xf0\xd2\xc2\xed\x09S\xe3\x17\xbeFws\xad\xbf\xc3\xba\xf0\x14R\x20f,\xe4\xb0\xf4\x8e\x84'\xfe8\xd5\xa2Z\xa5o[\x9e\x10\xbb\x80tg\xbd;gZ\xe3\x97\xbf0s\xea\xc2\x87\xf1\x1eS\xdf#\xa7\xb4\x95\xb1\xb3\xb7/\x8f\x8d_)\xc8\\.\xa4\x8cn\x0em\x16\xcf\x01\xcd\xa0*\x8a\xb0\xd3\xba\x93>\xcbG\xa3\xd7x\xbbg\xcd\x9a\x15EwS/\xe0\x03\x12\xa6I\xda|~k\xf9\xabFrx\x11\x96\xc7\x02\x1a\x97\xf55\xa3\x90\xe1g\xe9b\xa3\x88\xd1\xcb(\x96\xb4\x19\xffU\x19\x04\x92>\xe0\xd9\xd7\xfa\x9dg-\xaa1\x05\x203\x8a%m\x06\x81.\xe9\xed\xaf\xa1\xc5[\x8d\x82\x86\x9d\x8f\xe3w\x1a\x85\x8cb@\xd2\xfe\xa4\xed\xa8e\xbdj\x86\x1cP\xb8,\xf3\x1f\x89\xff\xda(\x0a0\x15\x90\xb4?YHV\x9a\xda\x8c\xa2F0[c\x17\xb7\x19\xc5\x00\xe6\x02\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*\xfe?\xb6^u\x0b\xa5[\x1f\x81\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/ident-func.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xda\x08\x03\x00\x00\x00}\xf6\x8a\x1c\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x01\x04\x00\x02\x05\x01\x0a\x03\x01\x05\x08\x03\x09\x0c\x08\x09\x0f\x11\x0e\x10\x0c\x10\x12\x0f\x13\x15\x12\x15\x16\x14\x0f\x17&\x19\x18\x11\x1a\x1a\x13\x1a\x1c\x19\x1c\x1c\x16\x13\x1e7\x20\x1f\x19!#\x20$$\x1d#$\"$%#'(&)(\"+)\x1e\x14+N++$*,)/-\"-.,.2402/63(241:7+685;9-:;9?<0=?=C@4AB@CEBGE8KH<MI8HIG\x00f\x00\x00i\x01JLI\x00j\x02SN=MOL\x05m\x051S\x96WRAQSP\x0co\x09\x0fq\x0bUVT\x0cr\x175[\xa4XZW,`\xae7]\xad\x15w\x1cb]K\\^[9a\xab\x19y\x1e;c\xad=d\xae`b_)z!?f\xb0)|*Bh\xb3egdLi\xafDl\xb0qjRikh/\x82/Ho\xb3/\x859Jq\xb6mol;\x86:Ut\xb4Xv\xb6?\x8a>|u]tvsB\x8c@@\x8dG\\z\xbby{x]~\xb7e|\xb8\x84|dK\x90J_\x80\xba}\x7f|O\x93Nb\x83\xbd\x8b\x81cN\x95Ud\x85\xbf\x81\x83\x80W\x95Vl\x87\xbc\x8f\x86hZ\x98Yo\x89\xbe\\\x9a[\x87\x89\x86\x93\x89k^\x9d]\\\x9dds\x8d\xc3\x8b\x8d\x8a\x96\x8doz\x8e\xbfe\x9ef\x8d\x8f\x8c|\x90\xc1\x9b\x91s\x90\x92\x8fi\xa2i~\x93\xc4x\x95\xc4\x80\x94\xc5\x93\x94\x91{\x98\xc7s\xa4l\xa0\x96xq\xa5s\x97\x99\x96\x83\x9b\xc5\xa3\x99{\x99\x9b\x98u\xaaw\xa7\x9d~\x87\x9f\xc9\x9c\x9e\x9b\x7f\xabz\x89\xa1\xcb\xab\xa0\x82\x9f\xa1\x9e\x8f\xa2\xc7\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\x82\xb1\x85\xa5\xa7\xa4\x94\xa8\xcd\xb3\xa7\x82\x8b\xb3\x89\xa7\xa9\xa6\x96\xaa\xcf\xb6\xa9\x84\x8e\xb6\x8c\x9d\xac\xcc\xaa\xac\xa9\x8d\xb8\x93\xba\xad\x88\x9f\xaf\xce\xad\xaf\xac\xa1\xb1\xd1\xaf\xb1\xae\x97\xbb\x97\xc0\xb3\x8e\xa5\xb4\xd4\x9a\xbe\x9a\xb3\xb5\xb2\xab\xb7\xd1\xb5\xb7\xb4\xa3\xbf\x9d\xa2\xc0\xa4\xc5\xb8\x93\xb7\xb9\xb6\xae\xba\xd4\xb9\xbb\xb8\xb0\xbc\xd6\xa6\xc5\xa8\xbb\xbd\xba\xb2\xbd\xd8\xb6\xbe\xd3\xbd\xbf\xbc\xa8\xc7\xab\xaf\xc6\xab\xcd\xc0\x9a\xb9\xc0\xd5\xbf\xc1\xbe\xba\xc2\xd7\xb2\xc9\xae\xc2\xc4\xc1\xbc\xc4\xd9\xb2\xcc\xb7\xd2\xc5\xa0\xc4\xc6\xc3\xd5\xc6\x9a\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xd8\xc9\x9d\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xc9\xcd\xdd\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xdf\xcf\xa3\xc8\xd3\xc1\xcc\xd0\xe0\xcf\xd1\xce\xe1\xd2\xa6\xc9\xd7\xcb\xd2\xd4\xd1\xd2\xd3\xdd\xdf\xd6\xa8\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xd0\xd9\xe1\xd8\xd9\xe3\xd5\xdc\xd1\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xec\xdc\xb0\xd5\xdf\xda\xdc\xdc\xe7\xdc\xde\xdb\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xdf\xe1\xde\xdd\xe3\xe5\xe1\xe3\xdf\xe3\xe5\xe2\xe1\xe6\xe9\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xeb\xe7\xe9\xe6\xf1\xf3\xf0\xfa\xfc\xf9\xfe\xff\xfcd\x82\x05\xe8\x00\x00\x20\x00IDATx^\xed\x9d\x0fT\x14\xd7\xdd\xf7\x1fZ\xf3\xc6\xe6M\xda\xd7Q\xf6\xe9S\xe2K\xa9%F\xdbd\x95x\xdeJ\xa0fN\\@\x13\x90*\x82\xc4\x98*M\xa2\xb4Q\xe2\x9f\x9ch0\xc4\x1c\xff\xb4.\xc1@\x0c\x09h\"I\xa4\xc1\x83A\xa4V\xadx\x0cA\x03\x96'\xc1D\x92\x87\xa4\xa6nj$QL#\x09\x1c\x16\x02\xb7\xf5\xbc\xf7\xde\x99\x9d\xb93;\xb3\xb3\xc0\xee\x0e\x0c\xbf\xcf\xd1\xdd\xbbw\x7f\xf7\xcf\xdc\xb9\xdf\xbd\x7ff\x98\xdf\x7f\\\x1b<\x08\x00\x80\xe1\xc6\x7f\x18\xe9\xd6\x07Fy\x03\x00\x10r@\xd2\x00`)@\xd2\x00`)@\xd2\x00`)@\xd2\x00\x10`\xfa\x8c\x0c\x82\x0aH\x1a\x00\x02\x89+c\x127\xc7\xc8(\x98X^\xd2e3\xdb\x8cL\xcc\xa4}f\x99\x91\xc9Hd\x14\xb7\xfa\xd4\xa9\xce\xcaO\x8c\x8c\x82\x89\x89\x92n\xdeWTrB\x0c79\xcb}\xda~\xb3y^bN\xbfO\x13m\x9e\xe4\xd6\x19\x99\x04\x8as9I\xa9\xb9\xa7R\xbfR\xc7\x7f\xee\xe0\xef\xd3\xb2\x17xr\xc2\x06\xaf\xb8\"\x0e\x135\xfb\xa4\x869Ck87\xd5_[?!\x99\xadC\xeb\xf0k\x81\x0f+\xa1`_\x04\xbe\xd5\xabxLr\xce\xfbFv~\xa2\xd5\xea\x81\xa1\x81\xdbgd\x12dL\x93\xb4\xbb\xd2y\xb4\xf5\xa4\xb3\x85~h/8\\\xec\xd3\xfa\x91\xd4\x8a\xbc\xa4\x0e\x9f&\x9al\x9dPdd\x12(\xea\x93~Sqp)\xcf\x7f\xa4\xfe\xa2\xff\x9d\xcd\x0e\xad\x04\"\xe5\xe1[\xd5QW\x8b\xb8\x0d\xd5E3\xb9j-{\x99\xa3\x196\xbfm}S-\xfe\"\x90\xcc\xdaP\xdb\x93\\\xd1U_\xe6\xb4`\x1f\x04\xa1\xd5\xbb\xab\xf8\x97NUe\xddu\xca\xc8\xd0\x17\xa7\xceJA\x8dV\x0f\x0c\xb5\\\x8d\x91I\x901M\xd2\x95\x05.\x84\xda\x9c\xcd\xf4Cy\xa5\xcb\xa7\xa4;\xf8\x0a\xd4\xdf\xed\xcbB\x9bV\xdbr\xdf\x06mq\x81\x9a\x20v$\xaf\xe9\xc5=/\xd3[\xd2\x08\x95\xfa\x924Zis\xa9\xa3\x9a\xe8O\xfd\xcc)\x1a\xd6,\xebl\xfe\xdb\xfadF\x8a\x18\x102\xab\xe6\x9a|Y\x8b\x05\xeb\x12\x94V?\xc7\xd7\xe3_\xc7\xecL#;_d\xad\x97\xc3\x1a\xad\x1e\x10j\xb9\xa3F&A\xc6,I\xbb\x9c\x0d\xe4M\x18\x0c\x9a\x8a\xdc\xbe%}\x81?\xee\xebk]2&u\xfa6h2\xea\xbc~S\x98t\x99\xbc\xed\xe5?\xf5\xfe\xce\xb7\xa4;'e\xa8\xa3\x04em\xe5\x0cj\xcfH\xda\xd0\xd6'\xd3\x03*\xe9\xa0\xb4:\x954\xaa\xe0\x07\xf1\xc3.\xb1\x94\x91\xb4F\xab\x07\x84\xd1+\xe9\xa3\x05=R\xf8jA\x0b\xf2!\xe9\xdey<%\x1f\xa1m<\x7fP\\\x9bn\xe3\x1d\x15\xf9\x99I9_P\x9b\x0b\xeb\xe79R\xc5\xb0\x8c{\xa24\\\xb4\xa4D\x85O\x9a\xad\xfca\xde:\xa5\xbc\x99k.\x9f\xe2\xc4\xe1\xc6\x9ct\xc7\xbc\x9ct\xb2\\\xef\xaf\xcaJ\xca\xcc\xc7]\xe7C\x07\xcf\xef\xbc\x90\x97\x9e\x98\xf3\xedA\\~)*\xe5I\xf9\x9a\x06(s\x0b\xcd\xb3c/\x1e\xab\xfb+\xb2\x92\x96V\xd0\xa5\xff\x17\xb9i\xc9\xeb\x85\x89\xb7\x94\x0c\xa9\xea\xbb2\xc2\x8d\x94\x08\xca\x9a\x1fM?\x14\xcf\x8c\x98\xb2\x8c\x88\xe4j\xca$[\xf4\x1c\xfaS\x88\\\xf3'E\xa6d\xc8\x92V\xdb\xa2\xce\xe5S'\xc6\x1d\x8d\xde\x87\x96p\x13\x8a\xf1\xc0).\x7fe\x83\x9aY\xd1\xe1Q\xb3q\xb2rN`:RI\xda\xa0`\xd9\xa0!\x9c\xe3V\xb6\xcc\x9f\x1c1\x9b\x9cTO\xab+c%\xe4Vg\x9a\x8f\x9c\xcd-i\xc9k.P\x13\xad\xb3)H:7\x8d\x84\x99\x96\xec.\xbc/)\xfb\x9d\xb4z\xb6k(\x0c\xa4\x13{\\\xe8E|\x96\x98\xa1w\xabk\x1e\x90\xf2(\x9c\xd3#\xa6\x93\xee\xa2sl\x88\xb4\xddh\x95tYy\xf3ng\xf1a\xda\xaa\xe5\x95\xc8\x97\xa4\xd1G\x8d\x07\xf9\xd2\xc6F<\x0a~\xd1\xe8(\x15\xd7\xa6\xe7\x0e:\xf8\xd4\xd2W\x92\xe9\x0f\xef\xa9\xa4\xacW\xeaK\xf9\xbd\xaa\x84'\xa5\x15f\xf5\xc4\xe9OV\xae\xe36)\xbev\xcd\xe7\xa6r\xb7s)X\xe8\xef\xdf\x95w\xa4\xbeb\x1e\xff-\x8e\xde\xc2\xe7\xd7W\xa4.\xedG\xbd\x07\x0f\xa6g\xde\x93\x96\x9f{\xd7\xe7\xdd\x8d\xc9/|\x85\xbez!\xb9\xb1[\xdb\xa0\x97-<\xcf\xb1\xb3~\xa7#\x0f\x87.$gV\x1d\xcf\xe1\xa9\xa4\xa5d\xea\xfa\x1e\xf6\xea\x05M\\\xb9\xbby9G\xb7p2&,)\xdf\x1a5\xbd\x8fh/\xa3\xbad\xce\x84Z\x1c\xd92qJQ\xd9,\xce\xa6k\xdb>9\xea\xc9\xf2%\x1c\xe7D\xae\x9a\xf0u\xd2\xf2W6\xa8\xe5\xe6\xef\xaetFq=\xa8\xf3p\xcd\x94\xb8\x9a\x9a\x9af13\xb7{\x1f\x95\xb4Q\xc1\xb2\x81\xbb\xa48z\xca\xc4\xe8e\xf39\xb2\xd5\xebiue\xac\x84\xdc\xeaL\xf3\x91\xb3\x99^Z\x9a\x9et\x0e\xe9\x9cM,\xe9\xeeO\x0b\xf1\xef*b[\xb2#=yo=Vs\x05\xdb5X\x03\xf9\xc4v76ff766zfQ\xde\xad\xaey@\x8a\xa3\xc8\xb0\xad,_i\x9b\xaf{l=m\xd53\"\x872]\x0a\x04fI\xba\xc4Y\xdc\xe0j..\xc1\x9an.\xea\xf4-iv\xe2\xed\x20\xe7T\x98\xc8:\x92\xf1\xefx^*\x0e\xf5\xa6\xe7\xe0\xb1\xb1\xf7\xa0z\xff\xac\x9ck\x15\x02\xee\xe8\xd9nr\x1e\xdaU\x06\xfb\xc2\xb9p\xbaAY\x91J\xc4\\\x91\x8c;\xc1q\xbe\x0a\x07\xcf\x92\xe1\x18O\xd5\xf8G\xba\x85U\xfc\x96\\\xfc\x92K\x86bM\x83\xcf\xf9\xbfH\xb9\xd6\xd3\x01\x85\xbefg\xe2\xb4\xfdK\x1d\xcad\xaa\xfa\xba\xb8\xddHI\x13\x1d6\xe7\x93`9G\xb6\x9aj\xb9\x17I\xfdIo\xb9\x9d\\\xf4\x9c9\x19\x07\xfb\xa6\xdbtm\xe7G\x92\x19\xc92\x8e\x0c)6\xb2\xfdL\xe7\xca\x8c\x813\x8a\x8c/[#iy\xcc\xc4[\xa0\xc9\x8f\x82\x19\x03\x9c\x037\xeb\xaa\xb8\x8e\x92Z]\x11\xcb\x20\xb5:\xdb\xbe\x8e\xf4n\xa2\xd0,\xbd\xb3y\x8e\x0e\xb1y\xe4\x07\x91i\xc9<\xd2\x07P>\x964\xdb5\x18\x03\xe6\xc4*'\xde\x1a\xad\xaew@Rp\x1f\x9d\xc3\x08\xaf\x9a\xc76\x077\x9d\xefK7!\xc0,I\x97\x17\x90\xc6\xe8,\xaaE\x9d\x05\xcd}}}\x9f\x14\xfb\xba\xe5F[\xd2y\x9e`\xbd\xd6\x9e\x14\xa6\xcc\xd3\xb9\xca\xb9\x06\x8d\xaf\xdb\x97\xd9\xa2\xb9I\xb6eX\xe8\x97\xd3\xd2\xf3+>\xea\xc7]\x09\xe5\xa6\xf7~\x8bI\xa3\x13\xe9\xa5\x8e\xcfE\xe3S\x89\xdd\xa8;\xe9\x94\x9eA\xafC\x1eT\xb6\x08\xd7\xac\xee\xdbL\xb7\xf50;\x1d\xcad\xaa\xfa\xba\x84N\xc4\xd0\xc4m:Z>3\x82\xd4>e\xb2\xbb\x07\x13MV~m\xce\xd9\x93'r\xb7\xe3\x9aS\xa9\xa2\x956]\xdb\x08z\x15\xa9Y%i\xc6\xc05i\xf2\x12g\x03\x12&\x9f\x8c\xa47\xd5\xd6\xd6n\"\x926,\x985@\xd3m\xd2pU\xc6HZ\x8e\x95`Z\x9dm_G!y\xad\xe0;t\xce\xe69\xfe\x95\xb3\xc7\xb3\x12\x89\xb9\xdc\x92\xfdI\xa5\xc2wJI3M\xcd\x9cX/I\xab[]\xef\x80\xa4`\xc6\xed\xf4m\xaa\xda@\xe2\x93}\xce\xa9\xa3v\x94\xae\x16~\"\xab\xcbP\xab\xd3\x83\xfe\x16\xa4\xb6\xa4\xa5\xe0^\xbeW3\xd9Q\xcf\xdcj+\xe7\xbdnB\xe8\xc9('^\xd5m\x8d\"s\xd6\x8e\x8a\xf5\x99\xfc\xbc\x97\xfa\xc9\xc0!\xb0\x86\x98,\xf5\xac\xbc\xd0\xb7\xc9G\xd0\x91y\xe4\xc7^\xdb@\\K\xf7\xe2\xa1\xf9a\xfa\x0d\xca\xc9\xc2\x03E#\x09\xd1J2\xc9T\xf5\xad\xe5\x0e#%tI\xdb>\x81\xc8g\xba8n\xe2!\xb2vR\xf4\xf2\xdd5q\xb8_\x9d\x10\xae\x94\xc8\xdbcj[q\x08\xba\xaa\x924\x93\x19jw\xa6L\xe5\xa2\x9e\xa4\xe5im\x8f\x19\x16\xccf\x86\xa6\xcf\x90*\x7fT\x9e\xd12\xb1\x12l\xab3\xedK\xcf&j\xe4\xcf\xea\x9cM\xba\x96\x16~\"\xe5\x96\xfc\x82?B\xbe\xebVI\x9a=C\xf2\x89UI\xda\xbb\xd5\xf5\x0eH\x0a\xce\x9cM\xdff\xcfP\x19\xb0\xd4p\xb5\x9a\xf1\xa1\xc3,I\x9f,\xa2\xa3r%\x9e\xa6\xb4\x11\x9a\x8a\xda|\\\xd8PIz\xa7J\xd2\xa7\xf8\x0f5\x93u\xda\xc4;\x1e*9\xcd[1\xdct\xef\x95\xa8\xfdl!Y\x98\x1dL\xac\x20?\xf1g)t\xde\xc7t\x82\xfc5h}>\x09h\x1b\x14&\xd2\xcf\x07\xf9\xaf\xd0\x16a\x97-=\x0f}#\x8c\xd2y\x0ee2U}\xd7\xd9\xd4SSAY\x13I\xed\xe7O>I\xc1\xad3u&\xa9j\x8a<X2\xdbc*\xdb>a\x94n\x92%M\x07V&\xb3\x13d\x0f\xeb\xea\x8b\x114#*\xe9\x82O\x14\x926,\x981`~\x14\x98VW\xc4\xca\xc8\xad\xce\xb6\xaf\x83\xb6-\xd9\xd1\xd6>\x9b\xc2\xf6X29\xe7rK\x8a\xa3\xf4G\xb2\xa4w\xaa\x9a\x9a9\xb1biU\xe2\xbc\xc0\xbb\xd5\xf5\x0eH\x0afL\xa6o\x933T\x06,\xa3w\xc7\xbb\x9d^\xc4\xbaZ\xe0\xb9}\xcc\xdf\xb5t\x12\x9e\x9f\xf5\xffF%\xe9\xee\xd4l\xf2\xc3\x9e\x9f\xafN\x972E\x98\xcewN\x8a#]h\xc92\xb5\x81+R\x98\x1a\x94\xd2\x0e\x83\xb27\x93Y1]$\x17\xbeD^\x19I\xbf\x9bx9\xf1]\x12\xd06\xe8H^O\xf6\xba\xb3\xd3=\x06\x07I\x96Y\xe9\xb8[}\x9a\xe8P&S\xd6\xb7o\xeal\xa4BP\xd6\xa4e\x0d\xeb\xf0\xca\xad\x84\xc4\xac\xc4\x83Z4\xe9D}\xd3\xc9\xecoF4\x9e\xb7\xb6\xd8l\xba\xb6)Q\xa4c\xce\xa7\x0a\x8c\xc0\xea\xed\x9bAl\x19\x83u\xc2\x8a0n\x09}\x8d\xc3\xbf\xac\xe4;F\xd2\x86\x053\x06\xca\x0e\xeeiu\xddn\xefiu\x85\xa4\xe7\xe1\xb5twz\xb6\xbauZ7\x08\xd3xA\xd2\xa9\xf9\xe7J\xd9\x96\\?\x0f\xb7o\x7f\x1e\x95\xb4\xdc5\x18\x03\xe6\xc4\xe2W\x9c\xfbW\xc2wZ\xad\xaew@R\xb0\x9c\xce\xd5_\x14\x96\xcb\x20i5'\x0aN\xb8\x9a\x8aw\xf7\xd0\x0f}\xae\xa6\"\x97z\xefJB\xd8\xf1~\x87\xce\x9d\x1eN}\xa94\x8bwT\x9d\xbb\xdc\xe8\xd8\xfcN\xff\xfb\x9b\x1dd'\xfcT\xe2}\x15\xf5\xc2&\x89\x82\x96\x09\xe2\x1ew\xb5m\xaa\xb3|\x89\xfem\x8e\xa5|R\xe9\xf1#[x\xb2V.\xbc+\xf7\xc8_\xb6\xe03\xff\xed\xbbt\x8fT\xfcU\xefO\xcbI\xa3U\xd01\xa8Oz\xb8\xeax\x8e\x83\xcc\xb4s\xf9\xc2\xe3\x85<\xd9O;\x97\x94V\xba3\x99\xd4\x97I\xa6\xaa\xef&\xef)\x84pWa\xdcl\xb2x[\xce\xa5\x94\x94ep\xc5D\x85)\xce\x0d\xd3\xf1d\xf9(j\x8a\x88^\xb72rBxQ\xb3\x8e\xadkR\xb4s\xf7\x1c\x1b\x95\xf4\xcc\xa8\x0d\x1bfr\xc4V\x91\xd9\xc4u\xe5\xbb3\x84\xdd\xe9u\xb6Me\xb3\"\\\xca\xbb\xc7\x8c\x0a\x96\x0dz\x8e\xd2=s\xcf\x12ZluU\xac7\x8a\xe6s\xf0Y\x07+2\x93\xc9~\xb4\xa2u\xe6p\x82\xf4\x04Ig\xe7l^\xca\xb6\xe4\xe5\xd4\xf4\x8a#k\x12\xa9\xad\xd45X\x03\xf6\xc4\xe2\xdf\xff\xbdG\x1e\x11\xee\x1f\xd0ju\xcd\x03R\x1c\xc5\xfc\x09\xcb\xcb\x97O\x98\xef\xeb\xd8Nx\xcd\xe7C\x8di\x92F-eE\xbbO\x08\x8aF.\xb2\x94\xd6\x1b\xa7{\x93\xe9\xc2\xc8A\xaf>\\\xc8N\xbc'g'\xcfo\xdbF\xa2>J\xc2\xaf\xdbp\xf4\xa7\xeb\xd3\xee\xc9:\xe2\x9dv\xa5Ml\xe0\x96\x94\xe8\x893\xd4[\x9c2U\xd9\xa5\xe9\x8e\xd4l\xe1v\xc3\xfa\xecy\xc9\xd9\xb8\x03}(\xac\xc8rD\x9b\xbd\xd2\x0e\x98\xb6\xc1\xb9\x9c\xa4yk\xe8\xceN\x7f\xc5R\xcfu\xe9\x0bk\x92\xd3\x0b\xab\x1c\xb4\x92\x9edHQ\xdf\x9a\x08\xaf\xb9C\x09^\xd0\xe1En\xc3\x94(2\x1e\xec\x8b\x8b\x8a\x9cId\xdb\xb7i\x8a-*\xa5h\x8a-\x0e\x1f\xcf\x9c\xc8\xc9\xcb\x8a\xc2\xb9%:\xb6\xa8-#:b\xd6\x09*\xe9\x96\xb8\x88\x89\xb3\x96s\xdc\x12\xd6\xa08n]t\xf8\xa48\xf1z\xd3\x92\xc8\x88\xb8Z\xf6\x1eo\xa7a\xc1\x8cA\xc3\x04\xba\x06\x95\x86=\xa1\xd5\xd5\xb1^(\x9a\xcf\x91\xbf%9-O\x90\x1b{6\x8b\xa2\xe8T\x9f\xdc\x18\xf0\x0an\xe3\xccyd\xbe&\xb7d\xc7\x96\xf4\xc4G\xceRIK]\x835P\x9c\xd8\xde\xfc\xe4\xc4l\xe1\xa6P\x8dVG\x9a\x07\xa4<\x8a\xad\xb7G\xdc\xbe\xd5+\x96\xa5-<\xa5\xa1\xcd\xd4\xbf\xae4O\xd2\xa1a\x99\xad\xc4\xc8\xc4\\^\xb4e\xf4\x18\xd9\x0c\x9aNa\xe9\x1br\x06\xd1\xea\xc2\xf6\xd8\xe0\xe8\xf6\x9e\x9f\x19\x10\xc4V/\x9b\xca\xc1\x1fW\x06\x95M\xd1\x03\xbf\x9f8\x84\xb4O\x0a\xd6\x9f\x04\x11\xcc\x92\xf4\x20Z=\xa4\x92\x0en\xab\xb75\x04\xe7\xf6q?\xb1\xbc\xa4G5\xa6Iz\xe0\x84T\xd2\x96\x06$maZ\xf6q\xcb\xcc\xde\x7f\xf5\x8f/\xe8f\xa7\x91\x95\x0e\x17\xea\xf9\xfcw\x07\x9b\xd8z\x80\xa4-\xccL\x8e\xe3\xc2[\x8c\xac\x86\x03t\xb3\xf3s48\xb2I\xe2\x0bFV\xa3\x06\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x90\xb4i\x1c\xcf\xfa*\xb8\xae\\\x80Q\x89\x89\x92\xf68\xd0q\x17\xd1\xc7\x14\x15i=K\xc8\xc2\xbc\xc4\x97\x92\x9b\x18\x83\xe7\xca\x05\x18\x9d\x98&i\xd9\x81N\xbb\xb3\xc1\x85\x19\xe8\x9f\xee\x8c<\x18\xff-\xe4\x91<UB\x20h\xae\\\x80\xd1\x89i\x92\x96\x1d\xe8\xb4;\xbd\x1f\xb5hIX\xff-\x17\x84'b\x12\x82\xe5\xca\x05\x18\x9d\x98%i\xc6\x81\xce\xa8\x914\xfb\x80\xca-\xa9\x92'\x98`\xb9r\x01F'fI\x9aq\xa0c\xa2\xa45<\xb5\xb0Nq4=\xb5\xf8a\xab\xe5\x8dG\xe9\xbf\xa5\xf7\x1ei\x90\xd6v\xe5\x02\x00\x83\xc4,I3\x0et\xda\x9d\x958XcB\xb7\xd6\xf2\xd4\xc2xu\xd1\xf6\xd4bl\xab\xe9\x8dG\xe9\xbf\xe5}\xe1\x01\xdf\x02\x1a\xae\\\x00`\xb0\x98%i\xc6\x81\xceU\x1a,y1\xe4\x9a\xd6\xf3\xbb#yu\xd1\xf1\xd4bd\xab\xeb\x8dG\x9ex\xd7\xb3\x0e.\xbd]\xb9\x00\xc0\xa01K\xd2\xb2\x03\x1d\x84\x9a\x88\x98\xddE!\x1f\xaa\xf4\xfc\xeeH^]t<\xb5\x18\xd8\xea{\xe3\x91%}\x84g\xfe\xde\xdf\xdb\x95\x0b\x00\x0c\x1a\xb3$-;\xd0\xf1P\x13\xf2\xa1J\xcf\xef\x8e\xe4\xd5E\xc7S\x8b\x81\xad\xbe7\x1eY\xd2\xef\xf0\xef\xc8yx\xbbr\x01\x80Ac\x96\xa4\x19\x07:\x95\x82\xaf\xbf\xear\x9f\x09\x82\x80\x9e\xdf\x1dIz:\x9eZ\x0cl}{\xe3\x11\xfc\xb7t\xb3O\xcf\xf3v\xe5\x02\x00\x83\xc6,I3\x0et\xca\xe9\xf0\xdc^\xd4`\x90$\xe0h{jad\xaa\xe3\xa9\xc5\xc8V\xcf\x1b\x0f\xeb\xbfe}\xa6\xf4\xfc;\x0dW.\x000h\xcc\x924\xe3@\xc7\xe5\xdc\xd7\xf2\xc9\x89\x82\x90\x0f\xd2\xda\x9eZ\x14^]\xb4=\xb5\x18\xd9jz\xe3AJ\xff-\x9f\x12\xdf\x11\x02Z\xae\\\x00`\xb0\x98&i\xc6\x81N[eqQy\x93\x91}0\xd0\xf0\xd4\xa2t\x8a\xa3\xe9\xa9\xc5\xc8V\xd3\x1b\x0fR\xf8oA\xe8\x85D\xf12\x96\xb6+\x17\x00\x18$\xe6Iz$\x12\xc0g\xc0\xf7\xe7;\xe8\xd0\x1dDW.\xc0\xa8\x04$=\x10\x02(i\xd4\xbf7\xad#\xd8\xae\\\x80Q\x08Hz\x20\x04R\xd2\x00\x10\x14@\xd2\x03\x00<\xb5\x00\xc3\x1f\x90\xf4\x00\x00O-\xc0\xf0\x07$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0dX\x95>#\x03k\x02\x92\x06,\x89+c\x127\xc7\xc8\xc8\x92\x80\xa4G\x1f\xd4s\xcf\xd0\x19\xde\xbe\x7f\xa6NuV\x9a\xf6\xe4YS1Q\xd2\x1e\x07:\xca`h\xa9\x8c\x92\xfeL\xbb}IT\xc4lS\xe6j\x9f;\xf8\xfb\x8cl\x10y\xae\x12\xe6\xae\xcc\x0a\xbf\xefH\xd5\xc9W\xf4\xdc\xd3>+\xf2I\x8do\x07@\x80}\xff\x94G\xfa\xff'\xf3\x9e\xf3\x96\xc1q\\D\x8b\x86A\x03\xb7O#vT`\x9a\xa4e\x07:l0\xd4\x94GHO<\x9b5\xc9\x99\x11\xd1\xee\xcb8X\xf4\xbf\xb3\xd9ad\x83\xe9x\x89\xafj\xac\xcf\xe5_02\xf4\xa0\x9d\xaf\xc7s\xcf\xb2\xc9ON\x18\xa2\xd3\xa2\xc0\xfa\xfeY\xce-72\x91\xf0\x9c7WM\xcdV\xcdG&\xd7r5\x1a\xb1\xa3\x02\xd3$-;\xd0a\x83\xe6\xd1\xce\xe1\xee\xd9id\x15$J\xfd\x914\xaa\xe7\xcfa\x9dnc\x9f\x17l\x80F\xbe\x92\xe7\x9e\x19\x1bP\xc4P\xbb}@}\xff\xac\xe4V\x1a\x99hQ\xab#\xe9\x90?pv\xb8`\x96\xa4\x19\x07:L\xd0DZ8\xff\xa7}\x01g\x00\x92F\xbd\xc9\xdb\x8c\x0c%4\xf2\x95<\xf7\xdc^\xe4\xe2\x86:1\x0a\xa8\xef\x9fu\xdc:#\x13-@\xd2*\xcc\x924\xe3@\x87\x09\x86\x96\xf6\x08\x8e\x9bPLB\xee(\x8e\xe2\xf5\xc8\xa0\xe2\x99\x11S\x96\xe1\xb1\xbb!\x9c\xe3V\xb6\xcc\x9f\x1c1\xbb\x87\x09\xaa\x8c\xc5\xc7\x17\xb9&\x0a\x99q\x13UC\x98\x86\xbb\x1e\x84\xbe\xc8MK^/L\x90\x19\x17<\x9a\xb6\x82\xa4\xd1\xb6y\xba\xb6\xfd\x15YIK\x85\xc5\xb6N\xbe\xb2\xe7\x9e\xd9+\xe7\xdc\x8e\x8f%\xbcY\xbb4\xff\x1c\x09\xc9\xbe\x7f\xc4\x83W\x20%c2S\xe4\xab\xe0I\x8e\xae\xed\xb5\x9bo\x09\x17\xee\\6%b\x16\x89\x93\xcf\x1bA[\xbc\xd5\x20\xe9\xc1`\x94\xb7/\x18\x07:L0\xc4\x9c\xa8\xa9\xb1\x09#CC\xcd\x8b\xdc\xba\x9a\x1a\xf542c\xc2\x92\xf2\xadQ\xd3\xfb\x90\xbb\xa48z\xca\xc4\xe8e\xf3\xb9O\x98\xa0\xcaZ|\xc8\xa0\xbbh\xab\x80\xcac\xb6\x96\xbb\x1et!9\xb3\xeax\x0eO\xa5'\xbb\xe0\xd1\xb6\x15%]\xc1w\xeb\xd9\xe69v\xd6\xeft\xe4\xe9\xe7\xcbx\xeeY7\xd1v\xa2gv\xdcQ\x9d\xd2\xfcs$$\xfb\xfe\x11\x0f^\x81\x94\x8c\xc9L\x91\xaf\x82\xad\x1c]\x99k7_sq8\x17\xb5n\xd3Dz]J>oHS\xd2=m\xd53\"\xcdZD\x99\x8eY\x92f\x1c\xe80\xc1\xd0\x13\xe1\xe9\x1aZ\x13\xefr\xae\x08\x91>C\x9daL\xe7f]\x15\x97\x07L\x90\xc5\xf3(\xe0\xb6V\x01\xe5\xe6\x93\xb6\xbb\x9e\xecL\xac\xcf\xfe\xa5Dz\x8c\xb3\x1dm[Q\xd2\xc4\xf9\x8e\xb6m=}\xda0}\xd5\xce\x97\xf5\xdc\xb3\x81s\xa2\xab\x11\xe4\xa0\x87\xe0HH\xf6\xfd#?\x07YB\xe9=\xc8\x93\x99\"\xc8\xe2\xe4\x84q^\xbb\xf9\x90-\x12\xff\xe0\xce\x8f\x12?E\xf8\x92\xf4\x1c<\xc6\x9b\xb8\x8c2\x19\xb3$\xcd8\xd0a}\xe9\x84\x1c\x9f\x92N\x99\xec\xee\xc1D\xd3\x05\xe3t\x9b4*3A\x0dZ9\x0f\x8aN\xae\xe9\xae\xa7C\xd0\xc6N\"=\xc6\xd9\x8e\xb6k\x1fQ\xd2U|\x87\x8e\xed\x16\xe1\x9a\xd5}\x9b\xf5\xf2e<\xf7\x94p\x91\xcb\xd0\xa6I=hH\x8e\x84|\xfa\xfeQz\x0frH\xa32\x13d)\xa2?\xa0z\xcd\x87l\xe4,\xac\xb3\x89\x9f|J\xfa\x93}\xce\xa90J\x0f\x06\xa3\xbc}\xc18\xd0\xf1\xf6\xa5\x13B|Jz\xba\xd8\xb7\xe8lo\xfa\x0c9^\x0ejQS.\xa0\xdcO\xd6t\xd7sV\x98\x07\xd3m,\xc6\xd9\x8e\xb6k\x1fQ\xd2\x85\xc9z\xb6\x0fS?=('K/_\xd9sO[\xc4\xb2j[\xebdz\xf4Cp$\xe4\xd3\xf7\x8f\xd2{\x90'3E\x90\xe5p\xa4\xa0M\xed\xe6Ct\xaa\xed\x9f\xa415\x9c)#\xc4p\xc0,I3\x0et\x98`\xe8\xf1)\xe9\xf9\x93OR\xe8\x14pz\x8a\x14\xcf\x04\xfdG\xd3]\xcf7\x826\xf2\x84\xd1Tr\xb6\xa3\xed\xdaG\xdc\xf1N]\xafg\xbbEpi\x9d\x9e\xa7\x97\xaf\xec\xb9\xa7\x0c\x8f\x81s&O\xa4\xd7\xe1\x87\xe0H\xc8\xa7\xef\x1fo\xefA\x02Lp\x00\x0cL\xd2\xb0\xe3=(\x8c\xf2\xf6\x05\xe3@\x87\x09\x86\x1e\x9f\x92\xde\xc7\x95\x90\xb7\x95\xf4&)cIk,'\x19\xb4\xdd\xf5d\xa5\xe3\x0e\xffi\"\x91\x1e\xe3lG\xdbV\x90t!\x11\xa0\xb6\xad\x10{\x90\xac\xa5\xb5\xf3E\x92\xe7\x9e\xdd\\\x0bj\xe0RP_t\xeb\x10\x1c\x091\xbe\x7fZ\xd7y]\x11S\x14\x0c\x92\x0e\x15fI\x9aq\xa0\xc3\x06C\x8a\xfbhM\x8d-\xa3\xa6\xe6\xaag\xc7\xdb\xab\x17,\xe7RJ\xca2\xb8b\xd4s\xb4fJ\\M\x0d\xe9\xecLP\x85\xd6\xa6/\x83\x96\xbb\x1et.)\xadtg2\xef\xa8:\xa7p\xb6\xa3e+\xdc=\x96\xc7\xd3qR\xdb6\x97/<^\xc8\xe7\xea\xe7+y\xeei\x8bH\xd9\x1d=\xc5\xb6dCx\xdb\x10\x1c\x091\xbe\x7f\xe6p3\x91\x1a)\x19\x93\x99\"_\x05\xe5\x13}\xcc\xd3\\5\xe1\x19G\xd1\xc9\x8c\xf0\x1a\x17{\xde\xe8\xddc[kj\xbc\xf66N\x8c^o\xa0\xa6I\x9aq\xa0\xc3\x06CI\xed\x04a\xa9\xecD\xeeH\x1a\x08\xf7\xba\x81m_\\T\xe4\xcc}X\xf2\x82)\xe9\xecLP\x85\xd6\xa5Y\x16\x0dw=\x08]X\x93\x9c^X\xe5\xe0\xc9\xfd#\x8c\xb3\x1d\x0d[z\x8f7\x9f.Ny5m\xfb+\x96z\xaeK\xeb\xe4+y\xee\xa9\x9c\x12\xb5\xa4\xb3rJ\xa4S\xa74\x7f\x1c\x09\xb1\xbe\x7f\xb6\xda\xa2\x90\x17\x9edLf\xca|Y\xf6E\xf9\xb8-{\x099=M\x11\xf8u\x09s\xde\xe8=\xde\x04\xafiS[xJC\x9b)w\xec\x9b\x8ey\x92\x06\x82B_\xfbU\xdfW\x03=\x9e{\x86\x82\xb0=\xa6\xf4\xfd3'N\xcf\xda\x14\xca\xa6r\xf0\xc7\x95\x03\xc6(o\x20\xf4\xb8&\x8d\x193\xc5\xe5S\xd4\x82\xe7\x9e!A%\xad\xf4\xfd\xb3a\xd8]\x09nk\x08\xe0\x0d\xe8#\x08\x90\xf4\x88\x81\xf7\x83_\xfe\xd7\xff*.\x18\xf3_\xbf\xd4\xfe\xd6\xa8\x04\xbf\xf1v$\xe4\x8a\xda\xaai\x09\x84\x1c\x90\xf4\x88A[\xa6J~\xf9\xbf\xe7\\\xbb\xf6\x7f\xff\xcf\xff\xd3\xfe\xd6\xa8\x04\x7f\x01GB\xc3\x19\x90\xb4\xa5\xe8\x8cL\xb9v-\xf2\xf6\x96\xe0\xde\\\x0b\x8e\x84\x863\x20iKA%=\xf1\xf6\xe6\xe0J\x1a\x18\xce\x80\xa4-\x85\x20i[\xdc\xac&\x10\xf5h\x05$m)\x04I\x8f\x8d\xfc\xfe\x0d\x0d\xbb\xcb\xdbC\x7f\xa9\x1f0\x1f\x90\xb4\xa5\xa0\x92\x9e\xd4~\xad\xe7;aaa\xb6\xa3\xaeNP\xf5\xa8\x03$m%\xfa\xae\x12I\xcf\xc6\xe7\xe6\xfbs\xdc-c\xc3\xc2\xbe\xef\xec\x1c\x9d\xb7P\x8db@\xd2\x16\xa2u\xe6\xf4\xeb\xb1\xa4\xb7\xe2s3\xab\xf9\xda\xb5\x8ce\x87g\x86\xc5\xb5\x83\xa6G\x17\x20i\xeb\xe0\x9e\xf8\xfd\x19\xd7aI\xd7\xe2s\xb3\xfc_X\xdamx\xc4\x8e\x08\xf2\x05-`\xb8\x01\x92\xb6\x0e\x0daG\xafE`I#|nN\xe0\xffG\xf1\xff\x14[\xc3\xa8}\xbc\xc7(\x05$m\x19\xfa6\x85\xfd\xeb\x1aYK\x13\xfe-\xfe\x07I\x8f:L\x94\xb4\xe85\xa7\xa7\xd8)P\x8c\x80\xa1\xd0\xb3\xe4\xfb\xd7\xaeMJ\xb9\xd6\xe7\xfe\xf7\xb5\x1e\xfc\xdf\x8d\xff\x13I\x87\x01\xc3\x17\xa3\x93:\x08L\x93\xb4\xe45\xc7\xed<\xe9\xc2\x9c\x10\x1e\xd0oe\xaaO\xa2`\xe2\x9eo\xbbvm\xfa\x92\x7f\xff\xeb\xda\xc9\x7f\xfd\xfbZC\xdf\xb5k\xcd\x82\xa4\xbb\x80\xe1\x8a\xa5$-{\xcd\xa17:\xb9\x8b\xad\xff\x14\x8a\x19\x83yd\x99\xff\xb8\xe7D\xd2\xd3\xb2\xf5I\xd7\xb5M\x1b\xae^\xdb\xb0\x01\x81\xa4\x879V\x92\xb4\xdakNy\xe8\x9fS\x14r\x06\xf5\x14B\xffq\xcf\x8a\xfe\xb7\x17\x20\xe9a\x8d\x95$\xad\xf2\x9a\xd3\xec\x1c\xa2\x13\xc5a\x84\xd2\xc3\x8e\xc7\x05O\xb9\xf8H\x9d\xe9\xe4\xa1;\x13\x8aQ\xab\x8d\x9b\xaa\xb0e]\xc4\xb0\xf8\xed\x85\xc6=s\xca\xbf\xbc\x98\x03\x92\x1e\xceXI\xd2*\xaf9%\x95>\xadG\x14\x0a\x0f;\x92\x0b\x9e\xce\xc3\xf4)\x845\xcd\xf4\xd1x\xeb\xf0\x8fZ\x86Ma\xabp\x11\xc3\xe0\xb7\x17\x1a\xf7\xccI\xc8\x8b\xe8(\"\xe9gn4\xd4\xf5\xfd\xb7\x1aYx\x13F\xff\xe9\x7f\x190\xbc\xf2\xba\xf5~-3\xdf(2Q\x1d\xaeAe\x8d\xda\xef\x89\x1f|\x87\xbe\x87\xdd\xf8\x18y\xf3\xbfvV\x92\xb4\xd2kN\xab\xd3Z\xcf\x94\x91<\xec(]\xf0H\x13o\xf6\x01\xb6\xb27\x1e\xa5\x8b\x18\x11\xff\xbd\xd0\xb8\x97\x8f\xa9\xb9\xaabwXJ\x13\xee\x8d\xe3^7\xea[\x17\xc7\xbeE\xbb\x98\x91\x9d\x02}I\xbf>\xde8\xab\xb0\xb0\xb017\xdd\xf6\x94\x91\x19\xc1+\xaf\xb7\xc6^\x14\xbf\x19\\&\xe2\xe1j~\xa7Qq\xa3\xf6\xbb\xe1\xf9/\xe9\xfb\x97\xcf\xdfH\xde\xa4\xda\x19b%I+\xbd\xe6T\x96\xf8\xb6\x1eiH\x1ev\x94.x\xb4%-y\xe3Q\xba\x88\x11\xf1\xdf\x0bM_\xb3-\xec\xfa\x1bn\xb8\xe1{\xdf\xfb\xde\xd8\xb1c\xaf\xc7\\w]\x98\xad\xa4\xd5\xe7X\xea\xe1\x89\x9fuu\xdd\xf1\xdb+aW~{\x87\x91\xa9\x8c~\xb6\xbf\xfa\x95\xeeW\x128\xf5\x95\xbf\xfe\xe1\xc7\xb7^12\xd4*\xe8\xd6\xa7\xa4o\x06\x93\x099\\=4\x8e\xca\xa8\xfd\xc2\xbe\x14\x03_\x0a\x96\xb7\xfa\xf5\x1b\xd3e-I+\xbd\xe6\x14\x99\xf2X\xfe\xe0!y\xd8Q\xba\xe0\xd1\x96\xb4\xe4\x8dG\xf9\xf0y\x91\x01x\xa1q7\xad\x9c3+n\x96\xcc\xec\xd9K\xca\x1b\xda\xc3\xc8P\x16&vK\xa2\xef\xa7n\x1e3\xf6\x17\x1f\xe3\x0f\xcf\xde<\xe6\xa6\xc7\x84\xbeu\xdb\x13X\x1b\x8f\xde\x12v\xcb\xa3X\x1c\xcf\xfeh\xcc\xb8\xfb\xbf\xd4\xb2|t\xdcw\xc7\xd1\x14\x8f\xe1\xc0\xa3a\xaa\xfc\x1e\xfd\x81\x10\x89\x87\xb5?\x93o\xde\xbam\xec\x98\x9b\x9fb\x92\xc9\xa6]\x1e\x9d|y\x0b\x99\xa5zJ\xd4/H\xae\xd4\x83d\x16\xfc\xc4\x1dC\xca\x04\x1f\xee\xc7t(\xbd8\xf6c1\x1bO\xdd\xe8\xe5beq4\xe6\xad\xdb\xae\xbf\xee6\xb6-\xa4\xe2X\xc9\x0b!O\xed\x94\x95\x16j.\xb5\x05\x8d\xf2:\x89C\xc7,I+\xbc\xe6\xb4;}\xb9\xa9\x18\x81H\xe2\xf5v\xc1S@\xc6d*\xde\x956\xa5\xad\xb6\xa4\x07\xe2\x85\xc6\xdd\xd6\xda\xac\xa0\xa5\xd5\xd5\xd9'\x8e\xd2\xb2\xa4\xc7\xbf|\xf1\xbd;p\xa7{\xfe\x86g/\xbe\xf5\x0b\xa1\xef\x8d{K\x96\xf4\xeb?|\xfd\xe2[d=\xe8e\xf9\xcc\x8d/\xff\xe3\xe5\x1b\x9f\xc5\x11?x\xf5\xe2\xab7\x85)\xf3{\xd6\x13\xd9\xf5\xc6x\xfa\xcd\xcd\x0f\xfe\xfd\xca\xeb?g\x92I\xa6\x8c\x0e^\xff\xcf.\xb9D\xfd\x82\xe4J\xfd\xf4\xbfq\xaa\xb7\xc6\x0d)\x13r\xb8?#?6O\xfd\xcc\xabYh\x96\xca\xe2H\xd4\x0f_\xbe\xf8\x8f\xbb\xef\x96s\x97,\xf0\xef\x82\xb0\x92&|\x87N\xb9=\xb5S\xe5B^\xe4\xb6\xa0Q\xde'q\xc8\x98%i\x85\xd7\x9cVg\xbb\x81\xf9\x08C\x92\xa9\xc2\x05O\\\x1cBm4\"b9\x9e'\xcf\xf0K\xd2\x03\xf3B\xd3\xe3V\xd2\x83\x7f8\xbd$\xfd\x06~\xff\x9f\xb1]]?\xfe\x83\xd4\x13\xbb\xc6\\\x94'\xde\xb7\x10\x83\xf7\xc6iX\xfe\xf8\x19\xfc\xf2\xcc\x8f\xbb\xba~\xf2,\x09\x84)\xf3\xa3\x91\xcf\x92r\xc8\xbc\x1b\xbf_\xf7\x9e*\x99d*V\x85pqL\x97\\\xa2~Ar\xa5\xfe\xecI5\x84L\xc8\xe1\xfe\xe1\x16\xfc\xe1\x96?x\xb2\x91\xeaF\xb3T\x16\xe7\x19\x85\xffq\xa3\x9c\xbbd\xd1u\xe5\xb1\xf1]\x1e\xc6?F\x96\x00\x9e\xda\xa9r!/r[\xd0(\xad\x938D\xcc\x92\xb4\xc2kN\xb3\xd3J\x7f-\xa4\xf0\xb0#\xb9\xe0AD\xad\x9b\xcafE\x90\x8d\xc0\x99Q\x1b6\xcc\xe4\xc2\x8b\x9a\x19[\xd6E\x0c\xcb\xc0\xbc\xd0h\xe0%iO`\xcc\xc7RO\xa4}\xdcc46L\x9c|zY^\xffw\xfc\xf2\xf7\xeb=\x810e~R$\x99w\x93\x88_\x8d\xbd\xfb\x89\xf7\xd8d\x92)\xf3F\xba\xbfT\xa2~Ar\xa5\xaexR\x0d!\x13r\xb8W\xc6\xbe\xd7\xf5\xde\xd8+\x9el\x94\xed\xa3,\x8eD\xfd\xf7\xcf\xc7*r\x97,\xf0T]\xfem\xfc\x03\x8d\xf1\xd4N\x95\xcb\x15\xb6RB\x94\xd1\xc9\x1b\x04\xa6I\x9a\xf5\x9a\xd3\xea\xf1;n\x09\x94\x1ev<.x0\xee%\x91\x11qt?\xb0%.b\xe2\xac\xe5\x1c\xb7\x84\xb1e]\xc4(\x18\x90\x17\x1a\x0d\xc2\xf4$}=#\xe9q\xcc\x0e\xf0\x18qp\xf5\xb6\xf4S\xd2\x7f\x1e'&\xfe\xf3\x83\xb7]\xff\xa0\x81\xa4\xc9\x9cY*Q\xbf\x20U\xa54&\xde\x03\xc9\x84\x1e\xee\xdd\xf7w\xdd\x7f\xb7\x94\x8d\xb2}\x94\xc5\x91\x97\x9f\xfc\xea\xbd//2m!Yt]\xf9-3J\xff\x96(\xd5S;\xef\\Tma-I\x03!B\xec\xa5c\xff\x07\xbf\xbc\xc1\xf6\xdd\x9f0\x13o\xb2=\xe6\xe1\xc7\x8f\x8a\x01/K\xed\x89\xb7d\xe5\x99x\xd3\xfdnQl\x7f\xbd\x8e\x9dl2\xd9\x8ao_\x92\xa5\xa6T\xa2~A\xaaJ\xa9\xb6\xc7\x06\x9a\x09=\xdc\xd7\xc7w\x8d\x7f]\xcaF\xaa\xdbw\xc8\x96\x97\xb28\xf2r\x1d\x1e\xd8_e\xdb\xc2c\xa1\xb1\x96\xf6\xd4\xce;\x17U[\x80\xa4\x81A\x20v\xd7;\xeex\xef\xe2\xcb\xe3\xd9\xbe\xfb\xea\x8d\xcfK\xdbc\xecU\x9d\x97\xaf\x7f\xe2\xe3\x8b/\xdf\xaaa\xf9\xccMd\x9fI\xbd=\xe6\xb1zv\x1c\x8e\x1c\x87\x03\xe3\xdf\x10\"n}\xfe\xe2\xc5Gof\x92\xc9\x92\x16\xd2]yO\xb8\xfe$\x95\xa8_\x90\xaaR\xf42\xd1\xe03\x11\x0ew\xfc\x83\x9e\xe1\x95=\x8cq\xcf{\xb5\x01y\xb9\xf9\xc1\x8bo\x8cg\xdaB\xb2\xe8\xf2\xa4\x95C\x9e\x8bX\xde\xb9\xa8\xda\x02$\x0d\x0c\x02\xb1\xbb~\xfc\x8b\xb1c~\xf4\x14\xdbw\xbb\x9e\xf9\xd1\x98\x1f\x88\x17\xb1\x14\xf7^\xbc\xfa\xd3\xeb\xc6\xfc\xf4e-\xcbG\xc7}G\xbc,\xf4\x03\xf9\"\x96d\xf5\xe8M\xdf\x1d\xf7\xe0\x18a\xdeM\"\x9e\xff\xc9\x98\xb1?\xff+\x93L)ir\x97\xc8\xcf\x9eR\x94\xa8_\x90\xb2R\xc2\xcd\x1c\x83\xcfD8\xdc\xfb\xbf\xeb\xb9\xcd\x8b=\x8cg\xc6\x91\xd5\xaf\xa28\xf2\xf2\xc6\xcdcn\xfa-\xdb\x16Rq]\xea\xeb\xd2\xf2\xad&^\xb9\xa8\xda\x02$\x0d\x0c\x82\xb0.\x7f\x18\xcc\x0d\xa1Z\xe0\xd9,\x9dw\x7f9\xc6\xc8r(\xf8\x7f\xcb\xa5\x0e\x81:\\\x81\x9b\xa4\xbb\xc7n\"o\xfe\xd7\x0e$\x0d\x0c\x02\xff$\x1d\x08~\xf1\xe7\x8b\xaf\xff\xf0Aa\x81\xfa\xfa\xcdF\xd6\x16\xe2\x89\x9b\xc4{\xbcox\xcc\xc0R\x05H\x1a\x18\x04\xa1\x93\xf4\x13\xff9f\xfc\x83B0l\xfc\xab\xbem\x01\x02H\x1a\x18\x04\xa1\x9340P@\xd2\xc0\x20\x00I\x0f_@\xd2\xc0\x20\x08\x03\x86/F'o\x10\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x8cfI\xa7pQ\xf3\x9b\x8d\x8c\x00`d1\x9a%\xed\xaa.\x9a\x1a\x05\xeee\x00ka\xa2\xa4E\x07:\x08u\x1e\xde]\xb0\xfb\xb0)\xda\xaa\xe6,\xef\xe3\x03\x18e\x98&i\xc9\x81\x0ej/\xde\xdd\xecj\xde]l\xc6\x93Mj\xb9\xa3F&\x000\xa20M\xd2\xb2\x03\x9d\x9a\x12\xf2\x20\x84\x9e\x92\x1a\xa3$A\x00$\x0dX\x0d\xb3$\xcd8\xd0\xa9\x14\x9e\x12Zf\xc6\xd3\xf9A\xd2\x80\xd50K\xd2\x8c\x03\x9d\xf6\xe2\xeavw{\x8d)\x13\xef\x06\xae\xda\xc8\x04\x00F\x14fI\x9au\xa0\x83\x97\xd5N\xe7>S\x9e(\xe8\x8e\x9aq\xd8\xd5gd\x05\x00#\x07\xb3$\xcd8\xd0qW\x964\xbb\x9aK*Mq]\xb9O~\xf0\x1f\x00X\x01\xb3$\xcd8\xd0\xa9\xa1\x8e\xb1\xdc%f8\x98\xee\x8c\x9a\xbc\xb5\xdab~\x01\x80\xd1\x8dY\x92f\x1c\xe8\x14\x08\x97\x86\x1b\x0a|\xd9\x07\x89Z\xce\x8cM9\x00\x08\x1efI\x9aq\xa0#J\xfa\xa49\x92\x86\x1do\xc0Z\x98%i\xc6\x81N\xb58\xf16c\xef\x19$\x0dX\x0d\xb3$\xcd8\xd0q\xbfX\xd2\xe4j*y\xd1\x8c-\xef\xa3\x20i\xc0b\x98&i\xc6\x81\x8e\xbbvw\xd1\xee\xda\xd0+\xda\xed:\x99b\xb3\x96\xafz\x000O\xd2\xe63\x87\xe3\xa2\xcb\x8c\x8c\x00`d1\x9a%\xed:\x09C4`9F\xb3\xa4\x01\xc0\x82\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x98(i\xc9\x81N_CY\xc1\xee\xe1\xe3o\xee\\Nrr\xf6\xa9\xa5\x8dFv\x02\xf5\xa9\xc7\xf5\xbf,\xe5\x1d\xe4\xdb\xfa$\xbeT\xdb`\x1b\xcf\x1f\xd4\xfe\x06}\xee\xe0\xef\xd3\xf9*\xb0\x8c\x88J\x02~c\x9a\xa4e\x07:\xa8\xbc\xe8d\xeb\x89\x82\x13F)B\xc4Y\xc7\x9a#\x07\xd7\xeb\xf7b\x15\xc7\x93\x8e\xe8\x7f\xd9\x91\x9b\xf4\x08~{$1\xb7C\xf9\xc5\xa9\xb3\xc2\xfb\x17\x8d\x0e\x1d\x1d\xa1\xfew6;t\xbe\x0a,#\xa2\x92\x80\xdf\x98&i\xd9\x81NC\x01y(\x7fK\x81)~\xee\xbc\xc9\xc9\xee\xc7]u\xb3\xbf\x92F\xfd\xbe\xbe,\xccI\xea@\x1d\x899\x85\xaa\xf8\xac\xf5\x9e\x90\xaeZ\xf0\xf0\x19\"\xb5\x8c\x88J\x02\xfeb\x96\xa4\x19\x07:\xe5\xfbhL\xf10\x19\xa6\xd3i\xcf>\xc7\xfb\x18|\"\x05\xd7\xcf\x00\x00\x0d\xafIDAT\xfd\xa70\xf7\x91\x83\xa8*'W\xad\x96\xa5\xc3I-#\xa2\x92\x80\xbf\x98%i\xc6\x81\xcen\xc1\xbf]Y\xb9\xaeqp\xf8\xd0\xc1\xf3;/\xe4\xa5'\xe6|\xcbF\xe7\xa6\x9e\xc3\xaf\xfd\xf5\xdd\xe4\xb5*+)3\xbf[a{\x90\xe7\xf1\xa2\xb3\x94'S\xf3\x8e$^\x9e\xa1_X?\xcf\x91\x9a\xf3\x05\x9b\x0c\xab\xa5b=\xca\xa9\xa0j\x91b\x8f\xf3\x02Y$\x95\xa30?3\x89\xa6B\xfd\x15YIK+\xe8\xa8\xffEnZ\xf2z\xd5\x9c\xd65\x91\x13\x98\xa8zr\x83\\\xb0\x84\xe2\xd8\xe4\xea\xa0\xee\xc2\xfb\x92\xb2\xdfI\xabW\xa4\x0fd%\x01\xd31K\xd2\x8c\x03\x9d\xc3\xc5\xf4\x09\xa1E\xbb\x8d\xd2\x04\x98\xde\x83\x07\xd33\xefI\xcb\xcf\xbd\xebs6\xfa\xf3t>\xa7\xf4\xdd^\x1a\xde\xc2\xe7\xd7W\xa4.\xedgm\xbb\x1b\x93_\xf8\x0a}\xf5Br#\xee\xf8g\x1b\x1b\x13\xc5\x11\xecTR\xd6+\xf5\xa5\xfc^6\x19V\xcb\x17I\xdf$^\xa6j\x91b\xbb\x1b\x1b3\xb3\x1b\x1b\x1b?%\xc9\x1c|\xe6\xc1\xe3\xf3\xe8x\x98\xe7\xd8Y\xbf\xd3\x91\x87C\x17\x923\xab\x8e\xe7\xf0J\xb5\xb8\x8b\xb6\x0a\x14)\x1f\xd3\xc6\x14,\xa186\xb9:\x1d\xe9\xc9{\xeb\xb7\xf1|\x85\"\x83@V\x120\x1d\xb3$\xcd8\xd0\xe9,*os\xbb\xca\x9c%Fi\x02\xcfR\xfe\x91n\xd4\xdf\xad\x8c\xec(\xfd\x8d\x83O&c\xefq\xbe\x0a\xbf\x9e\x15\xc6a\xd9vK.~\xc9\xdd\"\x9a\x8b\x92\xeeM\xcf\xe9%R\xeaP$+\xccEK7g!\xa2\x16ef\xf2\x9c6\xf5\x1b\x9cc*\x0e\xd5\xf3\xf5\x9e\xd7\xecL\\N\xffR\x95Z\xdaZ\x05\xda\x14\xb1L\xc1\x0a\xa4\xfa2\x05\xe7%\x93\x916\xdfK\xd2\x01\xac$`6fI\x9aq\xa0\x83\xda\xcb\x9dN\xe7\xd1r\x13\x9e\xec\xb7\xd4\xa1\x18\xa0%zO\xe5\x90N\x9b\x9b\xde\xfb-&m\x8b\xd2\xf6Tb7\xeaN:%~\x12%]\xcf\x7f\xe4I\xcd$\xc3jy\x85\x7f\x89\xaaE\x99\x99\xac\x16\xf2\x99.H\xb7\x08\x97\x83\xee\xdb\x8c:\x04\xcd\xedT\xaa\xa5\x95\xf3\xa0\xf0\xf8\xc3\x14\xac@\xaa\xaf\\p\x7f\x12\xad\xeb9oI\x07\xac\x92\x80\xe9\x98%i\xc6\x81\x0e\xc6\xdd\xde\x87\x8aM\xf0\x89\xb54\xcb;\xee\xac\xb0d|x\x0d\x19\xe8\x04\xd6(m\xbfM>\x82\x8e\xcc\xf3\xect\x8b\x92\xde\xcb\xf7z\xbeg\x92a\xb5t\x14~E\xd5\xa2\xccL\xb9\xf3D\xd5\xf20\xfd\x06\xe5d\xe1Q\x92^\x14W\xef<\xd5\x94\x0b\xd4(b\x99\x82\x15H\xf5\x95\x0b\xfeB\xd8\xf3\xeb\xf6\x96t\xe0*\x09\x98\x8dY\x92f\x1c\xe8\x20\xbaQ\xd6\xe24\xe1q\x9dr\xa7\x95I\xcd\xa7o\x85\x99d\xcc:K\xe9P\xd9\xe6\xafA\xeb\xf3=\x1fDI\x9f\xe2?\xf4\xc40\xc9\x0as\x85\x98B\xad\xcc\xaa\xc80*\xabeK:\xf9\x95\xe8O\xcfC\xdf\x08\x9a\xcb\xf3K-L\xc1\x0a\xa4\xfa\xca\x05\x8b\xa3\xf4G\xde\x92\xa6vA\xac$\x10:\xcc\x924\xe3@\xa7\xd9\x89\x17\x87W\x8b\xcd\xf0\x9f\xc3J\xbau\x830\x9f\x9d\x97F\xfas?\xf9\xaa^XS\x16\xbe\xa4\xb2}7\xf1r\xe2\xbb\x9e\x0f\xa2\xa4\xbbS\xb3\xc9h\x99\x9f\xafH\xc6\xa8E\x91Yv6B_\xd1\x08Y-\x82\xc1A2\xe3\xcfJ\xc7u\xf84\xd1/\xb50\x05#\xf9(\x98\xfa2\x05\xaf\x9f\x87\xf3\xed\xcf\x13%\xed\xb1\x0dA%\x81\xd0a\x96\xa4\x19\x07:-\xceZWCqy\xc8\xbdm|\xfb.\xdd\xd3\xf5\xac\x90\xe7\x88~\xa6\xe7\xf1\xa9\xa5\xf5G\x1eI\"[\xbd\x85w\xe5\x1e\xf9\xcb\x16\xdc\x8b\x95\xb6\xfdi9it\xde\xdd\xfbNcc\xe2\xe6F\xb2\xf7\x8dW\xd8\xf7U\xd4\x0b;OR\xb2or\xb3/\xe3\xcf\x97\xb3s\xbfab\x11\x91\xc7^\\\xc4et\xb9\xd1\xb1\xf9\x9d\xfe\xf77;\x1a\xb1]._x\xbc\x90'\xfa:\x97\x94V\xba3\x99wT\x9dC\xc60\x05KG\xa1\xa8\xaf\\\xf0\xe5\xd4\xf4\x8a#k\x12\x95\xb6!\xa9$\x102L\x934\xe3@\xe7dIQ\xf9I#\xf3\xc0\xf3\xa1\xb0l\xcc\x11?\x16E9\xe9\xfbo*\x0a\xefKJ]C/\xde\xa0\xfa\xecy\xc9\xd9\xf5^\xb6{\x1d\xc2%\xa3\xf7\xc5\xa5'\x95\xc8\xa7\xeb\xd3\xee\xc9:\xa2HV\xca\xf3dci3Oo\x9f\xf6\xc4bz\xf3\x93\x13\xb3\xcf\xd2\xdb\xa7y\xc7G\xe4\xea\xf66r\xc9w\xa9\xe7\x92\xef\x855\xc9\xe9\x85U\x0e\x12k\x0cS\xb0\xe7(\x94\xf5\x95\x0b\xee\xd8\x92\x9e\xf8\xc8YQ\xd2\xa2mh*\x09\x84\x0a\xf3$\x0d\x98\x85z{\x0c\xb0\x14\x20\xe9\xd1\x07H\xda\xd2\x80\xa4G\x1f\x20iK\x03\x92\x1eu\\\xa8\xe7\xf3\xdf\xf5\xf9\xf7c\xc0H\x06$=\xea\xc8&\xbb]\x17\x8c\xac\x80\x91\x0aH\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x85I\x92\xee)v\x0a\x14\x93O\xae\xb2\xa2}&<\xd3\x04\x00,\x88I\x92v;O\xba0'\xe8\xb3M\\\x055-5\x05\xa0i\x00\x08\x00&I\x1a5\xd1gw\xd3G\x08\xf6\xd1\xd7\xc3\xc5}\x06I\x00\x000\xc6,IS\xca\xc9s\x8aPs\x01\x95w\xc1\xf0\xf1]\x09\x00#\x173%M\x9f#\x88P\xa5\xe0\x13\xab\xdc\x8c\xe7\x09\x02\x80\xd50S\xd2%\x95\xf4m\xb7\xf0\x00\xef\xc3&<\x9a\x1f\x00,\x87\x89\x92n\x15\x9f\xdc]\\K\xdfj\x8b}\x19\x03\x00\xe0\x17&J\xbaRt\x82%z\xae\xac\x0e\xb5\x9b;\x00\xb0\"&J\xbaHt(])x\xa1-\x83\xb54\x00\x0c\x1d\xf3$\xdd\xee\x14\xfdB4;\x89\xc7\xbb\xabN\xd8\xf1\x06\x80\xa1c\x9e\xa4[\x9d\xedB\xa0\x8f\xfa\xce\xa9\x86\xeb\xd2\x00\x10\x00\xcc\x93t\xb3\xd3\xe32\xc7UP\xddZ\x0dw\x8f\x01@\x200O\xd2\xad\xf2v\x98k_A\x19(\x1a\x00\x02\x81y\x92\x06\x00\x20\x08\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\xd1\xda\xb5ZA\x00\x18\x99\x98$i\xa5\x03\x1d\x84\xaa\xcd{\xa4\xc9\xdf\xecOk\x04=\x1c\xb0c\x12p\xe0\x83_\xc7\xc7.:\xb6\xe0m\x1c\xdc>\xf7\xceiw\xce\xdd\x81P\x9d\xdd\xbe\x08\xa1\xfd\xd8\xe2\x98:]\x908\x16\xff')|~\x9a\xfd^\x1f\xa6\xbeYk\xb7\xef7\xb2\x19\x10\x81k\xa8\xd5\xd8,\xe6\xbc\x91\x15\xa0\x87I\x92V8\xd0A\xa8\xcdYk\x90\x20x\xac\x8a\xb9\xa4\x11\xf4\xe0~\xbb.v\xc5\x07\x08\x9d\x99\xf6\xd0\x81\xfd+\xa8\x0e\x8e\xd9\x7f\xbd\xe7\xd0k\x0f\xd9\xeb\x90\xfb\x98=\x06\xbf\xee\xb7\x1fs\xa3\x00s\xec\x8cf\xf4\xa1\x18F\x88\xa7W\xc7h\x1a\xf9\xc3\xa5\xbai;\x8cl\x06D\xe0\x1a\xea\xb3\xba\xba=\xf6\xb7\x8d\xac\x00=L\x924\xeb@\x07!W\x89y\x92>o\xdf\xa8\x11d\x89'C\xf7\xe2\xc5$\xb8\x9a\xf4\xd4\x8d\xb1\xb4\xee\xb1\xd8\xd8m_\xb5\x9a\xa4\xf3\xa3\xa3\x0e\x90\x05+\x8c,0;\x06/i\x84b\x02+i\x14\xc8\x86:\x0d\x92\x1e<fI\x9a\"8\xd0A\xd5\xce\xea\x02\xd3$\xbdZ\x1e\x99W{\x0f\xd2\x04\xdaS\x13\xb6\x93\xe0\x07\xf6\x03\xb8\xd3.\xa4\xd1\x0b\x17\x93\x9ez\x0cw[\xbf{\xea\x00\x18\xb1\x92\x0eHC\x81\xa4\x87\x80\x99\x92\x16\x1d\xe8\x20\xb7\xdb\xf3x\xfe\xd0s~\xdaF\x8d\xa0\x02\xdaSW\xc4\x7f@\xc2\x87p\x9f\\$\xa8m\xc5\"\xd2S\xcf/\xd8\xaf\xee\xa9g\xa6\xd9\xed\xdb\xcf\xafJ\x88y\x80<\x20q\xff\xa2\x98\xb9\x1b\xe9\xf7\xee\xa7\xef\x8d]\xf4v\xc2!\xf48\x99\x96J+a\xd9\xa0nq\xc2\xb4\xf8_\xe3\xf5\xe8\x9f\xec\x02\x0b\x90\x82\xafc\xec\xd2\x0a\xf8\xd2\xaa\xf8\xd8\x15\xde\x13\xef\xf3+\xe2q\x16\xf8\x97\xa9\x13\x07\x12\x1e\"\xb3\xf7\xc7\xed\xd3\xf6l\x9c\x1b\xb3\xf83\x95i\xcc\xc6\xb5\xf1w>$\xacY\xe5:\xc8h\xe6p\x08\xd7\xe0\xf7h\x87]s%>\xd0\x86\"k\xeb\x1dbfri\x04Q\xd2z\x0d\x85\xd0k\xf1{\x10\xa0\x8d\x99\x92\x16\x1d\xe8\x10L\x93\xf4\xdai\x9fi\x04\x15\xd0\x9e\xfaY\x82\xfd\x81\x1d\xa7\xe9\xa4b\xc1\xefh\xf4\xef\x16\xd0\x9e\xba\xeb\xd7\xea\x9e\xea\xde\xbf?anl\xc2\xc6U\xf6\xcf\xc8\x0ct\xe3\xa1]\xf1\x0b\xb0\xb8\xbfN\x88\xdfuh\xad\xdd\xbeG\\\xc7\x8a+a\xd9\xe0\x8c}\xd5\xfec{\xe2\xed}d]:wQ]]\x9dz\x8f\xe8L]\x9d8\xb6\x9e\x8f\x9d\xfb\xda\x9f\x16\xdb\xd5\x92~3v\xc1s\xc7v\xd8w\x11\xed\xad}s\xffC\xf6\xd3\x08\xfdm\xff4{\xfc\x8e]\xb1\xeaa?\xc6\xbe`\xff\xfe\x051D\x80r\x1d\x184sp\xbf\x9d\xb0\xf6\x12\xba\xb4=\xb6Nc\xbc\x1dpC\xd5\xc5n\xf7d&\x97F\x10%\xad\xd3P\x98\x15\xf6\x07\x10\xa0\x8d\x89\x92\xf68\xd0!\x98%\xe9\xcf\xa6\xad\xd5\x08*\xa1=\x15}\xfd\xdc\xc2i\xf6X26\xdd\xbb\x8aF\xaf\xba\x97\xf6\xd4K1\x97\xbc\xe7\x93\x0b\xec\x8b;\xf18Gt\xf1GDz(N\xb7*\x96L\xeb7\xda\xc9\xf0B\x85I\xa7\xcd\x8c\xc1\x9ex\xd2]\xf7\xc4\x0a9\xe8L\xbcEI/\x9a\x8b\x8b\xec[\xa0\x92\xb4;\xe1\x01\x1c\xdd\xb3\xffk\xf2\xbbB\xea$\xe4\x12\x13\x8b\x7f[V\xc5\xabs\xba\x17[\xb8\xe7.T\xd4\x81\xcdL;\x87\x1dd\xea@\x16\xc6\xde\x0c\xbc\xa1V\x93\xdc\x7fG\xda\x9d-\x8d\x99xk6\x14\xe6\xfcs\xb0%\xae\x87\x89\x92\xf68\xd0!\x98%\xe9\xc7\xa7\x9d\xd7\x08*\x89\xf7\\\xd9r\x1f{\xc0~H\x1a|V\x08\x83\x0f\xfa\xf5.\x0dI\xc7\x88\x03\xfe\x8a\x84\x9e>L\x02\x96@\x0c]d\xfeM%i\xc6\xe0\xb3\xf8\x84\xc7\xf7\x9cA=B\x0e>%\xfd5\xcd\x05mWI\xfa\x90]\xde'\xff\xe7\x9e\x07\x12b\x85\xa9{\x0c\x11\xa0\xd7\xba;\xe6\xf7\xe4u\x8f\xfdk\xb6\x0e,\xda9|f\xff\x00\xb9c5\xafE\x0d\xbc\xa1\xde\x8cq#wL\x1d\x092\xa5iJZ\xa7\x92\x80\x17&J\xda\xe3@\x87`\x92\xa4/\xc5\xac\xd5\x08\xaa\xa0=\xf5\xb4\xb0s\xb6\xe8!\xe1?\xe6!a\x89\x88\xf6/\xd0\x90\xb4g\x15\xbc@\\\x15\xaf\xc0R8@\"\xdc*I\xcb\x06X\xa8{V\xdck\x8f\x7fNH\xe8S\xd2g\xecT\x06j\x99\xee\x92+r:>\xe1\xe9\x03u\x8b\x17Hi\xbc%Ms\xaa\xc3\xbf\x02l\x1dd\xf4rx\xe0it,\xb6\x07i0\xf0\x86\xea\x8b?\x80\x0e\xd0\xc9\x09[\x9a\xa6\xa4\xb5+\x09xc\x9e\xa4%\x07:\x04\x93$\xbd\xd1~^#(\xd1G\xa3hO\x8d\x7f\x9c\xc6l\x9f\x8b\x90\xd8\xef\x16,\x16z\xaa;\xe6\x98\xb7\xa4=\x1doU\xc2\x19\xca?Q\x9f\x20\xa1\x0fdI\xd31V6@gH9_\xef\x8f\xd9#\xe5\xf0\x9a\xf7\xe2^\xc8\xe5\x9f\xc2(\xad\xde\x1e;&\x8f\xd2\xf7.$uZ\xe1K\xd2\x1b\xc9\xebk\xf6N\xb6\x0e\x0cz9\xfc)\xbeg\xb5z\xa8\x1ctCm\\\x81Vl$\x01\xb64\xb5\xa4\xd5\x0d\x05\xf8\xc4<IK\x0et\x08\xe6H\xfaR\xccj\x8d\xa0\xcc\x1e2\x18\xfe\x93\xec6\xa1\xf8\x84\xafI\x0cQ\x9ax\xb9\x95\x8c\xea\xa4\xa7\xa2\xd5\xbf\xd3\x97\xf41a\xed\xb7\xfd9\xb2\x15Lz\xe3*A\xd2\xb8\xf3\xf7-\x8cQ\x1a\xec\x10n\xadZDg\x0b\x8b\xf0\xd0vIc[Y\\K/$\xd59\x1f\xa3\x92\xa9;~\x11\x19>7nD(\x81\xd4\xa0o\x81/I'\x90u\xf7\xbd\x8b\x14u`\xd0\xcb\xa1'\xfeOw\xaa\xe7\xdd\x83n\xa8\xd31\x97b\xe8\x96\x18[\x1a+i\xad\x86\xc2\x9c\xdf\x01ki=\xcc\x93\xb4\xec@\xc7\xedr\x15U\xbb\xda|Z\x07\x85\xa7\xe5\x91\xf9i\x8dA\x9a\xdc\xfe\xb4\xff\x8f\x0b\xe3\xc9X\x19o\x8f\xdf~\xec\xc0br\xa3\xe21\xfb\x03\x07\xea\x0e,\xc6\x13i7\xeegnT\x17\xa3\xec\xa9}\xa7\xe9~\xf5y1\xdf\xdf\xed?@o\xbc\xb8\x14\x9f\xb0\xe7\xc0\x8a\x18*\xe9E\xf1\xcf=\xb7\xd0>\xed\x8f\x1f\xb0\x06;\xec\xb1\xdb\x0f\xe1\xe0\x9b$\xdd\x8e\x98]\xb84\xe5(\xdd\xf3v]]\xcc\xea\xba\xbaN<\xd8\xc7$\xec\xd8~\xa7\x90\x03\xc3\xb1\x98{\xf7\x1c\xdah\x7f\x8dd\xb6b\xcfs\x0b\xf04\xfe\xf4\xa5\xbai\xabO\xa33\xab\xa7\xd5)\xaf\xba\xc7\xd8\x1f8}lQ,\xa9\xa6\\\x07\x06\xdd\x1c\x9eN\x88U\xbb/\x1b\\C\x11\xe2\x17\x0b\xdbvri\xc2\xddc\xbb\xea\xeaHn\x9a\x0d\x85y\x88\xdc`\x0ahb\x9e\xa4e\x07:'\x84\xdb\xbd\xaf\xfa\xb2\x0e\x06\x97bVi\x04Y\x0e,\x88\x89}\x88\xaaf\xe1k\xdb\xef\x8d\x89\x17.\xe3n\x9f\x1bk\x8f%\xb7.\xbfI/\xa9\xf6-\x8cWt\xf13\xc2\xa2OXH\xa2c\x8b\xe3c\x17\x1d\"\xa1\x7f\xaeN\x88Y|\x86J\xfa\xfc\xa2\x98\xd8\xc5\xbf\xb7\xdb\xd7\xb2\x06\xfb\x17\xedH\x98\x16\xbf\x88*\x1a\xb97\xde\x19\xb3\xe84R\x20f,\xe4\xf0\xd0\x9d\x09O\xffq\x1a\xcd\x81\xe1\xfc\x8a\x84\xd8\x85d\xd1\xde\xb7knL\xfc\x8a\xd7\xe6N[\xb4\x16\xa7\x98\xf6\x01\xb9\xa4\xad\xb4\xbdw\xc7\x8a\xd8\xf8U\x82\xcc\xe5J\xca\xe8\xe6p^](\x1adC\x11v\xc5\xec\xa2\xefri\xf4\x1eo\xcf\xaaY\xb3\xa1h2\xf5\x06>\xe0\xc1<I\x9b\xcf\xef\xed\x7f\xd3\x08\x06\x17a{lD\xe3\x8ey\xd3\xc8$\xf8<\xb4\xd8\xc8b\xd42\x9a%m\xc6_UZ@\xd2\xfb\xbd\xc7\xda\x90\xf3\x9c]5\xa7\x00$F\xb3\xa4\xcd`\xa4Kz\xc7\x9bh\xf1v#\xa3\xa0\xf3Y\xfc.#\x93\xd1\x0bH:\xa4\x9c?f\xdf\xa8Z!\x8f(\xdc\xf6\x05\x8f\xc7\x7fmd\x05\x98\x09H:\xa4,\";M#\xf9\xfa\xcb\xf6\xd8\xc5#\xb9\xfa\xa3\x01\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x8a\xff\x0f\xb8\x98\xba\xeaw\xacpV\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/ipcg-func.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xaa\x00\x00\x01\xb1\x08\x03\x00\x00\x00\x9d\xa2d\x9d\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x02\x04\x00\x07\x09\x05\x0a\x0c\x08\x0e\x10\x0d\x13\x15\x12!#\x20'(&+-*2319:8?@>QSPVXU,`\xae7]\xadZ\\Z8^\xae8a\xaa:b\xab;b\xac^`]<c\xad=d\xae?e\xaf@f\xb0Ag\xb2Bh\xb3Ci\xb4fgeCk\xafEj\xb5Lj\xafMk\xb0Fm\xb2Ol\xb2Ho\xb4Ip\xb5Jq\xb6molKr\xb7Ms\xb8Nt\xb9Ou\xbaPv\xbbrtqWv\xb6Xw\xb7Yx\xb8[y\xb9wyv\\{\xbbV~\xbd^|\xbdX\x80\xbf`~\xbeZ\x81\xc0`\x81\xbbb\x80\xc0}\x7f|b\x83\xbd\x80\x81\x7fc\x84\xbed\x85\xbfe\x86\xc0\x82\x84\x81f\x87\xc1\x84\x86\x83h\x88\xc2\x85\x87\x84i\x89\xc3\x86\x88\x85j\x8a\xc4k\x8b\xc6\x88\x89\x86q\x8b\xc1r\x8d\xc2\x8a\x8c\x89s\x8e\xc3t\x8f\xc4v\x90\xc5\x8d\x8f\x8cw\x91\xc6\x8f\x91\x8ex\x92\xc8q\x94\xc9y\x93\xc9z\x94\xcas\x96\xcb\x80\x94\xc5\x81\x95\xc6z\x97\xc7\x93\x95\x92\x82\x96\xc7\x83\x97\xc8\x96\x98\x95\x84\x99\xca~\x9b\xca\x7f\x9c\xcc\x86\x9b\xcc\x80\x9d\xcd\x81\x9e\xce\x88\x9d\xce\x82\x9f\xcf\x9b\x9d\x9a\x88\xa0\xcb\x84\xa1\xd1\x9d\x9f\x9c\x8a\xa2\xcc\x8c\xa4\xce\x8d\xa5\xd0\x8e\xa6\xd1\xa3\xa5\xa1\x8f\xa7\xd2\x90\xa8\xd3\xa6\xa8\xa5\x91\xaa\xd4\x98\xab\xd1\x94\xac\xd6\x99\xac\xd2\xaa\xac\xa9\x9a\xad\xd3\x9b\xae\xd4\xad\xaf\xac\x9d\xb0\xd6\x98\xb4\xd8\xb0\xb2\xae\x9f\xb3\xd8\xb1\xb3\xb0\xa0\xb4\xd9\xa2\xb5\xdb\xb3\xb5\xb2\xb4\xb6\xb3\xa3\xb7\xdd\x9d\xb9\xdd\xa8\xb8\xd8\xb6\xb8\xb5\xaa\xb9\xd9\xb7\xb9\xb6\xa4\xbc\xda\xac\xbb\xdb\xb9\xbb\xb8\xad\xbc\xdc\xae\xbd\xdd\xaf\xbe\xdf\xa9\xc0\xdf\xb0\xbf\xe0\xbd\xbf\xbc\xab\xc2\xe1\xb1\xc1\xe1\xb6\xc1\xdc\xc0\xc2\xbe\xad\xc4\xe3\xb7\xc2\xdd\xc1\xc3\xc0\xb8\xc3\xde\xb2\xc5\xde\xb9\xc4\xdf\xc3\xc5\xc2\xba\xc5\xe0\xb4\xc7\xe1\xbb\xc7\xe2\xb6\xc9\xe3\xc6\xc8\xc5\xbc\xc8\xe3\xb8\xcb\xe5\xbe\xca\xe5\xc9\xcb\xc8\xc0\xcb\xe6\xba\xce\xe7\xc2\xcd\xe8\xbf\xcf\xe2\xcc\xce\xca\xbc\xd0\xe9\xc3\xce\xe9\xc7\xcf\xe4\xc8\xd0\xe6\xc3\xd3\xe6\xca\xd2\xe7\xd1\xd3\xd0\xcc\xd4\xe9\xc6\xd6\xea\xd4\xd6\xd2\xce\xd6\xeb\xcf\xd7\xec\xca\xd9\xed\xd0\xd8\xed\xcb\xdb\xee\xd7\xda\xd6\xd4\xd9\xe9\xcc\xdc\xf0\xd6\xda\xea\xd7\xdb\xeb\xda\xdc\xd9\xd2\xde\xec\xdb\xde\xda\xd9\xdd\xed\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xdc\xe0\xf0\xd6\xe2\xf0\xdd\xe1\xf2\xd7\xe3\xf2\xe1\xe3\xe0\xdf\xe3\xf3\xe3\xe5\xe2\xda\xe6\xf4\xe1\xe5\xf5\xde\xe7\xef\xe5\xe7\xe4\xdc\xe8\xf6\xe6\xe8\xe5\xdd\xe9\xf7\xe6\xe7\xf1\xe0\xe9\xf1\xe1\xea\xf2\xe8\xea\xe6\xe2\xeb\xf3\xe9\xeb\xe8\xe3\xec\xf4\xea\xec\xe9\xe5\xee\xf6\xec\xec\xf7\xec\xee\xeb\xed\xed\xf8\xe7\xef\xf8\xe8\xf0\xf9\xee\xf0\xed\xe9\xf1\xfa\xef\xf1\xee\xf0\xf0\xfb\xee\xf3\xf6\xf1\xf3\xf0\xf4\xf2\xf6\xef\xf5\xf7\xf2\xf5\xf1\xf0\xf6\xf8\xf4\xf7\xf3\xf2\xf7\xf9\xf3\xf8\xfb\xf6\xf8\xf4\xf4\xf9\xfc\xf7\xf9\xf6\xf5\xfa\xfd\xf8\xfa\xf7\xf6\xfb\xfe\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf7\xfd\xff\xfb\xfd\xfa\xf8\xfe\xff\xf9\xff\xff\xfc\xff\xfb\xfe\xff\xfc\x1d\xe0k\xdb\x00\x00\x20\x00IDATx^\xed\x9d\x09p\x14\xd7\xb9\xef}\x93\xdc\xfb\xde]t2\xaa\xbe3\x12\xd2\x13TI\"b\xb9PzFU\xc0\xc5\x98\xb5j\"\x95)!\x97\x8b\x87\x1d+U\x02\xa2\xd8O@L\x20\x18\xa1g\x0c\x97\xa4,,\x16\x13H\xbc@t\xcbv\x0a\xd9\xd8V\x99'{\xd8\\Pl\x97\xe0`\x85\xb2\xcd\xa2\xc8\x06\x83\x1fK\xd8\xb1@\x08M\xd5\xa9w\x96\x99\x9e\xd33=\xea\x99\xd1\xa8\xd5\x9f\xfa\xfbE\x91z\xce|}\xba\xc7\xfa\xe9\xcc\xe9\x9e\xa6\xff\x0fQ\x04\x01\xc1CV\x05\x08\xe2\x0cPU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80`\xa1j\x1b\x828\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x84$Tm\x988X\xcb\x1d\xf3\\\xbc\x9e\x12c\x0a!\xa4\xdc\xd02\x8c\xb5l\x89S\xfd\xe9\xfbq\x9e\x88\xc3H\xd6\x17\xf9\xc8\xaaJ\xe2g\xa5\xb5r\xf1\xcd\xaa\xe2<\xcdW0m\xe9\xe1\x1e\xd7@\xfa\x95\xc4U}\x96\x08\xfcq\xbbJ\x88dT=\xbdj\xc8\"\xd3'\xe2\xf1\x8e\xd8\xc3j\xab2\x89\xae\xea\x81i$L\xd6*\x8b\x95\x90\xfe#aU\x0fg\xc8\xdf\xe6\xc2\xf8}%B\x12\xaa\xbe_BHr\xaa>%\xf6p\xc8\xe7Vu\x82\xb0\xaa\x9f\x16\x13\x85eV\xab!\xfdE\xc2\xaana\xbf\xc7\x8c\x15\x7f\\\xbf+~_\x89\x10\xab\xea\xb4\x91#G\xfe\xd1\xact\x06IR\xd5\xd6AR\xb7\x97\xad\x0a\x05aU\xe7\xf3U|\x13\xca\xa7\xe4\xf1\x05-\xc1\xe9\x03b;\x09\xab\xfa2\xfb=\x16\xc7\xef'QbU\x8dK\xd2\xaa\xbe\x1c\x1a\x19'Y\x15\x0a\xc2\xaa\x0ef?\xff\xd7\x9f\xd8\xc2\xe7\x0b\xf9\xcas-VC\xfa\x8b\x84U\xfd\x0d\xfb5\x8e\x8d\xdfO\xa2\xf4\xa5\xaa\x13\xf9.\xf2\xc1\x7f\x8fU%'\xa4\xea\x01\xee\xe7\x9fdSIz\xfe\x1c\x91>!AU\xcbC\x03\x16\x19\xd9\xd6\x96\xcd~\xc8#\xf3!l\x89\xbfw\x17\xb0w\xd0\xb6\xd6ec\x06\xf9\x8a\x17|\x1aZ\xe3\xf3U~vT]\xf4\xc4\x9b\xc6\xed\xf50W\xdd3\x7fL\x8e\xa6\x0d\x9e\xb0H\x8837\xbc\xc5M\xfc\xd1\x81g\x8b\xb3\xbc\x85\xe5\xe19\xad\xd9\x06\xdbv\xf1\xd9\xf4G|\x90\\\x10n2\xab\xdbU5\xd4\x9b3\xe5U\x83\xaa\xaf\xc8\xa7^\xad\xaa\xaa\x9a/\x17\x8d\x1b\xfc\\8\xbcl\xa8\x967\x83\xff\x97(\x93\xad{\xf8\x06w\xc5V#}B\xdaT\xdd5R\x16\x14\xca\xc9\xecG#\xc3k<\xf5\xa5\xba\xbd\xf8\xaan\xca\x0a\xaf\x91\xc7\xe7\x8b\x06U\xd7\x87\x9f\xf3K\xe1L6\xd8\xd6\xb6\x80=\x18#\xd6+<\x1dj2\xa9{\xd9+\x1fV\x86T=\xcd\xa7\xa8\xde\xaa\xa8\xb3bQ\x1b\x14\xaa\xf2\xfe\xc9\xa3|\xce\xee\x95{\xb1\x88-N4\xa9F\xfa\x84t\xa9\xaa\x0d\x0dW\x88\xb3Y{\x06\x13\x9dy\xea\xf6\xe2\xaa\xbaK($O3\xe4\xb7\x1aU\xdd\x94\xa1w6AX\x18\xbbA\xe6\\!\xe1\xee\xbd\xcf\x9b^\x0d\xf5\x1d[\xb7E\xef*\x93\xc8\xb9\xeas\xf2a^\xc5\xca\xc8\x11c\xf4\x06\xb9\xaa\x83D\xdb\x8a\xd3\xbc?yN\x8b\xff\x0d\xd4\x9bT#}B\x82\xaa~\xb8\x85\x9fV-\xde\xb2\xe5\x9d8\xaa\x12R\xb0\xe2\x9dz\xbe\x90\xc9G\x16n\xa4\xb7zS\xfd\x04\xf6\xd3\xf3\xa1\xb2\xbd\xb8\xaaV\xb3\x1fU\xbbN\xb7n\xe2\x9d.c[\xdc4\x9e-<\xb1i\xd3\x81\xb6Os\xd9\xd2\x98\x86?\xfe\x8a\x1f\xe1\xd7\xb6\x99nP\x9e\xa2\xc8<\x20\x05\xfaq\xa8\xef\x98:!\x9a6\xff\x9d-O\x08\xb3xg\xadcI\x98\xe2\xa5\xb2\xab\x98\x0d~.\x9e\xce\x1c3\xccs@\x8c\xa5\x13x\x15\xff\xa3\x18\xd4jR\x8d\xf4\x09\x09\xaa\xaa\x1eV\x99\xab\x9a\xc3\x8fe\xc49xf\xf3\x87\xfc'\x7fW\xffr\x0c1\x9e\x93\x8f\xab*\x7f?\x16\xf3\xdaM?\x9e\xbf^\x1c\x17\xe9\x87U\xcb\xb8E\xfcd\xe9\x1f\xd9\xf05\xbc\xcdl\x83\x8c\x0a\"\x8f\xfd\xb9J\xda\x01\xd9wL\x1d\xf7\x99\xac\xe7OU\x91\xb0X\x9f\xf25C\x14l1\xdd\xa0P\xd5\xc7\xd6\xdf\xce\xe6\xa5\x99\xa1\x037>\xeeW\x99\xee\x1e\xd2\x17\xa4M\xd5gE\x0b\x1fX\xd8o{1\xe1\xd3F\xce\x96\xe7^1\x9c\x89\x8d\xab*\xf7\xc5W\xf1\xf2\x81\xc8\x13\xba\xaa\xfc\xc8~\x85h\xe2\xe2\xf3\x89l\xcc\x06\x99p>\xb6\xf4\x1b\xb6\xb0\x87k\xb5Dv\x11S\xf7\xac\xbec\x875\xa2\x8f\x81\xef?\x95\x13vU{\xd3l\x83B\xd5\xa7d\xb1\xf8\xa3Z\xcc\xfe\x0a\x07\x87\xfe;\xc4\xee\x1e\xd2\x17\xa4MUy\xde\xbd\x88\x88\xc9%\x9f\xdaVEoJ\x10W\xd5M!W\x86=\xb5\xa9U>\xa1\xab\xca=*\x9b\xcb\x19\x1e\xdaP\xcc\x06\xdb\xda\xfe\x0f[\xf0\x89\xf7o\xfe\x86>Bv\x11S\xf7c\xa2\x0f\xf2\xfcC\xaa\xda\xf0N\x9c~g\xd1\xa3>\xb1\xfd\xa1\xa7M6(T\x0d\x7f\xb2\xc0\xf7\xb4\xb8\xad\xedU\x12:\xb3\x15\xbb{H_\xd0+U\xf9$-\xac\xaa<Q3R\x1a1\x89\xfd\x98\x1f\xbd)A\xfc3\x00\xe2\x1dY\x90/\xc7\xa8\xb0\xaa_\x12\x03\xb5m&\x1b\x94#Zn9g4\xaf\x92\xe7\xc8b\xea\xf8\xdcy\xb1\xdc\xee$\x125\xb3lm\xe0\xbb\xc2\xeac7(T}'T\xf7%?g\xf0\xa1x\x1b\xe0\xeb\x9b\xec\x1e\xd2\x17\xf4JU~\x8e&\xac\xaat\x83\x0fU!U\x9f\x8d\xde\x94\xa0\x87\xf3\xaa\x9b&z\xc2\xbfoq\xf9VX\xd5V\xa3\x0b\xbc)f\x83rv\xacP!\x9e\x8d\xa9\x9bH\xf4\x8f\x15B\xaa\xbe\xbc\xa8jF\xf8\x84\xc1\x01>\xb0.3\xd9\xa0PU\x7fk\xe7\x1f\xc5\xceoe\xb5\xde?\x99\xef\x1e\xd2\x17\xa4\xa0*\x9f\xf6\x89\xdf\xff\x97\xfc$\x8d\xa9\xaa|\xc4yB4\xb4~d8\xad\xda\xf3\xe5*\x07^~B\x0cl\xc4\xcb\xe7\x00\xfa\x04\xc0\x17\xa9\x08\x11\xabj\xb5Q\x98\xd0\\\x20\xa6\x8e\xf7\x19\x9as\x8e&B\xd5\x12u\x87\xf8\xd8\xfb\xac\xc9\x06\x85\xaa\xfag`\xfc\xb3\x86\x91\xaf\xe8\xeb\xc5\xee\x1e\xd2\x17\xa4\xa0\xea\xe0\x90\x1dr$3U\x95\x1fV\x15\x88S\x8c\xbf&\xdeb\xf5c\xf5\xf8\xaa\xb6n\x97\x9fK\xf1u\xc5\xa8\xcd\xb5\x12\xc3+\x7fo\x97\xc7I[B\xba\xc4l\xf0\xcb|\x12\xc5\x0a\xd3:~\x12u\xa4h\xd8\xc3\x87\xf0Z\xe9\xb8\x16:\x9d\xb6\x8b\x1fj-3\xd9\xa0Q\xd5\xb6G\x89\xfc\x04W\x0a\x1a\xbb{H_\x90\x82\xaa|\xe8\x11\xf6\x89\x93<\xa6\xaa\x0a\x89\x7f\xc5\x1e\x7f\xce\x1b\xc2\x87\xce\x9cx\xaa\xee\xe2}D\xa6\x15\x1f\x86\xba\x17\xb3\x88\x85la0\x1f%\xdf!${\xec\x01\xb3\x0d\x8a\x832\xfd\x13'~\xf2\xf4\xe16\xb3:q\xd2\x8a[|\xba\x8c/\xd5\x86v\xb5@|\xb2\xfa\xfe\x08\"7\x1d\xb3A\xa1j\xe4\xe4D\xe8\xba\x98\xd0\x87b\xb1\xbb\x87\xf4\x05)\xa8\xca\x15\xf2,|\x7f\x8b_\xfc\xbeLUm\x9b\xc6\x9f\xf2\xd7.*\x0e\xfd\xf2u\xb8\xaa\x85\xe5:[\xf4Q\xb5X\x18s\xb8\xf5C~r>\x8fK\xc0\xaf>\xcd\x99\xff\xd4\x7f\xca)d\xf1\xab\xbb^\xe1\xdb\x11g\xdfc6\xc8\xc5\x8b\x9c\xd2\xe4\xf2\x90\xed\xa6;\xc6\x87@\xf2D\xc3o\xe4y\xff\xda\xb6\xf0\x07q\xf9c'\xc9\xb9\x07?5\x1b\xb3\xc1(U?\xcf\x15\xa5\xa1Kwcw\x0f\xe9\x0bRP\xf5U\x12\"\x93\x8fB\xe6\xaa\xaa\x1f\xac\x1a\xae\xca\x9fB\x0c\xd4\xea\xaa\xbe\xefS\x9a\xf9\xc7\x95m\xb5z\xc9\xca\xc83Y\xc2\xfb\xe8\x0d\x8a\x93\xa4\x91\x8b\xbe\xc5\x85+\x95\xa6;\xf6\xa1\xbe\x99a\xb2\xef\xb6\xc3\xfa\xd5\x0a\x9c\"!d\xf4\x06\xa3Tm\x9b\xc7\x1f\xeb\x17p\xc5\xec\x1e\xd2\x17\xa4\xa0j\xf8\xe3\xf9\xac\xfaY$\x9e\xaam\x1f\x8d\x08\xff\xf6\xaa\x0c\x1f\x8b\xc7U\xb5\xed\xcd\xbcp\xa3W\x9e\xac:,\xcf\xcbs\xd3\xeb\xc2\x82\xe5\xc9\x8b\xb0\xa37\xc8?0\"\xcaG\x0d\xfc\x9cTN\xab\xe9\x8e\xbd\x19\xba\xfezn\x1d\x09\xff\x83\x952\xa23)\xd4I\xd4\x06\xa3U\x15\xb3\x86\xc8e\xb1\xd1\xbb\x87\xf4\x05\xa9\xa8\xda\xf6\xca\xa3\xb9\xdea\xf3\xf6\xb4\xf5\xa0j\xdb\xe7+\xa7\x0c\xd6|\xc3\x9f\x0a\x9f\x8d\x0c\x11_\xd5\xb6\xd6\x15S\xf2\xbcZ\xee\x98g\xc3\xce}T>X\x1b<It\xb7g~qn\xe6\xa01\x8bBW.Eo\x90\x7f\x1f\xa3l\x85\xef,?\x19o\xb6c\x07\xe6\x16y\x87\x94\xbd\xd9\xa6\xab\xcaF\xf4\xb9c\x06k\xde\xbc1\xf3\xfeS\xef\xc1\xb8\xc1hU\xdb\xf8\xf5\x09\xf5\x91\x87Q\xbb\x87\xf4\x05\x09\xab\x8a\x20\xfd\x0b\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80`\xa1*\x828\x05T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa4]\xd5\x89dIlc\xfb\xbd\xd86+V\x90\xa7\xadJBE\x09U\x9a\xd3@\xca\xadJ\x10\x87`\x87\xaa\xc1\x95\xbe\xebf\xa5=\x93\x90\x80\xa8\xaa{\xb0C\xd5\x0eBPU\xa4\xb7\xa0\xaaV%\x88C@U\xadJ\x10\x87\xd0\x1bU?~O\xe7\xff\xea\x8dR\xd5\x06Rw\xa9\xba@+\x9a\x7f\x89\xd2\x1a\x11\xfbs\x84\xb5\xb6W\x17i\xb9e;xY=Y\xb5c\xb8o\xec)\xb5\x90\xb1\xbd\xa2@\xf3\x8d^p\x81F\x0bx\xe2\x99aZ\xee\x8c\xdd\xa6E\xc6\xca\x9de\xf9\xbe\xf1M\x87\xc8\xa4\xc8F\x0c\xab4\x90\xda\xe3\xe59\xd9\xe3_\x0b\x8a\x07\xe5\x17\xf8\xe6\x17\xa6\xf0\xb7\x84\xd8KoT}\xe4\xefu\xfeMo\x0c\xabZ]@\xb2s\x09\x19\xddA7W\x10R^\xd1N\xe9\x8e,\xe2}\xb8\x88\x90\xc5\x94[T\xed%$\xabC-\xa4\xb4\x8a\x90\x82\x92<\xf6\xedr\x94\x80M>\x92]\x92OH\x93Y\x91\xa1\xb2\x81\x90\xfc\x12\x8dTHU\xe5F\x0c\xab0;\xb35\xff\xa3\x1eR\x19\xe4\x0f\x1e\xce#\xf9l\xf3\xc5\x1d\x14q6\xbdQ\xf5\xcc?\xe8\xaa\x1e\xd4\x1b\xc3\xaa\x92Ql\x08l\xd2\xc8\x06}\x02\xd0\x9eMj\xeeP\xda\x92K\x1a\xb9E\x9e\xe1M\xcd\x1b\x8c\x85\xcd\xc4\xc7\x87\xdc@6Yi\x14\xf0\xebl\xb2\xa0\x83\x06k\x89\xf7\x92I\x91Zy\xd4C\xea\x83\xf4\xf2\x0c\"U\x95\x1b1\xac\xc2\xb68\xfc$\xa5\x07r\xc9F\xf1`\xd8>J?\xd0\xc8f\x8a8\x9b\xde\xa8\x1a\x19V#\x83jD\xd5\xbf\xf0GU\xa4JW\xb5\x86\x94\x89\x8a7\xc8(n\x119F\xa3\x0bk2\x16\x89\x8a\x1a2\xc7(\xe0\"\xe2\x0fu\xbe\xde\xa4H\xad\x9cEj\xf8\x8f\x8eaRU\xb9\x11\xc3*l\x8bG\xf9\x837H\x91x\xd0\xca\x1f\x88\xcd#\x8e\xa6W\xaa\xea\xc3jdP\xd5U-\x16\x8fV\xf1\xc3\x96\x90\xaa\x85\xe4m\xd1\xd6\xe1!\xa7\x98EE\xe2\x81\xa1\x90\xde\x93o\xc3\xcb\xc8\x93F\x01\x8bC\xab\xb6\xb7\x07M\x8a\x94\xca\xael)'k\x13\xaa\xca\x8d\x18Vi\x20\x13d\x9b\x97\x1c\xd77_\x8f\x87W\x8e\xa7W\xaa\xd2\x7f\x8f\x19TuU\xe5\x08\xba\x9e\xcc\x08\xabz\x8bM\x08\xc7\x0b4\xd2\xcc\xdc\x90\xe3\xa4\xa1\x90\x95\xee\xde\xb0\xb8b(!\xb3\x8d\xaajr\xec\x0b\x11]\xa4T\xb6\x93\xcc\xa0Xh\x96\xaa\xfacWi\x90\xe3.\xf7\x7f;{\x20+6\xea\x95\x88S\xe9\x9d\xaa_\xfcC\xf4\xa0\xaa\xab*G\xa9\xf5\xdcD\xa9\xeay%\x05\xb8\x91YT!\x0a\x0c\x85\xc1U\xec\xc8\x89d\x94L\x88R\xf5\x0e!\xed\xfa\x06b\x8b\x94\xcaC$K.|\"U\xad\x88]\xa5\x81,\x95%\xe3\xc8\x1b\xfa\xe6QU\xe7\xd3;U\xe5\xb0\xfa#\xb5%\xae\xaa\xd7\x099\x11)3U\xb5\x96dTn\xde\x7f\x8b\xd6E\xa9\x1a$\xec\xbd:Ll\x91Ry\x82d\x18F\xd5\x8a\xd8U\x1a\xc8\x02Y;\x9a\x0d\xee\xa8*\x1cz\xa9\xaa\x18V\xd5A5\xbe\xaat\x08?\xf2\xe7\xb4\x9c\xec2U\xf5A6;j\xe2TGO\x00\x86\x8b\xb3T\x94\xbe=m\x95I\x91R\xf9\xc0\x1b\x9a\xab\xaeTT5\xae\x12~\xcf\xbf\xa3\xb1\xa1\x1aU\x85C/U\xe5\xc3\xaaaP5S\xf5\x1e!\x7f\xa3\xfc(\xbbD\x8cx\xdb\xf9)'3U/\x84\x06\xcf[\x05\xfcIU\xd5\x1a9\x93\xa5e\xa4\xd6\xa4H\xad\xac\x90cfW\xb1\xa2\xaaq\x95\x06\xa2\xb5\xcb-\x97PT\x15\x10\xbdU\x95\x0d\xab\x86A\xd5LUvT\xd4x\xa7\x8b\x1e\xf7\x9297\xd9,2\x97T\x9bO\x00\xba\x06\x91\x1a&\xf3Y?\xe1k\xa9\x02\x9e\xf6\x91e\x0fh\xb0\x8ed\x9d7)R+\x0fgx\xd6\x07\xe9\xcd'\x89\xa2\xaaq\x95\x06BJ\x98\xab\xdb}\xec\xfd\x1fU\x05DoU\xa5\xffn\x1cTMU-a\x075\xcd\xe2<\xbf\xb7d8\x93\xa8#\xce\\\xb5\x9e\x90\xa1\xfe\xb1\x9e\x9cE\xe4\xe1\xe8O\xab4\x92S\x92K\xb4&\xb3\"Ce=\xff\xb4\xcaG\xc6q\xf7\xc2\x1b1\xac\xd2@\x86y3K\x86\x11RKQUH\xf4Z\xd5/\x8c\x83\xaa\xa9\xaa\xc7'zs\xde`?O\xfc\xacH\xf3\x95\xac\xe2\xd7Y\x9b\xaaJ\x9b'\x0d\xf1\x8e^t\xe9\xa6\x96\xd1n\x14\x90\x1e\xaf,\xc8\x1cR\xc1/$\x88-2V6\xfb\x07y'47\xf0)Cx#\x86U\xd8\x16\x8f\x94e\xe7\x96\xb5\xa8\x9bGU\x9dO\xafUu(+\xc8\xbc8\xcf\xe0\xc5T@\x19h\xaa\x96\x95\x04\xc4\xcf\x89d]\x9c\x0aT\x15(\x03M\xd5\xf9\xe2\x98\xa9c1\xc9\xbd\x1c\xa7\x02U\x05\xca@S\xf5B\x11\xc9\x1cU\xec#Y\xcd\xf1*PU\xa0\x0c4U\xe9\xcd\x95%\xb9\xbe\x115'\xe3\x16\xa0\xaa@\x19p\xaa\"\x03\x15T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xd8\xa4\xea\xc5o/^\xb9ml\xba}\xe5\xe2\xb5k\xdd\xe6\xe5\x08\x12\x83M\xaaF\xf8x\xed\x15\x8a\x82\"\xc9c\xaf\xaa\xf7)]\xfd\xd8_\xf9\x0f\x04I\x12{U\xa5\xfc}\x1f\xc7T$\x15\xecT\xf5\xfe\xfd\xce\xfb\xf7\x0fn\xbb\xc6~t\xa3\xafH\x92\xd8\xa9\xaa`u\xe99\xab\x12\x041\xc1vU\xbb\xafXU\x20\x88\x19v\xa9\xca\xde\xf0\xbf\xd8\xf6\xdb\xb5k\xd6\xbc\xbe\x8d}[\xfb\xd6{\xdfY\xad\x81\x20\x06\xecR\x95\x1d\xf4\xaf}\xbct\xfa\xe4\xc9\x93\x1fa\xff\x9f\xfe8\x9b\x06\xe0y\x00$\x19lT\xf5\x85\xc9\x1f\x7f\xf6\xe7\xcf\xfe\xcc\xf8\xec\xb3_N>\x83\xaa\"Ia\xa3\xaa/\x96\xde\xd5\x1f\xae)=C;)\xda\x8a$\x8e\x9d\xaaN\xffB\x7f\xf4\xc2\xf43=U#H\x0cv\xaa:UW\x95.GU\x91$\xb1Q\xd5\xe5\x8f\xdd\xd8\xf6\xa3\x1f\xfd\x1b\xfb_\xe9\xfd\xdfN\xbf\xb8wm\xe7\xc15\xca\xf5\x00G<\x84\x90\xb9\xfa\x0a;\xf2\x9aL;\xb2\xa0\xde\xfbk\xb3\xe6v\x8d\x14\xf3\x9fGg\xe4\xe7Lk)\xd9mV\x838\x1b\x1bU}~&\xfd\xe5\xf7\xfe\xee\xfb\x7f\xf7\xfd\xef\xfd\xf7\xcemSo\xbf\xfe\xd8\xed?\x94*\x07W]\x9f\x8c-\x09\x9c\xd7W\xf8\x20\xfb\xed\xd8^Z\x0e\xc5\xb6\x19)\xd1J\xcc\x9a\x83\xfb\xaa4\xf6\xe3\x90V\xde\xf4F\x05\x09Gh#\x90\xb0Q\xd5\x17J\xbf=\xb7m\xdb{\xec\x7f\x1f\xd3\x97\xa6\x9e\xbb\xf2Y\xf7\x95/:\xd5\x1a\xbf!<2Hc\x99\xf0\xa4I\xa3\xca\x1dO\xa5\xe7\x96\xe93u\\\xd52?\xeb5X\x85\xaaB\xc4FU\x95\xb9j\xb7\xe9\\\xd5o\x99s:~\xb6EA\x0b9DZL\x9f\x11\xaa\x0e\xe7\xf9\xaf\xf4(Iin\x81\xf4/v\xaaZzN\xceL\xd9\xb7\xff\x98z\x86\xde\x8d>Y\x15Q\xf5\xba\x8f\x10\xcfV\xb9\xbc\xb3\xacH\xcb\x9f1,H\x9b\x88d\x1co\x0d\xbe\xf6hv\xf1\xc2\x0eJ\x9f!\xda\xc6\x05\xc5YegEq\xddPZ\xc8\x13\xa9\x0d\xad\xdfT\x16\xe6\xce\x12\x13\x80'\x0b\x8e\xf1u\xb7\xdfR{8\x92I\xc8\xd2S\x95\xc3}e]\x8d\xac\xfb:ZG\xc4\x14A/@\x1c\x81\xad\xaa\xde\xd0\x1f\xae)5\xf9\x08@\x19U\x0f\x05\x02\xde:\xb1t\x20\xa3\xf2\xed\x1d\x1b\xf3I\x17\xbd\xb3;0zZ\x20\x108\xc1\x9b\xe7yj\xb67\xe4\x8d\x0f\xd2\xbfl\xcd$yu\xbf\xce\x91\x19\xd5\xfeYt6\xefEm=\x95S\xbc\xb9\xa9\x8cpU\xdb\x8b<eu{\x1ePC\x0f\x1d\x8d[\x87\x8d\x1eT\xb4\xa02\xe3\xeb[;s\x96]\xa2\x97jsw\xdeR\x0a\x10G`\xa7\xaa3\x9f\x7f\xe9\xc5\xd5\x8c\x17W\xbf\xf4\x93GL.\xb06N\x00|R\xd5uy]\xfc{\xae0F\x9f\x00\xbcK~\xc7\xbe\xef'|\xe4\xd5r\xcfRZ\x99\xc7\x9b\x83\xd9\xf5\xb4>[\x94FZ\xa7\x8cb#c\xb0\x84\xabJ\xaf\xae\x98\xa0\x91\xdc\xc6\xa8\x1e\xe8x\xe2\xbfI\x837\xd9\xd2<>\x1b\xae\xfcYt\x01\xd2\xff\xd8\xa8\xea[?}\xact\xaa\xa4\xf4\xa7?\xbf\x98\xa0\xaa\xe7\x0b\x87\xd7l<\x1c\x94#\xa1\xae\xea\x93#\x1et1\x86\xf2\x93[\xda\x1c\x1a\x9a\x8a\xd2#dw\xc7nr\x84\xaa\xad\xd7\xc9F\xfex\xa9\x16Z\xf5\xde\x8e2\xb2\xdd\xd8\x03\x1d\xaf}\x1dz\xb6\xc5\xd7A;\xb2Z\xa26\x818\x00\xbbTe\xdc8w\xe6\x8b0\xe7\xbe5\xb9\xb6\xdaTUz}\xc3\xecb\x92\xbf\xca8\xaa\x96\x84\xe6\xad\xfc\x0d^\xe3\x85R\xd5\x06\xd1\xd8@\xd5\xd6CD\xc4\xae\x8b\x82\xfd\xdf\xf0\xc5\xe0\xa4rc\x0ft\xfc\xb8\xf0V\xbb\xf2\x9bhS~0j\x13\x88\x03\xb0QUK\xa4\xaa\xb7\x96]\x15\x8fB\xaa\x1eZ\xcc\xbc\xb9\xbe\xd5\xb7\x8e?\x10\xaanf#`\xe5\x88C\x02\x9e\xa4\xae\xa8:k\xdc\xfe\xfd\xfb\xc7\xcd\xa2j\xeb\xdf\x88Xu\x0e/(\xa8\x11}.\x19e\xec\x81\x8e\x9f\x15\xde\x07ZSA+D\x95\xa1\x00\xe9\x7f\xecT\xb5\xbb\xfb~\x98n\xb3\x0bU\xa4\xaa\x87\xc9N\xf1(\xa4j\x1d\x11q\xe9\xfe\xeap\xc5%~t\xde,O\x8d.YI\x0d\xaa\x16.d\xdf\x16\x14RC\xeb\xc4\"\xe6\xfeI/_\xcc/\xe4\x7f\x06An\xa6\xda\x83z\x12l\x8f\xf7\x82w\x0f_0\x14\x20\xfd\x8f\x9d\xaa\xf6L\xd7\x9e\xb1%\xec\xf8>\xb0\x81\xbda?\xf8$\x10\xf0V\x05v\xde\xe4\xaaf\xd7~\xd04W\x9e-\xad\xd3\xea\x9b\xfc\xd9\xfc#\xad\xc5\x19O\xbf\xcdZ\xdf\xa0\x17\x02Z\xd5\xbe\xe0\xe1*-p\xa1\xa3\x99,\xb9C\xef\xfc\x8a4\xdfSZ\xe9\xb1\xac\xa2\xba\xa5\x83=\x99\xbf;N\xf3IAms\x93\xdfwR\xed\xa1k\x8f8\xb3\xd0.w#XXV(\x0f\xfa\xf5\x02\xc4\x118G\xd5\xa3\x9e\xd0\xe4\xd0w\x82\x1e\x08-o\xa0\xf4\xb5iuEZ\x81_\x9e\xd7\xbfW3\xd87m\xbfXl\xf6\x0f\xc9\x9d\xd2\xcc\xcf\xa0\x12\xa2\xb5f\xb3\xef\xcf\xec\xc8\xe0\xe7C\x9b\x08\xc9\xd8\xa1\xb4Rz\xaa|\xf0\xf0\xe7~\x97\xc9\x16'l^R\x9c\x9dWq\xd2\xd0\xc3\x11\xb9\xb1\xf2\xd0~\xd4k\xf5\xa1\xa5p\x01\xe2\x08\x9c\xa3*\x82\xf4\x08\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xf4\xb3\xaa\x18\x12\x84$J?\xab\x1a\x01C\x82\x90\x9eq\x86\xaa\x18\x12\x84X\xe2\x0cU)\x86\x04!V8AU\x0c\x09B\x12\xc0\x09\xaa\x0a0$\x08\xe9\x19\xc7\xa8\x8a!AH\xcf\xf4\xb7\xaa\x18\x12\x84$H\x7f\xab\x8a!AH\x828@U\x0c\x09B\x12\xc1\x01\xaabH\x10\x92\x08NP5\xa1\x90\xa0\xa6G/\xc5y&U\xaeN\xc2\x9bWC\xc2\x09\xaa&\x12\x12\xb4\x8a\xd4E\xdd\x93\xb7\xd7a)\xc1U\x9e\xd8\xfbQa\xce\x8bcq\x80\xaa\x16!A\x82\x06\xcfkQ+\xa6#,e{fCt\x13\xe6\xbc8\x16\x07\xa8j\x11\x12\xc4i\xd3\x16\x87\x17/\xfb\xe5]$\xd3\x12\x96\xb2L;\x1b\xd3\x869/\x0e\xc5\x01\xaaZ\x86\x04Q:\xb7@O\x8f8F\x8e\x89\x9fi\x09K\xb9S\x10{Oj\xccyq(\x0eP\xd52$\x88>\x18\xb4H.4\x8c~\xf7\x049\xb1}\xf4\xfaT\xc3R\x94\x02\xd1\xe12_L\x82\x0a\xe6\xbc8\x14'\xa8j\x15\x12D\x0f\xcb{\xa4\xf3_7y\x98\x94\x90Y\xe7S\x0dKQ\x0a\xc4\x9a\xbb\xc9\x1e\x1a\x05\xe6\xbc8\x14G\xa8j\x11\x12D\xb7\x93\x93\xe1\xc5f\x8dh\xf2\x96\xa7\xa9\x86\xa5D\x0a\x18gI\xcca\x13\xe6\xbc8\x14'\xa8j\x15\x12\xc4\xdetC\xb7\x94\xbe\xba@+$\x85\xde\xe7\xfe&\x1f\xa6\x14\x96\x12)\xa0\\\xd5F\x1a\x05\xe6\xbc8\x14\x07\xa8j\x19\x12D\xf7\x91O\xe4\xc2\xaa\xfc\x0d\xc7\xc9_\x1a\xf2W\xf6\",%R@\xf9p\x15sr\x13s^\x1cJ\x7f\xabJ\x13\x08\x09\xa2\x1dZH\x18\xfa\x80\x1e#\xc7\xe9\x83`/\xc2R\x94\x02\xaeN\xccI%\xccyq(\x0eP5\x01f\x8d\xd2\x0f+\xce\xe7\xca\x13\xf4)\x87\xa5\xa8\xa7\x9a\x82\xc5\xe1\x04\x00\xda\xbe\xb2M.`\xce\x8bCq\x82\xaaV!A\x94\x9e\xf0\xc4|P\x99ZX\x8a\xb1\x80\xd6\x13\xfd\x83\xa7\x0a2\x83\xff\xc0\x9c\x17\xc7\xe2\x04U\x13`\x997zN\x99ZX\x8a\xb1`\xa7\xef9\xbd\xbf\xcdy\x1b\xf8\x0f\xccyq,@T\x0d\xce\xd7\x1a\xadj\x92\xa6Q\x9b\xdbeU\x838\x06\x20\xaa\xd2`\xfd\xd0t\x1fY\\-X\x89'\xd6\x01\x01EU\xc4\xf5\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\x0eU\x15\x93W\x90h\x1c\xaaj\x04L^A$\xceV\x15\x93W\x10\x1dg\xabJ1y\x05\x09\xe3dU1y\x05Qp\xb2\xaa\x02L^A$\x8eW\x15\x93W\x10\x89SU\xc5\xe4\x15$\x0a\xa7\xaa\x8a\xc9+H\x14\x0eV\x15\x93W\x10\x15\x07\xab\x8a\xc9+\x88\x8a\x93UM(y\x05q\x0bNV5\x91\xe4\x15\x0c\x09r\x0d\x0eV5\x91\xe4\x15\xdbB\x82\xd2\xd0/\xd2;\x1c\xacj\x02\xc9+\xf6\x85\x04\xa5\xa5_\xa478X\xd5\x04\x92Wl\x0c\x09JK\xbfH/p\xb0\xaa\xd6\xc9+v\x86\x04\xa5\xa5_\xa4\x178YU\xcb\xe4\x15;C\x82R\xeb\x17I\x1f\x8eV\xd5*y\xc5\xce\x90\xa0\xd4\xfaE\xd2\x87\x93U\xb5L^\xb15$(\xd5~\x914\xe1`U\xad\x93Wl\x0d\x09\xa2)\xf6\x8b\xa4\x09\xa7\xaaJ\x13I^\xb13$(\xe5~\x914\xe1`U\xad\xb13$(\xe5~\x914\xe1dU\xad\x93Wl\x0c\x09J\xb9_$M8YUk\xec\x0b\x09J\xb1_$}\xc0V\xd5\xbe\x90\xa0\x14\xfbE\xd2\x07pU1$\xc8=\x00W\x15C\x82\xdc\x03tU\x11\xd7\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10`\xaa\xda\x8d!A\xee\x03\xa6\xaa\xf7)}i&\x86\x04\xb9\x0b\x98\xaa2:\xa3\xc2\x02\x91\x81\x0eLU\xd9;\xff\xde\xd7\xaf\xe1\x04\xc0U\xc0T\x15'\x00.\x04\xa6\xaa\x14'\x00\xee\x03\xa6\xaa8\x01p!0U\xc5\x09\x80\x0b\x81\xa9*\xc5\x09\x80\xfb\x80\xa9\xaa\x9c\x00tw\xd2\xee\xfb\xfc\x0b\x87W7\x00S\xd5\xd0\x04\x00q\x130Uet\xde\xe8y(\xc5\x90\xa0\x81\x06LU\xf95\x00o\xdd\xdf\xfbR\xe7\xde\xd5\xec\xeb\xee\xc1\xb51\x15\xb6\x85\x04U\x11B\xb2N\xc5\xb6\xab\xfc\xad:\xdf7\x03o\x83\xd1K`\xaa\xca\xefi\xfd\x93\xef^\x9fy[|\xdd\xd8\xf6\x93\xe8\x02\xfbB\x82\xce\x06\x02\xeb\xc2\xb7y\x8d\x87\xbf`\xc3\x1c\xdf\xf5\x9ek\x10+`\xaa\xca\xb8\xfb\x1d\xbd\xf6\xd7\xd0\xd7\x8dsQO\xda\x18\x12D\xf9}\x83{V\xf5*i\xa0\xc1\xe8\xfb\xb5\"\xc9\x02SUq\x06\xe0J\xfc\xe7m\x0c\x09\xa2\xd6\xaa\x9e\xea\xddF\x11\x09LU\xc5\x19\x80\xaf\xba\xef\xc69YegH\x10UT\x0d\xae\x1f\x975v\x9d\x98\x94^\xae\x1c2t\xe1\xc2!\xd9\x8d\x0f\x86\xc8\x9b\xad/\x88]\x0fI\x0a\x98\xaa\xd2\x9e?\x02\xb03$\x88*\xaa\xce\xd1\x96n_\xaaU\xb1\xa5\x07\x0f\x17\xac\xab\xf5\xfa6\x97\xd5\xd3\xc3\x81\xad\xa4.\x10\xb8\x10\xbb\x1e\x92\x140U\xb5\xb8\x06\xc0\xd6\x90\xa0\x88\xaa\xcd\xa49\xfc\xbd\x91\x1c\xa1t\x1d9.\xdaq\x02\x90\x16`\xaajq\x0d\x80\xcd!AaU\xe7\x95\x88\x1f\x0f\xb3auq.[8\x19R\x14UM\x0b0U\xa5=O\x00\xec\x0c\x09\xa2\x11U'\xc9\x1b\xad\x97O\xa4\xb4>\xe32\x1f_\xe5\x11\x1d\xaa\x9a\x16`\xaaj1\x01\xb03$\x88FT\x9d;\x82{\x1e\x1c>\x87\xd2\xaf=e_\x1f\x19=I\x9e\xf6GU\xd3\x02LU\xad.\x02\xb41$\x88FT\xdd.&\xb7[\xf9\x1c\xe3\x10\xc9'\xc4\xff\x8d|\x1eUM\x0b0U\xa5\x16\x17\x01\xda\x18\x12t\x9e\x7fZU\x1f\x08\xf0\x09m\xa5g\xf1\xbb\x8b=\x95l\xe9\x90w\xc7\xf6\xc07\xa23y\x06`\x1f~\xae\xda[`\xaaj\xf9\xaf\x00\xec\x0b\x09\x9a\x13\x9a\xd7\xf2\xd3\x07\xc1\x86\x92\xac\x12q^u\xb7\xc6\xdb\xb4i\xc7\xe8\xbd\\\xf1t\xe6\x09\x8a\xf4\x0e\x98\xaaZM\x00\xfa;$\xe8Rv\xf5\xa5\xae\xae\xeb\x07*\x06\xe3'\xffi\x03\xa6\xaa\xd4\xf2_\x01\xf4oHPS\xae\xac\x0c\xe6c\xccZ\xda\x80\xa9\xaa\xe5\x04\xa0\x9f9\xe4\x91\xa7\xa9\x8ey\x0e[T\"\x09\x03SU\xcb\x09@?\x13\x9c\xeb\xabnli\xac\xf6U':\x0e#\x96\xc0T\x95ZN\x00\xfa\x99`SY\xa1VX\xf6.\x9a\x9a>`\xaa\xea\xf4\x09\x00\xd2\x07\xc0T\xd5\xe9\x13\x00\xa4\x0f\x80\xa9*u\xfa\x04\x00I?0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07\xaa\x8a\x00\x01\xa6\xaa8Wu!0U\xc5\xb9\xaa\x0b\x81\xa9*\xc5\x09\x80\xfb\x00\xa6\xea\xb6\xce+w;\xef\xdfg_{_\xbf\xc2\x7f\xdc\xa7\xf7\xef\xde\xed\xbck\xb5\x1e\x02\x1f`\xaa\xee\xa5\x9d\xfc\x07{\xe7\xff\x8f\xd238\x01p\x15\xc0T\xed\xd4\x97\xae\x9c\x89,#n\x00\x98\xaa\xfc\xa0\xff\xe0\x1fV\xbf\xb0|\xf9\xf3\xbf\\\xbe|\xf9\x0b\xbf\x7f\xeb6\x9e\x07p\x09\xd0Te\xef\xf9k\x1e/e\xcc\x94\xdf\xa7\x9e\xc3i\x80K\x00\xa8\xea\x0b\x93\xf7~u\xe6\xab\xef\xe8\xc53_}\xf5\xfcd\x9c\xb1\xba\x05\x80\xaa\xbeX\xfa\x1d[x\xef\x17\xfc\xe1\x9a\xd23\xddw1\xb6\xc2\x15@Tu\xfa\x17l\xe1_\x1e\xda\xcb\x1e-\x9f~\xc6j\x0dd\x80\x00RU\xae\xe7\xffx\x88\x0b\x1b_U\x8c\xad\x18h\x00Tu\xf9\xcc\xdb\x7f\xf8\xd7\x1f\xfe\xb7\xef\xfd\xf3\xbf\xfe\xcf\xfb\xafO\xbd\xf2\xf1\x8b\x9d\x07_\x8a\xa9\xb3-\xb6\"\x01\x8e\x97e\x17T\xb6\x14\xa4\xfbO\xc7m\x00T\xf5\xf9\x99\xdd\xbf\xfc\xc1\xf7\xbf\xf7\xd0\x0f~\xf0\x8f\x9doM\xbd\xf1\x87\x99\xb7\xfb3\xb6\xc2\x9a\xe6\xec\x09\x1b\xb7\x96\x10\x82\xf7W\xe9\x1d\x00U}\xb1\xf4\xdc\x95\x83\x07\x7f\xf8\xfd\xb5\x07\xffLWO\xff\xea\xc6W\xf4\xf6\xb7QU\xf6\xc6V\xf4\xcc\xd5\x9c\x8a{\x94\xde\x19\x85\xaa\xf6\x12\x88\xaaN\xfd\x8c-\xfc\xf0!6K\xed^^j:W\xb57\xb6\xa2g\x16\xfb\xfe\x1f\xffQ\x8f\xaa\xf6\x12\x88\xaa\x96^d\x0b\xa5\xff\xc4\x85]=\xdd\xecd\x95\x8d\xb1\x15\xcf\x10m\xe3\x82\xe2\xac\xb2\xb3T\xed\xb7\x96u\xb3\x95ne\xdf\x97\xd1Q?\x13\x85\x97\xeb\xef)\xb9\x16\xcaj\x86\x1e\x90\xf8\x80T\xf5\x9a\xfe\xf0%\xd3\x8bVl\x8c\xad\xf8\xcb\xd6L\x92W\xf7\xeb\x9c\x0aC\xbf\x97\x9e~\x94usk\xf7\x94\xca\xcb\xf7<\xe1\xbb\x0bR%\xd7BY\xcd\xd0\x03\x12\x1f\x88\xaa>\xfe\x8b\xe5\xcf?\xbf\xe6\xf7\xec\xdb\xf2\xc7\x1f1\xbb\xc0\xda\xd6\xd8\x0a-\xf7,[-\xcf\xb8\xdak\xc5\xe2\xb9\x92\xd7h\xbb2\xe5Pr-\x94\xd5\xd4E$>\x00U\xdd\xf6\xf3\x99\x8f\x95J\x1e\xfb\xf9/\xae\x98\xa8jkl\x856\x87\xf2\x1b\xaf\x1bW;\xe2\xb9\xd7\xf1\xda\xf5.\xed\x08}\x90\x19\x19U\x95\\\x0be5u\x11\x89\x0f4U\x19w\xaf\\\xbc\xf8\xed\xb7\xd7\xee\xb2o\xdf^\x89\xcc\x05\x14l\x8d\xad\x10\xb9\x03B4e\xb5{\x99G\xeb\xc9\xb2\x13\x1e6?\x0d\xcdU\x1f4\x1br-\x94\xd5\xd4E$>\x00U\xa5\xe2R\xc05?\xbd\xe2\x8c\xd8\x8a\x88h\xeaj\xc5[\xfdS\x8a\x9b\xf84`\xb1Ot\xd3H.\xa9\xb9\x16\xa8j\xd2\x00T\xb5\xbb\xb3\xf3Fg\xe7O'\xef\xed\xbcq\xbf\xd3\xfcB\x15;c+\"\xa2\xa9\xab=]\xa35\x93g\xf8\xec\xf7jN\x05;\x98\x0b\xfa\x87\x1br-P\xd5\xa4\x01\xa8\xaa\xe4\xf6\x95\x1e.\xa9\xb6/\xb6\xe2B@\xab\xda\x17<\\\xa5\xf1dJ}5JWf\xe5\x04G\xfbV\xf0\x92\xe6\xacI\xbfk*\xcb\xe43\x07=\xd7BY\xcd\xd0\x03\x12\x1f\x98\xaavR\xba\xf6\x7f\x9f\xa1\xf1\xff\xc9\x8am\xb1\x15\xcf\xf0t\x8a\xd6l\xf6\xfd\x19e5J\x0f\xe5\xd6\xd2U\xd9\xfbE\xe9\xf1\xb2\xac\xfc\x8aV\xbe\xa4\xe7Z(\xab\x19{@\xe2\x02S\xd5\xbb\x94\xb2\x09\x00\x8d\xff\x0fU\xfb9\xb6\x02\xe9\x03`\xaaJ-&\x00\xfd\x1d[\x81\xf4\x010U\xc5\x1b\x01\xb9\x10\x98\xaa\xe2\x8d\x80\\\x08LU)\xde\x08\xc8}\xc0T\x15'\x00.\x04\xa6\xaa8\x01p!0U\xa58\x01p\x1f0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07\xaa\x8a\x00\x01\xa6\xaa8Wu!0U\xc5\xb9\xaa\x0b\x81\xa9*\xc5\x09\x80\xfb\x00\xa6*\xc6V\xb8\x17`\xaabl\x85{\x01\xa6*\xc6V\xb8\x17`\xaabl\x85{\x81\xa6*\xc6V\xb8\x16\x80\xaabl\x85;\x01\xa8*\xc6V\xb8\x13\x88\xaabl\x85+\x01\xa9j_\xc7V`@\x85\x13\x01\xa8j\x8a\xb1\x15I\x90r@\x05\xd2\x87\x00T5\xb5\xd8\x8a\xe4H-\xa0\x02\xe9K\x00\xaa\x9aZlE\x92\xa4\x12P\x81\xf4)\x10UM)\xb6\"IR\x09\xa8@\xfa\x14\x88\xaa\xa6\x14[A\xe9\xe9Y\xf9Z\xc1\x8cohb\xe9\x111\x01\x15\x94\xee,+\xd2\xf2g\x0c\x13\xf7HM8\xf8\x02I\x17\x20UM%\xb6\x82\xb6d\x8f[\xb5\xa3\x8e\xf0{\xfd%\x92\x1e\x11\x13PA\x0fdT\xbe\xbdcc>\xe1\xb7XK<\xf8\x02I\x17\x10UM)\xb6\xa2\xa3\xa8\xec\x1e\x1bo\x1b\xaf&\x98\x1e\x11\x1bP\xb1.\x8fK\xba.7\x98l\xf0\x05\x92\x16\x00\xaa\x9aZlE39\x1c~:\xa1\xf4\x88\xd8\x80\x8a\xf3\x85\xc3k6\x1e\x0e\xf2<\xa1\xe4\x82/\x90\xb4\x00MU\x9ajlE=\xd1'\x8e\x09\xa5G\x98\x04T\\\xdf0\xbb\x98\xe4\xaf\x0a&\x1b|\x81\xa4\x05\x80\xaa\xd2\x94b+vD\xee\x8d\x9ePzDl@\xc5\xa1\xc5l\xb5\xeb[}\xeb\x92\x0d\xbe@\xd2\x02@US\x8b\xad\xb8U\xe0\xe7o\xdd5\xf3\x13K\x8f0\x09\xa8\xa8\x13\x93[\xea\xafN6\xf8\x02I\x0b\x00U\x95$\x1b[A[\xbc\x0foh\xae!\x9biB\xe9\x11\xb1\x01\x15L\xd5\xec\xda\x0f\x9a\xe6\x12>\x17M<\xf8\x02I\x170UM!\xb6\x82\xd2\x93\xb3\x87\x0e\x9a(\xaeC\xb1N\x8f0\x09\xa8\xa0\xafM\xab+\xd2\x0a\xfc-\xe2A\xc2\xc1\x17H\xba\x80\xa9j_\xc7V`@\x85\x03\x81\xa9*\xed\xdb\xd8\x0a\x0c\xa8p\"0U\xc5\x1b\x01\xb9\x10\x98\xaa\xe2\x8d\x80\\\x08LU)\xde\x08\xc8}\xc0T\x15'\x00.\x04\xa6\xaa8\x01p!0U\xa58\x01p\x1f0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07XU\x11\xb7\x01SU6I\xfdxm\xfc\xebU\x91\x81\x08LUq\xae\xeaB`\xaaJq\xae\xea>`\xaa\x8a'\xab\\\x08LUq\x02\xe0B`\xaaJq\x02\xe0>`\xaa\x8a\x13\x00\x17\x02SU\x9c\x00\xb8\x10\x98\xaaR\x9c\x00\xb8\x0f\x98\xaa\xca\x09@w'\xed\xbe\xcf\xbfpxu\x030U\x0dM\x00\x107\x01SUF\xe7\x8d\x9e\x87R\x8c\xad\x18h\xc0T\x95_\x03\xf0\xd6\xfd\xbd/u\xee]\xcd\xbe\xee\x1e\\\x1bS\xd1/\xb1\x15Gg\xe4\xe7Lk)\x89\xbd[\x06\x92\x06`\xaa\xca\xef\xb2\xfa\x93\xef^\x9fy[|\xdd\xe8\xdf\xd8\x8a\x96\xf0-\x83\x0ei\xe5MoT\x10y\xbb*\xbd\xd5\xbc\x16I\x1a\x98\xaa2\xee~G\xaf\xfd5\xf4u\xe3\\\xd4\x93\xb6\xc6VLx2\xb4P\xe6g\x03\xe6\xac\xd6\x8d\x00\x00\x07LIDATy\xb0J\xaa\xaa\xb7\x9a\xd7\"I\x03SUq\x06\xe0J\xfc\xe7m\x8d\xad\xd0\xef\x048|\x09\xff~\x944\x19Z\xcdk\x91\xa4\x81\xa9\xaa8\x03\xf0U\xf7\xdd8'\xabl\x8c\xadh\x0a\xdd\xf3\x97\xdf\x0e\xf8\xc9\x02\xfeW\x11\xdc~\xcb\xd0zsv\xa1VT~\x84\x1ak1\xd7\"i`\xaaJ{\xfe\x08\xc0\xc6\xd8\x8a;\xbb\xc5M+\x03'Xc{\x91\xa7\xacn\x0f\xbf\x8b\xab\xda\xfa.\xa9ni,\xf7\xec7\xb6b\xaeE\xd2\xc0T\xd5\xe2\x1a\x00\x9bc+\xf47\xf5\xab+&h$\xb7\x91\x1aZ;\x1ao\xb11\xb4\xa4\xc2\xd8\x8a\xb9\x16I\x03SU\x8bk\x00l\x8e\xadP\xe7\x9f\xf7v\x94\x89\xbba+\xad\x97\xd7\x95\x8d\xc8!r\x9bz+\xe6Z$\x0dLUi\xcf\x13\x00\x9bc+\xc2\xfa\xed\xe7\xf3`\x1a\x94\xddGZ\x0b\x8a\x165\x05\xfcQ\xaab\xaeE\xd2\xc0T\xd5b\x02`sl\x05\xd7o\xf3\xd7\x94\x16\x88\xc4\x0a\xbad\x94\xa1\xb5x\"\xff\x1b\x99\xa5\xa8\xca[1\xd7\"i`\xaaju\x11\xa0\xad\xb1\x15~?\xa5\x97xC~\xe1U\xbe\xa6L\\\xd1[\x8b\xf8\xc3\xe0X\xa9\xaa\xde\x8a\xb9\x16I\x03SUjq\x11\xa0}\xb1\x15\xbc]\xabo\xf2g\xb3?\x88|RP\xdb\xdc\xe4\xf7\x9d4\xb4\xd6\x91\xd9\xebV\x8cg\x13\x87}j+\xe6Z$\x0dLU-\xff\x15\x80m\xb1\x15\x8c{5\x83}\xd3\xf6\xb3\x85\x09\x9b\x97\x14g\xe7U\x9c4\xb6\x06\xebGkyOn\x1e\xa5\xf9\xd5V\xcc\xb5H\x1a\x98\xaaZM\x000\xb6b\x00\x02SUj\xf9\xaf\x000\xb6b\xc0\x01SU\xcb\x09\x002\xf0\x80\xa9\xaa\xe5\x04\x00\x19x\xc0T\x95ZN\x00\x90\x01\x07LUq\x02\xe0B`\xaa\x8a\x13\x00\x17\x02SU\x8a\x13\x00\xf7\x01SU\x9c\x00\xb8\x10\x98\xaa\xe2\x04\xc0\x85\xc0T\x95\xe2\x04\xc0}\xa0\xaa\x08\x10`\xaa\x8asU\x17\x02SU\x9c\xab\xba\x10\x98\xaaR\x9c\x00\xb8\x0f\x98\xaa\xe2\x04\xc0\x85\xc0T\x15'\x00.\x04\xa6\xaa\x14'\x00\xee\x03\xa6\xaa8\x01p!0U\xc5\x09\x80\x0b\x81\xa9*\xc5\x09\x80\xfb\x80\xa9*\xc6V\xb8\x10\x98\xaabl\x85\x0b\x81\xa9*\xed\xdb\xd8\x0a\x10\xb8.[\x03\xac\xaa\x07\xdf\xeb>\xf8\xdbN\xf9\xf5_\xbf\x8fy:\xb1\xd8\x8a\xe6\x0c\xe2\xd9G?\xf1\x10\xdfu\xabRA\xbdW\xde\xb5\xa5\x8a\x10\x92u*\xdc\xba#\xaf\x07i\x8exXm\xe4~\x7f=\xd6&E\xdcl\x8d\xf0N\x0e4`\xaa\xca\x06\xd4_L\xbe\xb1\x96}=\xc2\xbe\xae\xbd\xfe\xf3\xe8\x02=\xb6\xa2\xe7\x9c\x88\x8e\xb7\xc9\x8e\x07\xb4c\xd4\x84\x04\xd3$J4y\xeb\xa9\xb3\x81\xc0\xba\xf0\xdd\x06)\xfd\x20;\xfaV\xac\x0a]\x9f\x8c-\x09\x9c\xd7\x1f\x9a\xd6\xa6\x18f\x11'[#\xbc\x93\xc9\x91\xe2>\xd8\x08LU\xad\x88\xc4VX\xe4D\xb4\x93[\x94\xd6\x0e\x89\xa8\xd4#w<\x95\x9e\xf0\xfd\x01\xf7GT\xa5=\x8f\xdf\xfc\x96j\x11\xccjS\x0d\xb30\xcd\xd6Pw2\x09R\xdd\x07\xfb\x18\x98\xaaFb+,r\"\xb8\xaa\xcd\x99-=\xd6Dh!\x87H\xb8VU\xb5g\x8c\xaa\x9a\x91j\x98\x85i\xb6\x86\xba\x93I\x90\xea>\xd8\xc7\x80T5\x1c[a\xc8\x89\xd0c+\x9e!\x99\x0d\xd5\x85\x83\xcb\xf9\\\x93\xa9\xda\x9e\xbbB\xae\xa5\x04I\xe8\x8bj-\xa5uCiamh\x1baU\xaf\xfb\x08\xf1\x88\xdb\xa47\xb2-\xd5\xd1:\"\x82\xab\x94\xce\"\xaaFj\x95\x0c\x0c\xf30\x0bC\x8a\x86\xdez$\x93\x90\xa5\xa7*\x87\xfb\xca\xe4-\xb5L\xb25\xd4\x9d\x8c\x04u\xa8\x99\x1d&\xaf\xcd\xf8\x1f\xca\xa1\x0cHU\xc3\xb1\x15\x86\x9c\x08=\xb6\x82\x07T\x0c[\xb1bX\xd61\xae\xea\xa5\x92A\xf7\xe4ZJ\x90\x84\xbe\xa8\xd62\xe9f\xd1\xd9a\xef\xf4Q\xf5P\x20\xe0\x15w\x1e\xbe\xb53g\xd9%z\xa96w\xe7-Cg\xca\xa8\xaa\xd7*\x19\x18\xe6a\x16\x86\x14\x0d\xbd\xb5\xa3q\xeb\xb0\xd1\x83\x8a\x16Tf|-z\x89\xcd\xd6PwR\x09\xeaP\x16\xcd^\x9ba\x1f\x9c\xca\x80TU\x89\xad\x88\xa4GDb+\xa86\xfc&\x1b\xe2\x8a&rU\x9f\x1eU\xb0N\x14(A\x12j\xa6D\xa4\x96\x06\xb3\xebi}vh\xb2\xa9N\x00|\xa1\x9bd\xcf\xe3\xf3\xbd\xca\x9f\x19;\x8b\x9a\x00\x84j\x95\x0c\x8c8a\x16\x91\x14\x0dcH\x06\xf1\xdf\xa4\xc1\x9b\xb2>6[C\xd9I\xe5\x15+\x8bq^\x1bN\x00\xfa\x07=\xb6B\xf9\x0d(\xb1\x15T\x1et\xad#W\x99\xaa\xbe\xe3\x9b\x87\x88_\xbc\x12$\xa1fJDj\xe9\x11\xb2\xbbc79\"\xfb0S\xb5\x85\xbd\x1fwd\xb5\x18;3WU\xc9\xc0\x88\x13f\x11I\xd10\x86dh_G:\x8b\xcd\xd6PvRy\xc5\xcab\x9c\xd7\x86\xaa\xf6\x0f\xfb\"\x1a\xe9\xbf\x01%\xb6B\xdeJ\x9d\x06\xc8!\xa6\xeaV\xdaU,R\xfc\x94\x20\x095S\"RK\x1bDc\xe8\x04\x91\x99\xaa]\xf9M\xb4)?h\xec\xcc\\U%\x03#N\x98E\xe4~\xef\xc6\x90\x0cu>i\x92\xad\x11\xd9I\xe5\x15+\x8bq^\x1b\xaa\xda?Db+\"9\x11Jl\x05\xd5\xe6\xf3\xef\x1b\xc9My\xb2\xaa\xd9\xcbOV)A\x12j\xa6D\xa4\x96\xce\x1a\xb7\x7f\xff\xfeq\xb3d\x1ff\xaa\xd2\x9a\x0aZ!\xb2+\xd4\x1e\xa4\xaa\xb7\x96]Uk\x95\x0c\x8c8a\x16\x11U\x8d!\x19\xb3h\x84\xd8l\x0de'\x95W\xac,\xc6ym\x91}p,\x03RU%\xb6B\xcf\x89Pb+\xa8\x96\xcf~\xc3wF\xf8C\xe7U\x83\x93x\x82\x95\x12$\xa1fJDji\xe1B\xf6mA\xa1\xec\xd8T\xd5=\xde\x0b^q\xa0\xa3\xf6\x20U=Lv\xaa\xb5J\x06F\x9c0\x8b\x88\xaa\x86\x88\x0bu\xf43\xc9\xd6PvRy\xc5\xcab\x9c\xd7\x16\xd9\x07\xc720U\x8d\xc4VDr\"\x94\xd8\x0a\x8d\x8ck\xdc<:\xf7$\xedh\xe2\x9fV\xd1\xb73\xb6\xdf3\x04I(\x8b\x91\xdaf\xb2\xe4\x0e\xbd\xf3+\xd2|\x8f\x9e\xe7\x9fV\xd5\x07\x02l\x10z\xf0\x09;\xaa\xaf\x0a\xec\x14\xf3\xdd`aY\xa1\xfc#\xd1{\xe8\xda3\xb6\x84\x1d[\x076\x90\x80Z\xabf`\x98\x85Y\x18R4\x94\xce\xc4\x91zx&\x1e\x9b\xad\xa1\xee\xa4\xfa\x8a\x95E\xb3\xd7f\xd8\x07\xa720U\x8d\xc4V(9\x11\x91\xd8\x0am\xe1\xdc\x9c\xc2\xca\x0b|\x88\xe1\xd7\x00\xd0i$\x83\x0f\x91J\x90DdQ\xaf\xdd\x91\xc1O\x986\x11\x92\xb1\x83\xce\x09M\xf8\xd8\x11\xff\x01\x8f\\\x94\xd1\x16\xf5Z}h\x0f\xc2=\x1c\x0d=O|'\xd4ZC\x06\x86I\x98\x851E#\xdczDv\x10\x1aKM\xb25\xd4\x9dT_\xb1\xbah\xf2\xda\x8c\xfb\xe0P\x06\xa8\xaa=\xc7VD\xa6\xb2\xd6$Sk/\xbd\xcf\xd6p\xeek3c\x80\xaa\xdaslE2\xbf\xa2djm%\x0d\xd9\x1a\x8e}m\xa6\x0cTU{$\x99_Q2\xb5\xd0\x80\xf5\xda\\\xa8\xea7\xe2\x88\xc5\xaaJ\x92L-4\xa0\xbd6\x17\xaa*\x8eX\xdaiB$S\x0b\x0dh\xaf\xcd\x85\xaa\"0AU\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\xc2\xff\x07mu\xa3\x1c\xa2\xebff\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/ipcg-pkg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xf0\x00\x00\x03\xc6\x08\x03\x00\x00\x00\xb2,^L\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x02\x04\x00\x09\x0b\x07\x0d\x0f\x0c\x10\x12\x0f\x13\x15\x12\x1b\x1d\x1a\x20!\x1f!#!$%#&(&+-*/1.2416859:8<=;>@=AB@DFCFHEJKIOQNQSPTVSWYV,`\xae7]\xad8^\xae[]Z8a\xaa:b\xab;b\xac_`^<c\xad=d\xae?e\xaf@g\xb1Bh\xb3egdDi\xb4Ck\xafFk\xb6Lj\xafhjgNk\xb1Fn\xb2Ho\xb4Pm\xb2kmjIp\xb5Kr\xb6nomMs\xb8Nt\xb9Ou\xbaPv\xbbrtqXv\xb6Yx\xb8vwuZy\xb9[z\xbaxyw]{\xbbV~\xbd_}\xbeY\x80\xbf`\x81\xbbb\x80\xc0[\x82\xc1~\x80}b\x83\xbdc\x84\xbe\x81\x83\x80e\x85\xc0g\x87\xc2\x84\x86\x83\x85\x87\x84i\x89\xc3\x86\x88\x85j\x8a\xc5\x87\x89\x86\x88\x8a\x87q\x8c\xc1\x89\x8b\x88s\x8e\xc3\x8b\x8d\x8at\x8f\xc4v\x90\xc5\x8d\x8f\x8cw\x91\xc7\x8f\x91\x8eq\x94\xc9y\x93\xc9\x91\x93\x90z\x94\xca\x80\x94\xc5\x81\x95\xc6\x93\x95\x92{\x98\xc7\x82\x96\xc7\x83\x98\xc9\x96\x98\x95\x7f\x9c\xcb\x86\x9a\xcb\x98\x9a\x97\x80\x9d\xcd\x88\x9d\xce\x82\x9f\xcf\x9c\x9e\x9a\x88\xa0\xcb\x84\xa1\xd1\x9e\xa0\x9d\x8a\xa2\xcc\x8b\xa3\xce\xa1\xa3\xa0\x8d\xa5\xcf\x8e\xa6\xd1\x8f\xa7\xd2\xa4\xa6\xa3\x90\xa8\xd3\x91\xa9\xd4\xa7\xa9\xa5\x92\xab\xd5\x94\xac\xd6\xa9\xab\xa8\x98\xac\xd1\xaa\xac\xa9\x9a\xad\xd3\x9b\xaf\xd4\xad\xaf\xab\xae\xb0\xad\x9d\xb1\xd6\x98\xb4\xd8\xb0\xb2\xaf\x9f\xb3\xd8\xa1\xb4\xda\xb2\xb4\xb1\xb3\xb5\xb2\xa2\xb6\xdc\xa3\xb7\xdd\x9d\xb9\xdd\xb5\xb7\xb4\xa9\xb8\xd9\xb6\xb8\xb5\xa3\xbb\xd9\xab\xba\xda\xb8\xba\xb7\xac\xbb\xdb\xa6\xbd\xdc\xb9\xbb\xb8\xad\xbc\xdc\xae\xbd\xdd\xaf\xbe\xdf\xa9\xc1\xdf\xbd\xbf\xbb\xb0\xc0\xe0\xab\xc2\xe1\xb2\xc1\xe2\xbf\xc1\xbe\xad\xc4\xe3\xb7\xc2\xdd\xc1\xc3\xbf\xb2\xc5\xde\xc2\xc4\xc1\xb9\xc4\xdf\xc3\xc5\xc2\xba\xc5\xe0\xb4\xc7\xe0\xbb\xc7\xe2\xb6\xc9\xe3\xbc\xc8\xe3\xc6\xc9\xc5\xbf\xca\xe5\xb9\xcd\xe6\xc9\xcc\xc8\xc1\xcc\xe7\xc2\xcd\xe9\xbc\xcf\xe9\xbf\xcf\xe2\xcd\xcf\xcc\xc7\xcf\xe4\xc8\xd0\xe6\xc2\xd2\xe6\xca\xd1\xe7\xcb\xd3\xe9\xc6\xd5\xe9\xd2\xd4\xd1\xce\xd6\xeb\xc9\xd9\xed\xd5\xd8\xd4\xd0\xd8\xed\xcb\xdb\xee\xd4\xd9\xe9\xd8\xda\xd6\xcc\xdc\xf0\xd6\xda\xea\xd7\xdb\xeb\xda\xdc\xd9\xd1\xdd\xeb\xd8\xdc\xec\xd9\xdd\xed\xdc\xdf\xdb\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xdd\xe1\xf1\xe0\xe2\xdf\xd7\xe3\xf1\xd9\xe5\xf4\xdf\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe5\xe7\xe4\xdc\xe8\xf6\xdd\xe9\xf7\xe6\xe7\xf1\xe0\xe9\xf1\xe7\xe9\xe6\xe8\xea\xe7\xe2\xeb\xf3\xe9\xeb\xe8\xe3\xec\xf4\xeb\xed\xea\xe5\xee\xf6\xec\xed\xf7\xe7\xef\xf8\xed\xef\xeb\xe8\xf0\xf9\xee\xf0\xed\xf0\xf0\xfb\xf0\xf2\xef\xee\xf3\xf6\xf1\xf3\xf0\xf4\xf2\xf6\xf2\xf4\xf1\xef\xf5\xf7\xf0\xf6\xf8\xf4\xf6\xf3\xf2\xf7\xf9\xf3\xf8\xfb\xf6\xf8\xf4\xf7\xf9\xf6\xf5\xfa\xfd\xf8\xfa\xf7\xf6\xfb\xfe\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf7\xfd\xff\xfb\xfd\xfa\xf8\xfe\xff\xf9\xff\xff\xfc\xff\xfb\xfe\xff\xfc\x9fIc\x17\x00\x00\x20\x00IDATx^\xed\xbd\x0blT\xe7\x9d\xff\x9dn\xbb\x7f\x92\xf4\xbe\xffM[\x1e\x07\x9d\xe0\x91c\xaf\x16\xd9k\xd5\xb0uJ\x9b8\xf0&\xc2\x80\x18\xe3\x80l(\xb7\xd6\x8aX\x87\xb0\x15\x97\x10\x93FXd^BH\xdf\x84\x05\x8aCK\x92%\x1b\xe3\xd5\xca.V\xc1ZHF@P$\xccE\xa4)I\x1b\xc0\x09!\\\x82\x13\x0866c\xec\x91~z\xcfs\xce\\\xce\xcc\x9c\xb9\xd9\x9e\xe7\xfc\xec\xf9~\x82f\x9e9\xf3\x9ccW\xfd\xcc\xf1\xf7\x9c\x999\xdf;\x08\x80,\xe2\x8ed\x13\x00\x18M@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U$\x12\xbe\x03\x80\xd1\x06\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07YEj\xc2\xe7\x0a!\xfe\xdfx\x9b\xf8\xf3\x9f\xe2=\x93\x16%\xfa\xcf\xf8\xafd\x93\"\x08\xae\x91\xfe\x9aI\x90\x1b\xfc\xefd\x93\xc0\x88d\xc8\xc2\x9f\xd98\xe1i\xfbg\xd2$}m!<H\x9b\xa1\x0a\xff\xa72!\x20<\x181\x0cU\xf89\x02\xc2\x83\x11\x04\x84\xb7\x01\xc2\x8f^\x20\xbc\x0dq\x84?\xfa\xefQ\xe0E1\xf2HO\xf8B!r;\xfeZ\xffP^\xee\x03\xab\xfe\xac?\xae\x15\x01^\x95\xb3\x8e\xfe\xfb\x03\xae\xf1\xc5U\x01\xf7\xfe\xaa/\xfeYG}\xb1V0\xe7L\xcc\x8a:g\xfe\xc3]8>\xc75\xf1\x17\x7f4\x1f\xc7j\xfb\xd7\x17\xdd\x05Zn\xc9/\xfe\xa7#\xf1\x1a\xb1k\x1e\xae-\x19\x9f_\xfej\xc73\xfa3\x9e\xa8_%f3\x9a\x10\x85\x1dG\x97M\xd4\xd7\xf8}x\xc3\xff\xfd7\xcfC\xae\xdc\xc9O\xbfo\xd9\xec\x83\"\x02\xedp\x07\x18i\xa4/\xfc\xe1\x7f5\xff\xef.>\x1c%\xfc+\xae\xc0\x03\xb7\xa1\xb4a\xd9*\xf9\xb8<v\xc5\x8e\x8e??\x1c\x12g\x85\xf13b\xb4}\xeb_\x83\x13~\xf5\xb7\x84k\xc4\xac\xf9jn`\xbd:\x11\x16>\xf8\xab\xc4lF\x0a\xff?\xf9\xe6\x92\xaa\xbf\x067\xbc\xad\xcc\\2\xe9\x84e\xbb\"\x82E\x1d`\xc4\x91\xb6\xf0Zq\xf0\xffow\xa4\xf0\xaf\x8e\x0d\x99\xf0\xa8\xbe\x1f5,\xcb3\x96=\x1f\xbbbGG\x95\x08\xf3\x9frA\xb4\xb6\x87\xf3\xc3\x13j\x13\xae\x11\xbd\xe6\x1f\xb5\xe0\xb4\x09\"$|\xe8W\x89\xd9\x8c>;//\xb8dAp\xc3\xc1W\xaf\x98g\xd9\xf2\xcf,\xebb\x07?\"I[x}w\xe8\xf9\xe3\x169\x18\xf7\xe7\x8e\xb7^\x9d\xaa\x0f~\xf1\xea\xab':\xfe,\xfd|h\xdb\x1f\x7f#\xdd\xd1%3,\xd3'=T\x92s\"v\xc5\x8e\xff\x95\xf7\xab\xff\xf8\xa7\x8dr\xb5_\xc9\x9f\x11\xad\xedt\xfd\xf1\xf8e\xafnyT\xbf\xcfy+\xd1\x1a\xd1k>\x20\xd7\\\xf5\xc7\xff2\xd5\xf6D\xfe*\xb1\x9b1^\x1e\xf9O\xbf\xea1^\x91\xc1\x0d\x8a\xe2\x8d\x7f\xfa\xddD\xb9%K\xa8\x89\xd8\xc5\xff\xa2\x03\x8c<\xd2\x17>O\xee\xd8\xfe(\xff\x1f\x97\xef\xb0\x86\x0eZ\xeb\xf5\xc1\x032\x10\xfcQ\xdf\x95N\xec\x08X\x96\xab\xcf\xd9k\xb7\xe2\x9f~55\xcfH\x14\x1ea\x04\x8d\x18m\xdf\x0a\xda\xf7\xb7\x87\xf4\xc1\xb2DkD\xad\xf9?rM#\x8d\xd7\xc8\x91'\xf2W\x89\xdd\x8c\x16\xfc\xddNH\xe3\xdd\x81\x0d\xe6\x1d\x0d\xfe\x12\xd67\x92-\xbbx\xec\xe0G$\xe9\x0b\xff\xef\xc6\x92\xbc\x80d!\xe1\xcb\x85\x11\x18t\xa4\xa0o\x05,\xfbU`\x03\xb1+\xea\xc8\xe0\xd3\xf1\xbc\xfe\xb8L\x0e\xa2\xb4\x95\xc7\x9b\x0f\x19\xa3\xffz\xea\xf7A\xb7\xec\xd7\x88Zs\xb5\xfep\xb21\xfa\xf3x\x11\x16>\xf8\xab\xc4lF\x0a\xff\x94\xb1|\xa3>r\x9d17h\xa4\xa8\x8e\x09\x91\x9b\xee\xf8\xbd\x08\x81\x04?\"I_\xf8\xff0\x96H'\xe4\x91jHx)re\xadD\xe6\x80\xdf\x05,\xfb]`\x03\xb1+\xea\xbc\xff\xdf\xf5s\xfeI\xcez(\xf8\x84\xc5\xad\xaa\x90t\x16\xec\xd7\x88Z\xb32\xbc\xa6<>\xf5D\xfd*1\x9b\x91\xc2\x9b'l\x0e\xcbe\x87\xcd\x0d\x9a\xbf\xed\xc4\xf0ok2Y\x04\x18\x87\x1d\xfc\x88$}\xe1M\xb5\xfeUD\x0a\xff7\x11A}\xc0\xb2\xc0\x99?\x9b\x15;~W\x1e:\xb6|X>\x8e\xd2V\xfe\xc5X\xd5\x11A\xbc5l\xd6\x0c\xbc5\xe0\x16a\xe1\x83\xbfJ\xccf\xe4#\xd3^\xe3\x7f\xc4\x9f\xac/\xca\x07D\x94\xf0\xbf\x0f\xae\xfa\x8b\x0e0\x12I_x\xf3\xdd\x96\xa0\x09A\xe1\xff*\"x:\xb0\xe4\xad\xc0\x06bV<Si\xcc+\xf9\x85<\xd1\x13O\xf8\x7f\xef\xb0\x10\x7f\x8d\xa85\xe5Q\xeejsh\x15\xfe\xadx\x9b\xd1BO\x1a\xf3\xf6\x9a\x1b\x8c\xfc\x9f\x19&\xb0\x8b\x1f\xf7V\x07\x18\x89\x0c\x97\xf0\xc6\x94\x88w\x1e\x0d{\x82\x7f\xf7cV\x94\xc7\xb8\xf9\x1bOtt\xfc\xa7>\xf8\x7f\xe4\x13Q\xda\xce\x13\xc1\xbd\xe8\xfbo\x19\xa7\xe1\xe3\xafa\x13i\x02\x81]\x1ecz\"\x7f\x95\xd8\xcdH\xe1\x8d\xf3\x93\x11\x91&\x9e\xf0\xbf\x17\x06\x0b:\xc0\x88d8\x847\x8e\xf8\xe4\xa1j\xbd\xf1\xd4\x7f\x9bj%\x16^\xaah\xc4\xe4\xff\xd0\x07\x8f\xca\x81\xcdAk\xa1qt\xf9[1\xfe\x81\xdaDkD\xad\xb9J\x7fXl\xacyX\x9e{\x8f\x12>v3Rx\xf3\x05\xf2\xa2>\xca\xefH,\xbc\xb9\x8b\xc7\x0e~\xa42T\xe1\xe7\x89@\xf2\x90\xe7F\xfeI\xbe\xc5\xfaG!\\\x0f\x1f\x0dXv4\xb0\x81\x98\x15\xf3\x83&UF\xeb\x1b\xe0-\xb9\xfao\xf4\xc1_'\x9bB\xc6_#jM\xe3\xcc\xe73\xfa\xe0}\x19\x8bB\xc2\x07~\x95\xd8\xcdH\xe15\x99\xf0\xff,7T\xd5\x91D\xf8W\xe4\xc6~\xd1\x01F&C\x15\xfeW\xfa}\xde\xaa_\xfdw\xc7Q9g\xf2\x7f\x1e\xfe}a@\xa4\xc4\xc2\xcb\xbb\x7f}\xab\xe3\xf0/\xe4,\xbb\xb34\xc6\x1bO\xc2\xedyZ\xce\x14\xff\x9bh\x8d\xe85\x8d\x8f\xbc\xcc\xd9Xo~4!J\xf8\xd8\xcd\x18\x87\xb0\xe3\x97m\xab\x97\xdb1\x8em\x13\x0a\x7f\xe6\x01\xf3\x8d00\"\x19\xaa\xf0\x1e\x11\xb4j\xa3\x08\xe1\x92>$\x16\xfe\x19c\xe2xs~\xb1|\"Z[\xebG\x0b\x96u$Z#z\xcd?\x05&\x89q\x05\"F\xf8\xd8\xcdH\xe1s\x83?\xe9W\xc1\x0d\xc7\x15^\xa6\xf8_t\x80\x11\xcaP\x85?a~\x0aE\x1a\xe9\x09ZS`\x9c\x01L,\xfc_\xa7\x9bssV\xffk`Z\xb4\xb6\x1doM\x0alO\xd4\x1a\x9f\xcd\x89\xbbF\xcc\x9a\xaf\x98\xbf\x89\xf6[\xb9\xca\xf3\x91\xbfJ\xecf\xa4\xf0\xaf\x96\x98K\x17\x19\xc7\xc7\x89\x85?\xf3\x00v\xf0#\x97\xa1\x0a\xdf\xf1VU\xbe\xf6O\xe5\xc6\xf0\xf0\x8a\x9f\xe5\x8f\xcb{\xe8i\xf3\xf3\xbf\x89\x85\xef8\xe3y\xc8\xa5\x15\xff\xea-\xe3\x03hu\x1d6\xdav\xfcu\xe3\xf4\x7f\xd2r'\xfe*\xf0\xde~\xdc5b\xd7|\xebW\xc5\xda?\xcd\xfb_#\x16\xfd\x7fQ\xbfJ\xccf\x8c\xd3\x92\x7f\xfe\xf7\x12-\x7fz\xc0\xed\xc4\xc2w\xfc\xce\xfay20\xb2HM\xf8\x11\xc5\xdf\xfe\x16\x1a\xcawZ\xff3\xc1T\x83\xf0y\xf8\x149s\xb4\x03\x8cTF\xa1\xf0\x7f\xcc)x\xa8r\x9b\x1c\xfdY\xe6\xad\xa4\x1f\x01H[x0\x82\x19\x85\xc2\x9f\xc8\x11\xf2\xbd\xa5?\xfd\xe9?\xe4{\x03\x0f$\x9b\x0e\xe1\xb3\x8aQ(\xbc\xf1\xde@\x88\xdf'\x9b\x0d\xe1\xb3\x8a\xd1(\xfc\x9f\xcbC\xba\x8f\xfbM\xb2\xc9\x10>\xbb\x18\x8d\xc2wt\xbc\xfa\x8b\x07\xf24-\xff\xa1e\xa9\x88\x0c\xe1\xb3\x89\xd1)<\x00q\x80\xf0\x20\xab\x80\xf0\x20\xab\x80\xf0\x20\xab\x80\xf0\x20\xabH$<\x00\xa3\x0e\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a5\xc2_\xbe\xfcygw\xe4\xa2\xee\xce\xcb_}9`?\x1d\x80L\xa1F\xf80\x07\xb7w\x124\x07\x8e\xa1T\xf8>\xa2Ms?\x96w\x008\x83R\xe1I&\x19\xec\xdf\x81\x83(\x14\xbe\xaf\xcf\xd7\xd7w|\xcf\x97\xfa\xdd\x00\xac\x07\xce\xa0Px\x83\x97\x1e\xbb\x98l\x0a\x00\x99C\xb5\xf0\x03\x9d\xc9f\x00\x90A\x14\x09\xafG\x98\xd3{\xfe\xb0}\xeb\xe67\x9b\xb7o\xdd\xba\xbdy\xdf\xcddk\x00\x90\x09\x14\x09\xdfG\xb4}\xfe\xac\x99\xd3fL\x93\xcc\x9c_q\x11\xe7j\x80\x13\xa8\x13~\xc3\xb4\x83\xa7\xdf;\xfd\x9e\xce\xe9\xd3k\xa6\x9d\x83\xf0\xc0\x09\x14\x0a?\xbb7\xf4pk\xc59\xf2\x11\x9c\x07\xcaQ(\xfc\xcc\xb3\xa1G\x1bf\x9eK4\x1b\x80L\xa1P\xf8\x19!\xe1i}X~\x00T\xa2N\xf8\xf5s\xbb\xf7\xfc\xf8\xc7?\xd1\xff\xab\xe8{}\xe6\xe7G\xb6\xfb\x8eoU\xf1\xb9\x9a\x9f\x8e\x193\xe6\xee\xe3\xc9f\x81,A\x9d\xf0\xeb\xaai\xcd\xd7\xbe\xf6w\xfa\x7f\xdf\xf25\xcf\xe8~cn\xf7\xeeY6\x87\xae\x9d\x09\xc2\xce\xee\xb7\xe3?\x17\x97\x0f\x9b\x9bW\x8e\xd9c\x0c\xcf\xe1M\x80\xacG\x9d\xf0\x1bf_\xbe\xd8\xbcg\xdf\x9e}\xcd\x07i\xf3\x8c\x8b\x9d\xa7\x07:?\xf4E\xcf\x1bX\xfb\xcd\xfb\xec\xd67\xf9\xc1\x8f\xe3?\x97\x88}\x01\xe1\xef\xfb\xe6\xda\xcc\xffE\x01\xacQ'\xfc\x0b3N\x07\x1f\x0d\xc4\xcb\xf0\x07\x7f0\xe6\xfe\x0fm\x9f1\xb8\xe7_\xe2?\x97\x88\xa0\xf0g\xef\x1f\xf3\x83\x83\x89\xa7\x82Q\x8e:\xe17\xcc\xbah&v\xfdf\xd3\x8cs\xd4\x1bsZ\xb2s\xc6\x9d\xdf\xddn\x0e\xd7\xfd\xf0\xee\x7f\x98\xd1Mt\xe4\xce1c\xee\xa7\xef\x8d\x19\xf3\xcd\xde\xadcL\xee\x89\x98pP\x9f0\xf7\xf8O\xbew\xf7}\xbeG\xc6\xdc\xb9v\xda?\xdc}\x9f|\xc5t\xfe\xcbw\xee\xfa\xee\xfd\x07\x03\x1b\x0e\x0aO\xb4\xfd\xbbwNC\xae\xc9f\x14\x0a?;\xfc\x9d\xa7\xcd\x156\xe9}\xf3w\xee\x9c\xfd\x959\xfc\xf9\x9d\x8fl_\xf9\xed{\xfa\xa8o\xcf\xc2;\xf7\xd0\xba;\xd7\x1d\xa4\xaf\x9a\x9b\xff\xe1G\xcd\xcd\xcd\xc7#&\xdc\xdc\xb0\xfe{\xff\xf0\xcd\xefM\xfb\xc9\x9d\xa7\x8f\xac\xbfs\xcc\xb7\x17>\xf9\xcd\x7f\xd6\x9f\xdf>\xe6\xe7\xbb7\xdc\x7f\xe7>ssa\xe1\xe9\xab\xd9w~{S\xf4O\x06\xd9\x83B\xe1\xab\xd7m~a\x93\xce\x0b\x9b6\xff\xf2\x91\xd8\xaf\x81<2\xe6\x9e\x83\x81\xe1\xf61\xcf\x92\xd4\xf49\xf9\xe0\xa7?\xbc\xf8\xbd\xc7\xcd\xe5\xa1H\x131\xe1\x9e1\xf7\xe9;m\xb9\xdf\xbe\xeb\x9b\xfa\xde\xfd'\xdf\xd6G\xdd\x1b\xbe\x94\xcf\xfc\xb39\xdd\"\xbc\xfe7\xe1\x9e1\xd3\x08d+\xea\x84o~\xfc\xb1\x8a\x19&\x15\x8f?\xf9y\x8c\xf0\xcf\xde\xf5\xadu\x81\xe1\x8f\xbf\xef\x93|\xf7\xa7\xf2\xc1\xcd{\xbe}\x7f`yH\xf8\x88\x09\xf7\xdc\x15<8\xb8K>\x9e\x7f\x97\x1c^\\s\xdf\xf7\xbf\x19\x88?\x91\xc2\xaf\xfb\xd6\xddk\x09d+\x8a\x84\xd7\xe9\xbex6\xc4\xc5\xcb6gK\x8e\xdf7\xe6\x87\x07\x8d\xd1=\x81\xb8n\xee\xa07\x8di\x0e\xcc\x08\x09\x1f1\xe1\x9e\x1f\x04\xb7p\xd7|\xfdf\xa1\x14~\xdf\xb7\xbf;\xeb\xa5\xe6{c\x85?\xf2\xc31\xf7\x87\x0e\x9eA\xf6\xa1N\xf8\x14x\xe9;w\xce\x92Q\xe4'\xdf\x7f\xdb\xc0\xf8\xae\xc8\xd9\xef\xcc\xfd\xdee\xf3yC\xf8gOGM\x08\x9f\xbb\xb9k!\x05\x84\xff\xbf?\x94\x07\x0c\xff\x12-\xbc\x9e\xe0\x83\x87\xc5\x20;Q(\xfc\xc0@_\x90\x818\x1f\x1b\xeb\x9cq\xe7w^'z}\xcc\x06\xf9h\xae\x8c\xee\xbe\x1fV\xd3\xcf\xef3\xe7\xdf{/\xd1\xc7\xf29\xeb\x04[\xe1\xbf+\x97\xf5\xdd\x13%\xfc\x9b\xdf\xbds\xd6W\x04\xb2\x19\x85\xc2\xa7\xc4\xc1\x1fIUg\xdf\xf9\xe3\x176\xfft\xccz\xba\xd9\xfc\xc8\xb7?\xa4\xf7\xbe9\xadY~\xd4r\xfe]On\xbe\xef\xee\xb3\xd6\x09\xbe=\xc6\xb9\x9b\xf7\xf4eg\x9b\xef\xfc\xe9\x1ez\xfb\xa7w6\x9f\xa5\x85c\xfee\xcd\xe3\xf7\x8c\xf9\xd6\xbf\xed\xd1\x177\xaf\x1c\xf3\xeb\xe6f\xfd\x0f\xc3\xbf\xfc\xe8`\xc2\x1f\x0eF?\xdc\x84\x0f\xf0\xfa\xbd\xdf\xfa\xe6\x8f\xfe\x20w\xe5c\xc6L\xa3G\xc6\x8c\xb9s\xb7\xbe\xb4\xf7\x91o\xdd\xfd\xa3}\x11\x13\xe4y\xf81\xf2\\\xbd<\xcd\xa3O;r\xb7~\xfb\x08\xf5\xfd\xfa\x1f\xee\xfa\xf6\x8f\x9f\xfd\xfe]\xf7\x1a\x9f\xa5\x91\x0c\xf2]Z0\xba`*<\x00\x99\x01\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x82\x8b\xf0\xbe\xa8VK\x002\x02\x0b\xe1\x07\x88\x8e\xbc\xf1\xa5\x82\xcb\xee\x81\xac\x87\x85\xf0}D\x9b\xabQg\x09\x14\xc0BxB\xa4\x01\x8apV\xf8=\xbe\xce^\x9fQgy\xf0\xcdNy\xd7G}\xbd\xbd\xbeps\x02\x00\xc3\x8b\xb3\xc2\x1f!\xe3r\xaa\xb2\xa1{6Jp\x80\x02\x9c\x15>|\xf5\xe0\xces1W\x12\x06`\xf8qVxyb\xe6\xf8\xeeM\x1b\x9e[\xff\xec\xda\xf5\xcf\xad\xdf\xf0zs7\xce\xd5\x80L\xe2\xb0\xf0z\x8a\xd9\xbap\xf6c\xb3fU\xcf\x9f=k\xd6c\xd53Pg\x092\x8a\xf3\xc2o\x98v\xe4\xfc\xd9\xf37\xe9\xf2\xd9\xf3\xe7\x9fE\x9d%\xc8,\x0c\x84\xaf\x90\xad\xdc\xfbV\xca\x87[+\xce\x0d\xc4^7\x1e\x80a\xc3y\xe1_\x98)\x1b\x0c~t\xc7A\xfd\xd1s\xa8\xb3\x04\x99\xc5y\xe1\xcd\xfe\xd6\xfb\xef\x90\xb7\xa8\xb3\x04\x19\xc6y\xe1\xd7\xcf\xed\xde}\xdf\xbdw\x7f\xed\x07\xf7\xfd\xbc\xef\x8d\x19\x9d\x077\xf8\x8eo\x8e\x9a\xb5e\xfco\xe5\xddr\x91\xd3d\xb3\x0d\x00R\xc7y\xe1\xd7U\x0f\xac\xfd\xc6\xd7\xff\xee\x8eo|\xe3;\xb2\xcerwu\xf7\x9e_F\xcd*\xd3\xca\xe4\xdd\x05\xaf\xe6\xb1\xd9\x06\x00\xa9\xe3\xbc\xf0\x1b*.v\x1e?~\xef\xd7\xb7\x1f\x7f\x8f^\x9ay\xbe\xfb<u_\x8e\x9c\xd4\x95S\x93\xd3e\x8c\x20<\x18\"\xce\x0bo\xd6Y\xde+3\xfc\xc0\xfaYv\x19\xde+\x8e\x89\x03\xc6\x08\xc2\x83!\xe2\xbc\xf0\x1bf\xc9\x1d\xfa\xac\xefI\xed7\xcd\xb4;-\xe9)\xa6b\xd3tm\xc5\x13\xc5\xf9Ug\xe4\xd0[Y\xa2\x15\xcd)\xf1\x13\x00i\xc0@\xf8\x8a/C\x0fm\xeb,\xc9\xbd\x88\x16\xbb\x8d\x91&\xa645\x96\xb9N\x11\x1d\x1d\xbb\xb4e\xff\xce\"q;f6\x00\x09`\x20\xfc\xfc5\xeb\x9f]\xb7\xf5\xf5\xe7\x9e]\xb7~\xbeM\x9d%\xf9][\xe8e\x97\xb1+\xd7&\xf7\x10\xf5\x94\x96\x135\x14H\xd5\x1b\xf2\xb1\x87\x07i\xe1\xbc\xf0{\x9e\xac\x9e;{vEE\xc5\xec\xd9s\x9f\\\xd9\x19+\xfcIq\xa8\xe7\x908)\x87\xda3\xf2v\x87\xb8F\x9f\x15O\\\xb1\xf3\x84\xbf?z2\x00\x09qXx\x9d\xde\xce\xcb:_\xf5~\xae\xdfv\xdaU\x8em\x13\x92mrh\x1e\xb4\xea\x07\xb1D\xd7w,\x9e,\x8a6b\x0f\x0f\xd2\xc2y\xe1\xc9\xf8\x90\xf0\xe6\xc7;\xe3}0x\xd1\x94\xf6\xf6\xf6)\x8b\xe4P[%ow\x8a\x1b\xd4^\xa7\xab~\xbd1\xb7\xc1~\x1d\x00\xecq^\xf8\x01\x9f\xaf\xdb\xe7{|\xda\x11_w\x9f\xcf\xeecc\xc5\xab\xf5\x9bU\xc5r\xa8\x15\xdf\"\xea\x7fP?\x82\xf5\x886\xb9\xc0\xbd\xccf\x05\x00\xe2\xe2\xbc\xf0&\xdd\x9dq\xf6\xef=m\xa2\xbe\x8b\xba~#\xdan\xc9\xb34\x95\x87\xf7\x97\xe7\x7f$\x85w\xd5\xb7\xb6\xd4\x06\xce\xcf\x03\x90\",\x84\xf7\x11m\x7f\xf2,\xd9~\xc9o\xffX!\x9a\xa8E\x88\xb1\xfb\x89\x1e\xf4,\xce+\xae\xb9\xa4/\xde5\xddS\xa2\x15\xba\xe1;H\x0f\x16\xc2\xf7\x12\xe9\x91\x86p\xb1\x02\x90qX\x08O\x09\"\x0d\x00\xc3\x09\x0b\xe1q\xa9=\xa0\x0a\x16\xc2\xe3R{@\x15,\x84'\\j\x0f(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x08\x0f\xb2\x0a\x16\xc2#\xc3\x03U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\x84H\x03\x14\xe1\xac\xf0(5\x03\x8aqVx\x94\x9a\x01\xc58+<J\xcd\x80b\x9c\x15\x1e\xa5f@1\x0e\x0b\x8fR3\xa0\x16\xe7\x85G\xa9\x19P\x08\x03\xe1Qj\x06\xd4\xe1\xbc\xf0(5\x03\x0aq^x\x94\x9a\x01\x858/|\x92R\xb3F\xe3R\xaa\x13\xe6}\x12o\x13\x00\xa4\x81\xf3\xc2')5\xebj\x15\xbf\xf1zw\x95M\xf8\"\xeeF\x00H\x19\xe7\x85OVjvI4\xea\xb7WsQ\xef\x04\x86\x01\xe7\x85OVjf\x0aOeKb\x9e\x01\x20m\x9c\x17>Y\xa9\x99)\xfc\x95\xf1\xcf\x13\xddX\\\xac\x95T\x19]\x20\xd6R3\xff\xaer\xd7\x03\xab{b6\x0e@\x0c\x0c\x84ORjvI\xec\xec\xb9\xf1N\xd9\xcfn\x10\xb5\x8ae\x07\x9a\xaar\xda)\xb2\xd4\xac6g\xc5\xdem\x05SQ\x06\x02\x92\xc3@\xf8$\xa5f\x97\x8c\xd34\xa5\x17\xf4aOS\x97\xbe?/\x9bG\x11\xa5f\xadb\x97>l7\x93\x0f\x00\x09q^\xf8d\xa5f\x97D}{{\xdb\x13\x13\x8e\xea\xe3\xab\x0d\x95\x93\xf2\x84\xec\xa1\xb7\x94\x9a-\x99\xd4\x7f[\xa7\xb86v\xf3\x00D\xe1\xb0\xf0\x94\xbc\xd4,p\xd0\xba\xa4\xd4O\xed\x85%O\xb7x\xddRxK\xa9Y\x990\x99\x17\xbb.\x00Q8/<%)5\x0b\x08\xff\x9a\xb8J\x93\xcb\xe5\x91\xe9\")\xbc\xa5\xd4\xacf\xd21\x83\xab\xb6\xab\x03`\xc5y\xe1\x93\x95\x9a\x05\x84_\x9a\xe7\xa7\x12Y\xe5\xe7\x7fX\x0ao)5k\x13MrX\xbf1v]\x00\xa2p^x\x93\xb8\x0d\x20\xe6;\xad-5\xe2Ei\xf9\xe2\x86\xe7\xa7\x8a\xa2\x17\xdf\x8d(5\xab\x1b[\xd3\xa2\x0fw\xd9o\x00\x00\x0b,\x84OTjf~\x96F+\xdb\xa9G\x18\xff\x96R\xad`\xc9k\xa5\x9a;\xb2\xd4\xac\xcd=!\x7fz\x9b\xdd\xda\x00D\xc2Bx\x94\x9a\x01U\xb0\x10\x9ePj\x06\x14\xc1Bx\\j\x0f\xa8\x82\x85\xf0\xb8\xd4\x1eP\x05\x0b\xe1\x09\x97\xda\x03\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x02\xc2\x83\xac\x82\x85\xf0\xc8\xf0@\x15,\x84G\x86\x07\xaa`!<!\xd2\x00E8+<J\xcd\x80b\x9c\x15\x1e\xa5f@1\xce\x0a\x8fR3\xa0\x18g\x85G\xa9\x19P\x8c\xc3\xc2\xa3\xd4\x0c\xa8\xc5y\xe1Qj\x06\x14\xc2@x\x94\x9a\x01u8/<J\xcd\x80B\x9c\x17\x1e\xa5f@!\xce\x0b\x9f\xa4\xd4L\xe7T\xa5\xab\xb0\xe6@\xe1\x15\xaa\x15B\xb8\xce\xd8o\x09\x80Tp^\xf8$\xa5fDm\xaeGw6\x96\x09\xf1\x01]\xf0z\x1b\xc4;q6\x05@\x0a8/|\xb2R\xb3ky\xf3n\x11u\x95\xea\xc2\x93\xec=\x80\xf0`\x088/|\xb2R\xb3\xba\xdcK\xf2n\x8b0\xb2\x0c\x84\x07C\xc2y\xe1\x93\x95\x9a\x95>a\xdc]\xddrK\xde\x85\x84\x0f7\x99\x85\xab\xce\x96\x0bm\xe7\xaa\x07\\\x95\x17\x08\x00{\x18\x08\x9f\xb8\xd4\xecV\xce\x16\xeb\xc3\x90\xf0\xe1&\xb3p\xd5\xd9_\x1a\xc7\x89\x02\xcfo\xf3\x16\x10\x00\xf60\x10>q\xa9\xd9'\xa2\xc5\xfa0(\xbc\xa5\xc9\xccRuFZ\xbe\xbew\xaf)\x20\x00\xecq^\xf8$\xa5f\xfd\xe3l\xf7\xf0\xd6&\xb3p\xd5\x19iK\xf5\x1b\x8fF\x00\xd8\xe3\xb0\xf0\x94\xbc\xd4,\x90\xe1\xfb\xcd\xc2\x83\xa0\xf0\x96&3k\xd5\x99&\x0b\xea!<\x88\x8b\xf3\xc2S\x92R\xb3\xba\\\xa3\xad\xacI\\\x91wA\xe1-Mf\x96\xaa3\x08\x0f\x92\xe0\xbc\xf0\xc9J\xcd\xae\xe5-\xe8\xd73\xba{\xa2\xf1((\xbc\xa5\xc9\xccRu\x06\xe1A\x12\x9c\x17\xde$A\x03H\x9b\xab|WK\xe5\xb8CD\x9f\xc9wZ\xb7x\xbd\x9f\x92\xb5\xc9,\\uv\xc9\xab\xd5\xbe\xeb?Q\xaby/\xc5\xdb\x18\xc8rX\x08\x9f\xa8\xd4\x8c\x8c\xcf\xd2\x14\xcd{_\x1f,\x0d\x04\xf7%ri\xa8\xc9,\\u\xb6\\\xd6\x9f\xbd\xef\xd2o\x97\xc7\xd9\x14\xc8vX\x08\x8fR3\xa0\x0a\x16\xc2\x13J\xcd\x80\"X\x08\x8fK\xed\x01U\xb0\x10\x1e\x97\xda\x03\xaa`!<\xe1R{@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E@x\x90U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\xc8\xf0@\x15,\x84'D\x1a\xa0\x08g\x85G\xa9\x19P\x8c\xb3\xc2\xa3\xd4\x0c(\xc6Y\xe1Qj\x06\x14\xe3\xac\xf0(5\x03\x8aqXx\x94\x9a\x01\xb58/<J\xcd\x80B\x18\x08\x8fR3\xa0\x0e\xe7\x85G\xa9\x19P\x88\xf3\xc2\xa3\xd4\x0c(\xc4y\xe1\x93\x94\x9am\x91W^\x1a[\xba\xd3o>\xdc_\xd0j\xbb!\x00R\xc2y\xe1\x93\x94\x9a]\xdb(^\xf3\xee]\"\xea\xcd\x87\xad\xae\x88\xcb\xc5\x03\x90\x1e\xce\x0b\x9f\xac\xd4\xacM\x9c\"\xf2/7;\xcd\xf4\x91\xddf\x00H\x11\xe7\x85OVjf\x08O=y\xb8\\$\x18\x06\x9c\x17>Y\xa9\x99)<-/\"\xba\x9e+DN\xa3|tr\x9c\x10\xf5gj&\xe6V\xde\x8e\xdd(\x00qa\x20|\xe2R\xb3\xa0\xf0;D\x17Q\xbb\xd7;^^\x01\x9ez\x9a\x1aKJ\xf3JV\xd5\x8c\xfd\x94\x00H\x1d\x06\xc2'.5\x0b\x0a\xdf\x16\x08\xf1\xb9\x9e\xc0\xf2\xa9\xc2}\x83\xfc7\x08\x804p^\xf8$\xa5fA\xe1_\x13\xd7\x8c\x87a\xe15\xec\xdcA\xda8,<%/5\x0b\x08\xffT\x9e\xf90,\xfc\x94\xd8\xb9\x00$\xc1y\xe1)I\xa9\x99)|\x7f\xc1\x12\xf3aX\xf8E\xb6\xd3\x01H\x84\xf3\xc2'+53\x85\xaf\x13\xc7\xcc\x87a\xe1\x17\xc7\xce\x05\x20\x09\xce\x0bo\x12\xb7\x01\xc4x\xa7\xb5m\xa9\x90\x9e\xf7\xbf\xe3\xf5\x8e\xaf\xf5zo\xd0\xed\xc3\xde\xd2\xe9^\xef'\xf6\xeb\x00\x10\x0f\x16\xc2'*53>K#&\xee\x90\xe3\xa39f\xa9\xd9\x0e:i\x8e\xaa\xec\xd6\x00\x20>,\x84G\xa9\x19P\x05\x0b\xe1\x09\xa5f@\x11,\x84\xc7\xa5\xf6\x80*X\x08\x8fK\xed\x01U\xb0\x10\x9ep\xa9=\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"\x20<\xc8*X\x08\x8f\x0c\x0fT\xc1Bxdx\xa0\x0a\x16\xc2\x13\"\x0dP\x84\xb3\xc2\xa3\xd4\x0c(\xc6Y\xe1Qj\x06\x14\xe3\xac\xf0(5\x03\x8aqVx\x94\x9a\x01\xc58,<J\xcd\x80Z\x9c\x17\x1e\xa5f@!\x0c\x84G\xa9\x19P\x87\xf3\xc2\xa3\xd4\x0c(\xc4y\xe1Qj\x06\x14\xe2\xbc\xf0IJ\xcd\xda\xc6\x9a\x17_\x12\x05\xfdq\xb6Q\xab?\xe9:c\x8eO\xce\x99\x907\xfd@\xd9\xa18S#\xe6\xda5\xa4\xbd\x12(\\\x00\xa3\x15\xe7\x85ORj\xd6sH\xab\xf5\xea\xd4\x89+q\xb6q\xc1\xebm\x10\xef\x18\xc3cZU\xcb\xae\x05B4\xc5\x99j\x9dKv\x0di\xd7\xbd\xe5\x1e\x02\xa3\x18\xe7\x85OVjF\x9a\xa1\xe0.q\xd5v\x0b\x06\xed\x01\x89+\xdd~\"\x7fm|\xe1-s%6\x0diU\x10~T\xe3\xbc\xf0\xc9J\xcd\x02\xc2\x9fY\x95\xa0\xbf/(\xf1\xc4zy{R$\xaa\xb6\xb4\x0ao\x03\x84\x1f\xdd8/|\xb2R\xb3\x80\xf0:Mz\x00\xf7\x90G\xc8\xc8rcq\xb1VRu2\xf0LP\xe2%\x85\xf2\xd2\xda\xfe\xbd]\xd4\xaa\xcfz\xc6\x98\xdbX\xa4\xfd\xa6\xb8\xf8\xc0\x8a|wW\xc4\xdcpC\xdar\xa1\xed\\\xf5\x80\xab\xf2\x82|\xa0\x0b\xbfB_k\xbc\xfe\xf7\xc4[Y\xa2\x15\xcd)AQ\xe6h\x82\x81\xf0IJ\xcdH\xab\xef\xe9Y\xb2Z\x1fty\xf3\xea\xaf\xd0\x95\xfa|\xaf\x14z\xd9\x81\xa6\xaa\x9cvsJP\xe2OJr*=\x87\xe5\xd1m\xcf\xa1\x92ern\x9e\xb7\xeb@\x9eX\xe5\x16\x136\x16\xbd\x1c17\xdc\x90\xf6\x97\xc6q\xa2\xc0\xf3\xdb\xbc\x05\xf2\x81.\xfc\x85\x9a\x9c-\xfa\x86\x8f\x8e]\xda\xb2\x7fg\x91@O\xe0h\x82\x81\xf0IJ\xcdH\x0b_\x18\xbbV\xd6\x80\xd4<A\xb2\xc6O\xdf_\xfb\xcb\xe6\x99SB\x12_{\xfeQM\xe4\x1b\x11\xde#+q\x96\xd6\xea7\x855\xb4W\xb4\xd2\xd2e\x91s)\xdc\xae\xa0\xe5\xeb{\xf7\x9a\x029\xd4\x85\x7fY3N\xde4\x14H\xd5\x1b\xf2\xb1\x87\x1fM8/|\xb2R3\xd2\x96\xb5\xb7\x97\x99\xc2\x1f\xc8\xed\xa1\x1e\x97W\x0e\xaf6TN\xca\x13e\xe6\x14\xab\xc4\xb7\xf6W\x8a\xbd\xfa\xfd\x85\xb1\xef\xd3\xad\xbc\xfd\xfa\xa8\xb0\x91\xde\x15]\xf4tM\xcc\xdc\x90\xf0K\xf5\x1b\x8f&\x87U\x9eza\x9e\xac\xfc\xacx\xe2\x8a\x9d'\xfc\xf1\xce\x86\x82\x11\x89\xc3\xc2S\xf2R3#\xc3\xb7\xed7\x86\xb7'\xb4PK\x91\xdc\xe5\xb6\x17\x96<\xdd\xe2uG\x09\xdfn\xc4p\x7f\xb9\xf1\xf2\xa8\\Mm\xf9R\xd7\xc26j\xd7e\xaeK\x20\xbc\xbc\x0f\x08_\x987y\x81\xb9S\xbf\xbec\xf1dQ\xb4\x11{\xf8\xd1\x84\xf3\xc2S\x92R\xb3\xe0A\xebIyZr\xc5<Z\xb0B>\x9a\\\xde\xa3\xdf.\x8a\x12\xbe\xd0x\x8e\xeaK\xe5m\xeb\x84~#\xd1\xa4)|\xc1\xa9O\xf2\xb6\x18\x13\xebt\xd5\xaf7\xe66\x10\x18=8/|\xb2R\xb3\xa0\xf0\x85u\xfa\xcd\xe1\xf1\x97\xc6\x1f\x96\x8fJd\x87\x9f\xff\xe1(\xe1\x8b\x8ae\x99\xab\xdf,\xf8\xeb/j\xcd7\xfe0\xa4'\xbc\xfc{\xa2\xc9\x83a\x8fh\x93\x0b\xdc\xcb\x08\x8c\x1e\x9c\x17\xde$n\x03H\xf0\x9dVo\x9e<Q\xe3/\xae,6\"\x86G,nx~\xaa(z\xf1]\xfaL\xbe{\xba\xc5\xeb\xfdT\x17^\x14z\xdaZ\xdc\xb9\x1f\x19\xab\xd6M\xca\x97\x87\x9d\xa7\xf2_\xeei\xd4N\xf6\xd4\xb8/X\xe7\x86\x1b\xd2.y\xb5\xdaw\xfd'j5\xef\xa5\xeb\xde\xf2\xdaw\xfa\xbb\xaa\x0a\x0f\\\xd1\x7f\x84\xab\xbe\xb5\xa5V\x1c\xb0\xff\xc5\xc0\x88\x84\x85\xf0\x89J\xcd\xdaD\x10#gl\xd1\x8c;\xf2o)\xd5\x0a\x96\xbcV\xaa\xb9ii\xe0\xf9%D\x8f\xee\xac\xff\x99\xab`\x9e\xe9;}$\xe4\xce\xd9_$Dc\x9ep5\x091\xcf:7\xdc\x90\xb6\\\xbf\xd5\xdew\xe9\xb7\xcb_\xd1or\x8e6\xea\xb7\xf5\xb4k\xba\xa7D+t\xc3\xf7Q\x05\x0b\xe13Tj\xd6\xa5AV\x10\x05\x0b\xe1)3\xa5fM\x13\xf0\x9e\x11\x88\x82\x85\xf0\x99\xb8\xd4\x9e\xe7\x80\xdf]\x9fl\x12\xc8:X\x08\x9f\x81K\xed\xf5\x88)\xcb\x0b\xaf'\x9b\x05\xb2\x0e\x16\xc2S\x06.\xb5\xe7q\xb9?H6\x07d\x1f,\x84\xcfD\xa4\x01\xc0\x0e\x16\xc2g\x20\xd2\x00`\x0b\x0b\xe1)\x03\x91\x06\x00;X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x17\xe1\x01P\x02\x0b\xe1\xf5\xf0\xfe\xf6\xf6\xb8\x9f\x87\x07`\xf8`!<2<P\x05\x0b\xe1\x09\x19\x1e(\x82\x85\xf08-\x09T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a`!\xbc\x8c4o~5\xe0\xa3\x81>\xf9\x0f\xbbz\x901X\x08\x1f\x884\x00d\x1c\x16\xc2\x93\x8c4\xd8\xad\x03\x05\xb0\x10^\x8f4\x07w\xf7\x1d\xd9\xec;\xf2\x92\xfe\xaf\xf7\xf8v\xcbs\xc9K\xcd\x00H\x1d\x16\xc2\xcb\xe2\x9b\x857\xdf\xac\xee6\xff\xa5Vjv\xe0\x18\x01\x90.,\x84\xd7\xe9\xbdI_~\x1c\xf8\xd7}1\xe2\xa98\xa5f\x8f.!\x00\xd2\x85\x85\xf0\xc6\x1bO\x9d\xf1\x9e\x8dSj6u\xb1\xddd\x00\x12\xc2Bx\xe3,\xcd\xf9\x81^\xfb\xd3\x92\xa1R\xb3S\xe3\x84\xa8\xf2\x97\x08\x91\x7f\xab5\x10\xec\xa7\xc4n\x0c\x80\x04\xb0\x10\x9e\x12\xbe\xf1\x14*5\xf3\x1f\xf6\xe4\x1c\xa6]cw\x9d\xa0\xaeC\xde\xd2\xe9z\xb2\xc7\xb5\x96@z\xb0\x10>\xf1gi,\xa5f\xfe\xa5\xe5WK6\x9a\x8b\x11i\xc0\x20`!|\xe2\xcf\xd2XJ\xcd\xa8\xe7\xe1\xa2\xaa@\x96\x87\xf0`\x10\xb0\x10\x9e\x12G\x9ap\xa9\x19Q\x8b8\x14\x18Ax0\x08X\x08\x9f$\xd2XJ\xcd.\x14\xd6\x97|a.6\x84\xdf\xf9\xa9\xfd:\x00\xd8\xc3B\xf8$\x91&\\j\xd6_^O\xcb\xdcf\xa6q\xbb\x89\xae\x88&\xfbu\x00\xb0\x87\x85\xf0\x94\x20\xd2XJ\xcdz\x0e-/\xb8@\x1dy+\x0e\xdd\"Y\xba\xb7\xa5\xc5\xed\xfa,\xcej\x00\xd8\xc2B\xf8D\x91\xc6Rj&\x87\xabh\x85\x10cew\xd3\xad\x15\xf9\xb9\xd3\xdb\xedV\x01\x20.,\x84\xc77\x9e\x80*X\x08O\xf8\xc6\x13P\x04\x0b\xe1\xf1%n\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a\xe0\"<\x00J`!<J\xcd\x80*X\x08\x8f\x0c\x0fT\xc1BxB\x86\x07\x8a`!<NK\x02U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fR3\xa0\x0a\x16\xc2\xa3\xd4\x0c\xa8\x82\x85\xf0\x84R3\xa0\x08\x16\xc2'*5\xf3\x06K\xcd\xc6\x9f\x8c\xbb~\x98\x93s&\xe4M?Pv\x88\xa8V_\xc5u&\xfe\xcc\xe5\"\x07\x97\xe9\xcbBX\x08\x9f\xa8\xd4\xec\xd6\xa1\xc29\xf2J{\xbbD[\xdc\xf5C\x1c\xd3\xaaZv-\x10\xf2\x8a\x93\x17\xbc\xde\x06\xf1N\xfc\xa9\x17\xbc\xa1f\x11\x90E\xb0\x10\x9e\x12\x96\x9aM\\&o?JE\xf8Jy\xa1U\x7fm\xe0\x12\xab\xed\x89\x84\xb7T\xe9\x80,\x82\x85\xf0\x89K\xcdL\xe1\xfb\xb7\xdd\x887!\xcc\xc4zy{R\xb4\x18\x8f\x20<\x88\x81\x85\xf0\x89K\xcdL\xe1uN\x8e\x13\xa2\xfeL\xcd\xc4\xdc\xca\xdb\xfa~\xfc\x95)\xae\x87\x1b\xfct\xbbH\xfbMq\xf1\x81\x15\xf9\xee.\xa2%\x85\xa7\xf4y\xfe\xbd]\xc6\xfc\xa0\xf07\x16\x17k%U\xe6!\x80\xb7\xb2D+\x9aS\"\xaf\xb8\xad=\xb5\xea\x01W\xe5\x05\x02\xd9\x04\x0b\xe1)\xe1\x1bO\x13k{z^.\xd7\x07=M\x8d%\xa5y%\xabj\xc6~J\xb4T\xab\xdf[\xaf\xd5\x12\x1d\xc8\x13\xab\xdcb\xc2\xc6\xa2\x97\x89>)\xc9\xa9\xf4\x1c\x0eVv\x07\x85o\x15\xcb\x0e4U\xe5\xc8+\x0d\x1f\x1d\xbb\xb4e\xff\xce\"\xa1\xbfbH\x13\x93\x1b[\x8a\x16\xc4\xf9\xa9`t\xc2B\xf8\xc4\x9f\xa5\x99(\xcf\xd1\x14\x9a\xe3\xa9\xc2}\x83\xfc7\xe4U\xb4e\xa47n\x0bkh\xafh\xa5\xa5\xf2\x0f\xc1\xb5\xe7\x1f\xd5D~\xe0\xf4KP\xf8\x9e&}\x8f\xef/\x9b\xa7\x0f\x1b\x0a\xa4\xea\x0d\xf9\xc6\x1e\xbe\xf0\x0b\xa2\xda\x82\xd8\x1f\x08F1,\x84O\xfcY\x9a\x89U\xed\xedK\x83\xc2k\x9f\x9a\x83\xda2\xe3\xeeA}\x17_\xd8H\xef\x8a.z\xba\xc6|\xe6\xd6\xfeJ\xb1\xd7\x18\x852\xfc\xd5\x86\xcaIyB\xae\xf1Y\xf1\xc4\x15;O\xf8\x8d\xbf\x01\x9a|\x85x4\x02\xd9\x04\x0b\xe1)q\xa4\xd1\xc5<\xb5\xd3\x1cO\x0d6\x11\x97\x9b\xb5~Uz\xd4)l\xa3v]\xdb:]\xf8v#\x91\xfb\x03O\x06\x85o/,y\xba\xc5\xeb6^\"\xd7w,\x9e,\x8a6\x1a{xy\xd0\x0a\xe1\xb3\x0c\x16\xc2'\x894\xcb\xc2\xe3\xa9\x8b\x02\x83\xdaI\xd2Y\xff\xc4\xa5\x11\xc2\x17\xae0\x9e\xac/5\xee\x82\xc2O.\xef\xd1o\x17I\xe1\xdb\xeb\xf4\xd5\xae7\xe66\x10\x84\xcfNX\x08\x9f$\xd2X\x85_\x1c\x18\xec\x15\x8d\xfam\xa3\x0c/\x16\xe1\x8b\x8a\xaf\xe9K\xfd\x81\x97EP\xf8\x12\xf9\xd0\xff\xb0\x14\xdec\x9e\xcdw\xcbMB\xf8l\x84\x85\xf0\x94\x20\xd2\xdcz\xa7p\xce!\xf34\xe3\xed\xc3F\xdf\xfc'\xc6\x83\x9a\x9c\xba\xd6\xba\x1c]\xf2S\xf9/\xf74j'{j\xdc\x17\xa8H\x14z\xdaZ\xdc\xb9\x1f\xe9i]\xbe\xd3\xba\xc5\xeb\xfdTZ\xbe\xb8\xe1\xf9\xa9\xa2\xe8\xc5w\xf5\xa1\xab\xbe\xb5\xa5V\x1c\xa0K^\xad\xf6]\xff\x89Z\xcd{)\xceO\x06\xa3\x11\x16\xc2'\x8a4\xc6giv\x19\xc3\x939\xc2\xd2B\xbf\xad\xccU\xd6\xe0'\x7f\x91\x10\x8dy\xc2\xd5$\xc4<ztg\xfd\xcf\\\x05\xf3t\xdfii\xe0#8K\xf4\xa9[J\xb5\x82%\xaf\x95jn\xda5\xddS\xa2\x15\xba\x0f\xc8\xcf\xd2\x08\xa1\xbd\xef\xd2o\x97\xdb\xfdX0Ja!<\xbe\xf1\x04T\xc1Bx\xc27\x9e\x80\"X\x08\x8f/q\x03U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x04\x82U\x0b\x00\x00\x20\x00IDAT\x16\xc2\x13\"\x0dP\x04\x84\x07Y\x05\x0b\xe1\x91\xe1\x81*X\x08\x8f\x0c\x0fT\xc1BxB\xa4\x01\x8apV\xf8^=\xc6\x0c\xf8$\x07\xdf\xf8\xdc\xe7\xeb\xeb\x93;y$\x1b\x909\x9c\x15>\x80\xae\xf9\xa6\xd9\xe7\x10i@\xe6a!\xbcN\xe79_\xb2)\x00\x0c\x1d\x87\x85\xd7\xe3\xcb\xf1\xed\xeb\xd6\xae]\xa3\xb3v\xcd\xda\xad\xafw#\xd1\x80L\xe2\xb0\xf0\xf2\xfc\xcc\xc2\xb9\xd5sM\xaa\xab\xa7\x9dG\xb0\x01\x99\xc4y\xe17\xcc8\xfe\xe5\xe7_\xea\xe87\xebf\x20\xc9\x83\x8c\xc2@\xf8\x8a\xf0\x19\xc9\xcd\xb3\xce\xc9k\x08#\xce\x83L\xe1\xbc\xf0/\xcc\xf80\xf4h\xfd\xac\xb3\x89f\x030T\x9c\x17~\xc3\xcc\xb0\xe4\xcf\xcd\xb4\x13\xbe\xe5\xc1\xf1e-S[\xe3\xf46\xa1\xac\x09\xa4\x81\xf3\xc2\xaf\xaf\xee\xfd\xc3?\xfe\xe3=\xfa\x7f\xff\xec\xdb=\xa3\xf3\xed\xb5\xbdo\xaf\x8d\x98\xb3M\xd4\xb4<%\xc4\xb68\xbdM(k\x02i\xe0\xbc\xf0\xeb\xaa\xfb\xd6\xfd\xfd\xdf\xff\x1f\xfd\xbf\xef\xfb\x9agt7/\xbc\xd9\\m\x9d\xf2\xd1\xd8z\xfdv\x95\x14\x9e\xeckl\x20<H\x19\xe7\x85\xdf0\xeb\xfc\xcd\xb3\x1f\x9f\xff\xf8\xfc\xd9\xcb\xb4i\xe6\xc7\xbeN\xf2}e\x9dR[pK\xbf\xfd@4\x18\x8f\x20<\x18\x12\xce\x0b\xff\xc2\x8c\xd3\xa1Gv\x07\xad\xf9O\x1bw\xdb>1\xeeB\xc2\x07;\x9et\xb4\x15O\x14\xe7W%\xe8d\x05\x20\x88\xf3\xc2o\x98\x19\xee\xef{if\xcci\xc9\xeb\xe25\xeb\x0a!\xe1C\x1dO\xb2\xaciJSc\x99\xeb\x14\x01\x90\x0c\x06\xc2W|\x1ez\xf8\xd2\xac\x987\x9e\xde7\xae\xe8\xee\xef\xe9\xb9e<\x0c\x0ao\xe9x\"mr\x0fQOi9\x01\x90\x0c\xe7\x85\xdf\xb4\xf0\xc95+W\xfe\xfa\xd7+W\xae\\S\xfdH\xcc\xd7@\xcc=|\x8d\x10b\xbf|\x18\x14\xde\xd2\xf1D\xda3r\xb8C\\#\x00\x92\xe0\xb0\xf0\x03D\xfbV\xfer~u\xf5\xc2\xc7\xab\xab\xab\xe7\xaf\\\xdb\x19\xf3\xe1\xb1\x092\xc3_j\x11u\xc6.>(\xbc\xa5\xe3)p\xd0\xea\x15\xc7\x08\x80$8,\xbcN_o\xb7\x8eo@\xde\xf6\xf6\xc6>_[$Mo\x89:-i\xe9x\"m\x95\\\xb2S\xa4P\xd5\x0d\xb2\x1d\xe7\x85'c?\xff\xc2\xc2\xcf\xe3|0\xd88\x0f\xefwG\x09o\xe9x\"\xadX\x7fI\xf4?\xe8\xb6]\x1d\x00+\xce\x0b?\xd0\xd7\xd7\xed\xf3\xfd\xdb\xb4#\xben_\x9f\xddG%\xb7\x88'Zk\x8dwZ-\xbdM\xe1\x8e'y\x96\xa6\xf2\xf0\xfe\xf2\xfc\x8fl\xd6\x05\x20\x12\xe7\x857\xe9M\xf0%\xee\x96\xc9\xb9\xe5m%m\x11\xbdM\xa1\x8e'\x9d\x07=\x8b\xf3\x8ak\xd0M\x06R\x80\x85\xf0>\xa2M\x8f\x9f%|*\x18d\x1c\x16\xc2\xeb\x87\xaaz\xa4!\x9b#V\x00\x86\x17\x16\xc2S\xe2H\x03\xc0\xb0\xc1Bx\\j\x0f\xa8\x82\x85\xf0\xb8\xd4\x1eP\x05\x0b\xe1\x09\x97\xda\x03\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84O\x10i\xb0\xe7\x07\xc3\x0a\x0b\xe1)\x8e\xd8\xd8\xf3\x83\xe1\x86\x85\xf0\xf1\xc4\xc6\xc1,\x18nX\x08\x8fH\x03T\xc1Bx\x8a/\xf6\x91\xdd\x11\xd7\xdd\x03`h\xb0\x10>&\xd2\xec\xf1u\xf6\xfa\xfa\xfaz\xfb\xfa6T\x9c\x95w}\xd4\xd7\xdb\xeb\xc37D\xc0Pa!|L\xa49\x12\xfa\xba\x1f\xda\xfd\xc0\xb0\xc2Bx\x8a\x8e4\x90\x1cd\x08\x16\xc2\xc7\x9e\xa5\x91u\x96\xbb7mxn\xfd\xb3k\xd7?\xb7~\xc3\xeb\xcd\xa8\xb3\x04\xc3\x02\x0b\xe1c\xcf\xd2\xe8\xc3\xad\x0bg?6kV\xf5\xfc\xd9\xb3f=V=\xe3\"NN\x82\xe1\x80\x85\xf0\x14s\x96F^Ux\xda\x91\xf3g\xcf\xdf\xa4\xcbg\xcf\x9f\x7fv\x1a\xea,\xc1\xb0\xc0B\xf8\xd8Hc\\F\xfb&\xc9K\xad\xca\x87[+\xe4u\xe3\xe1<\x182,\x84\xb7\x8d4/\xcc\x94u\x96?\xba\xe3\xa0\xfe\xe8\xb9\x99\xe7\xe2\xad\x0b@:\xb0\x10\x9el#\x8dQay\xff\x1d\xf2v=\xea,\xc1\xf0\xc0Bx\xdbH\xb3~n\xf7\xee\xfb\xee\xbd\xfbk?\xb8\xef\xe7}o\xcc\xe8<\xb8\xc1w|s\xc4Z\xa8\xb3\x04\xe9\xc3Bx\xdbH\xb3\xaez`\xed7\xbe\xfeww|\xe3\x1b\xdf\x91u\x96\xbb\xab\xbb\xf7\xfc\xd2\xba\x12\xea,\xc1\x20`!<\xd9F\x9a\x8a\x8b\x9d\xc7\x8f\xdf\xfb\xf5\xed\xc7\xdf\xa3\x97f\x9e\xef>O\xdd\x97\xadSPg\x09\x06\x01\x0b\xe1m#\x8dYgy\xaf\xcc\xf0\x03\xa8\xb3\x04\xc3\x04\x0b\xe1m#\xcd\x86Yr\x87>\xeb{R\xfbM3cNK\xa2\xce\x12\x0c\x06\x16\xc2\x93}\xa4\xf9R\x1f\x98\x9d\xad\x9b+Pg\x09\x86\x05\x16\xc2\xdb\xbf\xf14\x7f\xcd\xfag\xd7m\x7f\xe3\xb9g\xd7\xad\x9f\x8f:K0<\xb0\x10\xde6\xd2\xecy\xb2z\xee\xec\xd9\x15\x15\x15\xb3g\xcf}reg\xcc\xdb\xac\xa8\xb3\x04\x83\x80\x85\xf0d\xf7\x8d\xa7\xde\xce\xcb\x17/_n^\x7fZ\xbf\xeb\xb4\xf9\xda\x13\xea,\xc1\x20`!|\x82/q\xaf\x9du>\xceGhPg\x09\x06\x01\x0b\xe1c#\x0d\xc9\xc3U_\xaf\xcf\xf7\xd2\xfc\xb3\xbe\xde>\x9f\x9d\xf3\xa8\xb3\x04\xe9\xc3Bx\x8a\x7f]\x9a\x83\x7f\x88-\xa3\x0f\x82:K\x906,\x84\x8f\x17i|Dkf\x1e\xc7\x17\xfe\xc0\xf0\xc1Bx\xdbH\x13X>\x1f\x17b\x02\xc3\x08\x0b\xe1ip\x91\x06\x80\xb4a!<.\xb5\x07T\xc1B\xf8\x04b\xe3R{`Xa!<\xe1\xea\xc1@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<\xc5\x17\x1b\xc2\x83a\x85\x85\xf0\xf1\"\x0d2<\x18nX\x08\x9f\xe8\xb34\xc8\xf0`8a!<!\xd2\x00E\xb0\x10>AtA\xa9\x19\x18VX\x08\x1f\x13]Pj\x062\x04\x0b\xe1):\xba\xa0\xd4\x0cd\x08\x16\xc2\xc7D\x1aH\x0e2\x04\x0b\xe1c\xcf\xc6\x0c\xa0\xd4\x0cd\x04\x16\xc2\x93\xdd\xa5\xf6Pj\x062\x00\x0b\xe1\xed/\xb5\x87R30\xfc\xb0\x10>6\xd2\xf4\xa1\xd4\x0cd\x04\x16\xc2\x93]\xa4A\xa9\x19\xc8\x00,\x84\xb7\x8f4\xc9J\xcdN\xce\x99\x907\xfd@\xd9\xa1\x88\x85\x91\xfdf\xfb\x0bZcV\x03Y\x0d\x0b\xe1m#M\xb2R\xb3cZU\xcb\xae\x05BDV\xf5E\xf6\x9b\xb5\xbaZ\x02\xa3\x03\xb8\x840\x90\xb0\x10\x9e\xec\"M\xb2R\xb3J\xb7\x9f\xc8_+b\xba)\xaduO\xfe\xe0\xe0\xd1%\xd1\xd3@V\xc2Bx\xfbH\x93\xa4\xd4lb\xbd\xbc=)\x82\xfb\xf0\x10v\xfdf4uq\xec2\x90\x85\xb0\x10\xde6\xd2$+5[R(\xcb\x9b\xfc{\xbbh\xb9\x18\xb7mY\xb8\xbe,(\xfc\xf5\\!r\xe4\xc5\xb3\xa95p\xb1\xd5)1\x1b\x01\xd9\x06\x0b\xe1\xc9\xb6\xe3)q\xa9\x19}R\x92S\xe99\xdc\xaf\x8f\xfe\xd28N\x94<\xef)\x09\xd4\x97\x85\xf6\xf0\xed^\xefx\xa3\x04\xa4\xeb\x90\xb7t\xba\xd7\xeb\xfd\x80@\xb6\xc3B\xf88\x91&a\xa9\x19\xd1\xb5\xe7\x1f\xd5D\xbe\x11\xe1\xb5\x897\xf4=z\x89Y_f\x8d4\xb9\xc1\xaaVD\x1a`\xc0Bx\xfb7\x9e\x12\x97\x9a\x19\xdc\xda_iv}\xd4\xc9G\x0df}\x19\x84\x07\xf1a!<\xd9E\x9ad\xa5f\xed\x17\xe4\xad\xdfh1\x8b\xa8/\x83\xf0\x20>,\x84\xb7\xfd\xc6S\xb2R\xb3\xc2\x15\xc6]})E\xd5\x97\xc5\x17~\xe7\xa7\x04\xb2\x1c\x16\xc2\xc7F\x9a\xd0\xf2\xf8\xa5fE\xc52\xc0\xf8\xa7.\xd2o\xb5\xa2.\xfd\xd0t\x92Y_f+\xbc[\x7f\xeeJ\xec9{\x90m\xb0\x10\x9e\xec\xbe\xac\x9d\xac\xd4\xacH\x14z\xdaZ\xdc\xb9\xb2\xb3L\x96\xcc\xef,\x95\xf5e\x96~\xb3\xfew\xbc\xde\xf1\xb5^\xaf\xb1\xdb\xf7h[Z\xdc\xae\xcfb7\x03\xb2\x0b\x16\xc2'\xb8.M\xfc\x06\x90Gw\xd6\xff\xccU0\xcf\xe8\xe8\xd3V\xd7\x06\xea\xcb,\xfdfGs\xcc\xe1\x0e9\xe3\xd6\x8a\xfc\xdc\xe9\xed\xb6\x1b\x02\xd9\x04\x0b\xe1\xe3E\x9a\x94K\xcd4\x0f\x01\x90\x0a,\x84\xa78\xd7\x9f\xe9K\xb5\xd4\x0c\xc2\x83\x14a!\xfc\xa0\"\x8d\x15\x08\x0fR\x84\x85\xf0\x09\xce\xd2\xa4r\xa9\xbd\x0b^\xad\xf6]?\x01\x90\x1c\x16\xc2\xd3\xd0.\xb5\xb7\\?2\xd5>I6\x0b\x00b\"|\x82H\x83\xab\x07\x83a\x85\x85\xf0C\x8c4\x00\xa4\x0c\x0b\xe1ih\x91\x06\x80\x94a!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84O\x10]\x20<\x18VX\x08\x1f/\xba\x20\xc3\x83\xe1\x86\x85\xf0\x94\xe0\xb34\xc8\xf0`8a!<\"\x0dP\x05\x0b\xe1\x13\xec\xc9Qj\x06\x86\x15\x16\xc2S\xf4\x9e\xbcW\xdf\xdb\x9b\xdfx\xdaP\xf1\xa1\xef\xa6,5#Dy0\x0c\xb0\x10>A\xa4A\xa9\x19\x18VX\x08\x8f\x83S\xa0\x0a\x16\xc2S\xcc\xc1\xa9\xbe\xb3?\xbe}\xdd\xda\xb5kt\xd6\xaeY\xbb\xf5u\x94\x9a\x81a\x81\x85\xf0\xb6\x97\xda\xdb\xbcpn\xf5\\\x93\xea\xeai\xf1.\xd6\x01@Z\xb0\x10>6\xd2\xe8\xc3\x0d3\x8e\x7f\xf9\xf9\x97:\xfa\xcd\xba\x19(5\x03\xc3\x02\x0b\xe1\xc9\xf6\xea\xc1\x15\xe1E\x9bg\xc9\xab\x07\x0f\xe0\xf8\x15\x0c\x15\x16\xc2\xdbF\x9a\x17f|\x18zdw}x\x00\x06\x01\x0b\xe1\xed#\x8d\xa5\xc8\xec9\xbbR\xb30\x91Mf\x01\x96\x8b\x1c\\Y\x0fD\xc3Bx\xb2\x8b4\xeb\xab{\xff\xf0\x8f\xffx\x8f\xfe\xdf?\xfbv\xcf\xe8|{m\xef\xdbk\xe3\xac\x1c\xd9d\x16Z\x88\x8bw\x80\x18X\x08o\x1bi\xd6U\xf7\xad\xfb\xfb\xbf\xff?\xfa\x7f\xdf\x97\xa5f\xcd\x0bo6W\xc7\xdf\x84]\xb1\x13\x84\x071\xb0\x10\xde>\xd2\xcc:\x7f\xf3\xec\xc7\xe7?>\x7f\xf62m\x9a\xf9\xb1\xaf\x93|\x09>V\x03\xe1AJ\xb0\x10\x9el\x9b\xb8\x8dR3\xf3\x91\xedA\xeb\xd5\x9a\x09\xc5\xabWOp\x19I=$\xbc\xff\x95)\xae\x87\x1b\x8c\xcb2i+\x9e\x08W\x9d\x01\x20a!\xbcm\xa4\xd90\xb33\xf4\xf0\xa5\x99\xb1\xa7%\xfb\x1f,l\xf0\x8c\xcf\xddY\xf9\xb2|\x14\x12~\xa9V\xbf\xb7^\xab\x95Cy\x11\xed\xc6\xb2@\xd5\x19\x00\x12\x16\xc2\xdbG\x9a\x8a\xcf\xf5\xc1\x80\xb1\xf0\xa5Y\xb1o<5\x89\x93\xb2\xd6)\xa0sP\xf86\xd1\x16\xba\xd5&\xf7\x10\xf5\x94\x96\x13\x00AX\x08Ov\x91f\xd3\xc2'\xd7\xac\\\xf9\xeb_\xaf\\\xb9rM\xb5M\xa9Y]\xbe~\xf3Q\xb0\x978(|m\x99q\xf7\xa0\xdc\xc5k\xcf\xc8\xe1\x0e\xb3\xea\x0c\x00\x09\x0b\xe1c#\x8d>\xdc\xb7\xf2\x97\xf3\xab\xab\x17>^]]=\x7f\xe5\xda\xd8k\x08\xbf<\xf6\xaa\xdc\x95G\xed\xe1\x8d\x8e3\xa2*\xb9[\x8f\xa8:\x03@\xc2Bx\xdb\x8f\x07\xf7\xf5v\x7f\xd5\xdd\xbdg\xc3\xb9\xee/\xbb{{cW\xfa4\xa7\xf2\xd3\x93\xa5\xe5\x81\xab\x06\x87\xf6\xf0\x93\xe4\x02\xff\xc4\xa5\x14Uu\x06\x80\x84\x85\xf0\x14\xffK\xdckf\xc6\xfb\x9c\xfc1Q$\x84\xfbB\xe0QP\xf8\xbdB\x96\xcd7\x9a\xed\xad\xc5\xb7\xe4\xb1\xad\xdbvu\x90\x9d\xb0\x10\xde\xf6\x1bO\x03}}\xbd>\xdf\xf6\xc7\xcf\xfaz}}6\xce\x1f\x1b\xbf\x7f\xaf\xf7\x82\xb1\x83\xb74\x99QMN]k]N\x8d\\\xac\x89\xca\xc3\xfb\xcb\xf3?\x8a]\x17d-,\x84\x8f\xf7\x8d'\xfd\x15p\xf0\xf5x\xd7\xa59\xa4\xc9\xc62m\xfa\xa9\x88&3\xf2o+s\x95\x99\xe7\xe1\x1f\xf4,\x0eT\x9d\x01\x10\x80\x85\xf0\x14'\xd2\xf8\x88~=#N\xa9\xd9\x15\xd7\xb2+\xb7o_?\xba\x20\xff\xba\xdd\xd3\x00\xd8\xc2B\xf8x_\xe2\xd6w\xf9\xdb\x1f\x8f\xf3]\xa7\x96|\xf3p\xd5_\xd4f\xf74\x00\xb6\xb0\x10~0\x91\xe6X\x8eyB\xf2T\xce\x09\xbb\xa7\x01\xb0\x85\x85\xf04\x88K\xed\xf9ks\x975\x1dhZ\x96\xbb\x0cuf\x20uX\x08?\xa8K\xed\xf9[+\x8b\xb5\xe2\xcaV\xf8\x0e\xd2\x80\x85\xf0\x09\"\x0d\xae\x1e\x0c\x86\x15\x16\xc2\xd3\x20\"\x0d\x00\x83\x81\x85\xf0\x83\x8a4\x00\x0c\x02\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x07\x11i\x10u\xc0\xa0`!|\xba\x91\x06Q\x07\x0c\x16\x16\xc2S\x9a\x91\x06Q\x07\x0c\x16\x16\xc2#\xd2\x00U\xb0\x10>\xe5H\x13h\xf7\xd39\xf8\xc6\xe7>\x1f\xda\xfd@\xba\xb0\x10\x9e\xd2\x8f4\x9bf\xa3\x13\x04\x0c\x02\x16\xc2\x0f\"\xd2\xa0\xce\x12\x0c\x0a\x16\xc2\xa7\x1ci\xe4\x10\xed~`\x08\xb0\x10\x9eR\x8e4}h\xf7\x03C\x82\x85\xf0\xa9G\x9a>\xb4\xfb\x81!\xc1B\xf8\xd4#M\x1f\xda\xfd\xc0\x90`!<\xa5\x13i\xd0\xee\x07\x86\x00\x0b\xe1\xd3\x8b4\xc9\xdb\xfdZ\xe4e\xc8&F\x7f\xbb{\x7fA\xab\xddd\x90U\xb0\x10>\xadH\x93B\xbb_\xd7!o\xde\xa2\x98\xe2\x8fVWK\xf4\"\x90u\xb0\x10\x9e\xd2\x894\xa9\xb5\xfb\x15\xad\x8e]\x86\x0bz\x00\x1e\xc2\xa7\x17iRj\xf7\xb3\x13\x1e\x00\x1e\xc2\xa7\x15i\x92\xb6\xfb\x19\x98\xc2\x87+\xfd\xae\xe7\x0a\x91#/\x1dO\xcb\x85\xb6s\xd5\x03\xae\xca\xe0\x95\xe5AV\xc1BxJ'\xd2$k\xf731\x85\xb7T\xfa\xb5{\xbd\xe3\x8d\x0a\x9c\xbf4\x8e\x13\x05\x9e\xdf\xe6-\x88]\x09\x8c~X\x08\x9f^\xa41\xda\xfdL\xec\xda\xfdL\x0c\xe1\xad\x95~:\xb9\x81\xa2b-_\xdf\xbb\xd7\x14\xd8\xae\x07F9,\x84O+\xd2$k\xf731\x84\xb7V\xfa\x91ExY\x00\xe5\xd1l\xd7\x03\xa3\x1c\x16\xc2S\xca\x91f\x20y\xbb\x9f\x89!\xbc\xb5\xd2\x8f,\xc2\xcb{\x08\x9f\x9d\xb0\x10>\xf5H\xa3\xd3\xd7\xdb\xad\xe3\x1b\x90\xb7v\xed~\xb7?\x90\x07\xa9\x13\x8c=\xbc\xa5\xd2\x8f\x20<\x20&\xc2\xa7\x1eiB\xcb_X\xf8y\x9c}\xfb+\xc2KtUl\xa3\xc8J?\x82\xf0\x80\x98\x08O)G\x1a2\xda\xfd\xba}\xbe\x7f\x9bv\xc4\xd7m\xdb\xeew@\xcci\xd9U>\xe139\x0eW\xfa\xf5\xbf\xe3\xf5\x8e\xaf\xf5zo\xd0%\xafV\xfb\xae\xffD\xad\xe6E\xddY\x16\xc2B\xf8\xb4\"\x8dIo\xfc/q\xb7Lu\xe5W\xbdo\x0c\xc3\x95~Gs\xcc\xa2\xbf\x1d\xb4\\v\xff\xbd\xef\xd2o\x97\xc7\xdd\x04\x18\xb5\xb0\x10>\xddH\xe3#\xda\xf4\xf8Y\xfbv?\x00\x12\xc1BxJ'\xd2\x90\xbcx\x01\xe9\x91\x86l\x8eX\x01H\x0c\x0b\xe1\x877\xd2\x00\x10\x1f\x16\xc2\xa7\x1bi\x12\xbc@\x00H\x08\x0b\xe1)\xcdH\x13o9\x00\xc9`!\xfc\x20\"\x0d.\xb5\x07\x06\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<\x0d5\xd2\\\xbe\xfcyg\xd4\x06\xba;/\x7f\xf5%^\x12\x20\x0a\x16\xc2\x0fc\xa49\xb8=\xde\x97\xfe\x00\x20&\xc2\x0fW\xa4\xd17\xb0i.\x0efA\x02X\x08OC\x8d4a\xba;\xb1\x7f\x07\x09`!\xfc\xf0D\x9a\xbe>__\xdf\xf1=_\xeaw\x03\xb0\x1e\xd8\xc3B\xf8\xe1\x8a4:/=v\xd1f)\x00\x01X\x08O\xc3\x17i\x06\xc2\xd7\xe1\x03\x20\x16\x16\xc2\x0f=\xd2\xe8\xab\x9e\xde\xf3\x87\xed[7\xbf\xd9\xbc}\xeb\xd6\xed\xcd\xfbn\xda\xaf\x06\xb2\x1d\x16\xc2\x0f=\xd2\xe8\xabn\x9f?k\xe6\xb4\x19\xd3$3\xe7W\\\xc4\xb9\x1a`\x07\x0b\xe1i\xc8\x91F\x1fn\x98v\xf0\xf4{\xa7\xdf\xd39}z\xcd4\xb4\xfb\x01[X\x08?\xf4H#\x85\x9f\x1d\xbe\x8a\xc1\xd6\x8as\xf2\"\x1ep\x1eD\xc3B\xf8a\x894\x96\xb2\xb3\xbe\x0d3\xcfE\xaf\x03\x80\x84\x85\xf04,\x91fFHxZo\xdf\xee\x07\x00\x0b\xe1\x87%\xd2\xac\x9f\xdb\xbd\xe7\xc7?\xfe\x89\xfe_E\xdf\xeb3??\xb2\xddw|k\xe4\xe7jNU\xba\x0ak\x0e\x14^\xa1Z!\x84\xeb\x0c\x81,\x84\x85\xf0\xc3\x12i\xd6U\xd3\x9a\xaf}\xed\xef\xf4\xff\xbe%\xdb\xfd\xde\x98\xdb\xbd;\xb2\x1f\xa4\xcd\xf5\xe8\xce\xc62!>\xa0\x0b^o\x83x'z\xab\x20\x1b`!<\x0dK\xa4\x99}\xf9b\xf3\x9e}{\xf65\x1f\xa4\xcd3.v\x9e\x1e\xe8\xfc\xd0z\xf5\xc9ky\xf3n\x11u\x95\xea\xc2\xeb\xb4C\xf8\xec\x84\x85\xf0\xc3\x12i,\xed~\x03v\x19\xbe.\xd7\xb8<\xf6\x16ad\x19\x08\x9f\xa5\xb0\x10~X\"\xcd\x86Y\x17\xcd%\xfa\xcd\xa6\x19\xe7\xe4\xa5V#6X\xfa\x84qwu\xcb-y\x17\x12\xde\xbf\xab\xdc\xf5\xc0\xea\x1e}tcq\xb1VRu\x92\xd0l9\x9aa!<\x0dO\xa4\x09obsE\xcc\x1bO\xb7r\xb6X\x1f\x86\x84\xaf\xcdY\xb1w[\xc1T?Q\xabXv\xa0\xa9*\xa7\x1d\xcd\x96\xa3\x19\x16\xc2\x0fK\xa4\xd9P\xbdn\xf3\x0b\x9bt^\xd8\xb4\xf9\x97\xb1\xed~\x9f\x88\x16\xeb\xc3\xa0\xf0\xadb\x97\xf1\xa8\x91\xa8\xa7\xa9K\xdf\xe1\x97\xcd\x93\x8b\xd1l9Za!\xfc\xb0D\x9a\xe6\xc7\x1f\xab\x98aR\xf1\xf8\x93\x9fGo\xad\x7f\x9c\xed\x1e~\xc9\xa4\xfe\xdb:\xc5\xb2\xd9\xf2jC\xe5\xa4<aT]\xa2\xd9r\xb4\xc2Bx\x1ar\xa4\xd1\xe9\xbex6\xc4\xc5\xcb\xb1\x7f-\x02\x19\xbe\xdfl)\x0e\x0a_f6\xe1\x08}\xbf\xde^X\xf2t\x8b\xd7m\x0a\x8f\xde\xb3Q\x0a\x0b\xe1\x87\x1eiR\xa0.\xf7\xaa\xbck\x12W\xe4]P\xf8\x9aI\xc7\x0c\xf4\xe7&\x97\xcbC\xd7E\x10~T\xc3B\xf8\xa1G\x1ac\xe9@_\x90\x81\x98M\xc9\xf3\xf0\x0b\xfa\xf5\x8c\xee\x9eh<\x0a\x0a\xdf&\x9a\xe4]\xfdF\xa2\x92E\xfa\xc0\xff0\x84\x1f\xd5\xb0\x10\x9e\x86#\xd2$\xa5\xcdU\xbe\xab\xa5r\xdc!\xa2\xcf\xe4;\xad[\xbc\xdeO\xf5\xa5uckZZj\xe5\xa1\xabG,nx~\xaa(z\xf1]4[\x8e^X\x08\xaf$\xd2\x18\x9f\xa5)\x9a\xf7\xbe>X\x1a\x08\xeeK\xe4\xd26\xf7\x84\xfc\xe92\xd8\xfb\xb7\x94j\x05K^+\xd5\xdch\xb6\x1c\xbd\xb0\x10~x\"\x0d\x00\xc9a!<)\x894\x000\x11^Q\xa4\x01\x80\x87\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe13\x1di\xf4\x0d\xbf\x8d:K\x20a!|\xa6#\x0d\xfe\"\x80\x20,\x84\xa7\xccG\x9a\xb4\xfe\"\x80\xd1\x0b\x0b\xe1\x15D\x9a\xb4\xfe\"\x80\xd1\x0b\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0*\"\xcd\x9b_\x0d\xf8h\xa0O\xfeK\xeb\x95\x02F\x17,\x84W\x14i\x00\xe0!<\xa9\x884\x89g\xb7\x94_I\xf8\xfc\x90\xb8V\x1eqmz\xe0\x20,\x84W\x10i\x0e\xee\xee;\xb2\xd9w\xe4%\xfd_\xef\xf1\xed136\x0a\x8f?bA\x1a\xcd\x96\xcbEN\x93\xfd3_,+\xca\x9d\xa3o\xd7\xffb\xceF\xfb\x19\x83\xe4\x13MLN6\x07\xd8\xc2Bx\x05\x91\xe6\x85\x857\xdf\xac\xee6\xff\xed\xf9e\xf4\x84m9\xbb\xa2\x96\xa4\xd1ly\xc1k\\k\xd8\x06w\xe1\x8e\xa5\xb9\xd7\xe5h\xef\xb8m\xf6S\x06\x87\xff\xddZ\\\xd9xp\xb0\x10\x9e2\x1fizo\xd2\x97\x1f\x07\xfeu_\x8cz\xb2C\xab\x0b\x0e\xaf\xba\xaf\x06\x87\xa9\x17\xfd\xc5\x11\xfe\x9a\xd8F\xfe.s\\\xaf\x0doC\x1a.\xe5=HX\x08\xaf\x20\xd2\x1cy\xa33\xfe\xf3\xb5\x85=\xc1\xe1)q*8\x1c\xb2\xf0gDkh\xdcUXk;g\xb0@\xf8A\xc2Bx\x05\x91fs\xf5\xf9\x81\xde8\xa7%\xfb\xf3\x9e6\x07\xdbJ[?\x10\x1f\xec-}\xc5x\x14\x14>\\gI\x93\x03\xd7\xd9\x9eN\xad\xfa\xed3\xe4\xd1o\xf5\xfc\xae\xadx\xa28\xbf\xea\x8c\x11\xe7w\x05\x02v\xff\x04s\xea\xaa\xc0\x0f\xa9\xcf\x0d\xbd\xa8\x02Xk2\xc7m[\x16\xdcBhh\xa9\xd4\x8c\xe8\xd1\xbcPS\x9c\xbf\x08\x91f\x90\xb0\x10\x9e2\x1fi\x12\xfdE8!\xbc\xe6\xe0B\x8dxP\x94\x89E\x9f\x19\x8f\xc2E\x7f\xc1:K\xd2j\xbd:\xe5b#\xf5\x1c*Yv\x85\xae\xd4\xe7y\xf5\xcc\xa2\x89)M\x8de\xaeSf\x9c\x0f\x04\xec\x13\xdeF\xe1\xf1\x86*\x15\x0e\x89\xc3Q?6\xb2&\xb3\xe4yO\x89\xbe\x05\xcb\xd0R\xa9i\xed\xd1<\x93\xf7\xc0k-\x95\x02\xc2\x0f\x0e\x16\xc2+\x894\xf1\xff\"\xec\x15\x1f\x05\x87m\x9a\xd0\xda\x02\xe3\xa0\xf0\x96:K\xcf1}T+\x8c\x03P\xcf\x14\xfdf\xa9\x11T\xb4\xc9\xfa^\xb8\xa7\xb4\x9c\"\xbbr\xac\x91\x86.\x88\xe8S\x93\x115\x99\x13o\x10]/)\x8f\x18Z*5-=\x9a\xd3K{\xe4j\x10~p\xb0\x10^I\xa4\x89\xff\x17\xa1E|b\x0e\xae\xad\xd2\x8aE\xf1\xf8\xa7\xbe0\x1e\x852\xbc\xa5\xceR\x8f*\x8b\xc7\x9agt.\x8c}\x9fn\xe5\xed\x97C\xed\x19y\xbbC\\K(|\xcc\xb9KkM\xa6q\xd4\xdc`l!4\xb4Vj\x86z4\xaf\x8b\x9d\xf2\xf9z\x08?8X\x08O\xceF\x9aw\x83fo\x9c\xb0\xe3\x94\xf8\xcb\xb6\"\xf3\xa4yPxk\x9d%\xf5\xcc\xd1\x82{\xea\xca\xd5\xd4\x96\xdf/G\xe6A\xabW\x1cK\x20|\xbb8D\x91\xc4\xd4dZ\xb6`\x0c-\x95\x9a\xe1\xed\xb6\x9b\xf9\x0b\x07\xad\x83\x84\x85\xf0\x0eG\x9a\x9e\xd0Y\x96~\xe3,M\xbf\xf9\x1eTPxk\x9de\xd7\xf4\xf1\xc1\xc4C\xad\x13\xfa\xcdDC\x9aqd\xbaS\xdc\x08\x88Yo#\xbcG\xeb\xa2H\"j2-[\x08\x0d-\x95\x9aa\xe1\xbf\x10\x0d\xf2\xf9\xa5\x10~p\xb0\x10\xde\xe1HC\x8bJCo\xb3~\x96\xffYp\x18\x14\xdeRgym\x8aK\xee_[\xddry\x7fQk\xbe\x91hH+\xbe\xa5?|P.u=\xad\xcf}4Vx\xff\xe4\xaa\xe0\xf0\x93\x8d\x1d\xd1\xdb%\xadH\x7f9tMrG\x0c-\x95\x9a\x96\xbf\x1c\xe5%z\xee\xf9h<\x84\x1f\x1c,\x84'g#\x0d\x9d\xc9\xf9m\xf4\"K\xb3e\xb8\xce\xf2z\x99\xd8(O\xd3<a\xdaV7)\xff\xb61\xd0D\xe5\xe1\xfd\xe5\xf9\xf2\xd0\xb7\xbc`\xe3\xf3\xe5b\xdc\xaeS\x81\xb34\xef\x06^J[dZ1\x99'\xe6\x18\xf7\xe1\xed\x9a\xe7yv\x96\x1a[\xb0\x0cC\x95\x9a\xd6\x1e\xcdS\xae\x12O}~\x8e\xfc\x11\x20}X\x08\xefp\xa4\xd1w\xa2\xe3\xa3\x03\xb6\xa5\xd92\\gyb\\`i\x891\xe7#\xb1\xcc\x9c\xfc\xa0gq^q\x8dq\x02\xf2\x8c;7\xaf\xf2\x19!\x96\xdf\xca7f\x8e\xfb\xc0\x98\xe1\xcd}*\xb4\xe9\xd7\x0av\x18\xf7\xe1\xed\xea\x96\xaf\xae\x0dn\xc12\x0cUjF\xf4h\x9e\xa9\xca\x9f\xf8\xd4\xaeq\xa8\xd4\x1c\x14,\x84w:\xd2\x90\x7f\x85\x16\xe7\xf3_\x89\xe8\xd2\x0e$\x9b\x12\xa0I\xab\xbd\x9dp\x82\xe5\xbd\xdax\x1f\xcc\x01\xc3\x02\x0b\xe1\xc9\xe1H#\xf7\xb6\xc5W)]\x9a&$\xb68\xc4\xb5\xc2\x8d\x91\x9f\xc5\x8c\x01\xc2\xab\x82\x85\xf0\x8eG\x9aA\xe09\xe0w\xd7'\x9b\x942\x10^\x15,\x84w<\xd2\xa4O\x8f\x98\xb2\xbc\xf0z\xb2Y)r\xc18&\x8d\x1e\x82L\xc0Bxr<\xd2\xa4\x8f\xc7\xe5\xfe\x20\xd9\x9cT1\x8eI?\x89\x1e\x82L\xc0B\xf8\x91\x18i\xc0\xc8\x84\x85\xf0#0\xd2\x80\x11\x0a\x0b\xe1i\x04F\x1a02a!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84\xcft\xa4\x01\x20\x08\x0b\xe13\x1di\x06Pj\x06\x02\xb0\x10\x9e2\x1ci\xd2\x9d\x0fF/,\x84W\x10i\xd2\x9d\x0fF),\x84W\x10i\xd2\x9a\x0fF/,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2\xab\x884(5\x03\x12\x16\xc2\x93\x9aH\x03\x00\x0f\xe1\x95D\x9a\xc4/\x0f\x94\x9ae\x09,\x84W\x10ix\x96\x9a\xed/\xb0\\}2\x0c:\xcb2\x07\x0b\xe1)\xf3\x91\x86g\xa9Y\xab\xcbv\xd7\x8f\xce\xb2\xcc\xc1Bx\x05\x91\x86i\xa9Y\xbc\x0br\xe0j\xd8\x99\x82\x85\xf0\x0a\"\xcd\x08+5\x83\xf0\x99\x82\x85\xf0\x94\xf9H\xc3\xb0\xd4\xecz\xae\x109\xb2\xce&ngY\xa8\xd4\xec\xd48!\xaa\xfc%B\xe4\xdf\"0$X\x08\xaf\x20\xd2$\x9a\xefP\xa9\x19\xb5{\xbd\xe3\x8d\xbf\x0d\xf1:\xcbB\xa5f\xfe\xc3\x9e\x9c\xc3\xb4k\xec\xae\x13\xd1\xdb\x00i\xc2Bx%\x91&\xfe|\x87J\xcd$\xb9\x810d\xdbYf-5\xf3/-\xbfZ2\xbc\xfd\xf5\xd9\x09\x0b\xe1IE\xa4\x89?\xdf\xa9R3\xb2\x08o\xd7Yf-5\xa3\x9e\x87\x8b\xaap\xcd\xc9\xa1\xc3Bx\x87#\x8dC\xa5f\x92\x90\xf0v\x9de\xd6R3\xf9\xb2\xb4\xdb\x00H\x13\x16\xc2;\x1ci\x1c*5\x93\xc4\x08o\xed,\xb3\x96\x9a\xd1\x85\xc2\xfa\x92/l\xb6\x00\xd2\x83\x85\xf0\xe4l\xa4q\xa8\xd4L\x12#\xbc\xb5\xb3\xccZj\xd6_^O\xcb\xdc\xc84C\x86\x85\xf0\x0eG\x1a\x87J\xcd\xfa\xdf\xf1z\xc7\xd7z\xbd7\xe2v\x96\x85J\xcdz\x0e-/\xb8@\x1dy+\x0e\xe1\xb4\xe4\x10a!\xbc\xc3\x91\xc6\xa1R\xb3\xa39\xe6\xc6v\xc4\xef,\x0b\x96\x9a\xb5\x19'\xf4W\x0816\xd5V)\x10\x07\x16\xc2\x93\xc3\x91\xc6\xf9R3\xa0\x0a\x16\xc2;\x1di\x9c/5\x03\xaa`!\xbc\xe3\x91f\x10\x0co\xa9\x19P\x05\x0b\xe1\xc9\xe9H\x93>\xc3Zj\x06\xd4\xc1Bx\xe7#M\xfa\x0cg\xa9\x19P\x07\x0b\xe1Gb\xa4\x01#\x13\x16\xc2\xd3\xc8\x8b4`\x84\xc2B\xf8\x91\x18i\xc0\xc8\x84\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10>\xd3\x91\x06\x80\x20,\x84\xa7\x0cG\x9a\x01\x94\x9a\x81\x00,\x84\xcft\xa4I\xf7\x05\x02F/,\x84W\x10i\xd2z\x81\x80\xd1\x0b\x0b\xe1)\xf3\x91&\xdd\x17\x08\x18\xa5\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\xa4\x20\xd2\xa0\xd4\x0cHX\x08\xaf(\xd2\x00\xc0Cx%\x91&\xf1n\x1d\xa5fY\x02\x0b\xe1)\xf3\x91\x86g\xa9YR\xe2\xb4\x9e\x81A\xc3Bx\x05\x91\x86g\xa9Y\x98\x03\xc7\xc8\x8e8\xadg`\xd0\xb0\x10^A\xa4aZj\x16\xe2\xd1%\xf6\xcbq\x01\xa7a\x86\x85\xf0\x94\xf9H\xc3\xbd\xd4l\xea\xe2\x84O\x83\xe1\x82\x85\xf0\x0a\"\x0d\xc3R3\xf2V\x96hEsJ\xfc\xc6\xc6$S\x88N\x8e\x13\xa2\xfeL\xcd\xc4\xdc\xca\xdb\xf1Z\xcf\xae\xd6L(^\xbdz\x82k\x10W\xc3\x04<\x84W\x10i\x12\xbd@\x1c*5;:vi\xcb\xfe\x9dE\xe26u\x1d\xf2\x96N\xd77\xfc\x81,\x94j,)\xcd+YU3\xf6\xd38\xadg\xfd\x0f\x166x\xc6\xe7\xee\xac|\x99@\xfa\xb0\x10\x9eTD\x9a\xf8/\x10\x87J\xcd\x1a\x0a\xe4\xb5X\x1b\xf2\x8d\x98n\x894S\x85\xfb\x06\xf9o\x98\x0fb[\xcf\x9a\x84\xfe\xc7\xa6!\x9c\xbc@Z\xb0\x10^I\xa4\x89\xff\x02q\xa8\xd4\xec\xb3\xe2\x89+v\x9e\xf0\x1b-Q\x11\xc2k\x9f\x86'\xc5\xb4\x9eQ]>\xc9K\xd3\xe3\xec\xcd\xe0`!\xbc\xc3\x91\xc6\xa9R\xb3\xeb;\x16O\x16E\x1bc\xf6\xf0S,sb;q^\x1e{U6$`\x0f?8X\x08O\xceF\x1a\x87J\xcd\xda\xeb\xf4\x9fs\xbd1\xb7A>0\x84\xdfi\xec\xda\xa7.\xb2L\x8a\x15\xfe\xd3\x9c\xcaOO\x96\x96\xe3|\xe5\xe0`!\xbc\xc3\x91\xc6\xa1R3\x8f0^;n\xa37\xc7\xad\xaf|\xc5L=\x11g(c\x85?&\x8a\x84p'>\xab\x0f\xe2\xc2Bx\x87#\x8dC\xa5f\x1e\xe1\xaaom\xa9\x15Fo\x8eG\xdb\xd2\xe2v}F\xb7\x0f\x1b'l>\x91\xcb\xec[\xcf\x8e\x8d\xdf\xbf\xd7{\x01;\xf8A\xc2Bxr6\xd28Tj\xb6k\xba\xa7D+t\x9b=Q\xb7V\xe4\xe7No':i6\x9d\x19\x7f\x0e\xec[\xcf\x0eir\x996\x1d!~P\xb0\x10\xde\xe9H3\x92J\xcd\xae\xb8\x96]\xb9}\xfb\xfa\xd1\x05\xf9\xe8\x1f\x19\x0c,\x84w:\xd2\x8c\xa4R\xb3\x16\xf3\xbc=\xf9\x8bBG\xcf\x20\x0dX\x08ONG\x9aA\xe0T\xa9\xd9\xb1\x1c3\xcb\x9c\xca9\x91d&\xb0\x83\x85\xf0\x8eG\x9a\xf4q\xac\xd4\xcc_\x9b\xbb\xac\xe9@\xd3\xb2\xdce\xc3\xf6G#\xab`!\xbc\xf3\x91&}\x1c+5\xf3\xb7V\x16k\xc5\x95\xad\xf0}P\xb0\x10\x9eF`\xa4\x01#\x13\x16\xc2\x8f\xc0H\x03F(,\x84\x1f\x89\x91\x06\x8cLX\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1)\xc3\x91\x06\x80\x20,\x84\xcft\xa4\x19@\xa9\x19\x08\xc0B\xf8LG\x1a\xfcE\x00AX\x08O\x99\x8f4i\xfdE\x00\xa3\x17\x16\xc2+\x884i\xfdE\x00\xa3\x17\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1UD\x1a\x94\x9a\x01\x09\x0b\xe1\x15E\x1a\x00x\x08O*\"M:\xb3\xc1\xa8\x85\x85\xf0\x0a\"M\xdcR3\xef\xd8\xc0\xc5\x95\xc6\x9f\x8c\xbb~\x98\x93s&\xe4M?Pv(y\xebY\xfc\xaa3\xe0$,\x84W\x10i\xe2\x96\x9a\xdd:T8G^>o\x97H\xe1:/\xc7\xb4\xaa\x96]\x0b\x8c\xd6\x8fd\xadg\xf1\xab\xce\x80\x93\xb0\x10\x9e2\x1fi\x12\x94\x9aM4.\x98\xf7Q*\xc2W\xba\xfdF#\x82\xb9\xefNR\x02\x05\xe19\xc2Bx\x05\x91&A\xa9\x99)|\xff\xb6\x1b\xf1&\x84\x99h\\z\xe9d\xa0\x8d\x00\xc2\x8f@X\x08\xaf\x20\xd2$(5\x9b\x18\xb8$jD\xa1\x18\xf9_\x99\xe2z\xb8\xc1O\xb7\x8b\xb4\xdf\x14\x17\x1fX\x91\xef\xee\"ZR(/\xfb\xe5\xdfk^\xea\xdd\xa6\xf5,\\T\xa6\x0b\xffT\xa8\x87\x0c\xb0\x81\x85\xf0\x94\xf9H\x93\xe0/\xc2\xc4\xda\x9e\x9e\x97e?SD\xa1\xd8R\xad~o\xbdVKt\x20O\xacr\x8b\x09\x1b\x8b^&\xfa\xa4$\xa7\xd2s\xb8?\xb0\xa2M\xebY\xb8\xa8L^D{rcK\xd1\x828?\x158\x03\x0b\xe1\x95D\x9a\xb8\x7f\x11&\xcas4\x85\xe68T(\xd6fDz\xe3\xb6\xb0\x86\xf6\x8aVZ*\xff\x10\\{\xfeQM\xe4\x07N\xbf\xd8\xb4\x9eY\x8b\xca\xb4\xc2/\x88j\x0bb\x7f\x20p\x10\x16\xc2+\x894q\xff\"L\xacjo_\x1a\x14>X(VkV:=\xa8\xef\xe2\x0b\x1b\xe9]\xd1EO\xd7\x98\xcf\xdc\xda_)\xf6\x1a#\x9b\xd63kQ\x99&_!\x81\xba'\xc0\x05\x16\xc2\x93\xb3\x91F\x17\xf3\xd4Ns\x1c*\x14+7\x1bj\xaa\xf4\xa8S\xd8F\xed\xba\xb6u\xba\xf0\xedF\"\xf7\x07\x9e\xb4k=\xb3\x14\x95Y\xfb\xcd\x00\x17X\x08\xefp\xa4Y\x16\x1e\x87\x0a\xc5j'Ig\xfd\x13\x97F\x08_\xb8\xc2x\xb2\xbe\xd4\xb8\xb3i=\xb3\x16\x95Ax\x8e\xb0\x10\xde\xe1Hc\x15~q`\xb0W\xc8\xce\xf7F\x19^,\xc2\x17\x15_\xd3\x97\xfa\x03/\x0b\x9b\xd63kQ\x19\x84\xe7\x08\x0b\xe1\xc9\xc1Hs\xeb\x9d\xc29\x87\xcc\xd3\x8c\xd6B1\xaa\xc9\xa9k\xad\xcb\xd1%?\x95\xffrO\xa3v\xb2\xa7\xc6}\x81\x8aD\xa1\xa7\xad\xc5\x9d\xfbQ\x9c\xd63KQ\x99\xb5\x87\x0c\xf0\x81\x85\xf0NF\x1a\xe3\xb34f\xb7\xb6\xb5P\x8c\xfc\xdb\xca\\e\x0d~\xf2\x17\x09\xd1\x98'\\MB\xcc\xa3Gw\xd6\xff\xccU0O\xd6\xf5\xd9\xb6\x9eY\x8a\xca\xac=d\x80\x0f,\x84w6\xd2\x80l\x82\x85\xf0\xe4`\xa4\x01\xd9\x05\x0b\xe1\x9d\x8c4\x20\xbb`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2g:\xd2P\xfa\xf3\xc1(\x85\x85\xf0\x99\x8e4\xe9\xce\x07\xa3\x17\x16\xc2S\x86#M\xba\xf3\xc1\xe8\x85\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10^E\xa4A\xa9\x19\x90\xb0\x10\x9e\x14D\x9a\xb9(5\x03\xc4Dx%\x91&\xe5\x97\x07\x18\xcd\xb0\x10>\xd3\x91F\xe7\xf8\xbe\x81\xe3\x7f\xf0\x05\xfe\xbd\x9elv\xf2\xce2\x0b\xde\xb1\xa2\xdcO-B\x8c\xdd\x9fl\xaay\xad\xa7\xdad\xb3@\xe6`!<e>\xd2\xac\x99\xd6\xbd=\xf0\xef\xab7\x9eL\xb6B\xf2\xce2\x0b=\xfbE\xae\x97\xbaZ\xc4\xfe\x9edS\xe9\xf6;\x0f\x97y?K6\x0bd\x0e\x16\xc2+\x88\xc7O\xf3\xe3\x00\x00\x0e\xfdIDAT4\x83\x20I\x85S\x98.Q\xa3\xef\xb4?\x11]\xc9&J\xdc\xeed3@&a!\xbc\x82H3\x08\xd2\x10~\xbf\xab\x07\xc2\x8f\x0cX\x08O\x19\x8e4\x89h\xd2C\xb5\x87<\xc2(_\x0d6\x99\x19\x04\x84_.rv\xd1'\x9a\x98\x1c\xd9oF\xfe]\xe5\xae\x07V\xcb\x14\xd3%>\x99\xdab\x0a\x1f\xea7\x8b7\xd7*|h\xe9r\xa1\xedD\x01\x9a\x1aX\x08\xefd\xa4\xe9\xf2\xe6\xd5_\xa1+\xf5\xf9\xde.K\x93\x99$\x20\xbc\xd10\xec\x7f\xb7V\x8b\xec7\xa3\xda\x9c\x15{\xb7\x15L\xf5\x1b\xc2o\x9bc\x0a\x1f\xee7\x8b3\xd7*|h\xe9_\x1a\xc7\x89\x02\xcfo\xf3P\x80\x96yX\x08\xefl\xa4\xa9]\xa2\xdf\xd4<A\x11Mfd\x894\xe1f\x03K\xbfY\xabq\x8d\xedv\xd9\x9b\xa0\x0b\x7fu\xfcUCxK\xbf\x99\xfd\\\x8b\xf0\xd6\xa5Z\xbe\xbew\xafA\x01Z\xe6a!<9\x18i\xf4}qn\x0f\xf5\xb8\xbc\x14\xd1dF\xf6\xc2\x87\xfb\xcd\x96L\xea\xbf\xadS\\k\x08Os\xb6\x98\x19>\xdcof?\xd7\"\xbcu\xa9\xb6\x94\xd0\x16\xa2\x04\x16\xc2;\x19i\xf4\xb8=\xa1\x85Z\x8ad\xdc\xb04\x99\x91\xbd\xf0\xe1\xf6\x9b\xb2@!\xc2<S\xf8\x96\x87\x0d\xe1-\xfdf\xf6s-\xc2[\x97\xa2\x1eG\x15,\x84w6\xd2\xd0\x8ay\xb4\xc0h+\xb34\x99Q\xb4\xf0\xf5Q\xc2\xd7L:fp\xd5\x14\xbe\xc7\xb5_\x0ao\xe97\xb3\x9f\x1b\x10\xbe\xab\xfeZ\xc4R\x08\xaf\x0a\x16\xc2\x93\xa3\x91\x86\x0e\x8f\xbf4\xfe\xb0\x1cX\x9a\xcc\xc8\"\xbc\xebi\xfdU\xf0h\x94\xf0m\xc2\xa8'\xae\xdfh\x0aOKk\xa4\xf0\x96~3\xfb\xb9\x01\xe1O\x08o\xc4R\x08\xaf\x0a\x16\xc2;\x1bi\xc8_\\Yl\x9e\x8a\x0c5\x99Y;\xcb\xa8\xbc`\xe3\xf3\xe5b\xdc\xaeS\xd6~3\xaa\x1b[\xd3\xd2R\xab\x1fx\xf6\xec\x17-]\xe4\xcd\x95\xc2\x87\xfb\xcd\xec\xe7\xde>\xfcp\x99Wg\x87.|x)\x0a\xd0\xd4\xc1Bx\x87#\x0dm\xd1\xb6\x98\x83`\x93YDg\x19\x9dq\xe7\xe6U>#\xc42k\xbf\x99\xbe\xdfvO\xc8\x9f\xde\xa6\x1f\xf4\x8e\x95\xe7\xf0\xfd\xe5\x85~K\xbf\xd9t\xfb\xb9\x81\xde4!r?\xb0,E\x01\x9a:X\x08O\xceF\x1a\x90E\xb0\x10\xde\xe1H\x03\xb2\x08\x16\xc2;\x1di@\xf6\xc0BxB\xa4\x01\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2\xa7\x1ci\x8e\x9f\xfd\xf0|g\xe4\x9c\xce\x8f\xcf\x9e?\x8b}=H\x11\x16\xc2S\xaa\x91\xc6\x17\x1a\x1d\xdf\x87]<\x18\x04,\x84O9\xd2\x04\xe6\xe87\x1bf\x9eC\x86\x07\xe9\xc3B\xf8\x94#Mx|\xf1\xbd\xf0\xde\x1e\x80\x94a!<\xa5\x1ai:\xa5\xf0\x03\x92s\xc7o\xca;\x9b\x95\x00H\x00\x0b\xe1\xd3\x8d4}\x884`\x90\xb0\x10>\xe5H\x13\x8e1_\x9e\x8e\x9e\x0c@\x0a\xb0\x10\x9eR\x8d4\x92\x8bG\xf6\xed\xdb\xb7\xe7\xa0\xbc\xddw\xf08\x92<H\x0b\x16\xc2\xa7\x1ci\xa4\xfb\x7fxl\xc6\xb4G\x1e\x996M\xdeTW_F\xb0\x01\xe9\xc0B\xf8\x94#\x8d\x91\xde+v\xbf\xbd\xef\xed\xf7\xce\x1f\xdc\xf7\xf6\xdb\xbf~\x04I\x1e\xa4\x05\x0b\xe1)\xe5H#\x85\x9f-cL\xe7A\xf9p{\xc59\x99\xebq\xb2\x06\xa4\x0a\x0b\xe1\xd3\x8a4\xf2\xfc\x0c\xd1}_;H8W\x03\xd2\x86\x85\xf0iE\x9a\x17f|\xa8\x0f\xee\xbf\xe3\xa2~\xbb~\xe6\xd9\xe8u\x00H\x04\x0b\xe1)\x9dH\xf3\xdcc\x9dG\x1e\xff\xe5\xf7\xbf>\xed\xf1\xb5\x03\xdbg\\>\xbd\xa7\xef\xf4\x1e\xcb\xca\x1e\xa1\xb5\xe8w{]\xc2\x13\xb3\xbdh\x96\x8b\x9c\xa6ds\xc0\xe8\x82\x85\xf0iE\x9au\xd5\xb4\xe6\x8e;\xbe\xa6\xffw\xb7\xafyF\xf7\xeb\x15\xddoL;\x1b~Q\\\xadq\xc9\xda0wn\xcd\xd5\xc8-\x1d8F\xd1\x18%\xdb\x20\xab`!|Z\x91\xe6\xb9\xc7>?\xfe\xec\xda\xff\xfb\xf5\xeag7\x0fl\x9fy\xf1\xdc\xc1\xbes\x07oZV\xaa\x9b\xe3\xbaN\xd7r\xe7\xd4Em\xec\xd1%\x14\x0b\x84\xcf6X\x08O\xe9D\x9a\x17f\xc87Y\xef\x8b\x9b\xe1\xebj\xdcM\xb4\xab\xb2&Z\xf8\xa9\x8bc\xa6B\xf8\xec\x83\x85\xf0iE\x9a\x0d3?\xd6\x07\xff\xfc\x8d\x83d\x9e\xa5\x89~\xaf\xb5\xae\xa6a\x01\xcd\xd9!\x85\xbf\xb1\xb8X+\xa9:\xa9/l\x0d\x94\xe7M1\xa6\x9cYT\xa4\x15\xce\xb9\xa0\x8f\xb4\xa7V=\xe0\xaa\xbc@\x20[`!|Z\x91f\xc3\xec^}\xe03>K\x138\x0f\x1fA]\xcd\x05\xd7\x17\xe3/I\xe1[\xc5\xb2\x03MU9\xedD]\x87\xbc\xa5\xd3\xbd^\xaf,\x8b\xa4\x03\xae)/\xee\xf7\x08YU\xa9\x89\xc9\x8d-E\x0b\x08d\x0b,\x84\xa7t\"\xcd\x86\xc7\xb67\xefn>rz\xdf\xee\xe6\xe6'm\xdei\xad\xab\xa1\xb2e\x8f\x92\x14\xbe\xa7\xa9\x8b\xc8_6\xcfX\x1e\x8a4=%\x95\xb7\x88\xfa\x9b\xae\xe9c\xad\xf0\x0b\xa2\xda\x02\x02\xd9\x02\x0b\xe1\xd3\x8a4o\xcc\x9d9\xed\x11\x93i\xd5\x0bc?K\xa3\x0b\xff\xa2\xd8h\x08OW\x1b*'\xe5\x892cyH\xf86q\"4Y[F\xa8|\xcf*X\x08\x9fz\xa4\xd1\xb9|\xfc\xa0\xce\xdbo\xcb\xdb\xe36\xdf{\xd2\x85\xbf\xfa\xd4\x15C\xf8\xf6\xc2\x92\xa7[\xbc\xee(\xe1\xb7\x88\x9e\xd0d\xe3\xa0\x15\xc2g\x11,\x84\xa7\x94#M\x0a\xe8\xc2K\xa4\xf0\x93\xcb\xa5\xda\x8b,\xc2\xef\xfc\x94h\xbf\x08\x9f\x91\x87\xf0\xd9\x06\x0b\xe1S\x8f4)`\x11\xbed\x91>\xf0?l\x0a\xefv\x13]\x11M\xfa\x01l\xa1\xbb_\x7f\xbcb\x15A\xf8\xec\x83\x85\xf0iE\x9a$|Q\xe3\xbe\xa4\xdf]r\xd7|A\x1e\xb1\xb8\xe1\xf9\xa9\xa2\xe8\xc5wIj\xbd\xa5\xc5\xed\xfaL\x1f\x1d\x18\xff\xe0\x8e\xb6\x15b']\xf2j\xb5\xef\xfaO\xd4j\xdeKI\xb6\x0aF\x0b,\x84\xa7a\x8c4\x1e!\x9e\xd0\xef\x96\x09\xe1!\xff\x96R\xad`\xc9k\xa5\x9a\xfc\xb0\xc1\xad\x15\xf9\xb9\xd3\xdb\x8d9\x1f-.\xce+o\x91\x9f\xa5\x11B{\xdf\xa5\xdf.O\xb8M0z`!\xfc\xb0F\x1a\x00\x12\xc0B\xf8\x94#\x0d\xec\x07C\x84\x85\xf0\x94j\xa4\xe9L/\xcf\x03\x10\x0d\x0b\xe1S\x8e4i\x1e\xc0\x02\x10\x0d\x0b\xe1S\x8e4\x10\x1e\x0c\x11\x16\xc2S\xaa\x91\x06\xc2\x83!\xc2B\xf8\x94#M7\x84\x07C\x83\x85\xf0)G\x1a\x00\x86\x08\x0b\xe1)\xd5H\x03\xc0\x10a!|\xca\x91\x06\x80!\xc2BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x89\"\xcd\x9b_\x0d\xf8h\xa0O\xfe\xc3\xae\x1e\x0c\x19\x16\xc2S\x82H3\xf7c\x9b'\x00\x18$,\x84O\x18i\xb0[\x07\xc3\x08\x0b\xe1\x13\x1c\x9c\x1e\xdf7p\xfc\x0f\xbe\xc0\xbf\xd7-O$-\x15N\xa7\xa1\x18d\x0d,\x84\xa7\xf8\x91f\xcd\xb4\xee\xed\x81\x7f_\xbd\xf1\xa4\xe5\xb9\xa4\xa5\xc2\xe94\x14\x83\xac\x81\x85\xf0\x83;\xdf\x9e\xacc5\xad\x86b\x90%\xb0\x10~p\xe7\xdb\x93\x0a\x9fNC1\xc8\x12X\x08O\x83:\xdf\x1e.\x15\x0e\x17\x10\x13y+K\xb4\xa29%\xfe\x88\x86b\xf2\xef*w=\xb0\xba'\xb2\xa1\xd8\xba\x1a\xc8\x12X\x08?\xc8H\x13*\x15\x0e\x17\x10\xd3\xd1\xb1K[\xf6\xef,\x12\xb7#\x1a\x8a\xa96g\xc5\xdem\x05S\xfd\x11\x0d\xc5\x96\xd5@\xb6\xc0B\xf8AF\x9aP\xa9\xb0\xa5\x80\xb8\xa1\xe0\xb6\xbc\xcd\xf7G4\x14\xb7\x8a]\xfa\xd2v\xd1(\xd7\x0b7\x14[{\x8bAv\xc0Bx\x1a\\\xa4\x09\x97\x0a\x87\x0b\x88?+\x9e\xb8b\xe7\x09\xbf\xac\xe9\xb34\x14/\x99\xd4\x7f[\xa7\xb8VN\x0egxko1\xc8\x0eX\x08?\xc8H\x13\xaa\x9c\xb4\x16\x10_\xdf\xb1x\xb2(\xda\xe8\x8fh(.\x0b$wcg\x1e\x12>\xa2\xb7\x18d\x07,\x84\x1fd\xa4\x09\x09o)\x20n\xaf\xd3U\xbf\xde\x98\xdb\x10Q\xd8Z3\xe9\x98\x81qF>\xd4P\x1c\xd1[\x0c\xb2\x03\x16\xc2\xd3\xe0\"MHxK\x01\xb1G\xb4\xc9\xe7\xdc\xcb\"\x84o\x13\xc6\xbb\xb2\xf5\x1b\x8d\xe7\x82\x0d\xc5\x11\xbd\xc5\x20;`!\xfc`\"\x8d\xb5T\xd8R@\xec\x11\xae\xfa\xd6\x96Zq\x20\xa2\xa1\x98\xea\xc6\xd6\xb4\xe8K\xe5\xa1k\xb8\xa18\xa2\xb7\x18d\x07,\x84\x1fL\xa4\xb1\x96\x0a[\x0a\x88wM\xf7\x94h\x85\xee\x03\x91\x0d\xc5\xfa>\xde=!\x7f\xba\xb1\xf3\x0f7\x14G\xf4\x16\x83\xec\x80\x85\xf04\xa8H\x03@\xfa\xb0\x10~0\x91\x06\x80\xc1\xc0B\xf8\xc1D\x1a\x00\x06\x03\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"\xb8\x08\x0f\x80\x12X\x08\xaf\x87\xf7\xb7\xb7w\"\xc3\x83\xcc\xc3Bxdx\xa0\x0a\x16\xc2\x132<P\x04\x0b\xe1qZ\x12\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1Bx4n\x03U\xb0\x10>\x10i\x00\xc88,\x84'4n\x03E\xb0\x10^\x8f4\x07w\xf7\x1d\xd9\xec;\xf2\x92\xfe\xaf\xf7\xf8v\xeb\x93\xc7r\x8c\xf2\x8e\xd8\xee\xb1-\xe3\x7f+\xef\x92Vr\x03\x10\x86\x85\xf0\xfa\xce\xfd\x85\x857\xdf\xac\xee6\xff\xed\xf9\xa5\xf5\xc9\xdb\xefx\x1b\xc4\x16\xef;\xfd\xd1k\x95iF\x95A\xd2Jn\x00\xc2\xb0\x10^\xa7\xf7&}\xf9q\xe0_\xf7\xc5\xa8'\xdb\xc5;\xb1kt\xe5\xd4\xe4t\x19#\x08\x0fR\x86\x85\xf0\xc6\x1bO\x9d\xf1\x9f\xb7\x15\xde+\x8e\x89\x03\xc6\x08\xc2\x83\x94a!\xbcq\x96\xe6\xfc@o\xbc\xd3\x92!\xe1\xc35\xdbD\x9eb*6M\xd7V<Q\x9c_u&z\x02\x00\xb1\xb0\x10\x9e\x92\xbc\xf1\x14\x14\xdeR\xb3M\xe4^D\x8b\xcd\xae\x1aMLij,s\x9d\x8a\x9a\x00@,,\x84O\xf6Y\x9a\xa0\xf0\x96\x9am\xf2\xbb\xb6\xd0\xcb.cW\xaeM\xee!\xea)-\x8f\x9c\x00\x80\x0d,\x84O\xf6Y\x9a\xa0\xf0\x96\x9am:)\x0e\xf5\x1c\x12'\xe5P{F\xde\xee\x10\xd7\"&\x00`\x03\x0b\xe1)\xc5Hc\xa9\xd9\xa6m\xc6\xd9\xf9mr\xa9y\xd0\xaa\x1f\xc4FL\x00\xc0\x06\x16\xc2\xa7\x1ai,5\xdb\xb4hJ{{\xfb\x14Y-L\xda*y\xbbS\xdc\x88\x98\x00\x80\x0d,\x84O5\xd2Xj\xb6\xa9x\xb5~\xb3\xaaX>\xd6\x8ao\x11\xf5?\xe8\x8e\x9c\x00\x80\x0d,\x84\xa7D\x91&\xf0N\xeb\xe1~\xb2\xd4l\xf7\xb4\x89\xfa.\xea\xfa\x8dh\xbb%\xcf\xd2T\x1e\xde_\x9e\xff\x91u\x02\x00\xb6\xb0\x10>a\xa49\x11\xfe,M\xb8f{\xffX!\x9a\xa8E\x88\xb1\xfb\x89\x1e\xf4,\xce+\xae\x91=\xf3\xe1\x09\x00\xd8\xc2B\xf8d\x91\x06\x80\xe1\x82\x85\xf0\x84o<\x01E\xb0\x10>\xd9Y\x1a\x00\x86\x0b\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a\x80\xf0\x20\xab`!<2<P\x05\x0b\xe1\x91\xe1\x81*X\x08O\x884@\x11\xce\x0a\xbf\xc7\xd7\xd9\xeb\xeb\xeb\xd3\xff\x1d|\xb3S\xde\xf5Q_o\xaf\xaf7\xd9z\x00\x0c\x12g\x85?B>y\xa7g\x99M\xb3\xcf!\xd2\x80\xcc\xe3\xac\xf0\xbe\xd0\xa8\xf3\\x\x0c@\xc6pVxyb\xe6\xf8\xeeM\x1b\x9e[\xff\xec\xda\xf5\xcf\xad\xdf\xf0zs7\xce\xd5\x80L\xe2\xb0\xf0z\x8a\xd9\xbap\xf6c\xb3fU\xcf\x9f=k\xd6c\xd53.\"\xd8\x80L\xe2\xbc\xf0\x1b\xa6\x1d9\x7f\xf6\xfcM\xba|\xf6\xfc\xf9g\xa7!\xc9\x83\x8c\xc2@\xf8\x8a\x9b\xfa`\xdfJ\xf9pk\xc5\xb9\x81^\x94\x9a\x81\xcc\xe1\xbc\xf0/\xcc\xfcP\x1f\xfc\xe8\x8e\x83\xfa\xa3\xe7f\x9eK\xb6\x06\x00C\xc1y\xe17\xcc<\xab\x0f\xee\xbfC\xde\xae7\xc6\x00d\x0c\xe7\x85_?\xb7{\xf7}\xf7\xde\xfd\xb5\x1f\xdc\xf7\xf3\xbe7ft\x1e\xdc\xe0;\xbe9jV\x8b\xbc\x12\xd3\xc4\xe8+\xa4\xee/h%\x00\xd2\xc3y\xe1\xd7U\x0f\xac\xfd\xc6\xd7\xff\xee\x8eo|\xe3;\xbe\xe6\x19\xdd\xbb\xa3K\xcdt\xba\x0ey\xf3\x16\x9d\x8a^\xb7\xd5\xd5\x12\xbd\x08\x80$8/\xfc\x86\x8a\x8b\x9d\xc7\x8f\xdf\xfb\xf5\xed\xc7\xdf\xa3\x97f\x9e\xef>O\xdd\x97c'\x16\xad\x8e]\x86\x8bb\x83\xb4q^\xf8\x17f\x9c\xd6\x07\xf7\xca\x0c?\xb0~V\xbc\x0co'<\x00i\xe3\xbc\xf0\x1bf\xc9\x1d\xfa\xac\xefI\xed7\xcd\x8cwZ\xd2\x14\xde\xff\xca\x14\xd7\xc3\x0dr\xcf~=W\x88\x9cF\xb9l\xb9\xd0v\xaez\xc0Uy!v%\x00\xa2a\x20|\xc5\x97\xa1\x87\x9b+\xe2\xbd\xf1d\x0a\xbfT\xab\xdf[\xaf\xd5\xcaa\xbb\xd7;\xdeh\xfe\xf8K\xe38Q\xe0\xf9m\xde\x02\xdb\xf5\x00\x88\x80\x81\xf0\xf3\xd7\xac\x7fv\xdd\xd6\xd7\x9f{v\xdd\xfa\xf9\x8f\xc4\xfb\x1a\x88!|\x9b\xd1w`\xde\xea\xe4\x06\xfaY\xb5|}\xef^S`\xbb\x1e\x00\x118/\xfc\x9e'\xab\xe7\xce\x9e]QQ1{\xf6\xdc'Wv&\x12\xbe\xd6\xe8\x9a\xa7\x07k\xcde!\xe1\x97\xea7\x1e\xcdv=\x00\"pXx\x9d\xde\xce\xcb:_\xf5~\xae\xdfv~\x15o\x96!|y\x951\xae*7\x97\x85\x84\x97\xf7\x10\x1e\xa4\x82\xf3\xc2\x93\xf1!\xe1\xcd\x8fw\xc6\xf9`\xf0\xed\x0f\xe4A\xea\x04c\x0f?\xc9hh\x9d\xb8\xd4|\x06\xc2\x83\xb4q^\xf8\x01\x9f\xaf\xdb\xe7{|\xda\x11_w\x9f\xcf&\xcf\xbc\"\xbcDW\x8d\x82\xca\xbdB\x9e\x97i\x14{\xcdg\x20<H\x1b\xe7\x857\xe9\xee\x8c\xf7\xc5\x8f\x03bN\xcb\xae\xf2\x09\x9f\xc9qMN]k]N\x8d>\xea\x7f\xc7\xeb\x1d_\xeb\xf5\xde\xa0K^\xad\xf6]\xff\x89Z\xcd{)\xce\x16\x00\x08\xc1Bx\x1f\xd1\xf6'\xcfR\x9c/\xf9\xb5Lu\xe5W\xbdo\x0c\xfd\xdb\xca\\e\xc6y\xf8\xa3f\xd5\x99\xd8A\xcb\xf5[\xed}\x97~\xbb\xdc~}\x00\xc2\xb0\x10\xbe\x97H\x8f4\x84\x8b\x15\x80\x8c\xc3BxJ\x14i\x00\x18FX\x08\x8fK\xed\x01U\xb0\x10\x1e\x97\xda\x03\xaa`!<\xe1R{@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E@x\x90U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\xc8\xf0@\x15,\x84'D\x1a\xa0\x08g\x85G\xa9\x19P\xcc\xff\x0f\x19\x026\x1d6\x9ff\xc5\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/typeinfo-pkg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x042\x00\x00\x03\xa2\x08\x03\x00\x00\x00\xb5\xb6\x07\xdf\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x03\x00PLTE!#\x20#$\"$%#&(%()'*,),.,/0.231463685;<:>@=BDAGHF\x00f\x00JLI\x00j\x02\x03l\x04OQN\x0dp\x0aSUR\x0cr\x17VXU,`\xae7]\xad8^\xae\x16w\x1d[]Z8a\xaa:b\xab;b\xac<c\xad`a_=d\xae?e\xaf@f\xb0*{!bdaAg\xb2)}*Bh\xb3Ci\xb4egdEj\xb5higMj\xb0Fm\xb2/\x82/Ol\xb1Ho\xb4Pm\xb2Ip\xb5/\x858Jq\xb6molKr\xb7Ms\xb8Nt\xb9pro=\x87<Ou\xbaXv\xb6tvs@\x8b?Yx\xb8Zy\xb9@\x8dG]{\xbbxzwI\x8dH_}\xbdX\x80\xbf`~\xbeZ\x81\xc1|~{`\x81\xbbb\x80\xc0N\x92Mb\x83\xbdM\x95U\x80\x82\x7fd\x84\xbfW\x95Vf\x86\xc1h\x88\xc2Z\x98Y\x85\x87\x84i\x89\xc3j\x8a\xc4q\x8b\xc1^\x9d]\\\x9dc\x8a\x8c\x89s\x8e\xc3d\x9deu\x8f\xc5\x8e\x90\x8dw\x91\xc7h\xa1hy\x93\xc9z\x94\xca\x80\x94\xc5\x92\x94\x91z\x97\xc6\x81\x95\xc6\x82\x96\xc7q\xa5r\x83\x97\xc8\x96\x98\x95\x84\x99\xca\x7f\x9c\xcb\x86\x9b\xcc\x80\x9d\xcd\x99\x9b\x98u\xaaw\x81\x9e\xce\x88\x9d\xce\x83\xa0\xcf\x88\xa0\xcb\x7f\xabz\x9d\x9f\x9c\x8a\xa2\xcc\xa0\xa2\x9f\x8c\xa4\xce\x80\xb0\x84\x8d\xa5\xd0\x8e\xa6\xd1\xa3\xa5\xa2\x82\xb2\x86\x8f\xa7\xd2\xa4\xa6\xa3\x91\xa9\xd4\x8c\xb4\x89\x98\xab\xd1\x94\xac\xd6\xa9\xab\xa8\x99\xac\xd2\x9a\xad\xd3\x8d\xb8\x93\x9b\xaf\xd4\xae\xb0\xad\x9d\xb1\xd6\x97\xba\x97\x9f\xb3\xd8\xa0\xb4\xd9\xa2\xb5\xdb\x9b\xbe\x9b\xb3\xb5\xb2\xa3\xb7\xdd\xa3\xbf\x9d\xa9\xb8\xd9\xa2\xc1\xa4\xaa\xba\xda\xb8\xba\xb7\xa5\xbd\xdb\xac\xbb\xdb\xad\xbc\xdc\xa6\xc4\xa8\xae\xbd\xdd\xaf\xbf\xdf\xa8\xc7\xaa\xbd\xbf\xbc\xb1\xc0\xe1\xab\xc3\xe1\xb0\xc7\xac\xb2\xc1\xe2\xb6\xc1\xdc\xc0\xc2\xbf\xb7\xc2\xdd\xb8\xc3\xde\xb2\xc5\xde\xb9\xc4\xdf\xb3\xc7\xe0\xba\xc5\xe0\xb2\xcd\xb7\xc5\xc7\xc4\xbb\xc7\xe2\xbc\xc8\xe3\xb7\xca\xe3\xbb\xce\xba\xbe\xca\xe5\xb9\xcc\xe6\xc9\xcb\xc8\xc0\xcb\xe6\xc1\xcc\xe7\xc2\xcd\xe9\xbf\xcf\xe2\xc0\xd3\xbf\xbc\xd0\xe9\xcd\xcf\xcc\xc7\xcf\xe4\xc8\xd3\xc1\xc8\xd0\xe6\xca\xd1\xe7\xd1\xd3\xd0\xc8\xd7\xca\xcb\xd3\xe9\xc5\xd5\xe8\xce\xd5\xeb\xcc\xda\xce\xd5\xd7\xd4\xcf\xd7\xec\xd0\xd8\xed\xcb\xda\xee\xd5\xdb\xd0\xd4\xd9\xe9\xd6\xda\xea\xd9\xdb\xd8\xd7\xdb\xeb\xd2\xde\xec\xdc\xde\xda\xd9\xdd\xed\xd6\xe0\xdb\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xd5\xe1\xf0\xe0\xe2\xdf\xdd\xe1\xf2\xdf\xe3\xf3\xe3\xe5\xe1\xda\xe6\xf5\xe1\xe5\xf5\xde\xe7\xef\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe7\xe9\xe6\xe1\xea\xf2\xe2\xeb\xf3\xe3\xec\xf4\xe5\xee\xf6\xec\xec\xf7\xeb\xee\xea\xed\xed\xf8\xe7\xef\xf8\xe8\xf0\xf9\xf0\xf0\xfb\xed\xf2\xf5\xf0\xf2\xef\xee\xf3\xf6\xf4\xf2\xf6\xf2\xf4\xf1\xef\xf5\xf7\xf0\xf6\xf8\xf2\xf7\xf9\xf3\xf8\xfb\xf7\xf9\xf6\xf5\xfa\xfd\xfa\xfc\xf8\xfd\xfb\xff\xf7\xfd\xff\xf8\xfe\xff\xf9\xff\xff\xfe\xff\xfc\x8c\xab\xeb\xca\x00\x00\x20\x00IDATx^\xec\xbd\x0fpT\xd5\xdd\xff\x7fu\x8d\x80\x80\x80\x88r\x02\x99\x8d!\x85\x87\x80~ML%\xa0\x86\xca\x17j\x11\xed\xfc\x8c\xa8\x93<\x0fc\xa4\xa2\x8fm\x9c\xaf\xd16T\xa0\xea\x83X\x91g\x88\x98\x87>t(\x14\x0a\xa2\xd6\x87\xa1\x8c\xed<\x86\xe1\xa9y\x06\xa4)jU\x08J\xad\x04\x19\x89\xd0\x82R\xadB\x88$s~\xf7\xdc\xbf\xe7\xde=w\xef\x9e\xdd\xbb\xd9\xbd\xbb\xef\x97#\xb9{\xf7s\xce\xf9\x9c\xb3{\xde{\xef\xb9w\xf7\xadP\x00\x00H\x18\xc5/\x00\x00\x00l\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09|$\xe3\x18\x00\x00p@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12\xc8H\xc6\x07\xbf\xf7\xa8D\x8a\xdf6\xce\xf8?\xd1\x92\x8a;\x9ey\xdf/\x12\x00\x90u$.\x19\x9f\xb4\\\xb5\xd4\xb3\x9a\x84\xd9\x7f\x071\x19\xd7\xe2\x17\x0c\x00\xc86\x12\x96\x8c\xdf\xcf$$u\xc9\xf8`\x06\xe1X\xe1\x17\x0e\x00\xc82\x12\x96\x8cz\x12\x84d,aJQRS?\xb7\x82mD\xff\xe0\x17\x0f\x00\xc8.\xfaY2&\xab\xb5,\xf8@\xdd8\xfc8\xd3\x8cF\xbfx\x00@v\xd1\xbf\x92\xb1\x9f\xe9\xc4\x07\xfa\xf6lusF\xfcp\x00@\xb6\x91\xa0d4\x9a\xcb\x0f\xcf/P\xff\xb9Y\xdf\xf9[u\xb3X\x15\x80(!\x15\xc7\xf67M+.\x9b\xfb\xbcY`\x7f\xd3\x8d\xe3\x8a+\xeb\xff\xcb\xd9\x9a&\x19F\xcc\xf3\x8d\x8d\x8dKD\xc1\x875-Yqm\xb4\xa2\x9e\xe9T\x9d\xbe\xf7\xad\xd1\xea\xf6[q\xa3?9\x06\x00H3\xd2\x92\xc1tb\xf4~kg\xfd1]2~;Y\x7f\xbe\xfe\xb0\xf6\xd4\x86qF|\xeda\xbe\xb5O\xd8\x12Fq\xa3\xebb\xad+X\x13\x81\xc7\xd8\xe3\x9a\xff\"\xba(\xa9,e\x8f\xe3G\x1f\x03\x00\xa4\x1bi\xc98VE\xccK\x1d\x15D?dP%c\xc2D3\xe0^\xf6\xcc\xf3\xa3\xcd\x87\xa4\xc6\xf1\xd9\xbfT\xdfY1\xff\xb9\xb7\xac}\xee`&\x02\x13\xb4}\xab>\xb9V\xfdW\xbf\x16{\x83\xba\xb5&~\xf41\x00@\xbaIP2\xfe\xf0\xfc\xad\xea\xa4\xbc\xf7\xf9\xe7\xf7k\xb3^;3\xf9ou\xe3*\xf6I\x1fe\x13\xb6l\xe9\xf3\xcd\x95lC=a\xf8\xa0L\xfd\xfb\x9du\xbf}z\x82\xfa\xb7\x99o\xee\xf0\xcd\xd6\x84\xbf\xf1\x19\xfd\xf0!&\xf8\xb0\xf6t\xd1w\xa6\x16\xee\xb7\x8f-~\xcf\x94\xe1\xb0O4\x00\x20\xdd$(\x19\xdc\xf2'[T\x18\xcd\x8e\x11\x9a\x88q\xc9\x83I\xc6D\xb6g?\xd3\x8c\xdac\xc7V0E`b\xf2[5v\x9a\xa3\xbd\x0f\xe6[\x9aA*\xb4\xe5\x88\x98`M\x04J\xd4\x93\x97\x9dj\x8dEFc\xec0\xe7\xff\xf9E\x03\x00\xd2\x8d\xbcd\x1c\xab!\xfa\x99\x09;i\xd0V%\xa2\xd6S-\xeaV\xe9'Z\x84~\x9a\xf0\x1du\xeb\x0f\x8e\x06\x8f\xfd\xfe_\xad\x93\x98\xe8o\x8d\xea\x1c\xc1\x9a\x08\xfc\xab\x11]\xabn?\xad\xee\x9bl4\x16?\x1a\x00\x90f\x92\x90\x8c_\xa8[\xb3\xf5S\x85\x1b\xb4\x1dL2\xfe[\xdbz\x8b\xcd\xdf\xb7\x8e1M\xa8kdLS\xb7~\xe1n\xf3\x93\xff^ZS\xa2i\xc6\xb5\x9f\x1c\x8b\x0d\xd6D\xc0,\xf4<\xd1.\xc5\x1a\x7f\xfc\xa2\x01\x00i&\x09\xc98<A\xd3\x85&kG\x94\x18\x97?\xf5\xf9\xfb{}y\xc1Bx[\xf8\xe1uS\xd9s\xffu,6X\xdb\xf3\xdff\x1c[c\xfd\xc3\xb1\xf9F=>\xd1\x00\x804\x93\x84d\x1c\xfbWm\xb2N3V\x19t\xc9\xf8\x83\xb6\xa5\xcd\xdf\x9d\xaey\xcd\xdd\x00\xf6\x8b\xa5\x8d\xf5\xe6\xad\x1b\xfbK\xb4jb\x83\xb5=\x7f0\x8b\xb0[\xcc\x97\x1c.1.\xb6\xfaE\x03\x00\xd2K2\x92\xc1.\x95\xdc\xfc\x07b\xdd\x09\xc1$C\x17\x02\xe3\xc4\x84\x89\x81\xeb&.\x1dv\xc7g\xbd\xf9\x80]6m:\x16\x1b|X\xaf\xc4\x80\xad\xb6\xde\xf0\xbcU\xce'\x1a\x00\x90^\x92\x91\x0cv\x80A\xd8\xa1\x86\xf1\xedu&\x19\xffO\xdbb\xcb\x9fe\xfa\xca\xe4O\xb5\x1d\xff\xe5\x9c\xcc\xecd\xc6\xfc.\xda[\xac\xd8\x0aA\xb0K\x04\xd8\x82\xe7\xcd\x96P\xf8E\x03\x00\xd2J\xc2\x921_?&\xd00n\xc8*1\xee\xecds?\xca\x96\x13>\x98\xaa\x1f\x0d\xb0\xaf\x9cMf\xe7\x11\xea\xf1H\xe9\xcd\xdc\xfd\x12\xec\xd0\x84ThG$\xbfg\x07\x19d\xa7\x20X\x13\x01\xbb\xd0/\xf4\xc6*\xf5[\xc2\xfc\xa2\x01\x00i%a\xc9`G\x15\x13\x97\xfc+\xbb,z\xec\xadBm\x16\xcf7\x9e\xd2n\xe5*nZ\xb7\x82\xdd\x18J~k,S\xccx\xfe\xad\xe7\xd9\xda\xa5\xe3>\xeez\xad`\xf9\xcds\xa7j\x1bs\x8f\x09\x82]\"p\xb8L\x0b}\\\x7f\xe4\x17\x0d\x00H+\x09KF\xb36q\x8d{9\xe7j\xdb\xe6\x9a\x02\x93\x0c\xfd\xa2)1\xceP\x9e#\x16\xe3\xfe\xc07\xf7\xfe\x0d\x84\xa3j\xbf(\xd8-\x02?d\x8fG\x9b\xe7\x1e~\xd1\x00\x80t\x92\xb0d\xbc\xaf\xdf\x80\xa5\x9f\x9bh'\x0b\xe5\xe6\xb7G\xb4\xe5\xcf*}\x1a/\xd0OV\x9aM\x09\xf9?\xbfu\xb6\xb7\xbf\xce\x9e\xf2s\x0d\x19p\x05\xbbE@;\x9b\x99k=\xf4\x89\x06\x00\xa4\x93\x84%\xe3\xd8\x1f\xea'G'\x1b\xdfng\x17=\xc9\x0f\xcdg\xb4\x8b\xac\x1f4M\x8dr_~\x7fk\xc9\x8c\xb2\xa2\x097/\xfd\xe0\x98\x9b\xdf7~gr\xb4\xb8\xe2;?\xb4\xc5\xc4\x19\x1c#\x02\xec\xeb-\xeb\xec\x87>\xd1\x00\x804\x92\xb8d\xf0\xecd\xf3\xd4\xfa\x0a\xbb}_\x06\x00\x20\xc7IJ2>ak\x19\xf6\xd7\xcd\x20\x19\x00\xe4\x0d\xf2\x92\xf1\x8b_<\xc7n\x95\xe0\xee\x03\x87d\x00\x907\xc8KF\xad\xbe\xf8Xa\xff\xdc\x16$\x03\x80\xbcA^2\xfeUS\x8cq\xdc7\xc1\x20\x19\x00\xe4\x0d\xf2\x92\xd129Z<\xad\x81\xbfE\x1b\x92\x01@\xde\x20/\x19\x00\x80<\x06\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\xc0G2\x00\x00\x80\x07\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x20e\xc9\xf8\xfcD\x17\x00\x20oHQ2\xbe\xf4\xab\x1f\x00\x90S\xa4&\x19P\x0c\x00\xf2\x8c\xd4$\xc3\xafv\x00@\x8e\x91\x92d|\xeeW;\x00\x20\xc7HI2\xb0\xf2\x09@\xbe\x91\x92d\xf8U\x0e\x00\xc85\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x09\xd0\xe9\x17\x00@\xde\x00\xc9\xf0c\xef\x94A\xcax\xbf\x20\x00\xf2\x05H\x86\x1fC\x87>\xbcr\xb7_\x10\x00\xf9BVH\xc6\xf6\xb1\x03\x07\x8cZ}\xf1Z\xbf\xb8L\xb0]Y\xe9\x17\x02@\x1e\x11\xb0d\xac\xde\x14\xbb\xcf\x97M\x91+\x9e\\<^Q\x9e\xf0\x0b\x94F&\x1d\x8f\xd8MJV*\x19\x00\x19\"`\xc9\x189)v\x9f/c/g\xffNI\x83d\xc8\xa4\xe3\x11\x0b\xc9\x00\x80'`\xc9\x18.1G-\x86\xdc\xc6\xfe\xdd\xae<\xe9\x17(\x8dL:\x1e\xb1\x90\x0c\x00x\x82\x94\x8c\xe5\x8a\xcep}\xf3\xb6\xaey\xea\xbfOLW\xce\xbf\xff\xba\xc1\x03\xafxU\x8bytd\xc1\xd0Y\x1d\xcer\x93.\xda\xae\x15\xef\xe0\x03^:_\xad\xe1\xd5+\x87\x14\x8c\xed|B\xadf\x9e^\x998\xc0Q\xdb\xda\xb1\x83#\x03\xc7\x0ev\xa4\xc3\xc5NW\xce[\xdc\xf5ZD\x19\xaa\x05\xbf6~`d\xd0\xd8\xdd|\xac\x8b\xd5\x90\x0c\x008\x82\x94\x8c\x8e\xb5\xab\x87\x8eZ\xbdz\xf5\xabls\xf0u{\xbb\xf6\xde5`m\xc7\xf6\xc5\xe7+\x83\xe7\xcd\x1b\\\xc0ta\xcay\xd3\x97\xdf?p\xb8s\x92\xef\x1e|\xde\xd8yk\xf5}V\xc0_\x9eX<x\xe8\x85\x83g]\xa9\xec\xeeX;\xe06\xa32q\x00_\xd9&e\xca\x93+\x1f\x1e\xa8t\xf2\xe9p\xb1\xbbWG\xeeRueJ\x84\x05\xaf.\x18~\xcf\xca\xbb\x94{\xf8X\x9e\xce\xbd\xabG\x0ep\x09\x1c\x00yM\x90\x92\xd1\xc5\x1f\xdd\xdf\xc5>\xb0\xa7La\x9b\x91!\xea\xac\xeb\x18<\x92}\xf0?\xda\xc5f\xf5bg\xa9\x8ey##\xca\x00v\x08\xe1\x08\x18\xae\\\xce\x0a\xb2zX\xb5WN\xf1\x0e\xb0yp\x20\xd3\x9e\xfb\x07h\x0f\xb8\x93\x0d;\x96IF\xd7]L2\xfe2\x98\x1d\xa1t>\xd1\xe1\x8a\xb5\x18\xaf\x1ex,\x8f\xdd\x0d@\xfe\x926\xc9\xd8\xadl\xef\xea\xbcP\xbb@\x19\xd1\xd6*\xeeW:\xba&\x0d\xe9d\x0c\x9e\x12S\xb0s\xe5X69\x1d\x01\xc3#\xe6\xf1\xc3\xea\x82\x8e\xae?\x17\xac\xee\xf2\x0c\xb0\xd9}\xd1\x90\xe9\x0f\xbfd\xdc\xb0\xc9K\x86\x15kK\xc6r\xe5%\xbb\xa0H2v\xaf|p\xe8@\x1ce\x00`\x936\xc9\xe8\x1a;\xabk\xe5\x00m\xe6js\xb4k\xb5\xb2I\xfd\xa8\xd7q\xdeM\xb9I\x9f\xcc#\xaf\xe8r\x06\x0c\xb7V\x16:\x07>\xd9\xb5\\;|\xf0\x08\xe0\xe8xp\xd2Pe\xd0=\xda6/\x19V\xac-\x19\xf7+\x7f\xb1\xcby,\x7f\xb2\xb4\x01\x00&\xe9\x90\x8c\x875\x09P\xa7\xb8~^\xd2\x15\x99\xc5\xfe}X=\xca\xb8r\xc8&\x8dw\x1d\x85.\x9a\xae\xfd\xb9mH\x973`\xb8\xad,\xd3\xc7w\x8d\xd7\xa2\xbc\x02,6\xcdQ\xff\xe9X\\\xf0\xa0\x16`\xa7c\xc7j\x92q\x1b\x93\x8c\x951G\x19\x0f\xc7\x1c\xb6\xe0\x8a\x09\x00<\x01K\xc6\xa8Q]]{\xf5\x1b,:\x07.\x1f\xb8Z\xdb\x19\x19\xc4V\x11\x86\x8cbsT{\xea\xb6y\x8eB\x03\x07\xeb\x8b\x09\xe3]\x01\xdc\xe7\xfe\xda\xc8\xee\x886u\xbd\x02,\xee\xd2\xef\xd6\x1cu\x9d\xf6\xaf\x9d\x8e\x1d[\xa0\x8aJ\xe7H&\x19\x1d\x17\x8dbG.\xd3g\xb9by\x20\x19\x00\xf0\x04,\x19wE\xeeY~y\x81\xfeQ=g\x88~^\xd2\x15Q\x86?\xf1\xf0\x90\x01\xaf\xb1}\xca\xa4'\x96Oq-\x7f\x0eT.\xbak\xe5\x93\x97\x17\xbc\xca\x07t\xea\xd70^3b.\x1a{\x91\xbe\xe1\x15`r\x97Rp\xd7\xf2'\xa7(\x9aZ\x99\xe98bG\x0d\x9c7o\xa4r\xfe\xa3\xdb\xd5\xb3\x8e\x0b.~p\xf9t\xe5a>\xd6\x05$\x03\x00\x9e\x80%\xa3s\xfa\xc0\x82Q\xc6\xc9\xff\xab\xcau\xfaFd\xd6\x94\x01\x17]\xa9O\xc6\x95\x97\x0f\x1c0\xca\xf5\xad\x8d\x91\x0f\xdf6\xb4\xc0\xbcq\xc3\x0cx\xe9<m\xcdb\xac\x11s\x7f\xe4\x1ec\xcb#\xc0\xe4\xd1Q\xf3\x06G.\x1a\xa5\x1f\xdf\x98\xe98b_\x1dUp\xe1\xd8\xdb\x14\x85\x9d\xe8\xbc:i\xf0\x85#\x9ft\xc4\xba\xd8{\xfe\xa4\x97\xf6\xe2\xdb\xef\x00\x18\x04,\x19<\x1d\x11}\xde\x1a\xcb\x9fae\xf9P\xf7r-\x00yL\x1a%\xe3\x89\x81\xc6\x87s\xb8%C=\xd0xi\xaf_\x08\x00\xf9B\xba$c\xde\xea\xae\xcbM\xa5\x08\xbbd\x00\x00,\xd2$\x19\x7fV\x86O\xbfH\xbf\x07j\xf7\xea\xc8\x14\xac\x20\x02\x90#\xa4I2\xba\xee*\xb8\xdc\xf8\xbe\xc6tEQ\"\xee\xeb\x1a\x00\x80p\x92.\xc9\x00\x00\xe4$\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x99\x96\x8c;\xef\x14m\x02\x00\xb2\x94\x0cK\xc6\xff\x0e\xfb\x9e`3E~y\xd9\x7f\xfa\x85X\xbc\xf7\xcf\x97\x8d\xf8\xbf\xfa\xd7\xe7\xccbw\x0e\x1b6\xec\x92\xd7\xe3\x94\xf1\xe6\xf5\x11\xc3\xfe\xc9/&3\x083\x13t\x9e\xc35\x0e\xd9\xdb7\xd0\xafdX2n\x1f\xf1'\xc1f\xa2\xfc\xeaw\xc2\xdd?\xbf\xe4Y\xe1~\x11\xdf\xba\xec\xa9;/yO\xdb4\x8b\xfdq\xcb\x96\xa7\x86m1\x9e\xf7h\xc2\x8b\xdf\xdc9\xc2/$\xbdx\xe6+\xcaL\xd0y\x0e\xc78teA\xdf@V\x90Y\xc9x}\xd8\xdd\x82\xcd\x84\xb9\xfa\xbb~\x11~\xbc7\xec\xdf\xba\xba\xb8\xdf\x0c6\xf8\x8d5Ud\x9bx$\xc3\xd3\xca;\xdf\xd8\xcc<:\xcf\xf1\x1b^22\xde7\x90\x15dV2\xee\xb4\x8f,\xee\x94?\xc8\x90\x9e\xcf\xb1\xbc>Lx\x0e\x93\x1f\x92\xe1\xd1y\x0eH\x06\x88!\xa3\x92\xf1\xfa\x88\xbb\x05\x9b\xf6\xd3\xdf\xbdl\xc4e\xffWS\x92\xa7\xae\xbe\xe4\xea\xa7\xd4\xbf\xff2l\xc4Sw\x7f\xe3\x92o\xfd\xb1\xab\xeb?\x87\xe9\\\xad\xee\xee\xf8\xee\x98\x11c\xbe\xad\x1d\x93\xbfw\x89\xbaO;\xc8\xe6b\xbb\xba\xb6|k\x8cZ\xd7\x18G\xfd\x9d\x97\xe95\xdc\xed(\xc60\xa6\x0a\xdfDW\xd7\xb3\xd7_\xf2\x8d\xef\xa9\x1f\xca\xbf\x1b1l\xd8\x0f^\xbf}\xcc\x88our{\xbb\xba\xfet\xfb\x98K\xbf\x1b{\xf0n\xa6\xee,f\xf2/\xacU}\x99\xc0\x91\xafU\xef\xff\xa8\xc5\xbe\xdd5f\xd8\xb0K;\xd5\x80\x7f\xbbs\xcc\xa5\xdf~\xdd\xab^q\xbe\xe2\xcc<;o\x17\xe3$\x83\xabA4\x92\x20\x8f\xc8\xa8d\xdc9\xe2\x8f\x82M\x93_]r\xf5\x8f\x7f\xf9\xc8\xb0\x9fh\xcf\xfe\xe0\xe7?\x18q{W\xd7\xff>;b\xd8e\x8f\xfc\xe4\x12\xf5\xb3\xf4\xcf[\xb6|\xe3\xfa-[\xb6\xbc\xae>\xff\xf3aw\xfe\xea\xd9o\x0f\xfb\x0d+\xf6\xbb-[F<\xc26\xb8\xd8\xae\xdf\x0d\xbb\xfd\xd9_>u\xd90\xe7\x8fx\xfen\xcb\xb3\xc3\x1e\xd9\xb2\xe5O\x8eb\x0cc\xaa\xf0Mt\xdd9\xec\xee\x9f\xff\xdbeWwvu>\xfb\xec\x98o\\2\xe6\xee\xdb\x87\xfd\x91\xdb\xdb\xf5\xfa\xa5\xdfx\xea?\xbf5\xcc-\x19V\xea\x8eb\x16\x7f\xd2Z\xd5\x96\x09\xf8|\xb9\xd6~\xf3\x88\xda\xaf\x7f\x1f\xf6\xec\xef\xb4\x801?~d\xcc%\xff\xe3Q\xaf8_\x8f\xcc<:o\x17\xeb\xb2%\x83\xabA<\x92\x20\x7f\xc8\xa4d\xfcq\xc4?\x0b6M:\xc7\xb0\x8f\xe3\xceg\xdf\xeb\xea\xfa\xe5\xb0_v\xb1\x7f\x7f\xae\xfe;\xe2Ru\xc6\xdd~\x99\x16b\x1d\x85\xff\xe5\xd9\xbf\xf0\x0f\xcd\xb7\xbf\x1d\xfb\xd4e\xec-\xfe\xd4\xa5].\x1c\xc7\xe61\x92\xd1\xc5\xd5\xf9\xf3a\xff\xae=\xa1}\x18_=\xec[\xba[#\xb7\xf7\xfao\xa89t^\xed\x9a\x98|\xeav1\x1e\xadU\xfd\x98\xdf\xce\xd7\xd1\xda\x9d\xdf|o\xcc\x8f\xf5\xd81j\xe1\xf7\xc6|\xd3\xbb^Q\xbe\xe2\xcc\xc4\x9dw4l\x8d\x03W\x83\xd7H\x82|!\x93\x92\xf1/#^\x17l\x9a\xfc|\x98\xb5\xf8\x7f\xa7~u\xef\x9f\xd8\x8d\x1b#\xd8?\xc6Y\xb5}\xe2\xfe\xdeS\xdf\x1as\xa9q@\xceI\x86\x15\xfb\xc71c\xfe\xe5\xa9\xdfu\xc5|4&.\x19\xdf\x1d\xa39;\x8e\xd1n\x1e\xb9\xda<&\xb2\xf7\xbe7\x8c\x9d%t\xfd\xc051\xf9\xd4\xedb<\xbcdX\xf9:Z\xeb\xbc\xfa\xb2o\x1b\xb1\xdau\xe8\xa7\x86\xbd\xe7Y\xaf\x20_\x8f\xcc\xc4\x9dw4l\x8e\x03_\x83\xd7H\x82|!\x83\x92\xf1\xa7\x11w\x0a6-~b\x1f\xfb^\xaf\xcf\x98o\xab\x9f\xae\xfc\x0c\xb3\xe7\xc7o.\x1b\xf3\xbd\xff\xd8r}\x8cd\xd8\xb1\xef=\xf5\xdd\x7f\x1av\xd9\x8f\xbb\\$.\x19W\x1b\xeb\x04\xda\xe3\xab\xaf\x8e\xd9\xfb;\xbd\x88{\x89\x90O\xdd.\xc6\xc3K\x86\xb5\xe9h\xad\xebY3\x1d=\xc3-\xaa\x98z\xd5+\xc8\xd7#3q\xe7\x9d\x0d\x1b\xe3\xe0\xa8\xc1c$A\xbe\x90A\xc9\xb8{\xd8\xeb\x82M\x8b_qG\x19\xfab\x9b\xf6\xd1\x17#\x19O\xa9\x9f\xb0\xff\xf4Mvb\xf2]o\xc9\xf8\x1d\xfbx~\xef\xd9\x11Ou9IL2X\x13\xb7\x8f\xf9\x9d\xc6{\xd6^\x86\xbd\xd7\xf8$v/\x7f\xf2\xa9\x8b/gh\xad\xfe\xc0%\x19\x8e\xd6\xfet\xd9\x0f\xc6\xe8wO\xe8k\xc4O\x0d\xeb\xf0\xacW\x90\xafGf\xe2\xce;\x1av\x1de\xdc\x19o$A\xbe\x909\xc9\xf09\xc8\xe8\xfa\xcbe\xd7\xb3\xc3\x8c\xbb\xeff\xe7(\xec\xd4\xfaY}-\x83\x93\x8c\xeb\xafW\xcb\xb2\xe7\xc6\xb0\x89\xd2y\xb5\xb7d<\xa2\x9d\xfaw]\xef^1\xf1\x95\x0c\xab\x89_\xea\xa7\xf7?\xd0>^\xad9\xca\xed\xfd&\x9b\xd6\xaf\x8fpML>u\xb1d\\\xa2\xce\xc1\xceo\xba$\x83o\xad\xf3\x9b?\xe8\xbaS\xbf\xcc2\xe22U\x1a\xff<\xe6z\xefzE\xf9\x8a3\x13w\xde\xd1Mk\x1c\xb8\x1a\xbcF\x12\xe4\x0b\x99\x93\x8c\xef\xd9G\x16\xdc&\xc7\xafF\xfc\xd3S?\xbf[\xfb\x80\xbb}\xd8\xf7~\xfe\xbda\xb7k\x17\x18\xee\xfcM\xd7\xef\xee\x1c\xa1\xad\xf4?2\xe2'\xff\xf1\xadK\xfe\xc8\xde\xc7\xdf}\xea\xc7W\xab\x87\xcb\xbf\xe9\xea\xdc\xb2E\x8d\xd9\xb2\xa5\xc3\x11\xfb\xc8\xb0K\x1e\xf9\xf9\x7f\xdc9\xecW\x8e\x16\xf4\x8b\x06\xdau\x16\xbb\x98~\xd7\xe3O\xb6l\xd1\xd6\x07\xac&\xd4$\xff\xbfg\xd5\x1a\x9e\xed\xea\xfc\x8dv]\xe2u\xad\x0ako\xd7\xff\\2\xe6\x91\x1f\\:l\xc4\xbf\xff\x8f\xa3\x0d+uG1\x8e\xeb/\xfb\xf1\x8f\xbf\xc9\x8a9\xfaf\xb7\xb6\xe5\x9f/\xfbc\xd7\xeb\x97\xde\xbdE\x15\x8d\x11\xc3\xae~\xf6\xa9o\\\xfa\xbaw\xbd\x82|=2\x13w\x9e+\xc6\x8d\x03W\x83x$A\xfe\x901\xc9\xf8\xd3%\xb7\x0b6\x1d\xbc\xfe\xdd1\x97|\xf3?\xb4\xcd\x7f3nB\xf8g\xf54{\xc4\xff\xb0\xdb\x08\xd8\xa7\\\xe7\xdd\x97\x8e\xb8\x9e\xbd\xe9;\x7f\xf2\x8d\x11\x97}\xf7\xa9o\x8c\xb8^=\xef\xd6y\xca\x11\xfb\xec\xf5\x8f\x8c\x19q\xd9\xf5\xce\xf7y\xe7\xa5Z\xa4\xb6\xf2j\x17\xd3\xbe[a\x9d\xce[M\xa8\x1f\xc0\xd7_v\xe9\xf5?\xb7B\x8d\x15Is\xaf\x9a\xee\xb7/\x1d\xf3\xbd\x7f\x1f1\xcc\xf5\xf9k\xa6\xee,f\xf3\xfa\xf5#.\xf9\xd6\x0f\xd4$\x9d}3\xeb\xfd\xe50v\xef\xc4\xdd\xea\xbf\xbfb\xcb\x9fw^:\xe6\xf6?\xc5\xa9W\x90\xaf83\x8f\xces\xc5\xf8q\xb0k\x10\x8e$\xc8#2&\x19?\x18\xf6\xbf\x82M\x10\x17\xfb\xd4\x09\x80\x0c\x911\xc9\xc0\xb7\xde\x93\x00\x92\x012N\xc6$\x03$\x01$\x03d\x1cHFx\xd0\xd7G\x01\xc8(\x90\x8c\xf0\xf0\xcf\xe6r%\x00\x99\x03\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x20P\xc9\x98\xa4\x0c\x9c\xb2]\xd4\x0a\x00\x20G\x08T2v\xaf~t\xe8\xc0\x0eQ3\x00\x80\xdc\x20P\xc9PY\xad\xbc$\xd8\x0b\x00\xc8\x11\x82\x96\x8cM\xcaZ\xc1^\x00@\x8e\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x10\xb4dlWV\x0b\xf6\x02\x00r\x84\xa0%\xa3s\xe0\xc8\xb5\xbb\xe1\x8b\x03@\xae\x12\xb4dt\xadT\x14\xe5\x0a\xd1\x13\x00\x80\x1c\x20h\xc9\xe8\x188\xe4\xfe\xd5\xaf\x09\x9e\x00\x00\xe4\x02AK\xc6&e\xa5`/\x00\x20G\x08^2p\xc5\x04\x80\x1c\x06\x92\x01\x00\x90\x20h\xc9X\x0b\xc9\x00\x20\x97\x09T2:wo\x9a\x14\xd9-j\x06\x00\x90\x1b\x04*\x19\xe3\x15e\xf0rQ+\x00\x80\x1c!P\xc9\xd8\xfb\x12\x0e1\x00\xc8m\x02\x95\x0c\x00@\xae\x03\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x90\x92d\x9c\xf0\xab\x1d\x00\x90c\xa4$\x19\x9f\xfb\xd5\x0e\x00\xc81R\x92\x0c\x9c\x99\x00\x90o\xa4&\x19_\xfaU\x0f\x00\xc8-R\x93\x0ch\x06\x00yF\x8a\x92A\xe9\xe7X\x03\x05\x20\x8fHY2\x00\x00\xf9\x04$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20A\xca\x92\xb1\xf6\xca\xc1\x91\x01\x17\xdf\xb6\xd7/.\xe3t\x9e\xf5\x8b\xf0\xa0S1\xb8`\xc8\x94\xddlG\x87\xf182\xf8\xcaMV\xd0\xbc\xe1\x05\x91\x8b\xc6\xafu\x95\x0d\xcd\xe8\x00\x90\x20)J\xc6\xd9\xf1\xc6\xf49\xff~\xbf\xd0\x0c\xf3`\xc1\xe7~!\x1e\xa8\x92Q0@\xe5B\xd6\xcf\xd5\xd4\x96\x0c\xc6<=\xe6\xd1\x88\xf1x,\xdfJxF\x07\x80DIQ2\xe6(\x05\x0f\xbe\xfby\xe7K\xea\xdcX\xe9\x17\x9bQ\xce*J\x0a\x92\xd1\xa1m|\xbd}\xa8\xc2\x84G\x95\x8c\xbd\x9f\xabt\xbd:VQ^e\xcf\xccR\x94\xf1/u}\xb9\xf7\xae\x882\xeak\xbbdhF\x07\x80\x84IM2>\x8f(\xc6\xa1\xf8\x14eH\xfc\xd0\x0c\x13\x84d\xa8b\x11Q\x9e\xd0$\xa3S\x7f|v\x882E\xfd\xb3ZQ\x16\xeb;^R\x94G\xad\x82\xe1\x19\x1d\x00\x12&5\xc9xM\x89\x18\x1f\xaa{\xadi\x94\x9d\x04#\x19t\xa4r\x1b/\x19\xf4\x1ee\xb0Z\xf7\x20e\xba\x190\x9d\x13\x87\xf0\x8c\x0e\x00\x09\x93\x9ad\xec\xb5g\xd3\xea\xed_\xb2?\x9d\xb3\x86D\x06\x8e\x7f\x89m>\xaa<\xfc\xd2\x90\x82\x91s\x94\xf1z\xc4u\xca]\xc2\x00\xb3\x06\xfb!\x17\xb3X\xb9\xe7\xdd\xf1\x03.\x1c\xb9\xdc3\x82vL\x1f\x1c\x190\xeaQ}u\xd3Q\xf4\xfe\x13\xb3\x06G\x86\xdcv\x82\x9d\"0v\xbb\x82\x0d\xd6N\xba(R0\xf4\xb6.W\x19\x13^2\x86+s\x1c\x92\xf1\x84r\xa1Z^Q\xfeb\x06t\xdc\xff\xaaU0\xd0\xd1\x01\x20;HM2\xe8\x10e\xe8Z\xee\xe4\x9d\xbeT\xa0D\x86\x0f\xd1W\x05\x1fU\xe6\\\xa0(\x05\xef*\x11\xed\xf3\xfd\xec\x85\xca^a\x809}\xad\x87|\xccbeRAd\xec\xa8\xf3\x94\xeb\xbc\"\xf6^\xa8\x0c\x18>TQ\xc6\xba\xdb_\xac\xcc\xbaH\xb9p\xa0\xa2\x0c=K\x97OR\x94\xf1Wv:\x83\x0d\xa6+\xcaE\xc3\x07\xa9\xff\x9cp\x961\xe1$c\xb7\xa2,wH\xc6]\xcaPJoc\xff\x88\x08rt\x00\xc8\x0eR\x94\x8c\xed\x11E\x190\xfe\xd1\xdd\xc6\xc3\xce\x0b\x959\xea\xc7\xe9\xf6\x01l\xb9\xefQ\xe5\xbc!\xab7=\xa9\x1e\xcck\x87\x08\xab\x95\xe1\x1e\x01\x06\xe6CG\xccbE\x19\xf2g\xf5\x18\x7f\x00\xabD\x181^\xb9M\x9d\x96\xbb\x07\xb0u\x03w\xd1\xa1\xdb\xd5c\x80\x88\xf2\xa4ub\xc2\x07\x1blR\x0a\xd8\xa7\xfa\xf6\x02\xe5AW\x19\xb3S\x86d\x9c\xed\\>H\x19r\x96\x97\x8c\x13\x83\x94Y\x94^\xa1-h\x08\x08rt\x00\xc8\x0eR\x94\x0c\xda1V;\xe4\x1f4\x87\x1d\xd6\xab\xc7\xffWh{W\xb2\xcf\xddG\x15E\xbb\x1f\xe1\x09\xfd3\xfdJ\xe5a\x8f\x00\x03\xf3\xa1#f\xb1\xb1s%[#\x10F\x0cV\xb4)\xf9\xf0\x95kc\x8bjS}:[i0$\x83\x0f6\x98\xa3\x9d\x11\xb0\xbf\xd3]e\x0c\xac\xfb2T\x86\xb0gU\xc9\xd8}B\xa5c\xe5\xc5J\xe4]\xb6\xc01\x87\x8a\x09pt\x00\xc8\x0eR\x95\x0cuF=q\xa5z\x20\xaf\\\xc8\xeej\x1a\xac\xdd\xb7\xa0N\xd0\xf3\xd4\x99\xf7\xa8\xb1\x12x\"r\xde\x09v\xf9\xe0\xbc.\x8f\x00\x03\xf3\xa1#f\xb12J\x7f\x10Q\xde\x15G\x8cUFn7\x8f\xfe]E/\xd6\x1e<\xacL\xb2$\x83\x0f69\xab\x1f\xfb\xdf\xc3\x8e\x15\x1ce\x0c,\xc98\x7f\xd2r-\x94\xbb/\xe3\xbc\xe5Z\xa5^\x92\x11\xe0\xe8\x00\x90\x1d\xa4.\x19\x8c\xbd\xf3\x06(\x05\x9d\xf4sE\xb9x\xa4FD\xd9\xa4\xbe\xe7\x8d\x15\x83I\xec\x12\xe4r\xf6\xc8#@\xc7x\xe8\x8cY\xcc.Q0.V\xcf%\x84\x11\xaf\xb2\xa3\xff+\x97\x9f\x10\x14\xd5?\xb3\x9f`+\x8c\x86dp\xc16g\xb7?9o\xd2`E\x97\x0c\xae\x8c\x81*\x19\xef~\xfd\xf5\x97\x9b\x86*c\xf5r\xa6d\\x\xf1,\xed8`\x8ar%\x8dG\x20\xa3\x03@v\x90\xa2d|m~dw^\xa4\xcc\xa3]\xf6\xc7\xafz6\xfe\xa89\x93\xd6\xb2#\x85\xb1\xec\xfc\xdc#@\xc7x\xe8\x8cYl\xde_9\xd2.\xe0\x8c\xa0{\xa7\x14\xa8\x1b\xe7O\xff2\xa6\xa8~\xa4\xc0K\x06\x17l\xf1\xf0\x20\x16?|\x94.\x19\\\x19\x03s-\xe3\xc4`e\xb8V\xac\xc3u\xc9\xf4\x1e~\xf9\xf3%\xeeZn\x90\xa3\x03@v\x90\x9ad\x8c4\x8e\xa4U\xe6\xa9\x93\xecs\xeer$\xb5\xdf\xf3g\x07(\x9d'\xce+\xf8\x92z\x058\x1e:c\xac\xa3\x8c\xa1\xda\x07\xaf\x20\x82\xb2\xc3\x84y\x17+\xcau1E\x05\x92a\x07\x9b\xdc\xa3(\xd3\x97\xbf\xf6\xa5yb\xe2-\x19t\xbb\xa2\xafp\xb8%c7\xf7\xb8C9\xcf\xba\xca\x1a\xe8\xe8\x00\x90\x1d\xa4&\x19\xe3\xedk\x05\xf3\xd8\xe6@\xf3\xc6\xe8\xed\x1d_s\xef\xf9Y\xca\xe2'\xf4H\x8f\x00\x0d\xf3\xa1#f\xb1qx\xfeeD\x9d\x96\xc2\x88?o7J\x9f\xff\xb5\xbbh\xacd\xf0\xc1:_\x17\xb0\x1b:)[{\xf4\x93\x0cvw\x07\xbb\xb8\xe2\x96\x0c:\x98]71C\x06Z\x97E\x03\x1d\x1d\x00\xb2\x83\xd4$c\xb5\xf5\xe5\x89\xceA\xecb\xe1te\xb86\x15\xd7*\x91\x13\xdc{\xfeUe\xecXm\xb2y\x05h\x98\x0f\x1d1\x8b\x95\x886=\x17\xb3\x8b\x90\xa2\x08\xf5h^\xbb\x1c\xf1\xaer\xdeYwQ\xa7d\x9c\xd0\x0e\xfd\xed`\x9d.\xe3\xc2\xc4\xe7\x17\xb1\xca\xe3K\xc6\xe7\xee\x8b\xac\x06O*\xfa\x95R\xed\xae\xae\x07\xad\xdd\x81\x8e\x0e\x00\xd9Aj\x92\xa1\x9e\x83+\xe3Wwt\xed~p\x90r\xb1:\x99\xde\x8d(\xd3\xd5\x0f\xf3W\x07\xb2k\x08\xdc{~H$2H\x9b\x0c^\x01\x0c\xf3\xa1#f\xb1\xa2\x0cW\xe7\xe7\xda\x02\xf5\xbcD\x1c1V\x19\xab\xca\xc0\xe7\x93\xd8\xe1\x88\xab(?\xfd#\xca\xca/\xbfv\x04\xeb|=@\xbb\xde\xd1\xa9\xf6\xe4\x0a?\xc9\xa0+\x15\xe5\x1e\x81d\xa8\xc7\x13\xca\x94\xed\x9f\x7f\xbd\xf76\xc5\xf1\xb5\xb4`Fg\xf9\xc3\xdb)\x00\xd9B\x8a\x92\xf1\xb9\xf9\xf5nmb\xab\x1f\xac\x11\xe5\x82\x91C\x14\xe5\xf2\xb3\x8eIq\x8fb.Ix\x040\xac\x87|\xccbe\xc8\x05\xe7\xb3\x1b\"\xef\xf1\x8a\xf8\xcb@%r\xf1\xf0\x02ePGLQ~\xfa\x8fTs\xdc\xe4\x0c\xd6yXQ\x06_1\xf2\xbc\x01w\xb1\xeb\xab>\x92\xa1\x8a@\xa4C\x20\x19g\xa7\x98\xc3p\x05\xffM\x96`Fgx\x9ck\xb8\x00\xf47)J\x06\xa5/\xcd\x1a:\x20r\xd1\x15\xcb\x8d\x0f\xd7\x8eYC\"\x05#\x1ff\x87\xfd\xdc\xa4\xe8P\x14\xf3\x16Hq\x00u<\xe4b\xd49\xbc\xfb\x8a\x82\x81Wl\xf7\x8c\xa0\x9ds\x86D.\x18z\xd7\x09AQm\x97>\xfd\xdf\x1du\xc1\x80\x95\xae`\x9dM\x97\x0f\x8c\xa8{>g\xab%~\x92\xd1\x11Q\x8fOb%\x83\xd2\xed\xd3\x87^\x10\xb9h\x92\xfb'v\x82\x18\x1dH\x06\xc8&R\x96\x8c4c\xcea\x00@V\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x90\xed\x92\x01\x00\xc8*\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x82\x97\x8c\x1a\xf2S\xbf\x10\xc6*\xf2}\xbf\x10\x1f\x8e\xf7\xfaE\x00\x00\x82&\xb4\x92\xd1\xf7\\\xc9i\xbf\x18\x00@\xd0\x84V2z\x08\x81d\x00\xd0\xef@2\x00\x00\x12@2\x00\x00\x12\xa4$\x19\xbb_\xb3\xd8m\xed\xd4%c\x1dY\xf5\xd7\xc6\xf2\xe2\x99\xdbh\xdf\xba\x19\xd1\x8a\xa6\xd3\xda\xbe\x15\x87\xea'\x96\xde\xfa\xeb>jI\xc6\xf1\xa6\xaahY\xdd.\xeaQ\xc4\x15\xd0|\xaa\xa9\"Z\xb5\xe4\x14\xa5\x8b\x08\xe3\x20\xa5G\x1a*\xa3\x13k\xd6`)\x14\x80~!%\xc9\xb8M\xb1\x98n\xed4%\xa3q2)\x8f\x12\xb2\xad\x81\x14\x97\x13R\xa3\xed\xab/\x8d\xd6\xd6\x14\x92\x86>S2v\x8d#\xc53\xab\x08Y\xe6Q\xc4\x15\xd0TAJ\xcb\x08\xa9\xee\xa1\x9b\xe7\x13R?\xff8\xfd\xb0\x94\x94\xddTM\xc8\x1d}\x82\xfc\x00\x00A\x93\x92dtEL\xc58\xaf\xc3\xdaiJ\x06\xa9\xfe\x90\xf6\xce'\xc5\xc5/\xf4\xd1W\x08\xd9\xaf\xed\x9b\xf61\xa5\xfb\xcb\xc8FC2\x8e\x97\x92E\xdd\x94\xee)#\xdb\xc4Eb\x02\xde\xa4\xb45J6X'&\xf5d\x89z\x80q`\x02i\xf5J\x12\x00\x10\x20)I\x86}\x98q\x9d\xbd\xcf\x92\x8cC\xea\x9f\x0f\x09if;oa\xb3|\x9dv&A\xe9\xcb\xa4\xca\x90\x8cE\xa4\x8e\xea{\xaa\xc5E\xdc\x01\x1f\xb1\x07\x8d\xa4\xd1\x92\x8ck\xf5*\xd7\xdc\xbb\x93\x02\x00\xd2Oj\x92a\x1efp\x07\x19\x96dLc\x0f\xba\x09\xf9\x80\xfd\x9dOZ\xd8>\xed\\\x83\xf6\x16\xab\xda\xa0IF%yE\xdb\xd3SH\x8e\x0a\x8b\xb8\x02n\xd4\x1e\xb4\x90zK2\xee\x205o\x9e\xa3\x00\x80~\"5\xc9\xa0sb\x0e2,\xc9\xa8e\x0f\xce\x11r\x92\xfd\xbdO\x97\x8cEz\xc8\x0c\xb2S\x93\x0cU\x1df\xdc\xaa\x11%m\xa2\"\xee\x00\xfd\x90c\x03'\x19oF\x09\x990\x7f\xf3\xdf)\x00\xa0?HQ2\xf4\xc3\x0c\xfe\x20\xc3\x92\x8cz\xf6@\x9d\xff\x9f\xb1\xbf\x86d<c\x86\xbc\xacI\xc6\xa7\xc4f\x9b\xa8\x880@\x95\x8c:\xfb\"\xeb\x87\x0bJ\xd4'\x8b\x1a\xbb)\x00\x20\xfd\xa4(\x19\xfaa\x06\x7f\x90\x11W2\x1e\xd3C\xaa\xd5C\x06&\x19\xa7\x099b\x17\x14\x14\x11\x068%C=\xcfi\x7fz&!\x0d\x14\x00\x90~R\x95\x0cv\x98\xe18\xc8\x88+\x19\xda\x99\x07\xed\x8e\x92\xe3\xfaZ\xc6U\xecB\x08c\xcf\xc7\xe7\x84ED\x01\xbcd\xf4}\xfc\x86\xb6k\x0d)\xc2\x8a\x06\x00\xfd@\xaa\x92\xc1\x0e3\xa68v\xc4\x93\x8c\xe8q\xaa=w\x93q\xc5\xa4\x91\xdc\xa4\xddO\xb1\x93\x14\x9f\x12\x16\x11\x05\xe8\x92\xd1K\xc8?(=IFk\xc1\x87H!n\xe6\x02\xa0\x1fHY2:#\x8a\xe3\x20#\xaed\x90\x9bT\xcd\xd8Y\xa2\x9e\x97\xe8\x92q\xa8\x98<t\x86\xd2\xb7\xcbH\x93\xb8\x88(@\x97\x0c\x1a%\xdb\xba\xcf\xd1;\xc8\x1dj\xf4\xe9\xf9\xc6\x01\x0c\x00\x20\xbd\xa4,\x19t\x8e\xf3\x20#\xaedL-.\xbai*!+\xa8y\xf7gk\x94\x14\xcf\x9eF\xc8\xdc\x1eq\x11Q\x80!\x19\xb3\x09Q\xa5\xe7X\x19\x89\xde8\xb3\x84\x94\x1f\xa5\x00\x80\xf4\x93\xbadt:\x0f2\xe2JF\xfd\xc1\xba\xd2\xb2\xba=l\x8f\xf1\x1d\x93#?\xaa\x8a\x96\xccn\xe9\xf5(\"\x0a0$\xe3PM\xf1\xc4\x97\xd9wP\xa6E\x8b\xab\x97\xe2*+\x00\xfdB\xea\x92\x918\xe6\x94\x07\x00\x84\x16H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x82\xfe\x94\x0c\x00@\xe8\x81d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80dP\xfa\x842\xde/D\xe5Ae\x8a_\x88\x0f\x9dg\xfd\"L\xd0Y\xe9\x00\x00\x20\x00IDAT\x00\xc8z\x20\x19\xfd&\x19\x0f\x16|\xee\x17\x02@\xd6\x03\xc9\xa0t\xf7\x83\xab\xfdBh\xea\x92qVQ\x20\x19\x20\xfc@2\x12\x05\x92\x01\x00\x85d$N\xe6%\xa3\xa9\xc9/\x02\x80\xb4\x13f\xc9\xd8;~\xd0\x80\xb1\xdb\x87o\xf7\x8b\xf3C[\xcbX\xac<\xd89}\xd0\x05\xc3W\xaa\x9b\x17G\x06\xcdb\xd3{\xb1r\xcf\xbb\xe3\x07\\8r9\x8b2$\xa3s\xd6\x90\xc8\xc0\xf1/Q*.\xe2\x0a\xb8\xff\xc4\xac\xc1\x91!\xb7\x9d\xa0t\x8e\xc2\xd8Mi\xc7\xf4\xc1\x91\x01\xa3\x1e\x95_\x0a=B\x96\xd1\x85\xa4p\x9b_\x9c\x80\x17\x08!\xcd\xb4Y\xfdws\x9c\xa8\xe3Q2C\xfd\xd3\xa8\x86\x8d;\x1a'\x0e\xe45!\x96\x8c\xdd\x91I\xabW^\xa9(+\xfd\x02\xfd0$c\xfa@ePD\xad\xee:\xe5\x82A\x8a2\x8a\xb2}\x93\x0a\"cG\x9d\xa7\\GM\xc9x\xa9@\x89\x0c\x1f\xa2(\xf3\xa8\xb8\x88+`\xd6E\xca\x85\x03\x15e\xe8Y\xba|\x92\xa2\x8c\xbf\xb2\x93\xee\xbdP\x190|\xa8\xa2\x8c\x8d\x93\x90\xc1\x9e\x03\x8e\x87\x0d\xc5\xa7\xe8\xc9\xf6h\xb30\xc0\x15\xeb\xe2\xcc\x8b\xe4\xb9S\xf4T\x0by\xf1L\x9c\xa8\xbew\x1a\xa3\xea\x9f\xbf\xb5\xb7\xaf'o\xc7\x89\x03yM\x08%\xe3\xc4\xd8\x13\xda\xdf+\xb4Y7=0\xc9P\x86\xee\xa5g\xafT\"\x17,\xff\x9a\xaeV\x94\xd7\xb4}C\xfeL\xe9k\x03\x94\xe5\x86dt^\xa8\xcc\xf9\x92\xd2\xed\x03X\xab\xa2\"1\x01\xea1\xd0\xda\x88\xf2\xa4ub2^\xb9\xedkU\xee\x06(k\xfd\xd2\xa25\x0f\xf0\x8f\x8e\x8e~\x8c\xfd\xe1%\x83\x0bp\xc6\xc6p\x88\xb4\xa9\xff\xee!\x87\xe2F\xd1\xe6\xa8\xfew\x1f$\x03x\x11B\xc9\xd8\xab\xec\xd5\xfe\x0e\x99\xa7?J\xe4rG\\L\xc9`\xd5\xeeU\x94{\xd8\xbe\x91l\x96\x1b\xfb\xe8Je\x88!\x19s\x94+\xa8\xbeg\xa8\xb8\x88;\xa0\x83=\x98\xaeL\xb7$c0;9\xa1\xf4\xe1+\xfd%\xe3\xd6\xfb\xf8G\x0fE?c\x7fx\xc9\xe0\x02\x9c\xb11@2@P\x84M2\x16\x0f]\xdb\xa1t\xac\x1d\xfa\x04\xa5S\x06k\xf3y\xed\x97\xec\xdf\xe5\xa3\x0a.\xbeK\xdd\xda}\xbezN\xd0q\xdd\x90\x82\xf1_\xafT\x14\xe5~z\xbf\xa2\x9f\xba\x08\x02\xcc:\x0d\xc9\x18\xc2\xb6\xbfT\xf4)}\xa5\xf20\xdb\xa7\x9dk\xd0\xb3\x11\xe5]]2\x06\x1b\x02u\xf6<U\x0cDE\\\x01\x17k\x0f\x1eV&Y\x921V\x19\xb9\xddjYc!\x89n|\xec\xc6qu\x7fc\x0f\xfa~]Sz\xe3\xe3=\x94\xee\x20:\xb7\x18Q\xc7\x8b\x16i\x7f\xa3K\x8dX.\x80\xdb\\H\x8a\xd65UN\xaew\xadEp\x92q\xe6\xbe\xcahU\xfdAw\xc3'\x1b*\xcb\x16h'&\x94\x93\x0c+\x9d\x83E\x84<s\xb4aZI\xdd9\x0a\xf2\x9a\xb0IF\xd7u\xcap\xf5\xbf)]\xea9\xc0\x90\xf3\xc6\xdf\xff\xaa>\xfdf\x9d7g\xed\xe2A#\xbf\xa6gW\xae\x1c2t\xc0\x90\xdb\xaeS:\xbf\xdc>\xe0\x9e\x13\xf4\xc4=\x03\xb6\x7f)\x0e0\xeb4$C;\xcf\xf9ZQ\xba\xd8\xdf)\xbad\xdc\xa6G\\\xac\x9eF0\xc9\xf8\\Q.\x1e\xa9\x11Q6\x89\x8a\xb8\x03\xae\xb0\x1b0$\xe3\xd5\x88\xa2\x0c\xb8r\xf9\x09\xabG\xf4\xa3\xadE\xa4\xa2\xf9g\x13\xefe\x0f~X\xb8h\xe7\xba\x8a[\xfbh\xf7\x9b\xed\xd5w\xb4\xb7\xb7\x1f1\xa2\x9a\xa2\xda\xcc\xa6Q2ck\xeb5j,\x17\xc0m\xb2\xca\xa6\xaej\x9e:\xeeC\xcas\x88\xec\xec\xe9\xe9ic\x92\xb1\x834\xed\xd9V_\xb8\xcf\xd9\xf0\xd1\x897\xbe\xd0ZG\xa2z\xb8%\x19V:=\xdb\xb6N\xad\x9eP\xf5X\xc3\xe8\xbfR\x90\xd7\x84M2(\xdd\x14Q\"\x9b\xb4\xad\xcf\xef\x1f\x15Q\x06\xb2C\x88\xb5l\xb1\x81\xbe\xa6/k\x8cT\xaeP\xe7&\x9b\x9e\xb3\xd8\x82\xe5u\xb3\xbc\x03t\x0c\xc9\x98\xc4\xb6]\x921O\x8f\x18\xa9\x16d\x92\xd1\xa5\xd8\xac\x14\x15\x11\x068$\x83\xee\x9dR\xa0>y\xfe\xf4/\xad\xf6i\xb4L\x95\x83\x86\x0a\xca\xe6\xf3\x8b\x94\xcd\xd8\xadl7\x7f\xb2q<\xba\xd0\x88\xad\xf8\x87:\x93+\xa8+\xc0\xde\x8cN;C\xe9\xe9\xaa\x1a\xcas\xc88\x0eQ%\xa3g[\xb7z\xf4p\xd3|-\xd6jxn\xb5z(\xd17;\xaa\x87\x9b\x92\xe1L\x87\xd4\x9e\xa1}\xf1\xd6OA>\x106\xc9\xf8\xfc\xb6\xc8`ep\xe4.\xe3S\xfa\xecK\xe3\xd9:\xe2\x94\xa1_3\x06Og\xfbFF\xcc\xe3\x87\xed\x05_\xd2\xb3\x05\xec\"\xacG\x80N\x1c\xc90\x8e2\x86\xaa\x87\x0c\xc6QF\x87]NPD\x18\xe0\x94\x0cuk\xfb\xbc\x8b\x15\xed*\x8cA\xf4!j\xac#<pC\xef9\x95k\x1b\xd9n^2\x16F\x8f\x1b\xb1M\xd4Zs\x10K\xc62\xf6\xefz\xf2\x15\xe58D~\xb6o\xdf\xbe5\xdaZ\xc6\x17\xeb\xebn\x98Hfk\xb1f\xc3\xa7\xc9F\xf6\xf8\x99\xa8\x1enJ\x863\x9d(\x0e0@\xf8$\xe3\xe1AO\xbe\xabt,\x1e\xf4\xa0z\xcc\xa0MTz\xf9$v\x14\xa0s%\xdb1r\xa4\x19\xfc\xf5\xa0\xd5t\xed\x20v\xea\xe2\x11\xa0\x13G2\xf4K\xa1_F\xd4\xb3\x18m-c\xa0y}f{\xc7\xd7\xc2\"\xa2\x00\x87d\xfcY\xbf\x8d\xe4Q\xe5|{EC[\xd2\xd4d`\xb6q4\xa0\x1d\x03p\x8ap2\xfa\xa3\x98X/\xc9\xd0\xd6G\xdb\x89\xe3\xaa+\xb7\x96\xb1\xaf\xa2jik{\xedl+\x96Uv\x80\xb4S\x1a\xbb\xfc\xe9L\xc7y\xe0\x02\xf2\x94\xb0I\x06\xfdZ\xbbb\xc2\xa6\xdbEs\xb4\x1d\xf3\x86\xaa'\x1fCwkh\xc7\x1e#\xed\xbb4\xe7\\I\xaf\xd4\xa2\xbc\x024\xe2H\x86~<\xb2X\x19n\\1\x99\xae\x0c\xd7f\xfaZ%rBXD\x14`I\x86\xdaz\x97\x11\xfc\xaer\x9e}3\x97-\x03\x0d7\x1c\xd0\xf8\x82\xed\xd6d`\xb3\xf6\xd1\xbe\xa4\xf0XL\xac#\xc0\xde\x8c.a\x8f7\x12\xc7\x19\x04'\x193j\xd4S\x10\xba\xc0)\x19\xff\x20\xeb\xd9\xe3\x87\xf4z-\xc9p\xa6\xb3\x80\x02\x10>\xc9Pg\xdd@\xfd\xf0b\xd0`\xed@\x9f\x09\xc0&\xfd\xb3}\xde\x83\xe6\x0e\x83W#]\x91W\xd9\x86W\x80F\x1c\xc9P\x86\xab\x9a\xb1\xb6@=/\xd1%\xe3\xdd\x882]m\xf5\xd5\x81\xca\x1cq\x11Q\x80\xf1U\xd9\x88\xb2\xf2\xcb\xaf\xe9Xe\xac\x1a\xfd\xf9$\xfe^.[\x06\xda\x88vs\xe7O\x9fc\xff\xd6\xd6RzJ\xdb\xf1Y\xf1C\xb1\xb1|\x00\xb7\x19\xbd\xa6\x9b\xd2\xee\x1bj\xb5\x88\xe3\xcf\xe9R\xc3IF\x15\x9b\xf9}7;%\x83\xd6T\xa9'2\x1f\x17\xeb\xf5Z\x92\xe1H\xc7\xe7:.\xc8\x13B(\x19&\x83\x94\x8b\xee\xd9\xb4\xfa\x8a\x02\xb6x0O\x99\xb2z-\xbb\xab\xeb\xebW\xb7\x0f\x1d\xbb}\xbb\xb9X1\xf8\x8a\xc1\xfa\x86W\x00#\x8ed\x0c\xb9\xe0|v+'\xbb\xefB\xbf\xfbsuD\xb9`\xa4\xba\xe7\xf2\xb3\xe2\"\xa2\x00C2\xd8\xc9\xd1&\xfa\x97\x81J\xe4\xe2\xe1\x05\xca\x20k\xcd\xe3\xb3\xf6h\xe3;}\xef7F\xdb?\xa3t\xd9\xe8\xef\xbf\xd2\xdaH^fO4G\xd7\xb4\xd6\x96~\xaan=>\xfa\xa8\x20\x96\x0b\xe06\xa3\xe4\x96m\x9b\xab\xcb>\xd6\xe2\xe7\x93z\xf6\x87\xbf\xfb\xb3\x99\xdc\xb7~\xd5\xad\xa4\xbc\xe5\x1d\xbe\xb2\x0f\xc7U5?3\xb9\xb0\xe8\xc5C\xf4Sv\xf7\xe7\xba\xf6vv\xc8b\xa5s\xee-\xed\xa2\xccq\x0a\xf2\x9d\x10K\xc6\xa8\xe5\xf3..\x184I\x9fz\x9b\xc6\x0e\x1cx\xb9z,\xb0\xfb<m\xcdb\xbc\x11\xb38\xf2\xa8\xb1\xe5\x11\xc0\x88#\x19\x93v_Q0\xf0\x0am\xf9\xc1\xf8\x8eI\xc7\xac!\x91\x82\x91\x0f\xb3\xb3\x0a\xa1d\x08\x02\x0c\xc9xw\xd4\x05\x03\xd4c\x9d\xce9C\"\x17\x0c\xbd\xcb\xbe\xca\xba\x90\x10\x12=\\\xaa\xfe\xcb.\x8a\xb4\xd5^U6\xb7M{\xa2w\xd1\xe4\x92;\xf6\xa9\x1b\x7f/i\x10\xc6Z\x01\xfcf\xf4\xf1\xc6\x89\x95\x0d\x9f\xe9\xf1/Tl\xd0\xfe\x10\xf3;&\x1bi\xdf\x9a\xeah\xc5\x03/TGk\x1d\x95\x1d\xad\x9f<m\xe9\x8bE\xea\xe6C\xc6\x02\x86v?\xa9\x99\xce\xc1Bm_=\x05\xf9N\x88%#\xfd\x98S>\xd3<M\x8e\xd0\x84\xe1o\x0f\x05\x20p\x20\x19q\xc8\x16\xc9\xf8\x91\xcc\xb7\xde!\x19\x20\xad@2\xe2\x90-\x92!\x05$\x03\xa4\x15HF\x1cB(\x19'\xb5%M\xbf(\x00\x92\x06\x92\x11\x87\x10J\x86\xb6\xa4\x89\xeb\x1a\x20}@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12\x04.\x19\xfb\x08![\xcd\x07\xa7\xa3\x84\x1c\x8a\x099\xde\xab\xfe\xb3\x8e\xd4\xc7<\xe1\xa4\x994\xfaDhh\xb5\x01\x00\xfa\x87\xb4H\xc6|\xf3\xc1\xafI\xacd\xf4=Wr\x9a\x06&\x19Fm\x00\x80\xfe!\x0d\x921ztI\x8f\xf1\xa0^\x20\x19=\x84\x04(\x19Fm\x00\x80\xfe!\x0d\x92\x11\xad!\xad\xfa\xf6\x99\xe8LH\x06\x009E:$c\x0di\xd0\xb7\xb7\x92fH\x06\x009EJ\x92\xb1\xfb5\x8b\xdd\xe6>U2\x8e\x93\x89\xfa\x92d=9bH\xc6\xf1\xa6\xaahY\xdd.uk\x11a\x1cd\x92\xf1YSE\xb4\xeaq}\xc6\x7f\xd8X\xa9\x06\xb4\xe9u\xec\xa9\x9b\\Z\xbb\xcf!\x19G\x1a*\xa3\x13k\xd6\xe8\xf5\xc6\xd6\x06\x00\xe8\x1fR\x92\x8c\xdb\x14\x8b\xe9\xe6>U2\xe8\xcd\x84Mg\xda]|\xd39]2v\x8d#\xc53\xab\x08YF\xe9\xe6\xf9\x84\xd4\xcf?\xaeJ\xc6\xcc\x0aR^F\xc8\x0c\xb6\xf0\xf1b\x94\x94\xdeTN\xc8BV\xae\x85\x90\x8a\x99\xd1\xa2\x1aN2>,%e7U\x13rG\x9f\xb86\x00@\xff\x90\x92dtEL\xc58\xaf\xc3\xdc\xc7$\xe39\xd2\xc46\xb7\x91U\xbad\x1c/%\x8b\xba\xd5\x83\x872\xb2\x8d;1!S\xdf\xa1tG\x94l\xa6\xf4@!y\xba\x87\xf6m-&k\xd4\x07d\xf4\xfa>z\xaa\x96p\x92QO\x96\xa8\x07\x18\x07&\xb0U\x12Qm\x00\x80\xfe!%\xc9\xb0\x0f3\xae\xb3v1\xc98J*\xd8\xd1\xc0|rT\x97\x8cE\xa4N{\xeeeR\xcdK\xc6a\xb6\xaf\x91\x09C=y@\x0bXO&\xf7\xd2{\xc9\"\xb6}\xfa*N2\xae\xd5O>\xd6\xdc\xbbS\\\x1b\x00\xa0\x7fHM2\xcc\xc3\x0c\xfb\x20C\x93\x0c:\x93\xa8\x07\x10\xdd%3\xa9.\x19\x95\xe4\x15\xed\xb9\x9eBr\xd4\x96\x8c\x19\xda\xbe5\xa4\x9e\xf6\x96\xb0x\x95\xdeR\xf2f\xdf\x04\xb2_{\xb0\x88\x93\x8c;H\xcd\x9b\xe7\x8cmQm\x00\x80\xfe!5\xc9\xa0s\xdc\x07\x19\xbad4\x93\xc7)m%\xcd\xbadt\x132\xe3V\x8d(i\xb3%\xa3V\x8b\xdf\xa8\xfe\xfd\x98\x10\xe3N\x8e\x1a\xb2\xf1\x14!\xdd\xc63\xb6d\xbc\x19%d\xc2\xfc\xcd\x7fW7\x85\xb5\x01\x00\xfa\x87\x14%C?\xcc\xe0\x0e2t\xc98L\xa6R\xba\x80\x1c\xd1%\xe3Sb\xb3\xcd}\x91\x95I\xc6ARd\x94\xae%k\x8e\x10\xa2o\xb7\xf2WL>\\P\xa2\x96.j\xec\x16\xd7\x06\x00\xe8\x1fR\x94\x0c\xfd0\x83;\xc8\xd0%\x83V\x93\x83=\xeay\x89.\x19\xa7\x89*\x1e\x16\x02\xc9\xf8\x84?\xca\xf8\xbby\x94\xf1\xb2\xf3\xbe\x8c\xde\xf6\xa7g\x12\xd2\x20\xae\x0d\x00\xd0?\xa4*\x19\xec0\x83?\xc80$\xe3i\xb2b\x87z^b\xace\\\xc5\xaem0\xf6||N$\x19\xbd\xc5\xf6ZF{_\x19yK{\xb0\xcc\x96\x8c\xbe\x8f\xdf\xd0\xfe\xae!E\xe7\x84\xb5\x01\x00\xfa\x87T%\x83\x1dfL\xe1\x1f\xeb\x92q\x80\xccld\x07\x03\xbad4\x92\x9b\xd8\x15\x14\xba\x93\x14\x9f\xa2\xbd\x84\xfc\x83:%\x83\xd6\x1b\xf7\x8bn$\x13zh\x83\xfe\xa0\xa7\xca\x96\x8c\x93d\xf4g\xec\xef!R\xd8+\xac\x0d\x00\xd0?\xa4,\x19\x9d\x11\x85?\xc80$\x83V\x91q\xec\x8a\x88.\x19\x87\x8a\xc9Cg(}\xbbL\xbb_#J\xb6u\x9fsJ\xc6\xfe\"\xb2\xa2\x97\xd2\xd6\x12\xd2B\xe9\x91(Y\xd5G\xcf\xcc'\x8e+&w\xa8\x9aqz>\x0b\x16\xd5\x06\x00\xe8\x1fR\x96\x0c:\xc7q\x90aJ\xc6\xe3\x84\x9d\x97\x18\x92A[\xa3\xa4x\xf64B\xe6\xb2%\x8b\xd9\x84\x906\xa7d\xd0\xcdEd\xe2\xcd\x15\x844\xb1\xe3\x87mQR~s\x09\xa9\xe7$\xe3X\x19\x89\xde8\xb3\x84\x94\x1f\x15\xd7\x06\x00\xe8\x1fR\x97\x8cN\xc7A\x86)\x19\xef\xe8ZaH\x06=\xf2\xa3\xaah\xc9\xec\x16\xed+\"\x87j\x8a'\xbe\xec\x92\x0cz\xb0\xa1\"zM}\x9b^\xc7\xfb\xf3\xcbKnm\xdb\xc6/\x7f\x1eo\x9a\x16-\xae^\xfaw*\xae\x0d\x00\xd0?\xa4.\x19\x00\x80<\x02\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92A[kN\xf9\x85H\xf2\xd5\xdcV\xbf\x90\x14\x08>\xdf~\x20\xbdC\x02\xfa\x91\\\x93\x8c\x85\xa4p\x9b\xc7S\xc7\xa3d\x86`w\x0bi\xees\xee9X_>\xf1\x8e=7\xbd)\x08N\x8c\xbe\x96\xc2\xe7\x84O\xac)\xfe\x99p\xbf\x0cz\xbe\x8d\x84\x90qG\xcd}\xbb*v\xc4+\x928\x07\x0b\xd5z\x1b\xad\x87\x81\xd5\xeb=$\x20l\xe4\x8ad\xec9\xa0\xff=\xd9\x1em\xf6\x08\xe9{\xa71\x1a\xbbw]\xe1\xaf]{\x0eD\xeb[_\xbe\x97\x10/\xe9I\x84\x9dE\xebD\xbbgGo\x12\xed\xf6\xc1\xec\x9b\x86\x91\xef\xdf\xda\xdb\xd7\x93\xb7\xcd\x9d;J_\x89)\xe5\x8f\xa3^\x9dso\xdf|S\xfb\xa7\xd6Ca\xbd\x82b\x89\xe01$\x20l\xe4\x8ad\xd4<`nyJ\x06\xa5\xcd\xd1\x98]\xc7\xa2\xcb\xcc\xcd/j\xbf\xd0\xfe\xd6\xd5\xaa\x9f\xe2}\x8d)I\x06]\x11\xfd[\xec\xce\xee\xc2\x86\xc2\xee\xd8\xdd~\xd8}s\xe4\xbb\xcf\x96\x0c\xea:NJ\x0c\xbe^\x8b\xdaZ\xfe\x91\xa8^a\xb1\x04\x10\x0e\x09\x08\x1d\xb9\"\x19\xb7\xdegn\xc9IFcE\x8f\xb9\xf9!\xf9P\xfb;\xed\xa7\xec\xdf\x83$\xa5\x93\xef\xee\x0a\xfb\xf0\xde\xa2\x9d\x1c\x20{bw\xfba\xf7\xcd\x91//\x19I\xc1\xd7k\xe1\x94\x0c\x11\xc2b\x09\x20\x1c\x12\x10:\xc2%\x19\xe7\xae\x89>}m\xe5\x9eEe\xb5\xec\xc3\xba\xef\xd75\xa57>\xaeN\xa1\x1dD\xe7\x16\x16\x13]\xfa\xd8\x8d\xe3\xea\xb4\x0f\xb4\xbe\x0d\xb7\x8c\xbby\xbd\xf6Iy\xb2\xa1\xb2lA\xec\x89I\xef\x84\xa5\xfa\xc6\xba\xea\x1dG\xc8\x91\x9d\xd5\x1b(}\xa0\x82IG\xdfNG\x13\x07\x8b\x08y\xe6h\xc3\xb4\x92\xbas\xdb\xd4\x96\x9ai3\xd1N]D\x01Z\x85+J\xac\xb9m\xd1|-\xad4\x04\xed\x93\x05\xe5\xd1\x8a\xfa\x93\xceM\xab\xb2\x85\xa4h]S\xe5\xe4\xfa\xa3\xae\xbe\xd9\xf9R[2N\x97\x10R\xb8U\xdf\xf7F]U\xb4\xbc~\xaa\xe3\xe0`!\x89n\xb4\x87D8f\x1c\xb6d\x08\xebu\x14\xe3\xf2\x155\x91\xc8\x90\x80\xd0\x11.\xc9\xa0{&\x92\xc7j\xc9U\xcf]\xb3F}\xf0\xc3\xc2E;\xd7U\xdc\xdaG\xbb\xdfl\xaf\xbe\xa3\xbd\xbd\xfd\x08\x0b\x89\x92\x19[[\xaf\xb9\x97m>\x14}f\xe73Q\xf6\xd9vt\xe2\x8d/\xb4\xd6\x91\xa8\xbb\xbe\xf7I\xbb\xbeq\xb2\x81\xccT\xff[\xa0\x9e\xc7\x1f\xaf*\xack~\xabW\xdbm5\xd1\xb3m\xeb\xd4\xea\x09U\x8f5\x8c\xfek\xf7\x1b\x13W\x9c\xa2\xa7V\x94\xbd\xd1-\x0e\xd0J\xbeI\xder7Fk\x17\xd0\xfb\xf4\x19\xb9\xa7\xf4\x96\x96]\xcdd\x8ds\xd3\xaa\xec\xa3\xadEd\xea\xaa\xe6\xa9\xe3>t\xf6\xcd\xce\x97rG\x19\x07\xda\xdb\x8bu%\xda?\xba\xe1\x95]\x1b\xcb\xc99\xbeUVYE\xf3\xcf&jC\"\x1e3\x0e\xee(CT\xaf\xa3\x98#\xdf\xd8&\x12\x19\x12\x10:B&\x19\xb4\xa2\x81\xee$;\xe8CM\xecs\xf2E\xca&\x8e\xf6A\xc8\x9d\x98T\xfcC}\xdbV\xa8[m\xa4\xcd\xfcwn\xb5\xfa\x01\xd77;\xea\xaen'\xf9\xd8\xdcl\x8b\x92h\x9b\xb6\xf5\xd5\xaa\x9a()cK\x19\xce&H\xed\x19\xdawF\xdd\xfa!;\x9bo\xf8\x91w\x80\xca\xdfH\xcc\xcaa_\xe9\x1a\xba\xa6\x94\x1d\x01\xf4T\xd5\xa9\x92\xd4\xbb\xed+\xc7&_Yt\x9aZ\xcf\xe9\xaa\x1a\xad^\xfbL\x80\xcb\xd7qbR\xa2O\xed\xf5\x15L,\xd6\x97\xb9\x96\x20\xa2e\xea\xc7\x7f\x03\x1b\x12\x8f1\xe3p\x9e\x98\x88\xea\xb5\x8a9\xf2\xf5h\xc2gH@\xf8\x08\x9ddl\xa5\xef\x90n\xba\xf4\xfb\xea\x09\xc4\x0d\xbd\xe7T\xae\xd5\xce\x909\xc9P\xd5D_\xb5\xf8\xe1Lm\xc7\xccFz\x9ald[\xcfD\xdd\xd5\xb5\x92\xe3\xfa\xc6W\x8fE+Ie\xf1\xd2\x7f\xe8\x0f{w\xd5\x91\x9d\xee&\xa2\x7f5J\xedQ\x8f\xb0{\xc6\xb1\xcf{\x8f\x00\xca\xe6G\xcc\xf2\xe9A\xf2f\xcf\x9b\xe4\x20e2\xf6\x81\xb9\x93\xdb\xe4+\xd3W9\xd7\x13UI\xf8\xa9m\xe5K\x85\x92\xf1i\xe5\xb4E\x1b?\xe8\xeb\xa5N\xa2\x0fQcH<\xc6\x8cC(\x19\x8ez\xadb\x8e|=\x9a\xf0\x19\x12\x10>B'\x19mt_\x94\xd2e\xaad\xcc6N\xab\xe7\xb3\xfd\xae\xe5O\xed\xcd;\xb7^\xdbQ_C\x0f\xe8\xc7\xf3\xb1\xcb\x9f\xef\x98\xd3\xae\xa5|\xc3!\xf2\xd1\xba\xf2\xe7\xd4\xa9\xa8\xad0\xf4\xb1\xd2\xce&j\xccR\xe7\xca[ik9\xfb\xc8\xf5\x08\xa0lB\xc7\xdc\xd7\xb1N\x0b]\xa7m\xf5\xd8;\xadM\xbe2}\x11\xb7\x9d\xb0\x0b\x9a\xdc\xd4~\x87\x93\x09\x81d\xd0\xd3\x1b\xee\x9bA\xaeiq\x1feXC\xe21f\x1cB\xc9p\xd4k\x15\x8b\xc9W\xd0\x84\xcf\x90\x80\xf0\x11b\xc9h\xb8\xe1\x80\x86viT{\x1fof\x1fi\xf6\x9b\xb7\xf1\x06\xf6\x16\xef\x9b\xf6\x10\xfd\x07Y\xcf\x82\x1e\x8a\xba\xab\xeb\xb1\xae\xaf\xf4\xd2\x0f\xc9!\xda\xab\x96\xa8X\xa4\xed\xf8i\xb5\xbb\x89\x05V\xb1E\xf3\xe9\xbdZ\x94W\x00\xcb\x20\xe6r\xea\x82[\xf6\xed\xdbw\x0b\x0b\xdaE\xac{\x1b\xb8M\xbe\xb2\xe8\x12\xb6g#a\xc7\xf4v\xdf\xb8|\x85\x92q`\x99\x9a\xff\xe9\xad%\xeb\xa9\x03{H<\xc6\x8cC\x97\x8c\xee\x15_i\x8fD\xf5Z\xc5\x1c\xf9z4\xe13$\x20|\x84X2\xda\xf4\xe3\xdc\x9fjw\x15\xb2w\xfa)m\x87\xfd\xe6\xdd\xa9\x9dOoeg\x185U\xea\x14\xf8\xb88\x1aS\xdf\x82j\xeb\x13\xf9\xd32\xfd\x1e\xa6\xf2J6]\xfa\xd8\xbb\xdd\xd1\x04\xf7\xa1\xfcV\xf1g\xc5\xdaR\x9eW\x00\xed\x9bQO\xddT>\xae\xfe\xf3X%e\xd7\x1bk\xd9A\xfe\xa2%\x8eM\xbe\xb2\xe85\xea\xf4\xea\xbeA\x9b\xbfv\xdf\x1c\xf9\x0a$\xa3Y[\xbd\xa1\xb5M\xd4\x81=$\x1ecF\xe9\xf1\xe7\x8e\xe9\xb1\xbad\xbcO\xde\xd0\x1e\x89\xea\xb5\x8a9\xf2\x157\xe17$\x20|\x84L2\x0eM^\xd3\xb35z\xb0\xa7\xa1\xf6o\xaan\x8c\xfe\xfe+\xad\x8d\xe4e\xf6DstMkm\xe9\xa7\xf4\xb3\xf6h\xe3;}\xef7F\xdb?S?\xf0\x0a\x97\xedXV\xd8\xa0>\xfd\xe1\xb8\xaa\xe6g&\x17\x16\xbdx\xc8U\xe1\x91\xc2\x98[\xb8\xcbIEs[km\x09[h\xb4\x9a8\xf7\x96v\xa5\xc0XI\xe8\xab\xac\xab\xd4\xa7\xaeG\x00]c\x1f<\x18\xf4\xb4\x91\x9fv\xd3\xee\xa7I\x9b*\x11{\x8agnh[D6S\xc7&\xd7\xa1(\xb9e\xdb\xe6\xea2m\xb1\xd3\xec\x1b\xc3\xcc\xf7Sv\xf7\xe7\xba\xf6v\xf5\xc3\xbe\xf7\xed\xf6\xf6\xe2\xc6\xf67\xce\xb0\xa9]\xbab\x87Z\x83\xe3\xe6\x0f\xc7\x90\x88\xc6\x8c1\x9fh\xf3\xf9\xdc[7\xdf\xd4\xae\xb2A=\x93\xf3\xaa\xd7.fU&n\xc2wH@\x18\x09\x97d\xf4]C\xc8\xd6\x09\xa4t\x9b~\xaa\xdcV{U\xd9\xdc6\xed\x99\xdeE\x93K\xee\xd8\xc7\xee\x10\x20$z\xb8T\xfdw\xa1\x1a\xben\xf6\xb8\xd9\xfa}\x19G\xeb'O[\xfab\x11\xdb\xebdE\xb1\xfb\x04\xbbf\xf3Og\x94V\xcc\xd7/M\x98Mh_\xbe\x20\xc4\xfc\x9c\\\x17]cl\x89\x03\xde(\xb1\xef\x9f0\xd85\x9a\xdd\xc8\xd1J\xc8\xe8]\xea\xa3\x8f\xef\xbbvB\x8d~\xb3\x18\xb7iw(\xfax\xe3\xc4\xca\x86\xcf\xb4\xbdf\xdf4\x8c|\x1f2V\x0c\x1e\xa0t\xbf\xde2\xd9@\xe9\xaf\xefh\xae\x8aV\xd4:o\x17s\x0c\x89h\xcc\x18/Tl`\x7f\x8c^\x10Rr\xc4\xb3^\xae\x98Y\x99\xb8\x09\xdf!\x01a$\\\x92\x91\x06\xfa\x96D\xb7\xf9\xc5H\xb3-\xda\xe8\xb85B\x1e\xefo\xca\xa4#\xdf~\x20\xf5!\x01\xd9A\xdeK\x06\xed[s\xed\xdf\xfdb$\xf9\xaa\xe2\xb9\xa4\xbe\xf4\xc1\xe1}\xdb{\x1a\xf2\xed\x07\x02\x18\x12\x90\x1d@2\xb2\x938\xdf\x94\x01\x20\x93@2\xb2\x91\x93\xdar\xa2_\x14\x00\x19\x00\x92\x91\x8dh\xcb\x89\xf6}\x9e\x00d\x0f\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c4x\x9cf\x8f\x01i\xf0}\x031d\xcf\xcb\xdd/\xe4\x9add\xaf'\xeb\x0b\xc4\xb4?\xd9,(bb$\xe9\xb4\\5\xe0jh-2~\xd7\xa2\xa8\x95\xdbl\x1b\xcd\xfeN\xae?b\x96\x88\xed\x9b\x88\x98bn\xe2\x0c\xaa\x1f\xc9\xba\xba\xc6\xbcX\xbe9d\xae\x17y\xe67\x9b+\x92\x91\xfd\x9e\xacg^$\xcf\x9d\xa2\xa7Z\xc8\x8bgD%\x0c\x8c$\x9d\x96\xab\x06\\\x0d-\xc4\xf8U\xae\xd1-\xdcf\xcf\x9b\xd1\xc6\xf6=\xeb\xaaK>\xd2\x0b\xc4\xf6M\x88\xbb\x98E\x02\x83j\xe1\xe1\xd4\x9a\x9c[\xac\xe0\xc5\xf2\xcd!\x93\xbd\xc8+\xbf\xd9\\\x91\x8c\x10x\xb2\x1e\xd2~@s\x0fq\xff\x96\xa0\x0b3I\x81\x7f\xa2]\xc3\xba\xa8\x11P\xb2\x8e\xdb4:\xdf]Y\xa7\x85s}\xf3\xc1Q\xcc&\xa1A5\xf0rjM\xe0(GL\xcc\x8b\xe5\x9bC\x06{\x91O~\xb3\xb9\"\x19!\xf0d\x0dR2z?1\x02>\xe9\xe56\xcd\xce7\x97hoq\xaeo>8\x8a\xd9$4\xa8\x06\xc9:\xb5z\x92\xa4dd\xa6\x17\xf9\xe47\x1b.\xc9\x08\xb5'+'\x19g\xee\xab\x8cV\xd53\x13$\x87\x9b\xa9#IK2\xac&\\\xa2\xc3i\x8a\xb5\xa9O\x8a\x96\"\xf6\xa3\xe5f\xdf\xb8\xcc8\xafW\xca\x9b\xc1\xda\xc5\xec\xcc\xbc\x06\x95C\xe4\xd4\xca\x8f\x83\xed\xea\xea\xe8\xe6\x17\x0dW]\xfb\xf8\xe3W\x95z\x1e\xc6q\xe3`w\x9eF\x17\xfdHO}!)|\xd9Z\xec\xe0*\xcbd/\xf2\xc8o6\\\x92\x11jO\xd6CdgOOO\x1b\x9b\xf0;H\xd3\x9em\xf5\x85\xfb\x9c\x86\xa9\xce$-\x19\xb0\x9a\xe0k\xa0q$\xa3\xef\x96\xd9l\xdb\xec\x1b\x97\x19\xe7\xf5\xea0\x83\xb5\x8b\xd9\x99y\x0d\xaa\x8d\xd0\xa9\xd51\x0e\x96\xab+\xdf\xcd\xde\x99\x15\xeb\x9b\x8bK6\xd7\x99\xbf\xb8\xec\x86\x1f\x07\xbb\xf3\xda\x8f\xaeo\x9d\xad\xa6\xae-J\x18\x8b\x1d|e\x99\xecE\x1e\xf9\xcd\x86L2\xc2\xec\xc9z\xc8\xf8\x10;\xc4\xde\x91\xaa\xda\xf4\xdd\xa4\x19\x8a\xd9n\xa6\xce$M\x19\xe0\x9a\xe0j\xa0\x1e\x92\xb1\xa2\xa7\xe7\xe0\xbd\x84\xfd\x869\xdf7;3\xdb\xeb\x953\x83\xe5\x8a\xf1\x99\x09\x07\x95C\xec\xd4\xea\x1a\x07\xd3o\xcd\xee\xe66\xe61\xb9>\xce\xf9\x197\x0e\x0e\xdb\xd7\x19\xea\xee\x9ej\xe6\xbff\xbb\xa6\xf0\x95e\xb2\x17y\xe47\x1b:\xc9\x08\xaf'\xeb!\xf2\xb3}\xfb\xf6\xad\xd1\xdee_\xac\xaf\xbba\"\xd1\x0e\x06,7SW\x92\xa6\x0cpM\xf05xH\x06S\x94r}\x15\x86\xf3o\xb53\xb3\xbd^93X\xbe\x18\x97\x99pP9\xc4N\xad\xaeq\xb0&\x9be\xda\xba\xacL\xfd\xe7c\xef\xa5\"~\x1c\x1c\xb6\xafO\xb3\xdd\x1b\x98M\xad-\x19|e\x99\xecE\x1e\xf9\xcd\x86N2\xc2\xeb\xc9\xca\xadD\xec\xab\xa8Z\xda\xda^\xabK\x86\x99\xaf+IS\x06\xb8&\x12X\xcbh\xda\xb7\xef\x13c\xf9\x8f\xf3o\xb53\xd3\xcf\xf7\x99\xd7+g\x06\xcb\x15\xe33\x13\x0e*\x8f\xd0\xa9\xd55\x0e\xd6d\xb3jX3\xfa\x0bv\xec\xf7!\xf5\x80\x1f\x07\x0f\x9bZqe\x99\xecE\x1e\xf9\xcd\x86X2\xc2\xe6\xc9\xcaM\xf8\x195l\xba.pJ\x86+IS\x06\xb8&\x12\x90\x0c\xb3;\xd4\xe1\xdfjgf{\xbdrf\xb0\\1>3\xe1\xa0r\x88\x9dZ]\xe3\x10;\xd9\xfeZX\xf7\xd7\x83\xd5s=\xaf[\xf2\xe3\x10kS\xbb\x99\xd9\xd4j\x95=\xe3\xae,\x93\xbd\xc8#\xbf\xd9\x10KF\xd8<Y\xb9\x09_\xc5\xde\x8e}7;%\xc3\x95\xa4)\x03\\\x13r\x92\xc1\xf5\x8d\xfb\xa0\xb5\xbc^93X\xae\x18\x9f\x99pP9\xc4N\xad\xceq\x10L\xb6\x03\xe4\x1aBjO\x1a\xcf\x1fo\x8e\xb9{\x8a\x1b\x07\x87\xed\xeb\xb5l\xede&\xf3\x8c\x1d\xb7TM\xb2\xc6]Y\x06{\x91O~\xb3!\x93\x8c\x10{\xb2\xf2w\x7f6\x93\xfb\xd6\xaf\xba\x95\x94\xb7\xbc\xc3\xe7\xcb%\xc9Y\xae\xdaM8\xef\x1f}_\x0d0\xda07\xd9\x0d\x90\xdc\xfd\xd2F\xdf\x1c\x99q^\xaf\x96\x19,_\xcc\xce\x8cz\x0c\xaa\x8d\xd0\xa9\x95o\xcdvu\xe5k8P\xbckg\xfbIS\xcd\xeaI\xe9i\xea\x84\x7f\xb1\x1c6\xb5uo\xed\xaa\xd1R\x9f[\xd1\xb2\xaa\x86\xb0\x00\xbb\xb2\x8c\xf6\"\x9f\xfcf\xc3%\x19a\xf6d\xb5\xbf!\xb2\x91\xf6\xad\xa9\x8eV<\xf0Bu\xb4\xd6\x91\xaf\x9d$g\xb9j7\xc1\xd7@{X\x99\x12mA\xdf\xdalS\xff\xce\xe4\x9a\xd4\xfb\xe6\xc8\x8c\xf7z5\xcd`\xf9bvf\xd4cPm\x84N\xad|k\xb6\xab+_\xc3\x9b\xda2e\xf4\x0e}\x19`s)\xd9G]\xf0/\x96\xfd\x1a\xcfl\xbeo\x82\x91\xfa\xd1\xda\x92\x09uO;+\xcbd/\xf2\xcao6\\\x92\x91\x06\xd2\xe2q\x9a%\x06\xa4\x82\xbe9\xce\\2\xc2\xa9\xd2\xa6S\xe7\xce\x9d\xde\x7f\xefd\xfd\xe8\xa2\x95\xb8\x8f2$pW\xd6o8\x1a\xce\x92\x97\xbb\x9f\xc8{\xc9H\x87\xc7i\xd6\x18\x90\xc6\xf6-\xf3\x92\xd1\xaa\xdf\x01A\xfb\xca\xdb\xd8\xbf/\x965\xc5\x0d\x8f\x8f\xb3\xb2~\x84o8k^\xee\xfe\x01\x92\x91_d^2\x0e\x14\xeag$\x1f\x16\xb2\xfbBN\x96/\xe9\x8d\x1f\x1f\x17ge\xfdH\xc6\x1a\xce<\x90\x8c|\"\x1b\xbc^\xfb\x1aK\x9a\xb6\xed\xd9\xd6T\xd2\x14@\"\x81V&C\xc6\x1a\xce<\x90\x8c|\"+\xbc^\xfbv\xd4UF+\xebv\x042\xd7\x02\xadL\x86\x8c5\x9cq\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\xa0\x1f\xe9\xeb\xd3\xff\x07\xe1\x05\x92\x01\xfa\x8b\xcf\x1a+\xc8\xbd\x94>@\xca\x1b\xbd\x7f\xf8\x13d;\x90\x8c4\xf8\x96f\xc2\xa43\xf8^\x04M\xdf\x8c\x19\x1bw\x1dW\x95\xa3\xfd\x85\x19W\xe9?\"\x98\x89\x81\x02)\x92k\x92\x91\xdd\x9e\xac\xa4\xbc\xee}A\xbcM\xb2\x16\xa6\x09\xba\xafz\x93d\xc3\xffh\xba\xa6\xa4>\xc1\x86\x0f\xea?\x7f\xc5\xd8\xc3~\x9e\x9bz\x0c\x14\xc8nrE2\x120\xde\xcc\x02O\xd6\xf6\x17jF\xef\x11\xc5\x9b\x08\xcd?=\x8cBy\x12t_\xf5&\xc9\x86k+6<T\x92\xe0OU\xec'o\x98\x9b\xf6o\x10\xe6\x95\x9bin\x90+\x92\x91\x90\xf1f\xcc\x8fK\xf7\xbf'k\xdf\xdcjA\xb4\x8d\xe8\x13\xdb\xcb(\xd4&q\xf7UO\x92j\xf8+\xb2\x8e\xf6%\xfa;\xb9\xa2\xdf*\xcd/7\xd3\xdc\x20W$#!\xe3M\x81d\xf4\xbb'+\xef\x05\x90\x20\xfeF\xa1\x89\xbb\xafJ\xe1\xdb\xf0Q\"q:#\x96\x8c|r3\xcd\x0d\xc2%\x199\xe0\xc9\xdaPI\xf9zyoO\xdb\xfcSl\x14\xea\xd9\x9a\xc0}\x95\xda\x96\xab\\\xbe\xee$\x0d\x84\xae\xa3\xbe\x0d\xf7^\xa5\x07<Fy\x93Y\xca{\xbdr\xddd\x0b\x18\xef\x98\x0d\x1e$\xf6\xe9\x99\xc0\xcdT\xd4\x9a#u\xeb\x85\xf5\xe8\x10H#\xe1\x92\x8c\xd0{\xb2\x1eYJV9\xeaux{Z\xe6\x9fb\xa3P\xcf\xd6\x04\xee\xab\x9c\xe5*\x97\xaf;I\x13\x91\xeb\xa8\x7f\xc3\x1f\xb4o%\xcd\xed\xda\xefu\xdb&\xa8\x0e\xafW\xbb\x9b\xe7\xfe\xbe\xa7\xa6\xcc\xd2\x86\xde\xabj\xde\xfc\xd48\x15\x12\xb8\x99\x8aZs\xa4n\xbd\xb0^\x1d\x02\xe9#d\x92\x11~O\xd6\x86>g1\x97\xb7\xa7a\x98!6\x0a\xf5jM\xe4\xbe\xca[\xae\xda\xf9\xba\x92\xe4\x88u\x1dM\xa0a\xeb\xc4\x843A\xe5\x1a\xe6\x8a\xcdW\xbb\xce\x9d\xc4\xb0\x9f\x037~\x8c=v\xa0\xbcZ\xb36\xb9\x17\xd6\xbbC\x20M\x84N2B\xed\xc9\xfa\xce\x8e\x9a\x92\xe3\xceb.oOc\xe6\x8a\x8dB\xbdZ\x13\xb9\xaf\xf2\x96\xabv\xbe\xae$9b]G\x13h\xd8^\xcb\xb0MP\xb9\x86\xb9b\x7fm\xdb0c\xb2\xb5P\xda]1m\xdd.#\xe7\xd8\x81\xf2j\xcd\xda\xb4_X\xea\xdd!\x90&B'\x19!\xf7d=]\xb8\xc1Y\xcc\xe5\xedi\xce\\\xa1Q\xa8Wk\"\xf7U~\x99\xd5\xce\xd7\x95$G\xac\x1fX\x02\x0d[\x92\xc1\x99\xa0r\x0d;\x8a\xd1v\xdb\xb0d\x9f\xeeMol\xbb\x07\xca\xab5k\xd3~a\xa9w\x87@\x9a\x08\xb1d\x84\xd3\x93u\xe2\x0ag1\x97\xb7\xa71s\xc5F\xa1^\xad\x89\xdcWy\xcbU;_W\x92\x1c\x9e\x92\x11\xafaK28\x13T\xaeaG1\x8f+&\x82\x81\xf2j\xcd\xda\xb4_X\xea\xdd!\x90&B,\x19\xe1\xf4d\xadXrp\x15_\xcc\xe9\xedi\xce\\\xb1Q\xa8gk\x02\xf7U\xder\xd5\xce\xd7Y\x8cG$\x19\xbe\x0d[\x92\xc1\x99\xa0r\x0d;\x8ayH\x86`\xa0\xbcZ\xb36\xb9\x17\xd6\xbbC\x20M\x84L2B\xec\xc9j\xdc0][\xdfx\x13\x9f:\xe7\xedi\x9b\x7f\x8a\x8dB\xbd[\x13\xb9\xafZ\x96\xab\xd4\xce\xd7U\xccD\xec:\xea\xdb\xb0~\xc5D39\xe0MP\xb9\x86\xf9WH\x15G\xeb\x0c\xe4\x1d\xfbz\xab\xc8\xcdT\xd4\x9a#u\xeb\x85\xf5\xe8\x10H#\xe1\x92\x8c0{\xb2\xb2\xdb#Z\xd4\xb8\xea\xf2\x1d\\1\xde\xdb\xd36\xff\x14\x1b\x85z\xb6&t_\xb5,W\x19F\xbe\xeeb\x06b\xd7Q\xbf\x86{\xcb\xb4\xcd\"v\x15\xd6a\x82\xca5\xcc\xbdB\xf4\xefE\xf7\x1d\xfc\x8c]V\xfe\xec\xfd\x05Q\xd3IY\xecf*h\xcd\x91\xba\xf5\xc2zt\x08\xa4\x91pIF\x1a\xc8\xb0'k@\xa6\xa2i\xe9E\xd0\xb4\xce\xd4\x94~>!S\xcd\x0bD\x89\x0f\x14\xc8\x16\xf2^22\xec\xc9\x1a\x94\xa9h\x1az\x91\x06N\x1dT\x8f.>;\xf0\xa9\xf9Xb\xa0@\xb6\x00\xc9\xc8,y\xec\xed\x09\xc2\x09$#\xb3\xe4\xb1\xb7'\x08'\x90\x8c\x0c\x93\xbf\xde\x9e\x20\x9c@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00H\x04\xd8\xc9\x1a@2\x00\xf0\x05v\xb26\x90\x8c4\xb8\x99f\xbb\xd5h\xf0=\xceq`'\xcb\x91k\x92\x91\x7f\x9e\xac\xed\xa3\xc9\xdc>\xfa\x0a!\xa3\xed\xdf\xd3\x8cO\xaa\xfe\xad\xbe$\xd1\x8b\x14H\xb25\xd8\xc9&I\xaeHF\xfez\xb2\xf6\xec\"%\xed\xb4\xfb\x15\xb2+\xc6BHL\xca\xfe\xad6\x1e\x99\x09{\x916\x92\x183\x06\xecd\x93$W$#\x8f=Y\xbbIC\xa3z\x0cE\x12\xf4F\x0d\xc0\xbf\xd5\xc2+\xb3\x04?\xbc\x03\"\x891\x83\x9dl\xf2\xe4\x8ad\xe4\xb1'k7\xd9\xf7\xbad\xee\x00\x00\x20\x00IDATU\xda\x93\xb8d\x04\xe9\xdf\x9a\xbd?\xd5\xeb\x9b\x19\xecd\x93%\\\x92\x01OVAk\xdd\xe4\xf8\xad\xaf\xe8\x92aY\xa3z\x0c\x14\xb5{\xcc\xb9\xaf&R\xccF\x94\x19\x9f\x8e\xd0\xe0\x95\xef\xa6\x10\xd8\xc9\x86\x86pI\x06<Y\x05\xad\xa9\x92\xb1\xae^\x97\x0c\xdb\x1aU<P\xd4\xee1\xe7\xbe\x9aH1\x0baf\x8e\xce\x8b\x0c^\x1d\xdd\x14\x01;\xd9\xd0\x102\xc9\x80'klk\xaad\xfc\xbd\xf8\xef\x9adp\xd6\xa8^\x03e\xf7\xd8v_M\xa0\x98\x8583W\xe7c\x0d^]\xdd\x14\x01;\xd9p\x10:\xc9\x80'\xab\xbb5U2h\xfd:}-\xc3\xb6F\xf5\x1a(\xdb\xbf\x95s_\xf5/f!\xce\xcc\xd5\xf9X\x83WW7E\xc0N6\x1c\x84N2\xe0\xc9\xean\x8dI\xc6+7k\x92\xc1Y\xa3z\x0d\x94\xed\xdfj\x0fT\x02\xc5l\x84\x99\xb9:\x1fk\xbd\xe6\xea\xa6\x08\xd8\xc9\x86\x83\x10K\x06<Yu\x98d\xf4\x94\xeeb\x92\xc1Y\xa3z\x0d\x94\xddc{\xa0\x12(f!\xce\xcc\xd5\xf9\xd8I\xec\xea\xa6\x08\xd8\xc9\x86\x83\x10K\x06<Yu\x98d\xd0\x87\x1a\x98dp\xd6\xa8^\x03e\xf7\xd8\x1e\xa8D\x8a\x99\x883sv^0\x89\x9d\xdd<\xde,\xb8\xd3\x0av\xb2\xe1\x20d\x92\x01O\xd6\x98\xd6zv\x91W\xbai{\x09\x93\x0c\xdb\x1a\xd5s\xa0\xcc\x1e\xf3\x03\x95H1\x13af|\xe7\xc5\x06\xaf\\7U\xeaI\xa9\xeb\xbeK\xd8\xc9\x86\x86pI\x06<Yc[\xdb3\x9a\xdd\x20\xd2WS\xa1\xf6\xd3\xb2F\x9d\xeb9Pf\x8f\xf9\x81J\xa8\x98\x8103\xbe\xf3b\x83W\xae\x9b*\x9bK\xed\xc5\x01\x1d\xd8\xc9\x86\x86pIF\x1aH\x8b\x9bi\xe2V\xa3\x01y\xb2\xca\x90\x96\x1e\xfb\xe0\xeef+\xe9\xb7\xee\x06\x02\xecdm\xf2^2\xd2\xe1f*a5\x1a\x94'\xab\x0ci\xe8\xb1\x1f\xcen\xf6\xbdX\xd6\x147<\x0b\x81\x9d\xac\x09$#\xb3\xe4\x89'\xab\xb3\x9b'\xcb\x97\xf4\xc6\x8f\x07\xd9\x0b$#\xb3\xe4\x89'k\x9et3/\x80dd\x98<\xf1d\xcd\x93n\xe6\x03\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c48\x94f\x8f_g\xf0}\xeb_\xb2g$\x81I\xaeIF\xf6z\xb2&_\xef\xa1\xba\xd2\x8a\x86=\x151\x93\xdf\xa3C\x1c~\xee\xab\xfe5\x18$\x9b:GR\xbd\xc8_\xe7\xd3\xec%W$#\xfb=Y\x93\xae\xb7\xad\xb4f\xe3\xd6\xd9\x84\x1cq?!\xee\x10\x87\xaf\xfb\xaao\x0d\x06\xc9\xa6\xce\x91l/\xf2\xd5\xf94{\xc9\x15\xc9\x08\x81'k\x92\xf5~5q~/\xa5\xdd\xd5\xb1\x93M\xd8!\x8eD\xdcW\xe3\xd7`\x92d\xea\x1c\xc9\xf7\"O\x9dO\xb3\x97\\\x91\x8c\x10x\xb2&Y\xef\xb2\x12\xed\x97\xe3\xd6\xc8O\xb6D\xdcW\x13\x93\x8c$S\xe7H\xbe\x17y\xea|\x9a\xbd\x84K2B\xed\xc9\x9a\\\xbd\xb4Z\xb7\x0a\xfbbM\xafW\x87x\xfbP\xdbT\xd4\xee\x9b\xc3jT\xa6\x06\x8b\xe4R\xe7\x87$\xe9^\x08\x9dOA\x06\x09\x97d\x84\xda\x935\xb9z{\x0b\xb9syq\x878\xefT\xceT\xd4\xee\x1b\xbfW\xaa\x06\x8b\xe4R\xe7\x02\x92\xef\x85\xd0\xf9\x14d\x90\x90IF\x98=Y\x93\xab\xf78w6\x20\xee\x10W\x19\xeffj\xf7\x8d\xdb+W\x83MR\xa9s\x01\xc9\xf7B8\x92\x20\x83\x84N2\xc2\xeb\xc9\xca\x90\xaf\xb7\xb7\xc8\xfe\xc0\x17w\x88\xab\x8cw3\xb5\xfb\xc6\xed\x95\xab\xc1\x81|\xea\\@\xf2\xbd\xf0\x1aI\x90)B'\x19\xe1\xf5dM\xb2^c\x15\xa0\xb7\xcd\xabC\\,\xeffj\xf7\x8d\xdb+W\x83E\x92\xa9s\x01I\xf7B4\x92\x20\x93\x84X2\xc2\xe6\xc9\x9ad\xbd\xcbJ4\x07\x81m\xe4\x94G\x87\xb8X\x87\x9b\xa9\xd57n\xaf\\\x0d\x16I\xa6\xce\x05$\xdd\x0b\xd1H\x82L\x12b\xc9\x08\x9b'k\x92\xf5~5\xf1^v\x95\xa1v\x9aW\x87\xb8X\x87\x9b\xa9\xd57n\xafd\x0d&I\xa6\xce\x05$\xdf\x0b\xc1H\x82L\x122\xc9\x08\xb3'kr\xf5\xaa\x93i\xdc\xdc\x17[\xeb\x8a\xd8\xd1\xb9\xb8C\\,\xeffj\xf7\x8d\xdb+W\x83Ir\xa9;\x02\x92\xee\x85\xc8\xf9\x14d\x90pIF\x98=Y\x93\xac\x97\xb2og\x8c\xbbf\xfea\xb6\xe5\xd1!.\x96w3\xb5\xfbf\xef\x95\xac\xc1\x20\xb9\xd4\x9d\x01I\xf6B\xec|\x0a2G\xb8$#\x0d\xa4\xc5\xa14K\xfc:\xd3\xd2\xb7\xfe%KF\x12\xd8\xe4\xbdd\xa4\xc3\xa14k\xfc:\xd3\xd0\xb7\xfe%kF\x12X@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\xd2\xe0[\x9aa'\xd1\xe0;\x1462\xfc\x02\xe46\xb9&\x19\xf9\xe4\xc9\xea\x81\x9f\x11\xab\x1f\xbb*vx?\xf9\x02\xfb\x05\x8c\xf2\xba\xf7\xbd#\x18\xfaP7\x11\xcdW`\x0d!M\xae\xe7\xe36A\xb9\x1e7\xaa\xad\x8d;\x1a7V\x04\xac\\\xd3H\xaeHF>z\xb2\x8a\xf15b\xf5cGi\x1c\x13\x803/\x92\xe7\xda_\xa8\x19\xbd\xc7;\x84\x9aC\xfdii\x0b\xfb\xfd\xbf\xafZ&|\xeaz\xdenb\x8f\xe8'\xb7\xec\x1e\xff\xad\xbd}\xbd\xf9\xab\xc7R\xc0\xca5m\xe4\x8ad\xe4\xa7'\xab\x80D\x8cX}\x88{\x8cr\x88\xf9\x8f\xf4\xcd\xad\x8e\x17C\x8d\xa1\xbeI\xff)\xbe\xcd\xb3c\x9e\xb6\x9a\xb0_7\x1bg\x8f\xf7%%\x19\xb0rM\x1b\xb9\"\x19\xf9\xe9\xc9*\x20\x11#\xd6T\xd0$\xc3\xc3\xbb\x80C\x1b\xea{\x9f\xd1\xb6\x7fz\xafw\x1c\xff\x13\xcb&\xce\x1e')\x19\xb0rM\x17\xe1\x92\x0cx\xb2\x1a\x1dZH\xa2\x1b\x8dnr\x9b|\x87\x84F\xac\x9e\xc5,N\x97\x10R\xb8U\xdf\xe6\x86\xcfF\x97\x8c\x86J-\xc0J\xf2\xcc}\x95\xd1\xaa\xfa\x83Z\x84=\xd4\xcb\xf4C\x88\x07\x969F\xc7n\xc2\xf1\xba\x89{\xccI\x06\x97\xce\x1buU\xd1\xf2\xfa\xa9}T<\x92Z8\xac\\\xd3D\xb8$\x03\x9e\xacF\x87>\xdaZD*\x9a\x7f6\xf1^\xc7&\xf53b\xf5,fs\xa0\xbd\xbd\xb8\xd9\xd5\x1a\xcf!\xb2\xb3\xe7\xc8R\xb2\x8am\xdb6\xaa;H\xd3\x9em\xf5\x85\xfb\xa8c\xa87\xd7\xd0w\xaa\xde\xa6\xb7nt\x8e\x8e\xd5\x84\xe3u\x13\xf7\x98\x93\x0c;\x9d\xfd\xa3\x1b^\xd9\xb5\xb1\x9c\x9c\xa3R/\x00\x08\x84\x90I\x06<Y\xcd\x7f\xa3e\xea\xf1A\x03\xeb&\xbf\xe9g\xc4\xeaU\xccA\x89.\x19|1\x9bC\xdaqA\x03\xfb\x80\xe7mT\xb7\xa92\xd7w\x13\xfb\xd9wn\xa8\xdb\xcb\xe9\xd2\xe8RZ\xae\xa9\x98ctJ\xcc\xb3G\xebu\x13\xf7\x98\xda\x92\xc1\xa5\xb3\xbe\x82\x89\xc5\xfa\xb2>\xc9\x17\x00\x04A\xe8$\x03\x9e\xac\xacCj7\x1f\xa2\xe6\xe2\x0c\xb7\xe9c\xc4\xeaY\xcc\x811\x9f\xf9b6\x87\xc8\xcf\xde\xd9QS\xc2Z\xe1{\xf1\xc5\xfa\xba\x1b&\x92\xd9\xd41\xd4\x7f%=w4\xcc\xed\xd6Sr\x8cN\xacd\x88{Lm\xc9\xe0\xd2\xf9\xb4r\xda\xa2\x8d\x1f\xf4\xf5R\xf9\x17\x00\xa4L\xe8$\x03\x9e\xac\xacC|7\xf9M\x1f#V\xcfb\x0e\x8c\xf9\xcc\x17\xb3\xd1\xd62N\x17n\xa0\x8e$\xf7UT-mm\xafU%\x83\x1f\xea\xbe\xe8\x87\xa5\x07J?\x8cj\xeb\x0f\x8e\xd1\x89\x95\x0cq\x8f\xa9-\x19|:\xa77\xdc7\x83\\\xd3\xd2'\xf7\x02\x80@\x08\xb1d\xe4\xb3'\xab\xe7\xdc\x8fo\xc4*%\x19|1\x1b}\xf9s\xe2\x0a\xeaHrF\x0d\x13\xa8\x05\xaad8\x86\xba\xba\xa5\x92V\xae\xd1/\xc8:F\xc7)\x19\xecu\x13\xf7\x98\xda\x92\xc1\xa5s`\x99\xbayzk\xc9z\xb9\x17\x00\x04B\x88%#\xaf=Y=\xe7~|#V\x19\xc9\xe0\x8bQz\xfc\xb9c\xda_]2*\x96\x1c\\\xc5'Y\xc5&k\xdf\xcd\xaad8\x86\xba\xae\xe6^z\xef\xdc:\xad\xa0\xe3r\xaa%\x19\xd6\xeb&\xee1\xb5%\x83K\xa7Y__\xa9m\x92{\x01@\x20\x84L2\xe0\xc9\xaaw\x88\xeb\xa6\xa3\xc7>F\xac\xde\xc5Lz\xdfno/nl\x7f\xe3\x0c_\x8c1\xdf0J<\xa8M\xd7\xda\xfa\xc6\x9b\xf8$\x9b\xc9}\xebW\xddJ\xca[\xdeq\x0c\xf5\x92\xd1-\xb4e\xb4z\xdc\xc4w\x93o\xc2z\xdd<z\xfc)\xbb\xfbs]{\xfb_\x1d\xe94\x93\xd2\x15;\xd4\xd8=T\xea\x05\x00\x81\x10.\xc9\x80'\xab\xd1!\xae\x9b\x8e\x1e\xd3\xf8F\xacq\x8a\x19\xec\xd7\xf3!\x1b\xa8c\xf8(}\xa1\x82\xed\xa2\xec\xe6\x91\x165\xed\xear\xf6-\x11+\xc9\xbe5\xd5\xd1\x8a\x07^\xa8\x8e\xd6:\x86z\xe7\xb8\x83\xf4Pi\xab\xb3\x9b|\x13\xd6\xebF\xc5=~H\x0f%\x0f8\xd2\xf9\xf5\x1d\xcdU\xd1\x8a\xda=\x8eb\xfe/\x00\x08\x84pIF\x1aH\x8boi&\x9dD\xd3\xd2\xa1\xb0\x91\xc9\x17\x20\xd7\xc9{\xc9H\x87oif\x9dD\xd3\xd0\xa1\xb0\x91\xd9\x17\x20\xc7\x81d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\xa4\xc1\xc24\xc3\x96\xa0\x01t\xa8\xc9m\x89\x08\x92$[F2\xb8\xf7d\xaeIF\xcey\xb22\x13T\xdd\xdddsk\x91\xf1\xeb\x11E\xad\xdcf\xdbh\xf6wr\xfd\x11\xb3D\xaa\x9e\xac*G\xc8\xb2x#\x19\x8f\xc4L[\xe5I\xde\xe05\xa3d\xcdH\x06gS\x9b+\x92\x91\xb3\x9e\xac\xcc\x04\xf5\x14=\xd5B^<\xd3B\x8c\xdf\xa8\x1a\xdd\xc2m\xf6\xbc\x19ml\xdf\xb3\xae\xba\xe4#\xbd@R\x9e\xac.k\xd4\x86\xe2S\xae\x91\xe4\x02\x846\xaa\x16\x89\x99\xb6\xca\x93\xb4\xc1k?\x93e#\xc95\x11\x94Mm\xaeHF\xeez\xb2\xea?\xb6\xb9\x87\x1c\xa2\xeb\xa2\xc6/a\x96\xac\xe36\x8d\x1ewW\xea?\xb1\x99\x9c'\xab\xd3\x1a\xf5\xe8\xe8\xc7\xd8\x1f~$\xb9\x00\x91\x8d*G\x82\xa6\xad\xd2$i\xf0\x1a4\xe6\xbb\xc4\x8b,\x1bI\xbe\x89\x80ljsE2r\xd7\x93\xd5\x96\x8c\xdeO\x0c\x9d\xf8\xa4\x97\xdb4{\xdc\\\xa2M\x9d\xe4<Y\x9d\xd6\xa8\x0fE\xb5\xdf\x03\xe5G\x92\x0b\x10\xd9\xa8r$h\xda*M\x92\x06\xafAc\xbeK\xbc\xc8\xb2\x91\xe4\x9b\x08\xc8\xa66\\\x92\x91\x8f\x9e\xac\xb6d08SckS\x7fC\xb6\x14\xb1_\x147;\xb4B\xadf+\xdd\xaa\xfe\xbb\xc2\xce\xc0i\xc4*\x1e>\x95\xe3E\xba}\x825\x92\\\x00\xb7\xb9\x90\x14\xadk\xaa\x9c\\\x7f\x94:\x10\x9b\xb6\xda6\xaa\x8eb\"\xb7X\xb1\xe5j\x92\x06\xaf\xee\x97%\x06G\x00\x97o\xf7\xd2\x19\xa5w\xbc}m\x9b#\xd8~\x97dp$\xad\xcc\x16\x92\xc2\x97\xad\x15:\xd1P\xbb\xd3\x09\xc6\xa66\\\x92\x91\x87\x9e\xac\x9a\x09jOO\x9b\x9fd\xf4\xdd\xa2\x1d\xb1\x9b\x1d:\xf5\xfd\x1a\xb5\x9a\xee7\xe76\xf0?\xea\xe70b\x15\x0f\x9fJ\x93q\x00k\x8d$\x17\xc0m\xb2\xca\xa6\xaej\x9e:\xce\xf9\xb1+6m\xb5mT\x1d\xc5Dn\xb1b\xcb\xd5$\x0d^\xdd/K\x0c\x8e\x00\xbb\xb5\xd37\x94\xafi[h\xfc\xa6\xb1\x85\xfd.\xc9\xdcH\xda\x99ik$\xe6\x0a\x9dh\xa8\xdd\xe9\x04cS\x1b2\xc9\xc8?OV\xc3\x04\x95\xc4\x93\x8c\x15==\x07\xef%\xbb\xd8\xb6\xd5\xa1_\xebW\x87f\xba\xd6Bm#V\x8f\xe1cW\x96\x8c\xdf\x1c\xb7G\xd2\xe3p::M\xcd\xfat\x95\xdbN\x8d\xe16m\xe5lT\xb9bb\xb7X\xb1\xe5jr\x06\xaf\xeeX\x11V\x00W\xac\xb1\x8cy\xdb-qI\x06\xff.\xc9\xd4H\xf2\x99\xd9V4\x1eC\xed<\xf7\x09\xc6\xa66t\x92\x91o\x9e\xac\xcc\x04u\xdf\xbe}k\xe2I\x06{g\x95\xebK$V\x87\x0e\x16\xf6\xf6\xfc\xfa\xf4\xb9\xe8A\xea\xc06b\xf5\x18>\xf509jTa\x8f\xa4\xd7\x1b][i]O\xbe\xa2\x1cb\xd3V\xceF\x95+&v\x8b\x15[\xae&g\xf0\xea\x8e\x15a\x05\xd8\xc5\xfa\xc6iu~\xe4\x92\x0c\xfe]\x92\xa1\x91tdfK\x86\xc7P\xbb%C\xf4\x9e\x94%t\x92\xd1\x96o\x9e\xac\x09\xace4\xed\xdb\xf7\x89q\xd9\xc0\xeaPo\xd1\xc15d\xc5\x91\xc2^\xea\xc0\x1e\x1d\x8f\xe1\xa3'\xa3?\x8a\x89\xf5z\xa3k\xef\xdev\xa7\xc9\x90\xd8\xb4\x95\xb3Q\xe5\x8ay\xb8\xc5\x0a-W\x934xu\xc5\x8a\xb0\x02\xecb\x7f\xd3\x17\xa9\xbb]\x92\xc1\xbdK25\x92\x8e\xcc\xc49pC\xed\x94\x8c`ljC,\x19y\xe2\xc9\x9a\x80d\x98}\xa0|\x87fl\xad\x9d;\xa3\xd5}\xf3\x9a=:\x1e\xc3G\x97\x14\x1e\x8b\x89u\x04pC\xbd\x84=\xdeH\x1c\x07\xfdb\xd3V\xceF\x95+&v\x8b\xf5\xb0\\M\xce\xe0\xd5\x15+\xc2\x0a\xb0\x8b\xf5\xe9u\x1ev\x9f\x98\xd8\xef\x92L\x8d\xa4#3\xad\xdeg\xa2\xd4s\xa8\xf9\xd6D\xef\xc9d\x08\xb1d\xe4\x89'\xab\x9cd\xd8\x1d\xfa\xfe\xa2h\x1bY\xf8\x00ub\x8f\x8e\xc7\xf0}Vl\xd96\xf3ot;\x80\x1f\xeak\xd4\xb7`\xf7\x0d\xb5ZD|\xd3V\xceF\x95+&v\x8b\xf5\xb0\\M\xce\xe0\xd5\x19{\xbcYp\xf7\x94\x15\xc0\x15[P\xaeN\xbe\xbe\x86\x98\xb5\x0c\xeb]\x92\xb1\x91\xe43\x1b\xb7T\xdd\xaca\xf5z\x0c5\xdfZP6\xb5!\x93\x8c\xfc\xf3d\xe5\xee\xfeTw\xbf\xbf\x9e\xac3*67\xd9\xdd\x9f\xd6\xcd\xe2\\\x87\x9e\x1b7\xb1\xaf\xbad\x15\xe5q\x8c\x8eh\xf8(}|\xf4QA,\x17\xc0mF\xc9-\xdb6W\x97\xe9\x0b\xae~\xa6\xad\xb6\x8d*WL\xe4\x16+\xb6\\M\xd2\xe0\xd5\xf5\xb2\xd4\x93\xd2\xd3\xd4\x81#\xc0n\xed\xb3\x8a\xaa\xf5\xad\xf3\x8bc%\xc3\x20s#\xc9g6\xb7\xa2eU\x0d\xd1\xde\xd5\xe2\xa1\xe6[\x0b\xca\xa66\\\x92\x91\x87\x9e\xac\xf6wL6\xaa\xf2\xc0:V\xa2M\x0fk\xb3M\xfd;\x93k\xc6\xec\xd0\x81\xb2\x15\xb4\xa5t\x1f\xe5q\x1a\xb1\x0a\x86\x8f\xfe\xbd\xa4A\x18\xcby\xa7\xda\x9b\xd1\xc7\x1b'V6\x186\xd0\xf1M[y\x1bU\xae\x98\xc8-Vl\xb9\x9a\xa4\xc1\xabk|7\x97\x12\xe7\x88\xb8\x02\xec\xd6\xbeh\xac*\xa9=\xe0)\x19\x99\x1bI>\xb3\xa3\xb5%\x13\xea\x9ev\xe5\xe0\x18>\xae\xb5\xa0lj\xc3%\x19i\x20-\x16\xa6\x99\xb4\x04M\xadCO\x13\xee\x88\xc5\x0f\xc7\x19Q\xe2$Y,\x10Z\x89\xeb(#.\xee\xe5O\x19\xd2;\x92\xf2\x99\x05\xf6\x9e\xcc{\xc9H\x87\x85if-AS\xea\xd0\x8f\x9a\xfc\"8\xa4\xdf\xe8:I\x16\x0b\x80\xbe\x17\xcbd\xfa\x97\xc4\xc4\xb4I\xefHJg\x16\xdc{\x12\x92\x01\x92F\xfa\x8d\xae\x93d\xb1\x008Y\xbe\xc4u\xd19>\xd2\x133Y\xa4\x87\xa4\xdf2\x8b\x05\x92\x01\x92\xe4\xa4\xb6\xaa\xe7\x17\x15C\x92\xc52\xc1\xd16\xf2\xd8[\xfd\x90\xaa\xfc\x90\xf4Wf\"\x20\x19\x20I\xb4U\xbd\xe3T\x96$\x8be\x82\xb9j\xaaE\xae\xef\x8a\xa5\x03\xf9!\xe9\xaf\xccD@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x82\xb00u\x11\x9c\xffez\x08\xbe\xc7\xfdK\xb6\x8fon\x93k\x92\x91\x93\x9e\xac\xc19sj\xf8\x99\xb6z\x0cT,Iu\xc8\xc9\xa1\xba\xd2\x8a\x86=\x151\x12\x167\x87\xe0\xfcE\x81<\xb9\"\x199\xed\xc9\x1a\xa43g\x02\xa6\xad\xe2\x81\x8a%\xb9\x0e9h+\xad\xd9\xb8u6\x89\xfdi\x09\x9f\x1c\x82\xf2\x17\x05\xf2\xe4\x8ad\xe4\xb8'k\x80\xce\x9c\x89\x98\xb6\x0a\x06J@\x92\x1d\xe2\xf8j\xe2\xfc^J\xbb\xabE\xbfF\x13?\x87\x80\xfcE\x81<\xb9\"\x19\xee\xdfw\x17\"x\x17\x86\xc5\x9358g\xceDL[\x13\x93\x8c$;\xc4\xb1\xacD\xfb\xed\xba5\xf2\x92\x11\x90\xbf(\x90'\\\x92\x91\xbf\x9e\xac\x819sZ=\xa6\xf4\x93\x05\xe5\xd1\x8az\xe6\xae\"\x1e(\xae2.\xd6&\xb9\x0e\xf1\x03U\xad\x1b}|\xb1\xa6W:\x07\x81\xbf\xa8\xa8\x09\xa7\xe5\xaa\xd9\x84\xafS+\xf0&\\\x92\x91\xaf\x9e\xac\x01:sZ=\xa6{Joi\xd9\xd5L\xd8H\x8a\x07\xca\xae\x8c\x8f\xb5I\xaeC\\@o!\xb7\"!\x99\x83\xc0_T\xd4\x84\xe3e\xb1\x9a\xf0uj\x05\xde\x84L2\xf2\xd6\x9350gN\xab\xc7=Uu\xeal\xef\xdd\xf6\x95\xd7@q\x95q\xb1<\xc9u\xc8\x0e8\xce\x9d\xd3\xc8\xe6\x10;\xbe^\xaf\x85\xb5\xc9;\xc0\xfa;\xb5\x02\x0fB'\x19\xf9\xe8\xc9\x1a\xa43\xa7\xd5\xe36\xf2\x81\xb9O<P\\e\\\xac\x8b$:d\x07\xf4\x16\xd9\x87-\xb29\xc4\x8e\xaf\xd7kam\xf2\x0e\xb0\xfeN\xad\xc0\x83\xd0IF~z\xb2\x06\xe7\xcci\xf5\x98[P\x15\x0f\x14W\x99x\xf15\xc9\x0eq\x01\xc6ZFo\x9b|\x0e\xb1\xe3\xeb\xf5ZX\x9b\xbc\x03\xac\xbfS+\xf0\x20\xc4\x92\x91W\x9e\xac\x819sZ=\xdee{g\x89\x07\x8a\xabl\x97\xd0g+\xc9\x0eq\x01\xcbJ4\xfb\x84m\xe4\x94t\x0e\xb1\xe3\xeb\x95\x83\xb5\xc9;\xc0\xfa;\xb5\x02\x0fB,\x19y\xe5\xc9\x1a\x9c3\xa7\xd9\xe3\xee\x8aZv\xd6\xb2h\x89\xd7@q\x95q\xb1\x1cIv\x88\x0b\xf8j\xe2\xbd\xecZI\xed4\xe9\x1c\x04\xe3\xeb\x95\x83\xb5\xc9;\xc0:]]\x81\x04!\x93\x8c\xfc\xf3d\x0d\xdc\x99\xd3\xea\xf1\x9e\xe2\x99\x1b\xda\x16\x91\xcd\xd4k\xa0\xb8\xf1\xe5bm\x92\xeb\x90#\xa0m\xdc\xdc\x17[\xeb\x8a\xde\x94\xceA\xe4/*j\xc2\xd1\x9a\xd5\x84\xeb\xc5\x022\x84K2\xf2\xd0\x935hgN\xae\xc7\x1f\xdfw\xed\x84\x1amM\xc4c\xa0\xb8\xf1\xb5cm\x92\xeb\x903\xe0P\xdd\xb8k\xe6\x1ff[R9\x88\xfdE\x05M8Z\xb3\x9ap%\x09d\x08\x97d\xa4\x81\xd4,L=\x08\xcc\xff\xd2\x87\xa4<\xb3\xd2\xd2\xe3\xfe\xa5\xbf\xc6\x17\x08\xc8{\xc9H\xcd\xc2TLp\xfe\x97>$%\x19\xe9\xe8q\xff\xd2o\xe3\x0b\x04@2\xc2Lr\x92\x01@\x0a@2BL&\x9d9A\xbe\x02\xc9\x081\x99t\xe6\x04\xf9\x0a$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$#\x0d\x0e\xa5Y\xe9\x19\x1a|7\x93$+G\x07$L\xaeIF6{\xb2R\xfa\x8f\xa6kJ\xea\x13\xf8RH\x06\x8cX\xe3\x11l:pT\x0d7\xb9\"\x19!\xf0dU\xa9\xad\xd8\xf0P\xc9i\xd13N2`\xc4\x1a\x8f\xa0\xd3\x81\xa3j\x98\xc9\x15\xc9\x08\x81'\xabzHN\xd6\xd1>\xf7\xaf\xdc\x0a\xc9\x84\x11\xab\x00sH\x82N\x07\x8e\xaa!&W$#\x04\x9e\xac\x94\x1e%;bw\x0a\xc9\x84\x11\xab\x00sH\x82N\x07\x8e\xaa!&\\\x92\x11fO\xd6\xde\xab\xf4$\x1fs\xc5r\xae\xa3i7b\xf5j\xd8\xaa\x97\x87\x1b\x92\x80\xd3\x11:\xaa\x82\x90\x10.\xc9\x08\xb5'\xeb\x07\xed[Is;\xfb\xe5sG,\xe7:\x9av#V\x8f\x86\xedzy\xb8!\x098\x1d\xa1\xa3*\x08\x09!\x93\x8cP{\xb2\xf2'&V,WC?\x18\xb1\x8a\x1b\xe6\xeb\xe5\xb1\x86$\xe0t\xc4\xa3\x03\xc2A\xe8$#\xcc\x9e\xac\xbcd\x98\xb1\\\x0d\xfd`\xc4*l\xd8Q\xaf\x0d7$\x01\xa7\xe3\xe5X\x0b\xc2@\xe8$#\xbc\x9e\xacN\xc90c\xb9\x1a\xfa\xc1\x88U\xd8\xb0\xa3^\x1bnH\x02NG<:\x20\x1c\x84X2\xc2\xe6\xc9\xea\x94\x0c3\x96\xab\xa1\x1f\x8cX\x85\x0d;\xea\xe5\xb0\x87$\xe0t\xc4\xa3\x03\xc2A\x88%#l\x9e\xacN\xc90c\xb9\x1a\xfa\xc1\x88U\xdc0_\xaf\x03sH\x82NG8:\x20\x1c\x84L2\xc2\xec\xc9\xaa_1y\xa7\xcfe\x09\xca\xf5\"\xedF\xac\x1e\x0d\xf3\xf5\x0a\x09:\x1d\x91\xa3*\x08\x09\xe1\x92\x8c0{\xb2\xf6\x96i\x01EG\xdc\xb1\\/\xd2m\xc4\xea\xd50W\xaf\x88\xa0\xd3\x11;\xaa\x82p\x10.\xc9H\x03iq(M\xabghR\x16i\x09t3\xa9z\x93)\x96\xd6\xd1\x01\xe9&\xef%#\x1d\x0e\xa5\xe9\xf5\x0c\x95\x9f\xa3\x0c\xffn&W\xaf|\xb1\xf4\x8e\x0eH7\x90\x8c\xd0!=G\x13$\xc9z\x93,\x06\xc2\x0a$#l\xa4\xcb\x885\xc9z\x93,\x06B\x0b$#l\xa4\xcb\x885\xc9z\x93,\x06B\x0b$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$#\x0df\xa5\xd9\xee:\x1a|\x8f\x03%\xdb\x87/\xcf\xc95\xc9\x80'\xab?\xa9\xd8\xb3r\xa4-I\x98\xb6f5\xb9\"\x19\xf0dM\x98\x94\xecY9\xd2\x98$L[\xb3\x98\\\x91\x0cx\xb2&J\x92\xf6\xac\x1cA:\xb5z\x00\xd3\xd6\xec%W$\x03\x9e\xac\x89\x92\xa4=+G\x90N\xad\x1e\xc0\xb45{\x09\x97d\xe4\xbb'\xab\xe5q\xba\x90\x14\xadk\xaa\x9c\\\xaf}\xeb\xdc\xea\xe6B\x12\xddhu\xde\x8au\xd4\xe0k\xcf*n\xc2\xc6\xdf\xa95\x80$a\xda\x9a\xc5\x84K2\xf2\xdc\x93\xd5\xf68\xfdhk\x11\x99\xba\xaay\xea8\xa6nV7\xd9\xde\x8a\xe6\x9fMd\x9d\xb7c\x1dM\xf8\xd9\xb3z4a\xe3\xeb\xd4\x1aD\x920m\xcdbB&\x19\xf9\xed\xc9\xca{\x9cF\xa7\xa9\x85OW\xd58\xbaI\xa3e\xea\x87w\x03\xeb<\x17\xebH\xd2\xc7\x9eU\xdc\x84\x03\x1f\xa7\xd6\x20\x92\x84ik\x16\x13:\xc9\xc8cOV\x87\xc7\xa9\xbe\x88\xb9\x9e|\xc5uS\xdd\xfb\x105:\xcf\xc5:\x92\x8co\xcf\xea\xd1\x04\x87\x9fSk\x20I\xc2\xb45\x8b\x09\x9dd\xe4\xb1'\xab\xc3\xe3T_\xe5m'\x07\xb8n\xf2\x9d\xe7b\x1dI\xc6\xb7g\xf5h\x82\xc3\xcf\xa95\x90$a\xda\x9a\xc5\x84X2\xf2\xce\x93\xd5\xe1q\x1a]\xc2Jo$g\xb8n\xf2\x9d\xe7b\x1dI\xc6\xb7g\xf5h\x82\xc7\xc7\xa95\x90$a\xda\x9a\xc5\x84X2\xf2\xcf\x93\x95\xf78\x8d^\xa3\xce\xa9\xee\x1bj\x1d\xdd\xe4:\xcf\xc5:\x92\xf4\xb1g\x157\xe1$\xbeSk\x20I\xc2\xb45{\x09\x99d\xe4\xb7'+\xefq\x1a%\xb7l\xdb\\]\xc6\x92\xb4\xba\xc9w\x9e\x8f\xe5\x07\xca\xc7\x9e\xd5\xa3\x09!iL\x12\xa6\xad\xd9K\xb8$#\xcf=Yy\x8f\xd3\xe8\xe3\x8d\x13+\x1b>c\x9bV7\xf9\xce;\xfcP\xb9&|\xecY=\x9a\x10\x91\xc6$a\xda\x9a\xc5\x84K2\xd2@\x02f\xa5\xf2\xf4\x83\xebh\x9c\x9b\\}H\xb8\xc7\xc97a\x92d\x0d\xfd0|\x20i\xf2^2\x120+\x95\xa6?\\G\x93\x9c\x8d\x8cD{\x9cB\x13\x06\xc9\xd5\xd0\x1f\xc3\x07\x92\x06\x92\x11R\x92\x9b\x8dR\xa4\xdeD\xea5\x80\xac\x03\x92\x11JNjk\x88~Q)\x91z\x13\xa9\xd7\x00\xb2\x10HF(\xd1\xd6\x10\x8f\xd3t\x92z\x13\xa9\xd7\x00\xb2\x10H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02HF\x1a\x1cJ\xb3\xc7TT\xeb[\xf6\xa4\x03r\x80\\\x93\x8c\xec\xf6d\x8dK\x1a<N\xf5\xbe\xf9\xa5\x93\x86\x86A\xee\x92+\x92\x11\x0eOV!f\xea\x81x\x9c\xee\xe1\x7f\xcd\xca\xea[\xfct\x82o\x18\xe40\xb9\"\x19\xa1\xf0d\x15c\xa5\x1e\x84\xc7\xa9=\x0e\x8e\xbe\x89\xd3\x09\xd2\\\x95o\x18\xe42\xb9\"\x19\xa1\xf0d\x15c\xa5\x1e\x84\xc7)\xff\x93\xc5\\\xdf\xc4\xe9\x04i\xae\xca7\x0cr\x99pIF\x98=Y\xd5\x0f\xf5\x86\xab\xae}\xfc\xf1\xabJ\xb7y\xa4\xee\xe1q\xda\xbdtF\xe9\x1do_\xdb\xc6\xd6i^\xb6VdD&\xa8\x8eq\xb0\xfb\xc6\x88M\xc7\xdf\\5\xd9\x86AN\x13.\xc9\x08\xb5'k\xef\xcc\x8a\xf5\xcd\xc5%\x9b\xeb\xd6x\xa4.\xf68=}C\xf9\x9a\xb6\x85\x84l\xd0\xd7i\xcc\x15\x19\x91\x09\xaac\x1c\xec\xbe\x89\xd3\xf15WM\xbaa\x90\xd3\x84L2\xc2\xec\xc9\xba\x8d\x1cdf\x83\x87b\x8a\xd9'&\x0c\xb7\xc7ic\x19so[\xa2\xce\\\xde\x01\xc4\xc3\x04\x95??\xe0\xfa&\xf68\xf51WM\xbaa\x90\xd3\x84N2\xc2\xeb\xc9\xba\xacL\xfd\xe7cm\x89D\x9c\xba\xd0\xe3\xb4o\x9c\xb66\xf3\x91k\xe6z\x98\xa0\xf23\x97s_\x15\xa5\xe3g\xae\x9a|\xc3\x20\xa7\x09\x9dd\x84\xd7\x93u\xcd\xe8/\xd81\xcf\x871\xc5\x1c\xcb\x9fn\x8f\xd3\xbf\xe9\xcb\xb0\xdd\xae\x99\xeba\x82\xca\xcf\\\xce}U\x94\x8e\x9f\xb9j\xf2\x0d\x83\x9c&\xc4\x92\x116O\xd6\xbf\x16\xd6\xfd\xf5`\xf5\xdc\xbe\x98bf\xeaB\x8f\xd3\xbe\x12-\xc3\xc3\xf6\xcc\xd5\x8e\x95<LP\xb9q\xe0\xddW\x85\x1e\xa7>\xe6\xaa\xc97\x0cr\x9a\x10KF\xd8<Y\x0f\x90k\x08\xa9=\x19S\xccJ]\xecq\xba\xa0\\\x9d\x9d}\x0d\xda\xcc\x1d\xb7T\xdd\xac\x89:k\xe0MP\xb9qp\xf4M\xecq\x1a\xdf\\5\xf9\x86A.\x132\xc9\x08\xb3'\xeb\x81\xe2];\xdbO\xba\x8aQ;u\x0f\x8f\xd3\xcf*\xaa\xd6\xb7\xce/\xd6f\xee\xdc\x8a\x96U5D\xeb\x85\xd8\x04\xd5\xae\x8c:\xfa\x16\xdf\xe34\xe8\x86A.\x13.\xc9\x08\xb3'+}3\xca\x02\xa2w|\xc8\x17\xa3v\xea\x1e\x1e\xa7\xf4\x8b\xc6\xaa\x92\xda\x03\xda\xcc=Z[2\xa1\xeei\xadob\x13T\xab2\x0d\xabo\xf1=N\x83o\x18\xe40\xe1\x92\x8c4\x90\xb0C\xa9\x0c\"S\xd1S\xa5M\xa7\xce\x9d;\xbd\xff\xde\xc9\xa7EE|\xd0W!%1\xfb\x96\x8a\xc7iR\x0d\x83\x1c&\xef%#a\x87R\x09\x84\xa6\xa2\xad\xfa\xfd\x0b\xb4\xaf\xbc-\xe69\x7f\x92\x9b\xb9z\xdfR\xf28M\xaea\x90\xbb@2\xfa\x8b\x03\x85\xfa\x17:>,\xfc\xc0'RD\xc6fn\xc6\x1a\x06Y\x0a$\xa3\xbf\xe8k,i\xda\xb6g[SIS\x12\x1f\xf9G\xdb\xc8co%Q.e2\xd60\xc8V\x20\x19\xfdF\xdf\x8e\xba\xcahe\xdd\x8ed&\xe0\\BH\xd1Q\xbf\xa84\x90\xb1\x86A\xb6\x02\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\xc8iOV\x0e\xd8\xb3\x82@\xc85\xc9\x80'\xab\x07\xb0g\x05\xc1\x90+\x92\x01O\xd6\xf8\xf4\xa7=+\xc8irE2\xe0\xc9\x1a\x97~\xb5g\x059M\xaeH\x06<Y\xe3\xd2\xaf\xf6\xac\x20\xa7\x09\x97d\xe4\xa5'\xab\xe5|\xba\x90\x14\xadk\xaa\x9c\\\xaf}\x17\xdd\xea\xdbB\x12\xddh\xf5\xd8\x8au\xd4\x90\xba=k\x009\x80\x1c!\\\x92\x91\x8f\x9e\xac\xb6\xf3\xe9G[\x8b\xc8\xd4U\xcdS\xc71I\xb3\xfa\xc6\xf6V4\xffl\"\xeb\xb1\x1d\xcb\xd7\x90\xba=k\x109\x80\x1c!d\x92\x91\x87\x9e\xac\xbc\xf3it\x9aZ\xfb\xe9\xaa\x1aG\xdfh\xb4L\xfdto`=\xe6b\x1dM\xa4j\xcf\x1aD\x0e\x20G\x08\x9dd\xe4\x9b'\xab\xc3\xf9T_\xc4\\O\xbe\xe2\xfa\xa6\xee}\x88\x1a=\xe6b\x1dM\xa4h\xcf\x1aH\x0e\x20G\x08\x9dd\xe4\x9b'\xab\xc3\xf9T_\xdam'\x07\xb8\xbe\xf1=\xe6b\x1dM\xa4h\xcf\x1aH\x0e\x20G\x08\xb1d\xe4\x87'\xab\xc3\xf94\xba\x84\x15\xd8H\xcep}\xe3{\xcc\xc5:\x9aH\xd1\x9e5\x90\x1c@\x8e\x10b\xc9\xc8\x13OV\xde\xf94z\x8d:\xdb\xbbo\xa8u\xf4\x8d\xeb1\x17\xebh\"U{\xd6@r\x00\xb9A\xc8$#\x0f=Yy\xe7\xd3(\xb9e\xdb\xe6\xea2\x96\x99\xd57\xbe\xc7|,\xdfD\xaa\xf6\xac\x81\xe4\x00r\x83pIF>z\xb2\xf2\xce\xa7\xd1\xc7\x1b'V6|\xc66\xad\xbe\xf1=v\xb8\xa4rM\xa4j\xcf\x1aL\x0e\x20'\x08\x97d\xa4\x81\x90x\xb2\xea\xc4\xb9\xb3\xd5\x87\x20\xecYu\x92\xcf\x01\xe4\x04y/\x19!\xf1d\xd5Ia\xba\x06`\xcf\xaa\x93B\x0e\x20\x17\x80d\xf4\x17\xa9y\xb2\xead\xc3t\xcd\x86\x1c@\x06\x81d\xf4\x17)y\xb2j\x9c\xd4\x16\x19\xfd\xa2\xd2K6\xe4\x002\x0a$\xa3\xdfH\xc5\x93UC[d\xe4n\xe3\xcc\x04\xd9\x90\x03\xc8(\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c\xbc\xf2d\x0d1\xf1\x065\xec}\x0b\x15\xb9&\x19!\xf6d\xd5\xd0\x93L\x835jl7\x9dx\x8cN,)\x8f\x0e\xa5\x87\xeaJ+\x1a\xf6T\xc4L\xf3\xb89\xc4\x19T\xbf\xbe\x09\xd9U\xb1\xc3/$U\xfa\xa1\x89\xd4\xf0\x9d-\xadE\xc6\xcf\xb7\x16\xd9z\x9d+\x92\x11bOV\x07z\x92\x81X\xa3\xee\xe1\x7f}+\xb6\x9b.\xc4\xa3\x13K\x00\xa3\xd3VZ\xb3q\xeblB\x8e\xb8\x9f\xf0\xc9\xc1kP}\xfb&dGi\xac7C\xc0\xa4\xdc\xc4\x9ex?\xa0\x96\x02\x09\xcf\x96\x16\xd2\xde\xbe\x9e\xacko\x1f\xddb=\x93+\x92\x11bOV\x17Z\x92AX\xa3\xdaC\xe2\xe8\xa6'\x82\xd1\x11\x90\xfa\xe8|5q~/\xa5\xdd\xd5\xb1\x92\xe1\x97\x83xP\x13\xe9\x9b\x08\x89\x03\x13\xf3\xad!\x8bD\x13B\xf8\x97P\x06\xbf|\x13\x9e-\xeb\xa2\xec\x17\xe9\xdf\xa6\xb4\xc4V\xeb\\\x91\x8c\x10{\xb2\xba\xb0%#EkT\xfe\xd7\x8b\xb9nz\x92\x98d\xa4>:\xcbJ\xb4_\x01\\#/\x19\xe2AM\xa4o)b\xbe5\xfa\x1b\xfe%\x94\xc1/\xdf\x84gK\xef'\x86d|\xd2k\xed\x0f\x97d\x84\xd9\x93\xd5\x11`\x9b\x95\x9e\xb9\xaf2ZU\x7fP\x0b\xb1\x93\xf4\xb0F\xed^:\xa3\xf4\x8e\xb7\xafmc'\xa1/[\xa7\xfe\"\xefT\xc7\x90\xf0\x9e\xac\x9f,(\x8fV\xd4\xb3\xdf9\x17\x8f\x0eo\xa3j\xc7\xda\xa4>:\xd5?\xd2*\xfabM\xaft\x0e\x02\xa3[\xaeo\"3X\x8f\xccN\x97\x10Rh\x9a\xb8qC\"\xf2\x90\xe5\xde\x1a\xe9j\xc2\x82\x7f\x83s/!\xdb|Z\xaf\xd7i\x8a\x1b7\xdf\x80f\xcb>\xdd\x04\xc7\xca!\\\x92\x11fOVG\x80mV\xba\x834\xed\xd9V_\xb8\x8f:\x92\x14[\xa3\x9e\xbe\xa1|M\xdbBB6\xe8'\xa1\xe6\xa9\xbf\xc8;\xd51$\x9c'\xeb\x9e\xd2[Zv5\x136|\xe2\xd1\xe1lT\xb9X\x9b\x94G\xa7\xb7\x90[\x91\x90\xcc!\xd6N\x96\xeb\x9b\xd0\x0c\xd6+\xb3\x03\xed\xed\xc5\xc6\x07,\xd7\x84\xd0C\x96{k\xa4\xab\x09\x1b\xee\x0d\xce\xbd\x84=oV5\xb1z'\xbe\xd1\xed0\xc5\xf5\xc97\x98\xd9bH\x86\x95C\xc8$#\xcc\x9e\xac\\\x00W\xacg\x9b\xfa\xee\xea\xbb\x89\xfd`:\x97\xa4\xd8\x1a\xb5\xb1\x8c}N-Q%\x837\x0e\xf1\xf0N\xe5\x8fj\xadn\xf6T\xd5\xa9\xb3\xbdw\xdbW^\xa3\xc3gf\xc7\xf2\xa4::\xc7\xb9s\x1a\xd9\x1cD\x83j\xf5\xcd\xcb\x0cV\x94\x19\xa3D\x9f\xcf\\\x13^\x1e\xb2\xd6[#}MXpop\xfe%lf\xc7\x04\x0d\xday\x99m\x8a\xeb\x9bo\x20\xb3e\x9fi\xb5g\xe4\x10:\xc9\x08\xaf'+\x17\xc0\x17\xfbb}\xdd\x0d\x13\xc9l\xeaHRh\x8d\xda7N{\x07~\xe4\x92\x0c\x0f\xefT^2\xacn\xb6\x11\xeb\x87G\xc5\xa3\xc3U\xc6\xc5\xbaHitz\x8b\xec\xc3\x16\xd9\x1cD\x83j\xf5\xcd\xcb\x0cV\x94\x19\xc3\x98\xcf\\\x13b\x0fY\xee\xad\x91\xae&8\xb878\xff\x12\xfem\xf4a\xda;q\x17\xdb\xb4Mq}\xf3\x0dd\xb6X\x92a\xe4\x10:\xc9\x08\xaf'+\x17\xc0\x15\xdbWQ\xb5\xb4\xb5\xbdv6u$)\xb4F\xfd\x9b\xfe\xf9\xdc\xed\x92\x0c\x0f\xefT^2\xacnr\x0b\xaa\xe2\xd1\xe1*\x13/\xbe\xa6>:\xc6ZFo\x9b|\x0e\xa2A\xb5\xfdf=\xcc`E\x991\x8c\xf9\xcc5!\xf6\x90\xe5\xde\x1a\xe9j\x82\x83{\x83;^\xc2\xba\xc7i[\x99\xee\xa3\xadU\xcaLq}\xf3\x0dd\xb6X\x92a\xe4\x10b\xc9\x08\x9b'+\x17\xc0\x15\x9bQ\xc3\xdeN\x0bT\xc9\xe0\x93\x14Z\xa3\xf6\xe9\xef\xc0\xc3\xb6dh\x1f\x04\x1e\xde\xa9\xdc\x90\xd8\xdd\xdce[\xa5\x89G\x87\xabl\x97\xd0V-\xf5\xd1YV\xa2\x99@l#\xa7\xa4s\x10\x0d\xaa\xd57/3XQf\x0cc>sMxx\xc8\xdao\x8d\xb45a\x13+\x19\xfaK\xb8\xa3\xbc\xf7\xa1\x1fj\x11\xb6)\xaeo\xbe\x81\xcc\x16[2\xf4\x1cB,\x19a\xf3d\xe5\x02\xb8bU\xec\xdd\xd6w\xb3*\x19|\x92bk\xd4\x05\xe5\xea\x0b\xde\xd7\xa0I\xc6\xb8\x85CSm\x00\x00\x11\xbeIDAT\xa5\xeafM\xd4Y\x19\xef\x9d\xca\x0d\x89\xdd\xcd\xee\x8aZ\xf6I\xb5h\x89\xd7\xe8p\x95q\xb1\x1c\xa9\x8f\xceW\x13\xefe\xd7Jj\xa7I\xe7\x20\xb6\x935\xfb\xe6e\x06+\xca\x8ca\xccg\xae\x09O\x0fY\xf3\xad\x11t\x13\xc7\x9bcT\xd9!\x19\xdcK\xd8[\xbec\xb2v^\xc2\x99\xe2\xfa\xe6\x1b\xc8l\xb1%C\xcf!d\x92\x11bOVG\x00owz\xdf\xfaU\xb7\x92\xf2\x96w\xf8$\xc5\xd6\xa8\x9fUT\xado\x9d_\xacI\xc6\xdc\x8a\x96U5D\xeb\x90\xd8;\xd5\xf6z\xa5\\7\xf7\x14\xcf\xdc\xd0\xb6\x88l\xa6^\xa3\xc3\x0d*\x17k\x13\xc0\xe8\xb4\x8d\x9b\xfbbk]\xd1\x9b\xd29\x88\xedd\xcd\xbe\x09\xcd`=2\xeb}\xbb\xbd\xbd\xb8\xb1\xfd\x8d3\xce&\xfc<d\x83n\xa2\x9e\x94\xba\xac\xf3\x1cop\xc7K\xb8\xec\x862\xfd\xf2=g\x8a\xeb\x93o\x20\xb3\xe5\xfd\xf5d\x9d9\xecZ\x0e\xe1\x92\x8c0{\xb2:\x03\xac\xd4\xfb\xd6TG+\x1ex\xa1:Z\xcb%\xe9a\x8dJ\xbfh\xac*\xa9=\xa0I\xc6\xd1\xda\x92\x09uOk\xdd\x14{\xa7ZC\xa2au\xf3\xe3\xfb\xae\x9dP\xa3\xad\x89x\x8c\x0e7\xa8v\xacM\x10\xa3s\xa8n\xdc5\xf3\x0f\xb3-\xa9\x1c\xbc\xecd\x8d\xbe\x09\xcd`=2\xdb\xaf\xef\xd6F\x92o\xc2\xc7C6\xe8&6\x97\x12\xf3\x05\xd2q\xbd\xc1\xf9\x97\xf0c\xd2\xa4op\xa6\xb8\xf1\xf3\x0dd\xb6\xf4\xb0gK\xce\xfc\xff\xed\x9d\xcdk\x1cG\x1a\x87\xff\x0d\x95\xc1\x8c\x91\x05\x8bE\x10h\x1c\x82\x1d\x88\x0f\xc6\x106d/\xc29\x8cN\xc2$\x81\x08\x1d,\xd8\x95!\x98\x18\x82\xd8\xb0>\x0cYC\xf0\xc5\xc6\x86\x80C\x20\xe8\xe0\x93M\x0e\x02\x81\x18\x88\xcd\x06\x07\x13\xb3X\x84\xb0\x868\xc6\x91\x8dM\x1c!\xa2\xa1v\xfac\xba\xde\xeayk\xaa\xab\xa7{F\xd5\xf3{\x20\xc90\xe9\xa9z\xab\xde\xd6o4\x1f\xea'\x1a1\xac\xc1\xaf\xc8(\x81\xa19Y\x0b#z\xfb\xd3\x91R\x969\\\x8c\x9b\xea\xf1\xdan\x89\xcc\x82\xde\x9dZ\xfc\x17G#\xd4\xd5\x855\x8c}d\x0c\xcd\xc9Z\x18\xb9\"\xa3\x8ce\x0e\x97>\x9b\xea\xeb\xda\xda_M\xaf\xd8\x8eIX\x9b\x89\x03s\x84\x91\x11\xd6\x80\xc8\xf0\x8e|\x91\x01\xf6\x1fOg\xcf\xef\xd9\x8e\x89hn\xb6\x1b\x17\xe3\xdb\xa3\x8a\x8cn\x0d\x88\x0c\xdfx\xb4.>\xb9[\xe2/1`\xff\xb1+\xde=W\x8f^\xc2\x8cL\x8a\x9b\xd4\x80\xc8\xf0\x8d\xd3B\x88\x83\x8flG\x81J\xd1\x9cj\xfc\x1c\xdd\x1a\x9d\x14\xb7[\x03\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\xa3\x04\xa1\xe7\xbet\xb2\x0eN\xf1\x1b5\\`u-\x84\xaaE\x86\xd52\xd9C\xe5\x9d\xac\xc1`\x91\\C\xbfX\x8e\x8e\xdd\xc9j3\x9f\xdaG\x88\x19x\x7fau\x1d%U\x89\x8c\xcc\x96\xc94\xd5w\xb2\x06\x83=\x93\xcf.\x89\xaf\xfe\xe8s\xb4\xd5\xc9j5\x9fZG\x88)`\x7fau\xcdJ\x09V\xd7\xaaDFf\xcbd\x8aqp\xb2F\x17\x12\xdd\x14\xe9\x8b\x18\xa6`v\x87\x90\xc5|\xda\x7f\x84.\x83\xef/\xac\xae\x99)\xc1\xeaZ\x95\xc8\xc8l\x99L1\x0eN\xd6B\"#\x8b\xf94[d\x0c\xbe\xbf\xb0\xbaf\xa6\x04\xab\xab_\x91Q\x90eR1\x16NV\x1a\x19\xb6\x89M\x0b\x82\xd5u\x00\xe5j\xb5\xac\xae~EFA\x96I\xc5X8Y\x83\xc1vw\xd7\xc3\xc8\xb0MlZ\x10\xac\xae\x03(W\xabeu\xf5,2\x8a\xb1L*\xc6\xc2\xc9\xba\x15?\xd9le\x98\xd8\xb4\x20X]\x07R\xaeV\xc9\xea\xea]d\x14a\x99T\x8c\x85\x93\xb53\xd8\xbd{\xf7.\x07\x91a\x9d\xd8\xb4\x20X]C\xf2)W\xabeu\xf5.2\x8a\xb0L*\xc6\xc2\xc9J\xde\xcb\xb0NlZ\x10\xac\xae!\xf9\x94\xab\xd5\xb2\xbaz\x1c\x19\xf9-\x93\x8a\xb1p\xb2\x92\xc8\xb0NlZ\x10\xac\xae\x11\xf9\x94\xab\x95\xb2\xbaz\x1c\x19\xf9-\x93\x84qp\xb2\x92\xc8\xb0Nl\\\x10\xac\xae!N\xcaUB\x85\xac\xae\x9eEF!\x96I\xca\x188Y\xb5o\x7f\xda&6.\x08V\xd7\x10'\xe5*C\xd1S\x8c\xc0\xea\xeaWd\x14b\x99\xd4\xa9\xbe\x93U\xfd\x8d\xc9u\xeb\xc4\xd2\xb8bX]#\\\x94\xab\x0cEO1\x02\xab\xab_\x91Q\x02\xa5\x08=\xf7\x9f\x93upJ\xd9\xa8\xe1\x02\xabktc0\xdf\xda\xd8GF\x19B\xcf\xfd\xe8d\x1d\x9c\x126j\xb8\xc0\xea\x1a\x07&\"c\xcc\x18Ud\x80\xfd\xc7(\xac\xae\x88\x0c\xdf\x80\x93\x15\xb8S\xa0\xd5\x15\x91\xe1\x1bp\xb2\x82\x1c\x14guEd\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x80!\xd2nG\xff\x00\x7fAd\x80a\xb1\xbd\\\x17\xefK\xf9\x91\x98]N_\x83\x00\xf8\x03\"\xa3\x04\x1d\xe7(\x9c\xac\xc5\xaf\xa2h\xda'O^\xdfx\xdcI\x8e\xd6\x8d\x933\xa6k\xea\x03\x96Q\x9cQ&\xaa\x16\x19\x9e;Ys;8sIE\x099'~\xb9rtr!\xe3\xc4\xd1e\x83B6\xc5\x83>\x07\x96H\xcee\xf6\xa55!N\xb7\xe5M!&6l\x87R\xfa\x9c\xa91\xcbB\x88\xc3\xd1\x9f\x06\xe4?\xa3\x8a\xa7*\x91Q\x11'+\xeb\xe0\xcc\xe0\xd5\xcc'\x15%\xe4\x9c\xb8Q\xbfvv2\xe3\x05\x1b~\x10\xdfuo\xdeK.\xd0[\x16\x86\xd2\x07v\x9c2\xecn\x88\xc9\x96\xdc\xb9)6\x9c~u\xeas\xa6\xc6<i\xb5\xae&\x1b\x95\xf7\x8c*\x9e\xaaDFU\x9c\xac\xdc3\xb6\xdd\xab\x99W*J\xc85\xf1\xef\xe2\x8al\xf7^\x7f\x97\x87\xe4D\xf9\x91a*=\xe3oDN\xec\x88@\x0f\xf2Xd\xdd\x88.\xb6\xc8\x90\xdaF\xe5=\xa3\x0a\xa7*\x91Q\x1d'k/v\xaffIRQ\xeb\xc4\x8f\x84\xc3\xef\xf9C\x8d\x0ck\xe9\x05\xb2#6\xa6vK\x8f\x8c\"\xcf\xa8\x81\xf0+2*\xe8d\x95/\x96f\xde\xb8pafJwp\xb2rU\x9b0U\xbf\xb7k\xf1$\xf5\xa6\x8b\x8cQ\x13\x9f\x13\xb5\xeb\xf1\xf6Y'\xde\x9b\x89\x0e\xf8D\xea\x82W\x93>tS|\xdf\x9d\xf0\x81\xd8\x94FH\x0dj\\C\xe75\xb8=\xa3+f\x97I\x1b\xc0\xa2\xe9o9\xa3j'2\x1e\xff\xedf\x14\x19N\xf5\xd6>\xfeG\xa2FUg*\xb9\xa9g+\xa3\x93\xe5\xda\xa2\x9fg\xdd\xc1\x0c\x9d\xcf\x83_\x91QA'\xeb\xde\xa9\xfa\xd5\xe6\xa1\xc9/\xe7/S\x07'/W\xb5\x09S\xb5{\x13\x8b'\xa97]d\x97d\xe2\xc0\xd7Yo~q\xa4\xb3}\xf6\x89\xff\xdb\xfaF4[\xc1\xa5\xdc%\x11\xbc\xf2\xfa\xd0?\x9fo\xceM'\xa7\xfc\xde\xcc\xdc\x9d\xdfL\xaf\x11H\x0dd\\\xbe\xf3\x14v\xcf\xb4\x15s\xcb\xd4\x1a\xc0A\xf5\xb7\xacQ5\x88\x8c+\x0bQd\xb8\xd4\x1b^\xe8\xfb\x9b\xbf\x86jTu\xa6\xd2\x9bzd0:Y\xae-\xda\x8a\x93\xc1L\x9d\xcf\x81g\x91Q='\xebZ\xf0\xe1\xc1U\xd1\xfd\xa2B\xec\xad\xe0\xe5\xaaVa*\xb9\x97\xbaH\xa9\xe6S+\x92\x10O,k\xd3\x9d\xa7\xde\xa5zt\xacm\xe2\xe4\x85\x09\x11\xbc\xf2\xfa\xd03\x9d'}\xf2\"f]\x90k\x97\xf7\xa0j\x20\xe3\x9a:\x9f\xc0\xefYj\xc5\xbd\xcbL5\x80A\x99qx\xa3j'2\x9e\x1fz\x1eF\x86K\xbd\xb2v\xb2sR\xee\x9e\x98\xd3\xceTrS\xea\x91\xd1{F\x99\xda\x92\xdc\xd4\x063u\xde\x15\xef\"\xa3jN\xd6\xd5i\x19\\.\xbe\xfb\xc6I|J\xf3rU\xab0\x95\xdcK]\xa4T\xf3\xa9\x15IH~\x96\xce\xca\xe4M\x1f\xeb\xc4\xea\xbd\x8cD\xf0j\xd0\x87\xfe\xba~\xed\xe4k\xc9\x8b\xfd\x9d\xfa\x9bW6\xcc\x17\x86\"5\xa8qM\x9dO\xe0\xf7,\xb5\xe2\xdee\xa6\x1a\xc0\xa0\"\x837\xaav\"C.\\\x89\xde\xcbp\xa8W\xd6>\x0b\xfe}M\xfcN\xceTzS\xa6##}F\x99\xda\x92\xdc\xd4\x063u\xde\x15\xef\"\xa3\xd7\x11\x199-}u\xb2^\x9ex\x11\xfc\x98=\x8c\xffO\xf7\x94f\xe5\xaaVa*\xb9\x97\xbaH\xa9\xe6S+\x92\x90\xfc,%\xdb\x97a\xe2$2\x94\xe0\xd5\xac\x0fm)\xe3\xc6=\xd1\xf7+\x0c\xaa\x062\xae\xa9\xf3\x0av\xcfR+\xee]f\xaa\x01\x0cdKX\xa3j\x10\x197\xdf\x09#\xc3\xa9^\xa5FUg*\xbd)\xf5\xc8\xe8=\xa3LmInj\x83\x99:\xef\x8a\xc7\x91Q\x0d'\xeb\xaf\x07\xe6\x7f}p\xe2t\xf7en|J\xf3rU\xab0\x95\xdc\xab\xb9H\x89\xe6S+\x92`\x8c\x8c~\x13'\x91\xa1\x04\xaff}h\xf6OLT\x0dd\\S\xe7\x13\xf8=K\xad\xb8w\x99\xa9\x060(\xfd-oT\x0d\"cwj#\x88\x0c\x97zc5\xea\x97\xe2\x0fr\xa6\xd2\x9bR\xdf\xa8\xde3\xca\xd4\x96\xe4\xa66\x98\xa9\xf3\xaex\x1c\x19\xd5p\xb2\xde\x17G\x85h<\xed\x1e\x12\x9f\xd2\xbc\\\xd5*L%\xf7j.R\xa2\xf94}\xfa\xc8E\x86u\xe2$2\x88\xe0\xd5\xa8\x0f\xe5#\x83\x91\x8a\x92\x1a\xc8\xb8\xa6\xce'\xf0{\x96Zq\xef2\xf5\x06p\xe5(\xfd-oT\x0d\"C\x9e]\x0a\"\xc3\xa5^Y{#x\xd3\xe7TC;S\xc9M\xa9m\x14sF\x99\xda\x92\xdc\xd4\x06+\xeasg\xcf\"\xa3zN\xd6\xfb\x876\xbem=\x0d\x07#\x0eNV\xaej\x15\xa6j\xf7R\x17i\xb7\xde\xd4\xc3\xba\xa8\x89\xb5\xed\xb3M\x1c}b\x12^\xdf\x9e\x08^\x8d\xfa\xd0\xfb\xea\x17\xeb\xef\xd5\xe7\xad\xbdRQZ\x83\x1a\xd7\xd8\xf9\x04v\xcfh\xbd\xfc2I\x03\xd8r\xa8\xfe\x965\xaa\xeen\x88\x9b;\xb25\x19D\x86K\xbd\xb2&\xe6\xefn\xcc\x85jTu\xa6\x92\x9b\xbf\x05\xdf\xfe\xbc\xd2jEoAp:Y\xae-Z\x8f\x93\xc1\x0c\x9d\xcf\x83_\x91QA'\xeb\x9dZpo\xed\xbd\x87\x9a\x83\x93\x95\xab\x1ag\xeb\xaeB\xbf\x97\xfaP\xe3z\xd3\x0f\x8bQ\x13k\xdbg\x99xo:\xbcy0\xf8\x14\x96\x0a^M\xfa\xd0\xe7\x07?|\xb0\xddi\xc6\xde\xf6\x8f\x1f\xd4\xb6\xbbs\xf7HE\xb5\x1a\x92qO\x1b;\x9f\xc0\xee\x19]1\xbfL\xd2\x00\xc9\x95C\xf5\xb7\xacQus\"\xf8\x86N{\xae\xde\x96N\xf5\xcaS\xcd\x0f\xff\x12\xabQ\xc9\x99\xaan\x9e\x8d\xca\x15\x1f\x05w\xf3:Y\xa6-Z\x8f\x93\xc1\x0c\x9d\xcf\x83_\x91Q\x02\xa5\xe88\xb3;Y\x9fM\xad<\xfb\xf3\xcfW?\xbc\xffZ\xc6\xbf\xd4\xe0)e\x15Es\xebT\xf8\xf3sF\x88\xe3\xe4\xf3\x09\x07\xa9h\x19\xa4\x1b0\xe2rLd?\xa3Jg\xec#\xa3\x0c\x1d\xa7\x83\x93\xf5V\xf45\x02\xd9\x9e]\xef\x7f\xa0\x85\x12VQ\x02\xcf\x1et\x9eS\xb7\xef\xff\xa6\xeeq\x92\x8a\x96\x81\xde\x80\x91\x97c\xc0\xe1\x8c*\x1dD\xc6h\xb9\x7f\x20\xfa\x85\xf8\xe1\x01\xf55\x8aq\"\xbbT\xb4$\xf4\x06\x8c\xbc\x1c\x0f@d\x8c\x96\xf6\xf2\xe4\xca\xda\xe6\xda\xca\xe4\xca\xbey\x16\x19/\xd0\x00W\x10\x19#\xa6}{\xfe\xf5\xda\xeb\xf3\xb7q\xc2\x8e\x084\xc0\x11D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x02u\xe9\"2\x00\x00\xfdH\xb9t\x11\x19%\xd8L\xf7\x93A\x93\xa3\xf8\x15\x83\xea\x92v\xe9V-2<w\xb2\xc6E\xde\x08\xaem0;\xff\xa3\xed\xe8|8\xf8[\xd5\x9e\x95a3\xe5i\x8aZ\x90\xb8\xdf\x1e\x16M\xdb\xa1\xa5Qn\x032B\x9c\xacFr\xb6e\x10\x97nU\"\xa3\"N\xd6\xb8\xc8?\xbe\x12\xffn\xdd\x98\x9b\xe8#\x08\xca\x8f\x8b\xbfU\xedY\x196S\x9e\x17\x8b\x87\x83\x0b\xf54&\x17S\xd7\xca\xb4+b\x0b\xa3\x90\x06\x0cZ\xaf\xe6d50\x02\x97nU\"\xa3*N\xd6\xb8\xc8\xad\x20\xd9\xdb\xa7OX\x8e\xcd\x83\xa3\xbf5\xd9\xb3\x8c\xcfI\x01\xdd\x9d\xcc\xc9\xea\xc2\xe1W\xf2\xf7\xc9\x85t\x9dVEl\x01tK/\xa2\x01\x05\xd4k7Qrm\xb1N<\x90K\xb7*\x91Q\x1d'\xab\x8a\x0cM,P\x18\x8e\xfeVf\xcf\xac<\xecw\x89\x7f;\xab\x8b\x8d5\xf9\xf5\xfcb:2\x8a\xba\xdem?\xba\xa5\x17\xd1\x80\x02\xea\xb5G\x06\x87u\xe2\x81\\\xba~E\x86\xcfNV^\xe8\xa9\xd9AU\x91\xd1\x19\xbb\xf4\xba\xa4\xc7\x92\x11\xce\x89\x83WVz\x84\x9e\xda`\xac>\x94\xac\xd8\xa5\x1c\x17\x9b)\xd9I\xdd\x92\xfaY\xb4g\xda\x08\xc4\xdf\xaaX]\xbc\xfa\xbe\\\xb8\xd6\x89\x0c\xe2C\xd5z\x9c\xd4\xbb\xd5\xd9\xf5\x85\xf61!\xa6\x0dW\xc61\x99pw>=9\xf5\xde\x7f\xdeX\xd7\x0e&\xa5\x1b\x1a\x90<L3\xb5r\x1d\xd2\xea\xe5\xe0+\xd3\x1a\x9b\xfc\xb8\x92\xed\xa3C\x8c\xc6\xa5\xebWd\xf8\xecd\xe5\x85\x9e\xd4\x0eJ\x8a\xdc\x12\xdf\xee\xfe\xfc\xa9\xf8\\\xab\x81\x8c\x10<\xec\xf8\xe7\xcd\xe3\xba\xd0\x93\x0e\xc6\xebC\xc9\x8a]\xcaq\xb1\x99\x92\x9dTS\xec\xde9\xb6\x12\xec\xd9\x91\xefv\xe8\x08\xd4\xdf\xaaX]|2\xf5\xf2\xd0v'2\x88\x0f\x95W\xc4\xb6\xef6\x0f\xdc\x95_O|m\xba\xa6\x99\xc1\x84\xfb\xea\xad\xd9\xcb\xeb\xe7\xc2+3\x13H\xe9|\x03\xd4\xc3\xa8\xa9\x95\xed\x90V/\x07_\x99\xd6\xd8$2\xc8\xf6ic\x8c\xc4\xa5\xebYd\xf8\xecd\xe5\x85\x9e\xc4\x0eJ\x8a\xdc\x0a\x9f\x07\x96\xda\xfa\x14\xd4:Z{\xb33\xd1\xabc\xba\xd0\x93\x0cf\x98M\xad\xd8\xa5\x9c\x80\xec6\xd3d'i\xbd\xcd\xe0YoiY\x1f\x81\x8ac\x15\xab\x8b\xf2\xed\x959\x19\xbe0a\xe5m\xb4\xde\xf6\xd9\xb9\x17\xc7\xfa~>\xc5\x99p\x97\xa7\x83'\xd3\xf3\xa9\xc8\x20\xa5\xf3\x0d\xa0\x0fS\x95\x19:d\x7f}\xc0UF\x1a+\xc9\x8b\x02\xb2}:\xc3w\xe9z\x17\x19\xfe:Yy\xa1\xa7\xb2\x83\xd2\"\xb7\xc4\x17\xdf\xdf\x9e\x9b|\xac\x1fK\xad\xa3\xd1\x9b\x98Wu\xa1'Q\x8d\x1afS+v)'\x20\xab\xcd\x94\xec$\xad\xf7\xc9\xc4Or\xef\xc8\x86>\x02\x15\xc7*:\x91qI\\\xea\x13\x19\xda\x82v\xdf9\xda\xff\xe3B\xc6\x84\xdb>\x1c=7\xa7\"\x83\x94\xce6@{\x98\xaa\xcc\xd0\xa1\x0c\x91\xc18zIc%\x89\x0c\xb2}:\xc3w\xe9z\x17\x19\xeb\xbc\xe9\xd2\x07'++\xf4T\xf5\xd2\"\xc3\x97\xd2\xaf\x0e\\\x93\xfa\xb1\xc4:\xca\x0a=\xad\xfaP\xeaou('\x20\xab\xcd\x94\xec\xa4fI\x9d\xbf\x20\xd7\xa3w\x1c\xd4\x08\xfc\xdb\x8b\x9d\xe6\xbe\xf8\xf4Y\x9f\xc8\xd0\x1d\xa77\x19\xfb-\x851\xe1>\x89rn'\x15\x19\xa4t\xb6\x01\xda\xc3Te\x86\x0ee\x88\x0c\xc6\xd1K\x1a+\xe9[\x8fj\xfbt\x86\xef\xd2\xf582|s\xb2\xf2BOU/-2z\xf7\xed\xc8E\xa9\x1dK\xad\xa3\x91\xd0\xf3\xba.\xf4\xa4\xde@~6\xb5b\x97r\x022\xdbL\xd5Nj\x96\xd4\xdb\xb3{g\xff\x9e\x1aa\x831\x80E\xcd\xed\xa0\"\xe3_\xb5\xf0\x0e^\x11\xfb\xb4\xfe\xcf\xe3/\x99Q\x12\x18\x13n;Z\xccO\xe9\x17&\xaat\xb6\x01\xda\xc3Te\x86\x0eQ/,\x0f\xe7\xe8%\x8d\x9542\xd4\xf6\xe9\x0c\xdf\xa5\xebqd\xf8\xe6d\xe5\x85\x9e\xa4^Rdt\xc6\xd6\xcf?\xf8\x9c\x1eK\xad\xa3\xb5\xa3\x9dH\xday\xab\xa1\x8b7\xd5`\x86\xd9\xd4\x8a]\xca\x09\xb0\xd9L\x09\xdd\x9d\xd4,\xa9{\xb3\xb7_\xdbH\x8d\xa0\x89c\xe5\xe3\x7f\xff\x12\xfe\x97F\x86\xf2\xa1\x1a\x14\xb1{s\x17\xe5J#n\"gTeM\xb8\x1f\xccv~\x1c\xdaK=\xefe$\xa5\xf3\x0d\xa0\x0fS\x95\x19:D\xbd\xb0\xd9+#\x8d\x95\xf4\xc7Um\x9f\xce\xf0]\xba\x9eE\x86\xc7NV^\xe8I\xeb%EF_\xd2m,,\xbfM\x97IG\xa8\x89w\xd7\xbe<\xa1\x0b=u\x9b)3[@w\xc5.\xe5d\xb1\x992h\x96T\xb9\xfa\xd6t\xf0\xde\xa0\xd6!*\x8e\x95g\"\xff\xdf\xcb\xa5F\xf0f\xfevc\xe9%\xf5\xa1\xaa\x1eS\x1f\xea\x9ds\xf5'\xf2\x97#\xe7\xef\x84\xbf\xb3\xf7\x1aU\x0d&\xdc\xed\xfa\xb1\xab\xb7\xce\x1c\xea\x8d\x8c.|\x03\xe8\xc3He|\x87H\xbd\x0e\x95\x91\xc6\xeaN\xd6x\xfb(\xa3q\xe9\xfa\x15\x19>;Yy\xa1\xa7VoRd\xf0\xd5\x8fK\x9d1O\xcc\xde&\xc7j#\xd4.,\x1fI\x0b=\xe9`\xecl!\xf1\x8a\x1d\xca\xc9d3e\xd0\xa6\x90\xff\x13\xe1s\xaf\xae}\xa5\xe2\xd8\x1b\xf5k\xc1\x7f\x9aB\x04\x1fF\xad\x04\xdf~!>TV\x11\x1b\xbc\x83\x7f^~,D\xf4\xd5\xee^\xa3\xaa\xc1\x84+_,\x1f\x9bl\xdc7F\x86\xa1\x01\xf4a\xb42\xb6C\xb4^\x87\xcaTc5'kw\xfb(\xa3q\xe9\xfa\x15\x19%P\x8a\xcdt\x08\x06\xcd\xe4M\x18g\x8aZ\xb1\xabNv\xa76\xd0_ld\xc2\xcd\xa8\x9a~\xfb3#\xb9\x1e\x96\xb92Sc\x87\xb1}<)\x97\xee\xd8GF\x196\xd3a\x184\xf3GFQ+v\xd5\xc9\xae\xcd\x94\x1d\xa3\xaeF\xd5\\?\xfb\xb9\x1e\xe6P\x99\xa9\xb1\xe5o\x9f\x19\xcd\xa5\x8b\xc8\xf0\x94\x01\"\xa3\x20\x9ct\xb2\xcd\xcdv\xe3\xa2\xed\xa0Aq5\xaa\xe6\xf8\xd9\x0f\xc8\xf10\x87\xca\xd8\xc6\x0ee\xfb2\x82\xc8\xf0\x92\xa7\xe1\xdb]\xb6\xa3\xca\xc5\xc5f\xba+\xde=W\xcf\xf8\x9b\xf9\xd0x\xb4.>\xb9k\xaf=M\xce\x87e\x83o\xec\xbe\xda>D\x86\x97\x84ow=\x96\xa3\xc5\xc5f\xda\x9cj\x18\xff\xdabT\x9c\x0e\xde\x04\xb4\\\xc2\x86!\xe7\xc3\xb2ah\xec~\xda>D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x81\xff\x03&\xf2B\xcdI\x1b+\x96\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"analysis/typeinfo-src.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xc1\x00\x00\x01\xb3\x08\x03\x00\x00\x00\xf9m:\x11\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x0a\x03\x01\x05\x07\x03\x02\x0d\x14\x0a\x0c\x08\x10\x12\x0e\x0f\x13\x1e\x1b\x1a\x14\x20\x1f\x19\x1c\x20\"\x17!;!#\x20#$\"$%#&'%'(&+)\x1e()'\x18-T*,)/,!-/,12053'35386*6758:7<:.<>;>@=CA5&CxAB@EFDIJH\x00g\x00KLJ\x00j\x026NzNOM0R\x95\x06m\x06UP?PRO>V\x82\x0fq\x0bTVS\x0dr\x17\\WEVXU,`\xae7]\xad\x15w\x1c[]Z8`\xaa\x19y\x1e;b\xac_a^=d\xae?f\xb0*{!bdaSe\x84)}+Bh\xb3efdDi\xb4ghfLj\xafpiQEm\xb1ikh0\x820Ol\xb2Ip\xb4lnkTp\xa3Kr\xb7npm6\x869Nt\xb9zs[Wu\xb5>\x89=strZx\xb9vwt]{\xbbG\x8eHy{xX\x80\xbf^\x7f\xb9\x85}ea\x7f\xbf}\x7f|O\x93N\x7f\x81~c\x84\xbeW\x95V\x82\x84\x81m\x87\xbch\x88\xc3\x90\x86h[\x99Zj\x8a\xc4\x87\x88\x85q\x8b\xc1\x8a\x8c\x89`\x9dd\x96\x8cnt\x8e\xc4z\x8f\xbf\x8f\x91\x8eg\xa1hy\x93\xc9~\x93\xc4x\x95\xc4\x92\x94\x91\x81\x95\xc6\x9f\x95w{\x98\xc7\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96u\xa8v\x86\x9b\xcc\x80\x9d\xcc\x99\x9b\x98\xa5\x9b|\x85\x9e\xc8\x82\xa0\xcf\x99\x9e\xa0\x9c\x9e\x9b\x89\xa1\xcb\x9e\xa0\x9d\xab\xa1\x82\xa0\xa2\x9f\xa1\xa3\xa0\x81\xb0\x83\x91\xa5\xca\x95\xa5\xc4\x8e\xa6\xd1\xa3\xa5\xa2\x91\xa9\xd4\xb4\xa7\x83\x95\xa9\xce\xa7\xa9\xa6\x8c\xb4\x8a\x94\xac\xd6\xaa\xac\xa9\x99\xad\xd2\x9f\xae\xce\xbb\xae\x89\xad\xaf\xac\x9d\xb1\xd6\xaf\xb1\xae\x98\xbb\x97\xa3\xb3\xd3\xa1\xb5\xda\xa7\xb6\xd6\xb1\xb5\xc4\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xc4\xb7\x92\xaa\xb9\xda\xa2\xc1\xa4\xb7\xb9\xb6\xb3\xbc\xc4\xad\xbc\xdc\xba\xbc\xb9\xa6\xc5\xa8\xb1\xbd\xd7\xbd\xbf\xbb\xb1\xc0\xe1\xb8\xc0\xd5\xaf\xc7\xab\xcd\xc0\x9a\xc0\xc2\xbe\xb7\xc2\xdd\xbb\xc3\xd8\xbd\xc4\xda\xb2\xcc\xb7\xc4\xc6\xc3\xba\xc6\xe1\xc0\xc8\xdd\xc7\xc9\xc5\xbc\xce\xba\xd8\xc9\x9d\xc6\xca\xda\xc0\xcb\xe6\xc9\xcc\xc8\xc2\xcd\xe8\xbf\xcf\xe2\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd3\xc1\xc8\xd0\xe5\xe1\xd1\xa5\xd0\xd2\xce\xc8\xd7\xca\xcb\xd3\xe9\xd2\xd4\xd1\xd2\xd3\xdd\xce\xd6\xdf\xdf\xd7\xa9\xce\xd6\xec\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xcb\xdb\xee\xd5\xdc\xd1\xd3\xdb\xe4\xd6\xda\xea\xd9\xda\xe4\xda\xdc\xd9\xd2\xde\xec\xd9\xdd\xed\xdc\xdd\xe7\xd7\xe1\xdc\xe0\xde\xe2\xdd\xe0\xdc\xdb\xe0\xe2\xf0\xe0\xb3\xd6\xe2\xf0\xdd\xe1\xf1\xe0\xe2\xdf\xde\xe3\xe6\xe0\xe4\xf4\xe3\xe5\xe2\xe1\xe6\xe9\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe7\xf2\xe4\xe9\xeb\xe7\xe9\xe6\xe2\xea\xf3\xeb\xee\xea\xec\xed\xf7\xe6\xef\xf7\xe8\xf0\xf9\xf0\xf0\xfb\xf0\xf2\xef\xf4\xf2\xf6\xef\xf4\xf7\xf4\xf6\xf3\xf2\xf8\xfa\xf8\xfb\xf7\xf6\xfb\xfe\xfd\xfb\xff\xf9\xff\xff\xfe\xff\xfc\x11\x0a\xd6\x8d\x00\x00\x20\x00IDATx^\xed\x9d\x0d\\T\xe7\xbd\xe7\xef\xb2\xcd&\xbb\x0f\xcc4w.s?e\x8a\xbd\xbc\xe8z-[\xb2z>\x8c#\xd6-h\x16#,6\xd7\x17\xbc\x94+\x95h\xae\xa2\xb7Jb\xc8\x8d\x8e\x91\xd8\x05\x0aac\x12r'\x161vg\xbd)+\x91\x98b,\x09i41\xb9\x96H,-\x9b\x17\x92\xb6c\x1a-&\xd4\x13\x93[\xaf\x0a\xfd\x9c\xcf>/g\xe6<g\xe6\x9cy\x81\xe1\x0c\x07\xfe\xdf\xb4\xe3\x993\xcfy\xce\x19\xf8\xce3\xff\xf3\xf6\xe3\xcf\xa4q#\x02@\xe2\xf9\xb3H\x9e\xea\x13\xa9k\x000\x000\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb4\xc1\xde\xde\xc0d\x8f\xdbC\xff\xf5u\xec\xaf\xdb\xdf\xe1\xd3[\x02\x00\xc2a\xb0\xc1\x83\xee.\xff\xe4P]G#\xfd\xb7\xb1\xb5\xb7\xafw\x7f\xe3\x90\xeeB\x00\xa0\x8f\xb1\x06\xf77+\x06{\xda\xfb\xa8\xc1\xde\xe6a\xfc8\xdc\xdc\xa1\xb7\x10\x00\x84\xc1P\x83\xbdno]\x97<\xddS\xef\xeb\xa7\x06\xb7\xb7\xd2\xe7\xad\xed:\x0b\x01@8\x0c5\xd8\xe7\x13\x1b\xbb\xe4\xc9\xba\xd3b\xbf\\Ex\x87\x86\x87\xbcPE\x00\xe3\xc2P\x831~\x83=x\xc8e\x06\x8b\xbev\xb7\xdb\xdd\x06{r\xc0\xb8H\x90\xc1\xbd\xf5>\xbf\xc1\xc3\xed\xcd\xbd\xfd\xbd\xcd\xed\xc3\xe1\x16\x03\x00\x1d\x12c\xb0\xaf\xaewdd\xa4\xafq\x04Ow4_\x14aO\x0e\x18/\x891\xf8\x8c\xdbO\xbfX\xd7M_\xe8\xae\x0b\xb7\x18\x00\xe8\x90\x18\x83\xc5ABO\xfd\xe0\xa0\x08\x06\x03\x13\"A\x06S\xe4\xa3i\xb4\x8a\xb8\xd8\x0cG\xd3\x80\xf1`\xa8\xc1\xbe\xfe\xfezo\xff\x20{2\xd2\xdfS\xdf?\x84g67\xf7\xf4\xf547\xc3\xc1\x08`<\x18jp\x17\xab}\x99\xab\xfdd\xb2\x09O\x0cw\xee\xafo\xed\x84C\x11\xc0\xb80\xd4`\x00\x88;`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\xa6`$R\x83\x99\x0b\x18<\x0eF\x86GF\xf0\xff#5\x8b\x17\xfd%ihI\xa4F3\x1608fzggf\xe6eef\x96\x1bu=hf\xa6\xbb\xbd/R\xa3\x19\x8b\xd1\x06k\xa4N\x8dt\xb7\xd6\xb5*\xb3\x8d\xe2!A8\xa2\xf3\xd2y\xa7\xb0J\x14\x8f9\x05\x86S\xd5n\xd8\x82rs\x93l\xb9s\x936\x1a\xa3p\x0fj\x8b\xd4d&c\xb0\xc1\x1a\xa9S\xa2\xa7\xbe\xbb\xaf+\x90\x84\xa2\x857\xdc\x8b\xb1\xf2\xe2\xab\xec\xdf\xf7O:[t\x9a\\y\xf9\x01\x97(>)\x9c<y@8p\xf2\xe4\x82'\xf9\x17}\xb7l\x93\xa4\xdek\xd2\xe8\x97\x16E\x11q\x11\xcb\xa6\xeb\xb4\xedBp\x13l\x18\x8c5X+u\xaa\xbb\x8e\x88p\xba.\xcc\x806\xb7P\xff\xb5\x98\xa9\xd8\xee\x9fr\xe9\x19,\x8a-\xd8\xe0\x03NQ|UxY\x14\xf3\x0f\xf0/\xf92\x93\x92\x92\xc4\xc2\xa4\xa4/UGap,\x9b\xae\xd3\xb6\x13uj\xce\x07(\x86\x1a\xac\x99:\xe5a\xdf\x91\xfc\x0dt\xc1\xcc\x8eA\x83\x88\xac\x8b\xd6\xe0\xcb\xe7e\x83\xcf_V\xbd\xd6_\x96\x85\x0d\xbee\xd1\xb6\xde(\xee+\x89e\xd3u\xda\x82\xc1a1\xd4`\xcd\xd4\xa9V/\x9d\xd1\xea\xd1Y\xc8\x83\x18\xb3\xd9\xe4\x06\xb1\x1a?6\x97\xa1\x94\xda\x95\x0e\xfb\xa2\xd3\xb4Mc\x8e-C\xbdc\xf5\xe9\x0agCq\xd1\x8b\xbb\x0b\xaa.\xe1gW~T\x91\xbfj7\x9e:&\x97\xb6\x15\xa4\x8dk\xdf\xeeU\xf9\x9b\xde'\x93W\x0eT\xe4\xaf;p\x85L\xbe\xbf\xa3\xa8`+\xa9\"\x08\xd4`\xb6X\x83\xd8\x82\x1f\x8f<$8\xff\xd7\x7f\xc3\x06\xff\xc7\xae\xc1a\xa5_\x15\x1dy\x0e\x8b=/]\xb5\xe9\xdd)\x08m<\xbd<\xdd\x967\\\x86\x92\x1b\xc53\x16\x94I\x1b\x9f)\xb4[\xd2\xf2\xfa\xf9\xb6Ax\xc1\xe0p\x18j\xb0\xa8\x95:\xd5\xd1H\x86\xb2\x8b\xf5\xfbu\x96\xf0ux3r\xbd^\xb2\x0b\xe8\xebp\xac\x19\x14\x07\xabS;|\xbdM)(}[u\xba\xad\x077)I.\xf3\xd4\xdag\xab\x0eo\xbdX\x20\xec\xae\x12\xee|r\x05)\x01v\x0a\xbb\x8f\x1f(ZwE\xbc\xf4\xf2\xc9UU'O\x9e|\x9b4q\x09\xab\x8e\x1c[\xb1\x95L\xeet5\x1cop\xed\xc0S\xe7\x0bV=sl\x93\xa06\xf8\xd2\xcb\xc5\x0f\xfcZ\xfcuK\xc1\xc9Ko\x1eq\x0a\xff\x19\x1b\xfc\x1f\xfe\xf70\xd7/O\x17*\xd9\xdf\xee\xb6\xa3a\xd5\xa677\xa5g\xa4:\xca\x97\xa3\xbe~\xaf\xa5\x1a\x8f\xac%V\xd2\xd8k\x9b]\xd3^\x8dj\xf8\xb6<\xc3\x83\xde\xb9vc\xf6\x18MJ\x82\x0c\xe6R\xa7|\xf5\x9eA_\x7f\xab\xbbY\x7f!\xe5\xeb\xb5\x9a\x0cQ%%d\xd2\x9a\x8e\xbb\x18r\xe4\x90\xa1\xae^$_\xb6\xea\x1e\x8av\x88\xc7\x85c\xe2\xce\x07\xc9\x10\xfa\x8cHl\xa4\xc7\x14\xb8*\xa2\xe8\xb7X\xc2\"<u\\8\xee\x7f\xacZ\x85\x87\xd4+k\xd5\x06\xe3\xb2\x82\x8c\xda;v\xd2\xc5J\xff'1\xf8\x7f\x0c\xab\xfb\x0d\xe0\xb6\x93\x8fdm*}\xc2U\x06\xb3\xd1|\xbc\xc5\xc4F+6X\xac&\x06\xfb\x1cy\x17I`\xd1PP\xdb\x00K\xf0\xb0\xac\xf7\xed\x04\x10\x12c0\x9f:%\x0ey\xdcnw\xa7\xa7U\x7f!\xe5W\xdb\x87z\xc4\x8b\xa94Z\xc2\xba\x81<\xd6\xa2!q\xd9\xaca\x82\xa3D\xb5P\xd1\x11\xec\xd6%q\x1f\x1eXw\x94^\xfe\x14SL\x05\xe4\x0c\xc6r\xd3\x8aW\xdc\xb9\x96\xceX\xf5\x80x\x81J)6\x04\x1b\xfc\xfe\x827\xc4\xcb\x05/\xd2\xc5\x1a\x9aI\x15\xf1\xd7\x17\xd4\xfd\x06\xe8s\xa4\x97\xb9\xbbEV$\xf3\x06[\xfd\x07u\x15\x83=\xa8[YP\xcb\xe0\xbe6w&\x8c\xc1\xe1H\x8c\xc1|\xea\x14\xc674\"6\x869d\xc4\xfdj\xf3\xca\xc56:\xc61\x0dp\x91\xd8%f\xc9%\xa4\xfa\xbcU\xd1q\xf1U\xa7H\x0d^+W\xbf\x9b\xc8\xfc\xa0=9jp\x05}E\xdcT\x81\x95=)\xfa\xe7\x8a\x9c\xc1\xe2\xa6}\xe2\xf1\x82\xcbl1f\xf0\xab\xea~\x15\x86\xdc\x85\x99(\xad\x86N\xf3\x06\xcf\xf5O)\x06\xd7\"\xceN\x9d=9\xa8\x83\xc3\x92\x18\x83\xf9\xd4)6X\x9df.kC\x7f\xb5ut\x04\xf3\xd8\x87Y\x11!Z\xcb\xc8\xa3\x1b+\xb0|V\x17eP\xb5\x101\xd8%\xcac\xf0\xab\x94\x0bd>5\xf8\x99wE\xde\xe0\x9d\xa5\xa4\x94\xbdR\xbaS\xfc\xad@\x0f\x9d\xed\x0c1\xf8\xd8\xd2\xcb;\xd9X\xeb\xda\xad\x8c\xc1\\\xbf\x01\xba*ER\xf7\xda\xdc\xe4\x09\xb7\xe9\x8a\xa0\xd4\xe0\x8d\xc4\xe0\xf6\x901\xb8.\xe4\xec\x1b\x1c\x8b\x08K\x82\x0c\xa6\xb0:\xb8\xd7\x8d\xcd\xf35yu\x16\x20\xe4\xe6b\xe7Y\x99;l\xf7\xd8Y>\x955\x8dT\x95\xb3\xf0Km\xec\xa5\x0d\xdbT\x0bq\x06\x1fg\x95j\x03=3QU%\x8a\xbf\xa63\x14\x83Y\x83#\xa4\x0e\xae(\xc6>\xbe\xed\x0a1\xf8\xf2\x9d\xc7\x96\xd2\"Bt\xad\xf0\xd7\xc1\xaa~\x03T\xb3sh\xb9k\xe8\xa3\xb2\xe9\x8a\xc16\xec\xf8\xc8\\Z\x07\xa7\xe5\x92\x0fpYYP[\x1e08,\x86\x1a\xac\x99:u\xda\xdd\xd5\xd7\xdd\xe8\x09W\xebU[kZ\xe7\xdb\xd8\xe0T9\x8b\x15\x11\xa2\x15\xcdn\xae\xcb\xb0\x9f!\xf3\xd0\xb2\xfd\xad%\xa8\x91_\xe6\xcd\xa5\x07.\x1dq\xbeyiG\xd5\xfbX\xe3\x05;\x8e\x1c\xdb\xc9|kq\x1d8V\x95\xff\xae\xf8\xeeI\xe7\x03/_y\xe3\x01\xe7I<\x1e\xef\x10\xf6\x1d\xdb'\x90c\x11o\xe6\x17\xb74,\x15\x9c\xcf\xbc\x89\x9f\xbcq@8\x20\x9f\xc2\x13\xf7\x95\x16|J'\\\xc2\x7f!\x06\xff\xdfau\xbf\x01\xaa\x91\xad\xda\x837\x87~&\xfd\x9b>\xdcI\x0f5\x9c\xa1-r\xec\xdb\xb6\xe5\xa0\x94\xfa^\\\"\xdc\x9e\xe9\xf6\x94\xa1:\xbem\x10pN.,\x86\x1a\xac\x9d:\xd5\xbd\xbf\xde\xc3}\x97jp\xb1\xccn\xcb\x95\x07\xa2\xd3h%\x9b\xb0\x96\x97\xa4:\x96\xb3\xda\xa3-\xd7n\xcfU]=pe\x85\x20\x1cY,\xe4\x1f\x11\x04r\xb8\xecx\xd5\x9d\x05U\xc7\xe9+\x97w/uU\xbdJ\xaf\x8b\x10\x9co\xe4\xe3\xc7\x87\xc8\xf1\xe0\xb5\xf9k\xd9\xf1\xe0\xf3\x9b\x96\x96\xee{\xc6I\xe6^\"\xaf\xe6\xcb5\xc2\xdb\xc2\x83l\xc2\xb5\x9b\x1e\x0f>=\xac\xee7@cn\xb5\xc3\x92\x96\xcb\xbeT\xfc\x9b\xde\x9dLK\xf5<:\xf3t\xae-5o\x03Bd\xe4=]\xe8H\xcdiU\xb5\x0db0\xa5\xb0{\xd0\xb0\x0b\xe1L\x87\xa1\x06\xc7\x03\x9fU\xae7\xd8\x9e\x9cq\\r\xb1\"B\xde\x93K9\x1d\xc5\x19\xb9\xf8\xd0\x9a\x19\xbc\x97\x0a(\x98\xce\xe0f\xb9\x880\xdc\xe0#w\xb2\"\xc2x\x83\xf10\xdc\x1df?w\x86c.\x83\xab\xbd\xe2|\xbf\xb8\x11\x0c\x16&\x91\xbf\"u\xf0_\xf3s\xc2n\x0a0\x99\x98\xca`\x1f\x9a]\x96\xc6.\x08\xeb\xf7ZJ\xc2\xee\xa2\xeb\xd97q\x9c\x7f\xf5\xe7\xd8\xe0\x7f\xff\xe7\x7f\xedT\xe6\x85\xdb\x12`R1\x95\xc1b\xb5-W\xben\xa0\x0c\xef\x16Y\xce\x84o\x1dGZ\xf2\xab\xdefS\x0f\x09\xff\xc9\x7fu\xe5~\x03\xeb\x08@\x0fs\x19<\x15\xa0W\xb8_\x95\xa4\xd1[\x96Dq}00\xd9\x80\xc1\xb1\xe2C(7\xf7\x96\xb4\xdc\xb9I+\xc1\xe0)\x00\x18\x1c+\xc3^\x87\xdd>\xcbn\xb7\xcf\xef\x82+n\xa6\x00`p\xcc\\\xec?s\xfa\xcc\x99\xd3\xa7\xfb@\xe0\xa9\x00\x18<\x0eHV\x84\x81y\x11@8\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06'\x8c\xcd\x9b\xb5&\x81\x181\xda`\xf9^\\_=\xbd\xce\xb2\x9e\x9e\xd5\xeao\xado3\xcd\x95+-\x82\xf3\x18\xfe\xe7x\xbe\xa0\x9f6\x11\x15\xff\x92}\x9f\xc6$\x10+\x06\x1b\xecO\x9d\x1arw\xf7c\xe8\xc5\xee}u\xde3\xde\xd0\x9bk\xa6(\x17v\xe4W\xe1\x7f\xaa\\;\xd4\xf7\x16\x05\xd2\xac\xa2\xe5\x9e9\xefhLF\xcbs\xafL\xb4A,\xc4\xb5\xb38c\xac\xc1\x81\xd4\xa9!w\xc0\xd8\x91&r\x0bBG\x93Y\x0eN\xed\xdb\x94\x7fA\xbc\xe0\xda\xb4/h\xbe\x92f\x15\x15o)\xe3\xee[\xe3\x18\x82\xef\xfa\xeeD\x1b\xc4B\\;\x8b3\x86\x1a\xac\xa4Nq\x06\xf7\xd2\xc44_\x9d\xf1\xe9\x95\xe3c\xdf\x8e\xaa#\xe2\x8f6\xed\x086x]l\x06oV\xc6\xdd\xcd\xb1\x0f\xc1\x91\x9d\x8a\xd8\x20\x16\xe2\xdaY\x9c1\xd4`%u\x8a3\xb8\x9d\xdd\x1d\xe4\x09w\xab\xe7\xe4prS\xb1\xf3\xceM\xc5W\x82B\xa5\x9e\x09dQ\x89\xe7\xb7\xde\xe9,\x92\xa7\xfd\xec\xdbq`\xab\xb8\xe9\x006\x98\xe6\xb7\xcaI\xad\xf2U\x964\xcd*\x90E\xf5\xa6S\x106])\x16\x84\x02u\xf2\x9a\x18~\x08\xfe\x87\xec\xecG7/\xfc\xc6w\xdf\x12\xc5W\xb2\xb3\xb3\xf7\xbcu\xcf\xc29\xab\xc9W\xd4Sw\xcd\xbb\xeb)\xfc\xef\xff\xc9f\xdcE\x9b\x1fZ=\xef\x9b\xf7\xb1\xf3\x83o}\xf7\x8e\xec;\xfe\xf6\x1du\x83\x17V/\xc43\x17\x8aA\xf8\xdbr\xfd\xe2\x15\x1f\xc2\x9b\x93\xfd-:\xf9\xd4}\xdf\x9c\xb7\xfa\x97zkSm\x99\xce*\x0c\xc1P\x83EQ1\xb8}\xbf\xbb\xa9\x83\xfc\xdc[\xd9}\x8c\x1da\x12O&\x877\x16\xec8r\xfc\x99;\x85O\x83C\xa5\x8aZ\x9e,\xa0YT/\xe6W<y\xbcEPEWb\x83\xdf\xcf\xff\xad\xeb]l0\xcdoeI\xad\xaa4\xab@\x16\xd5\x95\xd7[\x84\xd7\xc5\x1f-\xf8\xd1\x1b!+\xdf\x9c\xfdK\x8dI\xc6\xbf\x1c\xca\xce^\xb8g\xcf\xc2y\xaf\x88\x17\x0f\x1dZ\xf8\xcdy\x0b\xef\xbb\x87\xb4\xd9<g\xcf\x8f\xf7\xcc\xb9\x07\x8f\x04/\xbc\xf0\xcd\xd5/\xbc\xf0\xc2[l\xf1\xfb~\xfc\xe8\x1dw\x11\xc3\x9f\x9bw\xd7\xa3\xcf\xed\xc9~T\xd5\xe0\x95\xec{\x0e=\xf7\xd4\x1d\xd9AUZ\xa0-\xd7\xef;/d\xef\x11\xc5\x9fn\x9e\xc3\xb6\xe1\x8e=\x8f\xce\xfb\xae\xde\xda\xf8-\xd3Y\x851$\xc8`\x9f\xbb\xb1\xa7\xafw\x7f\xf3\xc5\xc0\x9c.\xd5\x9d\xc6Fp\xa0\x88\xdc6t\xa0\x80\xdc\xdf\xc9\x87J\x15\xe01w\x07\xc9\xa2\xba\\\xbc\x09\x8f\x9d\x97\x8f\xa8w\xd9\xf6\xed\x10\xd7>P!\xd2*B\xb9_\x9f\xab\"\xf8,\xaa+;+.\x14\xabo\xc6\xa7\xfc2{\xb3\xc6d\x809\x0b\xf1g\xfb7\x0b\xbfM\xa6\xef\xca^\xcd\xc2\xaa\x9e\xcb~N$\x8f?\xa6s\xfd\xdf\xeb?\xc6\xc3&\xb6\x8e<^\\\xb8zX\x14\x87\x0f\xfdF\xd5\xe0\xa9;\xe8\xf0=O\xbd\x06\xae-\xdf\xef\x1cl\xb0\xb8g\x0ei1\xe7\x1b\xf8Cs\xcf\x1d\xa2\xaa3nm\xdc\x96i\xaf\xc2\x20\x12d\xb0\xd8C\x8b\xdf\xfa\xce@v\xa5\xd7\xf01\xf8\xdd\xa2\xd2\xdd\xcf\xbcq\x85~\xc1\xf3\xa1R\xc4c9E\"t\xec\xa4\x06?)<\x19\xc6`U\x16\xd5\xe5u+6\xa9\x83\x01)\xff\x90\xfd\x96\xc6d\x809\xb4\xaex*\x9b\xb8x\xd7\x1cy\x88\xde\xfc-\xfa\xcf\xb7\xa8\xf0\x01\xa7\xbe\xbb\x90\xfcQ\x8f\x91\x85\x9b\x89^\xdc!\x83@\x83_\xde\xb1\xf0\x1f\x9ezE\x0c\xba\x1a\x9fk\xcb\xf7\xcb\x1b\xbc90\xa9\xb96n\xcb\xb4Wa\x10\x892\x98AJ\x87v\x16l\xd7\xda\xae\xd5|R\xb9\xf0\xcc\xf6U\xc2\x8a'\xa9`|\xa8\x94([y@\x08)_Ej\xf0\x85}\xbf\x0ec\xb0:\x8b\xeaH\x203\x85\xe3\x9d9\x9b5&\x15\xa8H\xe2\x0b\xd4\xb2\xbb\xee\x92g\xaef\x1a\xfd-\x1b\x99\xfdN\xdd%W\xa9\xf8\xf9\xa3\xd9\x17\x95.\x94\x9d\xaf\xdf<\xf5\xddoe\xdf\xf1\xa8\xa8\x82k\xcb\xf7\xcb\x1b\xacLj\xae\x8d\xdb2\xedU\x18D\x82\x0c\x96\xb5\xf5zHf\x0f\x1d\x8e\xdd\x86\x1f\x8bxu\x1fv\xf7\xc2\x11\x17-s\xb9P\xa9\x80\x95/\x0aZ\x87xI\x08\x10F1\xb8\x813\x98\xa4Y\xa9\xb2\xa8\xde/j(\xfemH\x1f\xf7)\xe3\xee}\x1aCp`\x0c&?\x99\x80=\x9b\xd9\x9e\xd2Be\x0c~\x8a|\xcf/|\x85B\xcb\x81\xe01\x984x\x85\xf4\xf5\x9bCs\x9e\x12y\xb8\xb6|\xbf\xe1\x0c\x0eZ\x1b\xb7e\xda\xab0\x88\x04\x19\xec\xa1i\xc1C\xf5\xdd\xe4x0)#\xbc\xc6\x1f\x0fn\xa1\x91\xabb\xd5\x03\xe4\x91\x0b\x95\x0a\x18|\xa9\xa8\x8a\x0c\xc2\xbbw\xd3\xf9}\xdb\xd8my\xbc\xc1\xf9\xf8\xe1J\x0538\x90f\xc5gQ]\xaeh\x11\x1f\xa8\x0a.#\"\x0d\xc1\xe2\x9c;H\x81\xb9p5\x99\x0e\xaaA\x0f\xb1:x5~\xed\x1d2\xe39V\x93\xee\xc1\xbe\xf9\xee\x20\xb5\xadx\xdf}\xaa\x06{h\x99+\xaeV\xaf\x87k\xcb\xf7;\x0f?\x1f\xf9v\x88\xc1Zk\xe3\xb6L{\x15\x06a\xa8\xc1J\xeaT\x9f\xbb\xedt_W\x1d\x1d\x89\x13uN\xaeE\xc8o9vl\xa7\xc0\xc4\x95C\xa5TYT/\xbaV\x1d8\xbe\x9b\xe5\xb1\x8a\x8bX\xe0\xceowT\x91\xd4\xc0w\xabv\xe0\xa1\xb5\xa2\xe8\xc9\x96\x0a9\xa1\xca\x9ff\xc5eQ]~\xf9\xa1\xa2\xf7\xc5\xf3\x05\xbb_V\x97#\x91\x86`qN\xf6]\x87\x9e\xfa\xe67\xde\x12G~J\x8f\x03\xb06\xf7d\xdf\xf7\xe3\xfb\xb2\xef\xa1\xd3{\xe6<zh\xf5\xbc_\xd2\x1e\xee9th35\xeb\xb99\xdfz\x0a\xb7xJ\xd5`O\xf6\xbc=?\xc6\x0d\x9eS\xaf\x82k\xcb\xf5\xbb\xfa\x8eG\xf7|;;\xfb\xd0+\xef\xbc\x90\xbd\xf9\xa7\xe2+\x9b\xb3_xG{m\xfc\x96\xe9\xac\xc2\x18\x0c5\x98K\x9d\x1alo\xaa\xf7\xf4\xb0\xd9\xfdmu\xad\x09\xb8.\xe2GU-\xc5\xce\xa2*9\x89G\x0e\x95ReQ\x89oo/^\\q\x8c5\xa8\xb7\xd30\xca\x16A\x20\xd5\xc6\x03\x02\xb9.\xe2|\x95k\xf1\xa6\x06\xd6\xd6\x9ff%*YT\xc7q7\xbb\xc5\xdd\x82\xb0\xe0E~\xc5\xef\xcc\xbbGc\x92g\xce}\x9b\xe7\xddq\xcf;\xec\xa8+\xe6o\xd9\xecG\xe5\xe3\xb6\x98\xe1\xfb\xbe1g\xf5O\xe9\xe4s\xab\xef\xf8\xc6j:0\x8bo}w\xe1\xbco\x1fR78\xb4z\xcf\xc2\xec;V\x87\xd8\xc5\xb5U\xfa}k\xf5\x9cy\xab\xf7dgo\xdeLV\xfb\xca<\xfc\xb0Y{m\xfc\x96\xe9\xad\xc2\x10\x0c5x*\x13\x08\x95\x9a|\xf6d\xff\x8b\xc6$\x0f\xdb\x93\x03\xa2\x01\x0c\x96\x09\x84JM>\x91/\xab\x04\x83\xa3\x07\x0c&\xb4\xbcx\xa5j\x82\x17K\xc6\x1508z\xc0`\xcc%\xa1\xe2\xa1\"\xf5\x99\xb7D\xc2\xf6\xa2\x80\xe8\x00\x83\x09J\xa8\xd4T\x80\xeeEi\x1d\xa2\x004\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x8e+I\xe6\"\xd2\xdb1\x03`p\\I\xfa\xc8L\x80\xc1@0`\xb0\xe1\x80\xc1q\x05\x0c6\x1c08\xae\x80\xc1\x86\x03\x06\xc7\x95\xa8\x0c\xe6\x1b=rk\xd0\"!3\"\xa1\xd7<\x8an\xc0`\x20\x98\xa4h\xcc\xe1[\xdc\xf6\xc3\xa0\x17Cf\x84!)\xf0\xa0\xf9b\xe0\x90\x83N\x0b0x<h\xa5N\x05\xe6N-\xcaPr\xc8\xdf8\x969cA\x99\x9a/De0OH\xebX\x16\x8f`p\xb8W\xd9\x8b\x81\xedf\x99\x01\xa6\xc4`\x83\xb5R\xa7\x94\xb9S\x03o\x17\xfb\xb7\xdfk\xd1\xfd\x93u\x9d%V\xcd\xf9\xf2\xc0w\xeb/\xb0\x1f\xbf\xba\xe5\xe7I\x7f\x7f\xdb\xbf\xbb\xed{D\x96G\xbe\x9ct\xdb\xdf\xf8\xc5\xc1\xff\xfb\xc7\xbfH\xba\xe5\xeb?\xff\x88\x8d\x90\xa4\xd5\xdf\xcb\xaf\xa9f$\xfd\x9d\\S\xe0\x8e\x92\xbe\xfc\xc3\xef\xdd\x96\xf4\x95\x9f(\x9d\xb1\xf1\xd5\xdf\x15\xd7\xcd\xf7\xc8\x84\xdf\xe0\x9f\xe8o\x8cb0\xcb\x0c0%\xc6\x1a\xac\x95:\xc5\xcd\x9d\x1a\xcc\x0d\xfc\x0d\xfa0\x7ft\xb1Z\xcf`:\xea}\x8d\x88\xf2\xbd\xff\xfaQ\xd2\xadO\xfc\xea\x89[\x7f\xf0\xd1G?\xfc\xf2\x0f\x7f\xf5\x93\xaf\xfd\x8db\xf0mO\xfc\xeag_\xff:k\xfd\xc8\xadO\xfc\xe2\x89[\x1f\x09\xbc\xa8\xccH\xfa\xea\xcf\xe4\xb9_\xf9\xc9\xaf\xfe\xfb\x97\xc8\xc3\xd7\xb8\xce\xd8\x18\xec\xef*\xb0\xd4\x0f\xe8Z\x03c\xb0\xfe\xc6\xf0UD\x0b\x18\x1c\x05\x9a\xa9S\xdc\xdc\xa9\xc1\xec\x89\x1b\xfc\xc4m\xf8\xe1\xab\xff\xfcQ\x12\xd1\xf2\x91\xaf\xe2iR\xdd\xfe\xec6\xc5\xe0\x7f&\xcfoa\xad\xff\x92\xb6\xfaK\xc5\xe0\xc0\x0c\xda\x8c\xce\xc5C\xef\xcf\xe9\xc3\x97\xb8\xce\x98\xc1\xfe\xae\x02K}\x85N\x04\x0c\xd6\xdf\x1808V4S\xa7\xb8\xb9F2\x9cf\xd9\xe0px\xcbRsi`Sc\x8e-\xa3\x1cOy\x10c6\x99i-/\xcf\xb0\xe5\xb1-u\xcf\xb6e\xd1\xdb\x8c\xc4\xfe\xe5\x0e{\xa1n\x15\xc1\xb4\xfa\x8bG>\xfa\xc9W\xf04\xf9r\xff9\xb6\xeb\x16~\x97*P,\xcb\x13\xb7\xf8[\xc9\xf3\x94\x19I\xbf\xf8H\x99\x1bx\x08t\xa6\xcc\xa5\xb3\x03+\xa3\x13\x81\xf9\xfa\x1b\x93t\x80\xde\x83\xfa\xfe\x8e\xa2\x82\xadPEDIh\xea\x147\xd7P\xbc\xa9\xa8|>\xb2oK\xab\xc1OJ\x92\xcb<\xb5\xf6\xd9#\xa2\xaf\xc3\x9b\x91\xeb\xf5\xb2]K+\xcaljM[B&K\xac\x1b=\x1b\xad\xcb\xf1\xd4\xe9\xd4\x8c\xfa\xd6<\x14\xde\xe0\x7f\xfc\xcaG\x7f\xf3\x8f\x9c4Ir5\xe0\xb7*Z\x83\xb9E\x94\x87@gQ\x1a\xac\xbb1I.r\xdf\xf5\xf9\x82U\xcf\x1c\xdb$\x80\xc1\xd1\x11\x9a:\xc5\xcd5\x96\xb4\xe5x\xc4\xf5\x88%+\xc9\xc8[\x8fgt\"z\xec\x81\xab\"\xc8\x1fq.\xb1\xe3\xa96\xd4\xe6\x7f\xcc\x9d\x85?w#Y\xe1\x0d\xfe\xe8\xd6\x1f\x92\xaa\x20\xe9\x11\xfc\xf0\x08\x1e\xff\xfeR\xdeQ\xf3[\xa528L\x15\xc1-\xa2<\x04:S\x1b\xacWE\xe8oL\xd2q\x128P\xb5\xea\x12\xde\x95[\x0b\x06GGh\xea\x14?\xd7P\xd2\x9a\xb1\xb3>\xb1r\x99(.\x9b5Lp\x94\x90\xf9\x9c\xc1XnV\xf1\x96\xb0\x83g\x99%\xe2\x10\xa2\xb5\xc4F]\x83o\xfb\x01\x91\xe3\xef\xd8\xce\xbe\x7f\xe7\xe9\x89[\xbe\xf7\xf3_=\xf1\xb5\x80x*\x83\x1f\xa1\xad\x1e\x09\xbc\xa8\xcc\xd068\xd0\x19]U\xa0\xab\xc0RA{r\xfa\x1b\x93$\xaez@\xbc\xc0\xd2\x04\x1a\xc0\xe0\xe8\x08M\x9d\x0a\x9dk\x10imb\xa7E\xa4\x06g\xc9\xd5/-\x18\x82\xf6\xe4\xa8\xc19\x8b\xe8\x8c\xbc\x1c\xb1\x0b\xd1\x9c7\xfd=\xb9Gn#%\xe6/\xbeD\xbe\xaa\xc9A0v\x00\xeb\x89\xaf~)\xe9\xabO\x04tT\x19\xfc\x11i\xa5\x1aW\xfd3\xb4\x0d\x0etFW\xa5\x98\x1a\xe8\xe6{\xb7rG\xd3>\xd2\xdf\x98$qS\x85\xf8\xaap\x92l9\xec\xc9EIh\xea\x147\xd7X\x88\xc1Vf\xf0\xf2Y]\x14z|\x9a\x1aL\x13X\x14\x83Kf\xd1E\xd2\x03c\xb0\xfe\x9e\x1c\xe3\x91\xaf\x07\xfcI<z\x1b\x93t\xa5t\xa7\xf8[\x96.\xbb\x13\x0c\x8e\x8e\xd0\xd4)n\xae\xb1p\x06\xb7\xb1\x0ax\xc36\xf2\x98\x9b+\x8a\x83t\x86b\xb0\x87>o\xc6e\xb3\x98\xe3\xc0\xc5\xf1\xe9\xdb\xc3\x1b\xfc\xb3/\xffL[\x9aD\xa0\xbb1IGH\x1d\\Q|A\x14\xdfv\x81\xc1Q\xa0\x9d:\xa5\xcc5\x94^{\x8d\xaf\xd9\xd2\xe3[\x96\x8b\x87\xdbJ\xb4l\x7fk\x09\xa2\x19\xc6\xd5\xd6\x9a\xd6\xf9\xb6>rN\xae\xa4S\xec*\xb1x\xfb\xf1(\x9d\\\xe9\xa9L&\xc7\"zl\x8e\xea\x8d\xf6\xe4\x94z\xad3\xe1\xb2%I_\xfa\xc1G\xda\xd2$\x00\xfd\x8dI\x12\xc8\xb1\x887\xf3\x8b[\x1a\x96\xca\xd9Y\xe6\xc3P\x83\xb5S\xa7\xb8\xb9\x062\x92\x86PS*\xb25\xb3\xea\xb7-\xd7n\xcfe\x7f\x0f\xe1b\x99\xdd\x96\xdbI\xae\x8b@\xc8\xd2c\xc3\x8fexnm\x96-\xab\x96\xbe~z\x91=\xbd\xbc>\x85\xce\x0dfJ(\x1b5\xf2\xf1\xe0\xf3\x9b\x96\x96\xee{\xc6I\xb3\xb3\xcc\x87\xa1\x06O\x7fLfp\xa4\xb7c\x06\xc0\xe0\xb8\x92d.\"\xbd\x1d3\x00\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807F\x1b\xac\x91:\xe5\xf36\xd7\xb5v\x0f\x87_nr\xa8\xb1\xd6\xe8\xbf\xd8\x9a\"\xdf{\x94\xb2_\xbfQ\\\xf9\xed\x03+\\\x9b\xae\xd0?\x18*\xe4\x9f\x8f\xd4:\x98cN\x81\xe1<\x12\xa9\xe9t\xc2`\x835R\xa7|\xf5\xad=}]\xf5\xad\x89P8\xcb\x92\xa5\xffb\x0d\xf2zkQ\xad\xd7\x8b\xc2h\x1eW\xaa\x8a\x0e\xec\xcc\xbf\x20\x8a\xef\x9f<y@x9l\xd3\x17_\x0d\x99\xf5\xa4@\x16;p\xf2\xe4\x82'5\x16\x98\xb6\x18k\xb0V\xeaT{3\xf9\xab\xf6C\x89\x88\xed\xf1%/O\xd6\xbf\xb0\xbe\xd6Bn\xc0\xef\x14E[\xadn\x9b\xb8rA8\x20^\xb9\xc4\xa6_\x8d`p\xc5\xf6\x90Y\x07\x9c\xf2b\xf9\x074\x16\x98\xb6\x18j\xb0f\xeaT+\xfb\x8e\xf6\xdf\xf4i$^\xd4\xcd\xee<\xd6\xe4\xe2\x19\xd9\xe03\x17u\xdb\xc4\x95\xf3\xc2\xb1\xc0t$\x83\xd7\x85\x1a|\xf9\xbc\xbc\xd8\xf9\xcb\xa1\xed\xa7/\x86\x1a\xac\x99:\xd5\xcf\xa6:\x8c*69\xaa\x1d\xa2\x83\xdc\xcc\xd9\x8d+\xde\x8d\xa7\x97\xa7\xdb\xf2p)3\xb8\xdc\xee(/\xb7\xdb\xe8\xbd\x9f\xd4`\x96E\xb5A\xac\xc6\x8f\xcde(\xa5v\xa5\xc3\xbe\xe84\xed\xc1\x1fV\x15\x0bo\xe2z\xb5\xe1\xfc\x8eR\xd7\xa6OE\xf1\xca\x8f*\xf2W\xed\xc6\x03\xef\xe5;Y\x11\xbb\x9b5\x0a\x18\x1ch\x809\xbf\xf5Ng\xd1\xa6\xf7\xc5cr\xc1[\x11\xd2\xb7\xbc\x18i\xd0\x20\xb6\xe0\xc7#\x0f\x09\xce\x03\x0f\x16-\xddt>\xb8\xb3\xe9\x82\xa1\x06\x8bz\xa9S\xa28\xd2\xa4?\x18N\x1a\xf3\x0b\xc5\xc2\\\xfc\xaf\xaf\xb9)=#\xd5Q\xbe\x1c\xf5\x89\xc3\x99i\xb5\xd5V[]\x1e-~e\x83}\x1d\x8e5\x83\xe2`uj\x87\xaf\xb7)\x05\xa5o\xabN\xb7\x91\x9b\xfc\x02aU\xb1p\xf9\xc8\x91\xe2U\x8b\x8bw\xefX\xf0\xae(\xee\x14v\x1f?P\xb4\x0e\xef\xbe\xbdq\xf2\x88\xd0r\xf2\xe4\xbb\xacQ\xc0`\xa5\x81\xf8b~\xc5\x93\xc7[p\xa9q\xe9\xe5\x93\xab\xaaN\x9e<\x19\xfawH\xe5\xc5.\xbd\\\xfc\xc0\xaf\xc5_\xb7\x14\x9c\xbc\xf4\xe6\x11\xa7P\xdc\xd2R\x9c\xff\xa6\xba\xb3iC\x82\x0c\x0eJ\x9d\xc2Cp\xfd\x90\xde\"\x93\xc6\x88\xadF\xac\xb11\xfdf\xa3\xf9\xf8\xe3\xe4#w\xd4w\xe3\x12\x18\xb1\x9bP\xfd\x06\xe3\xe1\x9aD\x01\x96\xd0L\x1fk:n6\xe4\xc8\x09\x0a\xab\x8a\x85uB\xd5\x05\xf1\xca\x052X>#\x12\xef\xe8\xd1\x03\xad*\x82kp\xb9x\xd3e\xe2?\xfd\x03\xd0\x1aU\x04\xbf\x98\xd8B\xc6\xe7\x1d;\xc9\xa4\xab\x14/q\xa1\xb8\"hm\xd3\x85\x04\x19\x1c\x94:%v\xf2y\xc2F\xd1\x8d:|\x1d\x88EV\xcc\xb6\xca\x1bPIb\xd2N#9L(`p\x1fv\xfabj;\x99\xb4n\x20\x8f\xb5hH\x1dV\x15\x0b\xeb\\\xf2P\xbb\xa3\xf4\xf2\xa7\x98b\xaa\x9a\x96\xc1\\\x83\xe3\xc2\x1b\\\x0f\x11\x0c~\x7f\xc1\x1b\xe2\xe5\x82\x17\xc9\xa4\xab\x81<\x1e\x10.\xa8\xd76]H\x94\xc1\x0c9uj\xd8\xebN\xc4\x9f!\xa8\xa5G{\xd9\x81\x86\xd9s\xe5\x995h\x90$\xa0\x04\x8f\xc1b^\xb9\xd8f\xa7G\xfcX\xaa\xb0\x17u\xa9\xc3\xaaba\x9d\xbf\x82]+W\xb4\x9b\xc8\x13-\x83\xb9\x06\x07\x04n\x0f-\x92\xc1\xe2\xa6}\xe2\xf1\x02\xba\x80\xab\x85<\x9e\x14^U\xafm\xba\x90\x20\x83U\xa9S>Oc\xbf\xee\x02\x93H\xe1\xec\xce\xceN9%-\x10\x96\xd6\x97\x9c\xd7\xd7\x9d\x91#?S\x0c\xf6\xd8\x87Y\x11!ZiP\x84\x1b\xf9\xd4aU\xb1\xb0n\xab<\xb1\xa3\xf4U\x0a\xad\x0c\xb4\xc7\xe0@\x83\x17\x05\xee\x1805\xf8\x99w\xc5\x20\x14\x83\x8f-\xbd\xbc\x93\x8d\xb5.\xbas\xf8\x0c\x1d\x83\xb9\xb5M\x17\x12d0\x9f:5\xd4\xbc\x9f\x96\x14\xfa\x0bM\x12\x8er\xfcP\xee\xa0\xd3\x01\x83\xbbP\x1aB\xb9\xfeO\x94b\xf0\xb0\xddc\xa7E\x84hM#\x15\xf3\xac\xdc\xa0\xb0\xaaX\x08\x8c\xa0\xc7YM\xda@\xcfAh\x19\xcc5\xb8TTE\xc6\xd4\xddT\xc8\xaa*Q\xfc\xb5\\\xd0\xf6m;\x13\xbc\x189\xb6ql)-\"D\xd7\x8aKx\xe1\xd2\xaa\xa0\xb5M\x17\x0c5X3u\xaa\xaf\xae\xb9\xaf\xbf\xbf\xbf#\xe6\xdd\xa1\x09\xe2\xf3\xa0\x0d>\xd1\xb7\x01\xb5]\x1c\xee\xa4\xb1\xd7\xd4\x83nk\xbb\xc7\xeb\x17\xb8\xab\x16\xd5v\xc9\xd3\x95\xb3X\x11!Z\xd1\xec\xe6\xba\x0c;i\xcd\x87UE\xcd\xa7\xaf\xd3#\x09\xe7\xe9\x93}\x0bv\x1c9\xb6\x93\x98\xc5\x8eE\xbcL\x8e\x13\xbc+\x9f\\{W\xd5@|\xd1\xb5\xea\xc0\xf1\xdd,,\xb5\xc5u\xe0XU>\x1b\x83\x17\xa1<\xb9\xeb7\xf0b\xfe\x81z_i\xc1\xa7t\xc2%T\x1cyfU\xc1\xdb\xea\xce\xa6\x0d\x86\x1a\xac\x99:\xd5\xc6f\xba\x8d>\xa3\xd1N\x8e\xee\x8a\xfb\xf1c{w2-g\xa9\x07\x1d\x162i\xc9%\xdb\xe6#\x91S6\xf9\xcb\xe14Z\xc9&\xac\xe5%\xa9\x8e\xe5Lr.\xac*j\xdeT\x15\xa3\xc7\xab\xee,\xa8:\x8e\xc7\xcc\x02:\xd7ID\xdb)\xd7\xab\xdb\xf9\x06\x98\xb7\xb7\x17/\xae`\xe3\xf4\xe5\xddK]U\xb2\xac\xf5v\xf6\xe7\x11\xc4K\xf9x\xa1|\xb9Fx[x\x90M\xb8v\xef,(\xda\xf1\xaejm\xd3\x08C\x0d6\x01\x83\xb65\x83\xc3\xc3C]K\xec\xc1U\x8d\xcf*\x1f\xb1\x0e\xf3\xf7a\xa6\x12\x97\\\xac\x88\x90\xf7\xe4\xa6-`\xb0\x9aV\xbb<a\x0f\xfeNh\x96\x8b\x08\xb3\x18|\xe4NVD\x80\xc1\xbaD\xea\xda\x94t%\xb3\xe3h=\xc9\xdd\xfc\xecj\xaf8\xdf/\xae\x19\x0cny\xf1J\x95_\\0X\x8fH]\x9b\x93\x12\xdb\x9afo\xf3\x1a\xdbJ~\xa6\x0f\xcd.Kc'\x0dY\xaa\xf0\x14\xe7\x92P\xf1P\x11\xab\x87\xdf?\xe9|\xe0\xe5iu\x1a9\x0808\x18O\x9e\xc3\xe2\xc8\x0b\xaa!\xaam\xb9\xf29\x17\x9a*\x1c8z5Ui\xc9\xaf\x92/\x9ax\x88\xec\x1e\x9e\x0f\xdb\xd8\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb91\xda`\x8d\xd4\xa9\xfe\xb6\xa6\xba\xe6\x0e\xc3/p\xaf'WQ\xda\xf3\xba\xf4[\x94\x90k+O\x07\xcd\x9c\xcc,*H\x9d\x1a\x07\x06\x1b\xac\x91:5\xe8\xf6\xf4\xf6\xf5\xeeo2Za_=\xda\xe6\xad\xcf\x09\x13y\xd2GR\xa7\x82\xaf\x81\x98\xcc,*H\x9d\x1a\x07\xc6\x1a\xac\x95:u\x86N\xfa\x8c\xbf\xd7\xb3\x07\x91K\xd3s3\xc2\xb5\xe9\x0c1x\x12\xb3\xa8\x20uj<\x18j\xb0f\xea\x14\xbbAn\xd0m\xf8\xcd\x9e\xcc\xe0Z\x14n\xf0\x0f5x\x12\xb3\xa8\x20uj<\x18j\xb0f\xea\x14}\xa1\xaf\xd9\xe8\x9b\x8c\xfc\x06/gwz\xfa\xe3\xa3\xd4\xa1R~\x83\xb9\xd4)\xed\xb9\xb1dQA\xeaT\\1\xd4`Q;uj\x90\xec\xd3\x19]\x06\x13\x83=\xbe\xdeJDo4\x0e\xc4G\xa9B\xa5\xb4R\xa7\xb4\xe7\xc6\x92E\x05\xa9Sq%A\x06\xabS\xa7\x06\xfb{\x9a\x0d\xdf\x93\xc3\x06\x13\x96\x93I>>J\x09\x95\x12\xb5S\xa7\xe2\x90E\x05\xa9S\xf1#A\x06\x07\xa7N\x89\xc3\xcd\xed\xda\x0bL\x1e=\xa8\xa6\xd3\x93c#W\xab\xf3\xf1QJ\xa8\x94\xa8\x9d:\x15\x87,*H\x9d\x8a\x1f\x892\x98AR\xa7\xe4\x1d\xa2n\xb7F\xebI\x85\xd6\xc1C\xc9d\xbd||\x94\x12*%j\xa7N\xc5!\x8b\x0aR\xa7\xe2G\x82\x0c\xe6R\xa7\x1a\xd9\x01\xd9\xee:\xbdE&\x0b\xb6'\x97J\xcc\xe3\xe3\xa3\x94P)Q;u*\x0eYT\x90:\x15?\x12d0\x97:\xd5D\x03C\x12RE\x905\xa7\x95\xf7lS\xc5G)\xa1R\xa2v\xeaT\x1c\xb2\xa8\x20u*~\x18j\xb0f\xea\xd4iw{o_oB\xf6\xe4\xe8\x19\x8d\xbc\x92,U|\x94\x12*\xd5'\x9f}c\x07\xfe\x02\xa9S\x13\xcd\xa2\x82\xd4\xa9\xb8b\xa8\xc1\x9a\xa9Sb\x7f{s]kg\xdc\xcf\x0fD\xa2\x19\x97\xaa5\xd8\xe3\x0c\x9am\xa2\xc4G)\xa1R%rA\xcbB\x01\x03\xa9S\x13\xcd\xa2\x82\xd4\xa9\xb8b\xa8\xc1\xa6@/\xd0$\x90:\xa5=w\xca\xe5\xa0@\xeaTD\"umR\xf4T\x0c\xa4Ni\xcf\x9dr\x06C\xeaTD\"umR4U\xe4S\xa7\xb4\xe7N-\x83!u*\x1a\"umJ\xb4C\xa5\xb8\xd4)\xed\xb9S,\x8b\x0aR\xa7\xa2\"R\xd7\xa6D'TJI\x9d\xd2\x9e;\xd5\xb2\xa8\x20u*\x1a\"u\x0d\x00\x06\x00\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb4\xc1\x1a\xa9S\x98\x1e\xc3\xff\xa2gt\xf4\xe4\xd9\xd2\x96y\xd3Tw[pYT\x9a\xb1T\xb1\xd2\x1e\xf2\x97\xeb\x80X0\xd8`\x8d\xd4)\xf2\xac\xae#\xb6?Ml\x10m\xb6\xb9\xee\xe6,\x84T'\x94\xb9,*\xcdX\xaaX\xf1\xd84\x02\xd8\xbc]\xa1\xf3\x00M\x8c5X+u\x0a\xe3i\xef\x9b\x8a\x06\x0f\xa5.\xb9H\xee\x1cB\xc1\x97DpI>\xa1\xa1>qana\xa4\x16\x80\x8c\xa1\x06k\xa7N\x89=\xf5\xbe\xfe\xa9hp\xa5\x8d~G\xd4\xa0\xe0Ba\xf2\x0d\x9e\x0d\x06G\x8b\xa1\x06k\xa7N\xf9\xeaN\x8b\x090\xb8\x0cY\xdc\xe5\x19\xb6\xbc>2\x99\xdc(\x9e\xb1\xa0Lq8\xcd\xb2\xc1\xe1\xf0\x96\xa5\xe6\xfaDq\x16\xbb\x81h\xb0\xe6\xa2\xe8+tX\x1c\x8b\xfc\x7f\xa8V\xcb\xe0\x8e<\x87\xc5\x9e\x97\x1e\xbc\x16\x0d\x94\xb5\xe1\x9f\x83\x0d\xa1\xe4&67\xb09\x1e\xf9\xee\xa6\xd9\x11:\x02\x08\x86\x1a,j\xa6Ny\xda\xc5D\x18L\x82\xa2\xec\xd55\xa9K\xe8\xd5\xbd\xd5X\xc6\x12+\xfe\x9aHE\xe5\xf3\x91}[Z\x8dx1YI\xa7\xf4\xa0\x95\xde\xe6E\xc9\xb2\xad\x1a\x06w\xa1\x92\xfd\xedn;\xd2\xba\x8f#\x08nmx9\xaf\x97]\x1b\xcfm\x8e\xaf\xc3\x9b\x91\xeb\xf5z\x0dO\xf34%\x092\x98K\x9d\xea%\x91i\x090X\x14\xadv<\xe0-\xa7\x7f\xcc\x9eZTM\x9cJ[\x8eu\xf5\x88%+\xc5>\xd4\x1ah\xeak&\x1f\xb6\xac%\xec\x99\x86\xc1nz\xb7Qm\xaa\x18\x0d\xca\xda\x086\xf9\xee\x0ens\xa0\x8a\x88\x9e\x04\x19\xac\xa4N\xf9\xeazGFF\xfa\x1a\xf5r\xf2&\x11+\xc9*a\"q\x067c+}b\xe52q8\x85\xcb\xb8\x1et\xe7\xcdJEY\xec\x89\x86\xc1}\x8e\xf42w\xb7\x18\xc5\x10,\xea\x1a\xacl\x0e\x18\x1c=\x892\x98\xd1\xd1*\x9eq\xfb1<@\x98\x13\x893\xb8M\xec\xb4\x88\xc4`\x7f\x1d<\xdc\x86EMsT\xb6zs\xf5\x0d\xc6uQa&J\x8b.\xd7]\xc7`n.\x18\x1c5\x092\x98K\x9d\x1a$\xf4\xd4\x0f\x86\x09i\x9a$\x82\x0d\xde\xe87\xd8\xca\x0c\x96\x8fE4\xa3A13\x87|g\x14\xea\x1b\xdcU2\x10U\xbe\x00\x00\x1e\xa0IDAT)\x92Z\xc3\x16U\xfa\x9b\xb26\x82\xae\xc1u\xaa\x8ce@\x9b\x04\x19\xcc\xa5NQ\x12S\x07+\xca\xd8\xb0\x80#s\x83\x0c\x1eJ]\x82\xab\x82\x91\xdctQt\x10\xa3F\xb2\xf4\x0d\xae\xa6\x01@b\xee\x1a1\x0a\x94\xb5\xd1g\x1a\x06\xe7\xe6\xe2\x8fv\xb8\xfcV\xc0\x8f\xa1\x06k\xa6NaF\xfa{\xea\xfbCn\x05\x9ed\xd8\xed\xc5]%\x16/._r\xec\xdb\xb6\xe5\xa0\x94\xfa\xde^{\x8d\xaf\xd9\xd2\xe3[\x96\xdbG\xce\xc9\xe5\xd4\xb7\xe6\xa5t\x10A\x0b\xdd\xdbf#{M'\x9fE\xc5MV#[\xb5\xa7\xb5$\xcc\xdf\x95\xe1\x08\xacM\x1c\xee\xf4z\xad%\xde\x0e\x9fzs\xb0\xc85\xad\xf3m0\x06G\x81\xa1\x06k\xa7Na\x99\xc8\xdc\xa6pKN\x02\xf4\xf6\xe2\x1e\x92\x20U&\x8a\xa7sm\xa9y\x1b\x10Z\x93\x86PS*\xb25\xb3\xf0Tr]\xc4\"\xb2\x95#5\x19V\xfb\xb2\xfaY\x96\\>\x8b\x8a\x9bl\xcc\xadvX\xd2r\xa3\x128\xb0\xb62\xb1+\x99\xf5\xe0Vo\x8ex\xb1\xccn\xcb\x9d\x94s%\xd3\x0eC\x0d\x06\x80\xb8\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b\x13\x18\\\x88\xec\xcb\xe1\x961@\x07\x13\x18\xdc\xef\xad\xcf\xb4\x1b\xfe\x17?\x01\x93`\xb4\xc1\xa1\xa9SA\x01T\xdaK\xa1n\x11\x00\xb40\xd8`\x8d\xd4)u\x00\x956\x93\x94+\x02L\x03\x8c5X+uJ\x1d@\xa5\x0d\x18\x0c\xe8a\xa8\xc1\x9a\xa9S`00\x11\x0c5X3u*\x1a\x83{\xa2\xbb\xff\x0c\x98\x81\x18j\xb0\xa8\x95:\xc5\x07P\xe91l\xcf\xe9\xe8K@&\x0a0\xf5I\x90\xc1\\\xea\x147\xa9O\x1bBhQ\xb8\x06\xc0L%A\x06+\xa9S\xaaI=|\xf6\xf4\xda\xf6\xc8\xc5\x060\x03I\x94\xc1\x8c\x8eV\xad\xc9P:Q{\x98W\x81\x99L\x82\x0c\xe6R\xa7\xb8I]\xe0X\x04\xa0G\x82\x0c\xe6R\xa7\x82\x03\xa8\xb4\x00\x83\x01=\x0c5X3uJ\x1d@\xa5\x0d\x18\x0c\xe8a\xa8\xc1\xda\xa9S\xaa\x00*\x0d\x86\xfb\xbb\x0a\xad\x86G\xb3\x02&\xc1P\x83\xc7\xc7\x12\x84\xd2\xc3\xed\xe6\x013\x1a\x13\x18\xdc\xdf\x0d\xc7\xd1\x00]L`0\x00\x84\x01\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807F\x1b\x1c\x9a:\x85\xe9m\xabo\xee\x0a\xb3\x10\x00\xe8b\xb0\xc1\x1a\xa9S\xe2p\xbb\xbb\xf3L\x97\xfbL\xb8\xe5\x00@\x07c\x0d\xd6J\x9d\x12\xdb\xeb\xfa\x89\xda\x10\xb0\x0a\x8c\x07C\x0d\xd6L\x9d\xeaw\xd3;\xe4\x20^\x15\x18\x17\x86\x1a\xac\x99:\xd5Y\x17.w\x15\x00\xc2c\xa8\xc1\xa2V\xeaT\xab\xa7\xb75R\xea\x14\x00\xe8\x91\x20\x83\xb9\xa8\xa9f:\xd9\xd4\x0c#10\x1e\x12d0\x175\xe5\xa9\x8b\x9c:\x05\x00z$\xca`\x06\x89\x9a\xf2\xb2\xfb\x90\xbdp;20\x1e\x12d0\x175\xd5U?\xc2\xcd\x01\x80\xd8H\x90\xc1\\\xd4\xd4\x10=\x9a\xe6\x93\x0f\xb3\x01@l\x18j\xb0f\xea\x94\xd8U\xd7\xd5\xd7\xd3\xd8\x0a{r\xc0x0\xd4`\xed\xd4)\xf1Lk\xfd\xfe.\x10\x18\x18\x17\x86\x1a\x0c\x00q\x07\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0x*0\x12\xa9\x01\xa0\x0b\x18\x9cp\xfaK\xd2\xd0\x92H\x8d\x00=\xc0\xe0\x84\x93\x99\xe9n\x87\xbf76n\x8c68$uj\xb8\x91]r\xe9n\x8a\xb0\xe4$s\xbc\xe8X\xa4&\x93C\x0fj\x8b\xd4\x04\x08\x83\xc1\x06\x87\xa6N\xf9\xdc]d\xaa\xcb\x1d\xe6/\x83{\xbb\xf4_\x8b\x17\xc7\xf2\x8fDj\xa2A,[\xa6\xd3\xb6\x0buh\xce\x07\xa2\xc3X\x83\xb5R\xa7\xd8]\xcb\x8d\xe1~\x8ds\x0b\xc3\xbc\x18/\xaeDj\xa0E,[\xa6\xd3\x16\xfe\xea\xf9\xc40\xd4`\xcd\xd4)\x8ag\x7f\xb8{4f\xc7\xe0\x89\xb1\xc4\xb2e:m\xc1\xe0\x89\xf1g\x1b\x00\xc0\xccL`\x0c\x06\x80)\x00\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xccMX\x83\xeb\x11O\x7f\xb8\xa6\x00\x90\x18\xc0`\xc0\xdc\x845x\xf4\x1aa.\xaa\xa6\xff\x8e\x86k\x0a\x00\x89!\x8a:8\x07\xd5DjbjJJ\xf8g\xcb\x90\xa8\xd7P\xcdU\xbb\x9b\xfd[\x9e~{\xa6\x9b}\xbc\xdbsli\x85C\xfa\xcb,B\xa3\xd1\xae\xe0Z\xa5\xc3\xe2\xa8\xbc\x86\xa7jr\"\xb5\x9d\xd1\x80\xc1]\xd6a\xfei\x94\x82I\xa3\xf3\x115\xf8j:*\xac\x9e\x8b\x0a\xc9\xf46\x94Q]\x92\x92\xea\xd3](z\x83G\xb3Pn\xf5|\x94uC\x92n\xa4\xd5Gj=\x93\x89\xc5\xe0F\x94\xc9&jP\x99\xd4\x84j\x86\x0aSSs<l\xd6\xc5\xf2t\x8b}I\xb7v\x0f\x9aT\xa2\xe4v\x9d\x97.Z\xc8\x9a\xbc)r\x01\x9e\xe2\xd5i\xc7\x93\x89*#5\xd1d4]\xbd\xdc\xb5h\xfc\x92$1\x071\x83+Q\xabD\xbc\xc7o\xbd\x0f\xe5b\xe1:\x91jLWA\x0c\x8en\x05\xfbQ9~\xdc\x80\x1a\xf1c\xbd-\xaaEf(\xb1\x18|\xd5\x82\x06\xe9D\x06\xea\xc5\x06\x17\xda\xacy\xb9\xc9h\x0d\x99\xd3mC\xd6\xact\x84\xb6\xe9\xf6\x12\xa0\xa7\x8f\xfd+\xf6Zj\xf5\xda\x9c.\xb3J\x92\x1b\xf5\xf66\xa3\xc6\xde^\xa6J\x04\xc6k\xb0\x07\x85\xf9\xd6\xd7e\x7f*\xcac\x9bU\x92E\x1e\xdb\x11~/k\x10\x1d}+\xf5\xbf\xb2\x88\xc1\xd1Q\x89\x7f\xc4\xe43Q\x86\x1f\xaf\xd9\xa2\xf8\xb1\xceXb1X*d\x86\xf6\xa1t\x09\x1b\x8c2\xf0/\xac\xcfN\xc6\xa0\x8b\xa9\xa8\x12\x0f?=v\xa47\xac*\xe4\x04\x86(\xab\xae\xc1R-6\xb8\xd1\"Ig\xd0iI\xb25\xea\xb6S\xf0\xb8{\"5\xd1$k.\xfd\xa76\xcb\x96\x9a\xd7%\xd1*\xe2\x8c\xff\xe8\x0b\xee\xf1Zu:.G\xaf\xe2\x17\x1c\xfe\xb9\x1b\xf1\x93\xcc\x8c\x9e\x0e\xfe\x83UM\xde\xb8}\xae\xd6\x0a$\xa9\xbf\xc4aI\xcd\xed\x94\xb8*\xc2\xb72\xcd\xb6h0\x13W\xb8\x85i\xbe\xe5vkNW\xd0\x1a\xdch\xbfD>\x18\xf4\x07^\x92zC\xbbg\x20F\x83;\x88\xba\xe4\xbbm\x1b5\x98\x1e^k#\xf3*\xd1\"\x89=\xc9\xd0\xee\x83#j\x83G}\xb2\xc1\xbeh\x07\xaeq0\xc8\x1c\xd9\x88\xe6W\x97\xa7\xa2.j\xb0XO\xd8\x80\xec\xa2t-\x13\x97\xa3\xcb\x93\xd3\xb1\xc2e\x852\xa4j\xe8\x1e\x95\x14\x83\xaf\xf5W\xa3\x9cQ\xe9**'u\xd5\xb2\xe02\xf8\xcc\xed\xb65\xd5\xcbRH\x9d\xe17\xd8\x97\x86\x96T\xceJ\xb5\x13\x83mi\x8bZ\xdd\xf6\xe4~\xf5\x1a\xae\xa6\xa7\xb6\x0ez\xec\x0eZ?xP\x87\x04\xe8\x10\x93\xc1\xa3\xa9D\xa8\xd14\xf2\xc5\xdb\x84r\xd9<+~\xe6@\xacT\xbd\x91\x8c\xe4\xdf\xdfh\x9ae[\xba\xa3g\x83=\x8f\xecNK\x9e\\[\xe6\xc6\x1b\xe43\xc0\xa0\xbb\xd7\xd6\xea\x8d\x99\xb6E#\xb4\xfd\xfe\x1c\xdb\xdc\xfdtJ\\\xe3\xb0/'U\x04\x81\x1aLjKR\xa0\xd4\xe2\xc7\xf6J\x94\xd2T\x9en/d\xeb\xf1\xf7;n\x9a\xa9\x1c7R\xf2$b\xf3\"eO\xeeFV\x0a\xfe\x1e/\xa7\xef]\xb3\xb4U\x0c\xaeD\xc8\x81\x7f\"\xfdhIj\xfa\xf2,d\x0fR8\x0f\x91\xba\xc9K\x0a\x02\xbf\xc1\x85\xa8\x0d\xaf!\x97\xfc\x18\x0ai\xa1\xd0\x15R\x03\x0d\xcf\xc2\xef\xd6\xc1\xba\x1aD\x1b$@\x87\x98\x0c\xc6\xbf\xd0J\xf2\xd3&\xdf\x96M\xfe\x9fj\x16\xea\xbc\x86PV\x0e\xc5B\x861JO*\xda\x98\x87\xecn\xba#]\x96\\\xd9\xd9\x94\x86\xc7\xa9\x1b\xbd\xbd\x99y\xbd\xbd\xbd\xf47cEYm\x1di\xcb\xc9d\x99u[\xe76+\xf9]\xfaR3=\x1d\x8b\x90\xda\xe0\x1b\xbd\xe9\xe5W\xa5\xab5\xa9\xbd7\x86\xdaR\xd0,w\xed,\xdb\x20\xdf\xef\xb8)\xa3\x1f\xb9\x1b\xc9\xb3\x88\xb7d\xb0\xf7\x1b\xbc\x8c\xecD\x8d\xdeN\xbft\xa4\x9c\x94\xd0O\x89bpWG\x8d\xcd\xd6+\x9dFh\xd9(\xd9\xcd]\xa2n\xd8Iwv\xaf\x92\xd9\xb2\xc1\xd7\x92\xe9'\xb8\x8f\x19L\xde\xe15\x94\xa7^h(\xcd\xba\xd1\xb3\xd1\xca\x14\x1eM\xce\x95\x00\x1db3\xf8\x0cJ\x1b\x95V\xd2\x1d\xe4&\xff^[\x0ej\x13\x91B\xa0\x10v\xac\xc1cW\x87TVN\xc60\x0f]\xb8\x8d\xb6W\xaa\x08\x07\xf9rN\x93\xc8\x87\xa2\xcb\xff8?\x03\xcb2:Wm0.+\xc8\xef\xbc\xac\x8c.6\x0b\x0f\xeb\xd7\xd2s\x83\xfa\x1d\x1fK\x10\xa9q\xb1\xc8\x96\xf9n\xba\x9b*\x1b\\C\xf7P\xfbQF\x0da6:#\x95-\x91ieK\xaa\xea\xe0^\\>\x9dA\x16\xd2\xd7\xe8\xac\xe4k\xeauHW{=\xd59d\x80\x97\x0d\xee\xa1\xb5\xb4$Y\xa8\xc1d}\xa3h\xbe\xa4ZC.):p\xb7\xecXpj\xe4\xe2l\xc6\x12\x9b\xc1R\x06\xea\x19\xb5\xa5\x90_T\x93\xfc[\x902Q\x17\x1e\x83Cw\xe8\x1dm\xf8wzC\xaa^)I+3F\x09\xe9T@\xce`r\xc0\xa8\x86\xb8ZFw\xe8\xa5\xac2<\x18QA\xb6\x05\x1b<\x82\x06q\x11C\x8f\xd6Y\xe9G\xa7\x19]S\xf7;>r\xd9\xd1\x81\xd1\xc6,\xfc\xe9\xcb\xea\xf3\x1b\xdc\x81\xe6\x92\xf9\xbd\x81\x0ff\x97zON\x0a2X\x9a\x8b\x86\x87\xe4\x83\x8d\xcb\xe5#6~\x86\x97\x93z\xa0\x843\xb8]^4\x9d\x1aL\xb5'\x06sk\xb8*\xab\xbb\x08\xd1\x83\xd5\x0e\xbb\x04\xe8\x10\xa3\xc15\xa8\xb2\x8b}K6\xc9\xdf{7,\xf8\x87\x1c8\x06\xd1\xa3\xecu9\xba\xa43\x16\x89\x1a<W\xfe\xcd,\xa3\xdd)\x06\x93~\xc9>\x9b4\x9f\x9e\x10\x90\x0as\xf17k/]O\xb0\xc1\xd2\x92j\xa9\xcbN;g;\x80=\xb8\xbaT\xf5;>\x98@\x04\xd1\xb3\x04\xd9o0\x83\x07mvjN\x1fZ\xa9\xbb$3\xf8\x86\x87\xed\x01,A\xfd\xa3\xc9l\xa4\\\x8eT\x85\xf0h&\xaa\xec\xc5%\x10gp\x97\xfc\xfd\x95\xaa6\x98cH\xae\xbc\xcb\xf1\xe0\x8f\xb19$@\x87\x18\x0d\xbe\x88\xd2+\x99\xadM\xc8r\x91\xfc\xdb\x8cf\x93/a:d\xe1\xafu\xab_\x08j\xb0\x95\x19\xbc&\xa3\x8fB_\xa3\x06{\x88\x20TEjp\x19\xfb\xddg\x94\xe1_4\xdd\x9f+\x0b1\xb8#m\x94\x15\x11\x92\x95\x0e\x82\xadx\x0cV\xf5;>\xca\xe9\x80\xe9\xab\xa6\xe5{!\xfeT\x10\x83\xaf\xa6\xa7\xb0Cs7,\xe9\xf4}5\xd6\x06\x17\x06\x01\x83-T\xaeQ\x87\xe5\x1a\xfeA\xd1\x02$#UU\x97\x9fa\xe7\xebz\xc9'^6Xd\xbe\xfa\x90\xae\xc1\xd7\x10\xfbV\x9a\x8fF\xe8\xabP\x07\xeb\x12\xa3\xc1\xf8[\xd7\xc6\x0eN6!4\x1bk\xd8i#\xc5\xeb\x90\x15\x95\xe1\xdf\xf1i;=\x93\xc4\xe0\x0c\xeeb\xd2o\xa3\xdf\x9dyyd\xb7\x86\xccP\x0c\xee\xa4\xa5l\x1b\xea\xc4+H\xc7\x1d\xf9n\x0f1x4\xad\xc3\xceN\xf9Y\xd3\xc8\xa9\xd6\x8c<u\xbf\xe3<\x1e\xdcL\x8f\xa2\x88h6\xb6ntv\xf2U\"\xd8\xe8|\xe4?\x02\xbd\x92\x8e\x96\xbd\xc9\x1au\xa8\\E,\xa7\xffT\x93\xc1\xdaC\xf7\xe4\x1a\xc9\xde\xee\xe8\xd5\x80\xf2\xfdT\xbf\x1b\xb9\x9c\xc1x\xc4\xc6k\x1d]\xa2o0nA\xaa)/S\xb7o\x9cgkf\x04\xb1\x1a\xdc\x8a\x10\x1b\x09\x9b\xd0\xac\xdbSf\xcfB\xecE\xaf\x15\xdd>\x17?\xc9\x0d\x0c?C\xf6\xfa\x1bm\x96\xfe\x1b+\xf3F\xe8/\xb8\xbd\xa3\x8c\xedq\xd5X\xeb;\x16\xd9DrN\xae\xec\xb4\xd4Wf\xe9\xc5#\xd7\x9a\xe4\xea\xce\xead\xb2\xf34hK\xaf\xddfON\xf1\x90\xca\xba\xaf\x195\xca\xa7\xf0\xa4\xea\x0cVDHV\x94\xd3\xde\x9aI\x8fYq\xfd\x8e\xf3\x9c\xdcEvHe#\x9a\xb5ac\x16)q\xb1`5\xc8QS\xbd\x11\xd3A\xaez\xc8\xd9\xb8\xd2z\xbb\xffs\xc4!\x1b<\xec@y\x1bsP&\xf1p\x19\xca\xaa^\x82f]%\x9f\xbc\x1c\x7f\xbb\xd1\xd9h\x91\xbb\xda\x91\x99\x96\xc5\x1d\x0fNEK*3\xec\xc4O\x1d\x83\x87\xd3\xd0\"\xdc\x17;2\xd7\x08\xc7\x83\xf5\x89\xd5\xe0kVV\xa8\x92\xb3\xca\xfd\x8bl\xf6E\xf2\xc8\xe7+O\xb7\xd8\xe6\xd6\x05\x04\x1eMC\xa8-\x15\xd9\xdaY\x95\xda\x95g\xb7\xcfg\x07\xdaF+\xed\xb6\xbc3\xf4(*\xb2\x0c\xda\xf0#Q\xafy\xaemn3\xeb\xa9\xd0>\xab\xda\x93B\xe6\xdeH\xc5\xaf\xda\xe4\xd1\xcc\xe7\x1f\xdf\xad\x1b\xcbR\x1dk\xd81/\xa5\xdfq\x1a,e\xd1\xe1ut\xff\xdcT\xdb\\v\x85\x83X\xe6\xdf\xa3\xc2=^\xdd\x98nq,W\xef\x9a1\xfc{rbY\x9a%\xbd\x9an\xe4h}\xa6\xd5QN\x8c\xe4\x0c&\x07\xb8\xad\x99\xb57\x96\xe1\x82\x20pNn\xa80\xd5\xb6d\x88\x0c\xcb:\x06Kb\xb9\xc3\x92V\xc6.:Z\xa2\xaeK\x00\x9e(\x0cV\xe1c\xa7\xe5\xa8\xc1\xe1[\xc6\x9b\x1bV\xf9\xc3\x12\xe6T\xde8\xf0\xb0}\xa5x\xd3\x1dt|W\x0d\xdb\xdf\x15Qt\x07Q\xc4\x94m\x91\x9a\xcc`b5\xb8\xc6?\x20\x1bnp\xbb\\D\xc4\xd9\xe0\x09\x1d\x8b\xd3\xa7,\xec\x15\xa9v\xba\x83\xb81\xca\x03\xd9\xb5\xb6\x09\xec\xaaN{b2xh\xb8\xfdv\xab|\xa5\x9f\xb1\x06\xd7\xf6H\x8b\xfcN\xc4\xd7`\xc9\x9b\xa2\x7f=\xef\xb8\xb9X\x18\xf6Tw5\xca\xd8X\x9d\x1b|\x1eN\x87k\xf6h\xae\xcd\x9b\xb1\xc4d094\xef\xf7\xc8P\x83o\xa0\x9cJ\x07\xab\x87\xd9\x0e`<Y\xbe<R\x8b\xf8\xe3\xc9I\xb5e\xd5FW\xddn\x9b\xc8Y\xf3\xe9OL\x06\xd7\xd9\xd2\x02_\x8e\x86\x1a,\xd5\xa4\xe6\xc9#%\xdd\x01\xbc\x18\xbe50\x83\x88\xc9`\x00\x98r\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\xcd\xd46x\x7f\xf0\xfd\x0e\x9a\xb8\xc3\\\x03\x19\x1d\x17\xe1x\x95i\x01\x831n[\xe8\xc5\x93\x80I\x98\xda\x06\xf7\xbb\xa3\x09;\x99\xa8\xc1\xa3\x08\x81\xc1\xa6ej\x1b\x1c\x1d`\xf0L\x06\x0c\x06\x83\xcdM\xdc\x0c\x8es\x0c\x1a\x83\xd6\xc1M\xc8=\\\x96v{\x16\xee\xbe)\xd3\x9aVNlS\xa5\xb6\xc9\x06s\xd1mZ\x8b\x045\xa8\xbdZ\xee\xb0\xa4o\xbc\xca\xceS\xd3\xf8\x16_Y\xba%5\xa7~\xc2{u\x1f\x0a\x98\xbda\x1a\x1c\x15\x84\x13a^\x06ba\xc2\x06OR\x0c\x1aC6\xb8\xcc\x8e\xd2\xac\x08\xb5\xafA\xb7\xa7!z\xe3\x8d*\xb5\x8d\x19\xccG\xb7i-\x12\xd4\xa0\xdc\x81R\xed\x08e\xde\x90Z\x97!T\xb8\xec\xa24\x98\x8a\xecs3P\x94W\x8c\x85\xe1O\xef}g\xfd\xc0\x17a\x1a\\\x1f\xa8:\x18\xe6e\x20\x16\"\x1a|5/\xfc\xc5\xa9Q\x87H\xc5\x16\x83\xc6\x90\x0dF\x99\x83\xd2\xe82d\xbd\xdd3*\xb5#\x12\x81\xa3Jm\xa3\x06\xab\xa2\xdb\xb4\x16\x09n\x90\xd1+I\x1d\x16rc\xa9\\E,A\x1b\xf1\xf0\xdb\x97\x1a\x87[z\xb6l\x89\xd0`;\x18\x1c/\"\x1a<\x88\xb4n\xb1Q\x88\xda\xe0\xf1\xc4\xa0\xf9\x0d&\x9b0(_\xd9\x99C\xa4S\xa5\xb6Q\x83U\xd1mZ\x8b\x047\xa0\x09\x17e\xe46\x09\xd9\xe0t\xd6e\xdd\xf2Ni\xa2\x80\xc1\xc6\x11\xde\xe0\xa6\xcc\xce!\xe4\xeb\xcc\xdc\x9f\xa0\x184\xd9`z+\xdb\x0dY\xdae\xa8NR\xa7\xb6Q\x83U\xd1mZ\x8b\x045`\xe9$u\xe4\x1aQ\xd9\xe0<\x94\xd3\x1b\xfc\xe1\x1a\xd8Z\xea\\\xb1\xbdtLz\x0d\x97\xb6\xff$\x1d\xc4\x8f/5\x08\xce\xe7\x1f[\x9b\xbf\xf5s\xda\xe2\xb3\xfbW8\x8b\xb6\x7f\xae^\x8c3x\xechE\xfew\x8e\x8e\x05\xb5\xc5\x067\xe0\xbe\\\xd7q\x83\x13U\x8b\xd7>\x86\x1b|\xe8\x14\x84\xa7?\xd9uw\xfe\xd6?I@\xd4\x847X\\\x83\xb2\xf0\x7f%b\x82b\xd0d\x83ie\x8a=\xa3\xb7\x87\x94\x90:\x9aOm\xa3\x06\xab\xa3\xdb4\x16\x09n\xb0HY\x81lp\xaf\x05\xa1\xd4e\xad|\xd1\xf4\xc1\x82\x87O\x9d}~\x85\xf0'il\xa0\xf4\xfb\x7f\x94\xfex\xb0`\xe0\xe6\xefO8\x85\xa2\x83\x87\x0b\xee'-\xce-\xae8|\xf6\xa0\xf0\xac\xa4\x823\xf8a\xd7\xd3\xaf?\xed\xda\x1b\xd4\x16\x1b\xfc\xf9.\xe1\xd9\x0f\xf1\xe4^\xa1\xe1\xf5\xa3E\xeb\xc7\xa4\xb1\x97N\x94\xae*(}l\xd7\x82p54\x10D\xa4*\xa2\xcb\x82,\xf4^\xe0\x84\xc4\xa0\xc9\x06\xd3k\xe9\x83\x0cVR\xdb\xa8\xc1\xea\xe86\x8dE4\x1b\xa8\x0c\x96\x06K\xc8\x9d\xd3)e\xca\x97\xc0\xd1\"2\x1c\x1e]J\x86\xd0\x83\x15\xf8\xe1a\xaa\xa2k)\x1eGw\x15\xe1\xa9\xb1\xd2\xad\xf8\xb5\xb1\x97\xaeK*\x14\x83\xcf\x0ag\xfd\x8f|[l\xf0\xb3\xae\xd7H\x83\xd7\xe8a\x89\x0f\xd9\xc1\x89\xf5\xc2\x96\x9b\xd2\xd8M\x09\x88\x9e\xf0\x06_\xdbhIG\x0ek\xf5\xd5\x04\xc5\xa0\x851XIm\xf3\x8f\xc1\\t\x9b\xc6\"\x9a\x0d\xd4\x06\xe3\xa9\x9emY\x88;\xba\xfcE\xf1\xdd\x0d\xcf\xffn\x8c\xd6\x00\x9f/\xf8\x9d4V@|\x94\\\x0f\xe3\x87\x83.\x89\xa8\xf9;I\x03\xc5\xe0\xbd\xeb\xe8?\xeb\xf6\xaa\xdbn?\xf8\xb4p\x8aN=x\xf7\xd8\x9f0\xa5\xf4\xa3\xb1\xde\x05\xc3o\xac\x847\xd8\x9d\xb6\x7f\x08\x0d5\xa7\xb9\x13\x14\x83\x16\xc6`.\xb5\x8d\xd6\xc1\xaa\xe86\xadE\xb4\x1a\xa8\x0c\xf6\xb1\x20\x8cF\x94\xa2\x941\xd7\x8f>\xb8VXq\x98*\xbc\xf51\xe9,\x1d\x8d%\x17\xd9\x0f\xa3\x06?+\x8cI\x1a(\x06\xdf\xbb\x9d\xfe\xb3\xbdJ\xddv{Q\xc1\xda\xfb\xe9\xd3\xf5\x02\x83\xd6$\xeb\xab$\x20F\"T\x11\xa3\xf4X\x04\xf9\x8d&$\x06-\x8c\xc1\\j\x1b5X\x15\xdd\xa6\xb5\x88V\x83\x80\xc1WIz\x03k<\x84\x92\x03\x06\x7f\xf88\xb6\xec\xfa\x89\xfc\xa3\xe4\xc9\xa9\x15c\xac\x88\xe0\x0c>+|(i\xc0\x0c\xbe\xf9\xf4ui\xef\xdd\xc4\xd3\xb1\xbb\x1fV\xb7\xdd^\xf4\xf1g\x05\xb4x\xdeu\xf7\x87\x14Z\x87\xac\xbf_\xa33\x20,\x91\xea`I\xb4\xb3\xdb\xeb\x0d\x8eAc\x841\x98Km\xa3\x06\xab\xa2\xdb\xb4\x16\xd1j\x20_\xfcfA\xed7F\xa5<\x94\x87[_[\xc6\x9d\xd28H\xabXi\xcb\xf7\xc9\xe3\xd8\x8aSK\xe9S\xce\xe0\x9b\xc5[\x88\xa1\x0d\x8f\xd1\xf9\x9f\x1d\xfe\x8c-\xc7\x0c\xfe@\x18\x90^\xa7\x05\xee\x09\xe1uu[r4\xed\xac\x93\x18}Vx\x89\xb4}\xf20y\\\xff\xa0\x04\xc4HD\x83e\x8c\x8eAc\x841\x98Kmc\xe7\xe4\xf8\xe86\xadE\xb4\x1a\xc8\x06\x93\xf2\xa5K\xf2\xd9\x91%3\xcb\x86\xd2\x94\xfc\x88\x83\xc2\xe2\x83\xaf\x9d\xda+\x9c\xa3\xcf\x1e\xbf{)\xd9\xb1\xfb\xd7\x01\xe7\xde\xf7\xc6>\xd8\xeb\x1c\xf8WI:\xe7Zw\xf4l\x83\xf0<mp\xbf@k\x86?\xfd\xbf\xef\xac\x1f\xc0\x1c\xc5\x06K\xbb\x84\xc7_{\\\xd8E\xe6\x07\xda^\x1f\xa8\xc2=\xdc\xdc^|\xee\x8f\xb8\xd7\x05\x0f\x9e\xc2\xab8\x81\x17\x1bXu\xef\xc0\xc0g\x12\x10\x0bQ\x1alx\x0c\x1a#\x8c\xc1\\j\x9b|]\x04\x17\xdd\xa6i\xb0F\x03\xd9\xe0\xa1\xdc\xdbS\xdb\xc8u\x13\x19\x96\xdb3\xab\xb9\xc3i'\xee=X\xea,\xde\xc2\x04\x96\xfe\xc0.v\x20\x07r\x9d\xbf[\x8c\x1f\x1b\xc8\xcc\x07K\x0b\xaa\xd8N\x99\xf4|\x11-7>\x96K[!\xff\x13r<x}\xfez\xf9x\xb0\xbf\xedQ\xf2\xe2\x07'\xf0\xc3\xd3x\xee\xd9-w.\xbd\xf7\xac|9\x85\xc0>\x04@\xd4Dip\xfc\x99X\x0c\x9a\xb1i\x1527]\xe7\"5\x01\x0c'a\x06O,\x06-!\x06\xbft'\x9c,\x9bz$\xc6\xe0\x09\xc7\xa0\x19o\xf0\xc1sc[\xe0b\x86)HB\x0c\x9ex\x0c\x9a\xe1\x06\x8f\x09\x15\x0d\xc5Ag\xde\x80\xa9@B\x0c\x9ex\x0c\x9a\xe1\x06K\x07\x17o\xf9$R\x1b\x20\x01$\xc6`\x00\x88\x17`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807\x86\x1b|\xaa\xea\x8f\x91\x9aL\"\xd7\xef=\x15\xa9IT\xd0w\x11\xaf\xce\x80\x8901\x83\x1b\x04v\x87\x81\x06\x9f9\x85\xb5\x1a\xb3\x0f\x0b\x075\xef,\xd3%\xe2*N9\xe5\xabq\x9dQ\xf84vX8\x1c23\xf6\x9c3\xf6.4;\x03\x0cf|\x06\x9f\x93\xef\xf8\xfa|\xc0\xa9w\xbd\xd6\xd8{{]\xa1s\x8fF\x1dy\x17\xf5*\x0e\x0b\xe4n\x88g\x07\x06\x16D\xa5\xd3\xeb\xce\xa3\xc1\xb3b\xce9\x0b\xbc\x0b\x8d\xce\x00\x83\x19\x9f\xc1U\x81\xfb\xb9\\\xfaW\x1c\x1e\x0c5\xf83\xe7\xe3\xfe\xc9\xeb[\xc2_\xe9\x15\xf5*\x9eu\x92Q\xf4=I\xca\x0f\x8a\x1d\xd1\xe1iWP\xc0\x8e\x14kJ\x14\xf7.\xb4:\x03\x0ce|\x06\xaf\x8fV\xaf\x20\xf6\x16\x07J\x88\x8f\x85\x8fC^\xe6\x89z\x15c\x9f\xc9\x06\x7f\x16]yr\xb38\xb4`\x88\xcd`\xee]hu\x06\x18J8\x83\xff\xb4\xc2\xf9O\xa5\xc5\xe7\x1a\x96n!)2\x81|\xafSr\xddI2l$\xd7c\x81\x081.!\xec\xf3]\xc5K\xef\x0f\xad\"\xc6\x0a\xe4\xc1\xeb\xe8\xaa\xd7>\x11>y}\xd5\xd18\xad\x82\x1a,\x05\x85\x9b\x1d\xdd[\xbct;\xbd\"2\xd0/\xe5\xe9\xfc\x10\xd5c\xc99S\xde\x05A\xa33\xc0P\xc2\x8e\xc1\xe7\x0a\x84\xc7\xb6\x08w\x1e^A\xbe\x9f\x03\xf9^7\x07\xe8=\xb5\x03T\x0e\x97\xb0\xf6\xc4\xa9\x154\xe6@I\x08\xfb\xa4`\xed\xf3\xa7\xb6\x0a!\x06\x93\xdb\xcf)\x9f\xef\x12\xd6\xe1\xff\xee\xff\"N\xab\x90\x0d\x0e\x0a7+=x\xb04\xffc\xbe_\xca\x80\xf0\xff\xa4\x20b\xc99S\xde\x05A\xa33\xc0P\xc2W\x11\xc5\xbb\xa4\xd7\x85S4-L\x9d\xef\xa5|\xc5\x17\xfd\x1b6\x84D\x88q\x09a\xf7\xae\"{\xea\xebC\x0c~]\xf8\x83\x7f\xf2\xacSp\xd2\xf0\x85\xb8\xacB6X\x1dnv7\x1e\xd6\xaf\x97V\x05\xf5\x8b?>B\xc8A\x8b\x18r\xceT\xefB\xb33\xc0P\"\x18|BzO\xb8)=\xfe`p\xbe\x97\xa2\x17yN+^%!\xec:\x8bOx:\xc4\xe0S\x82\x1c\x86p\xfd1g\xb1P\xecz\xec\xdf\xe2\xb4\x8a\x80\xc1|\xb8\x19\xfd\xae?*\\W\xf7K\xa4\x0b9<\x17C\xce\x19\xf7.\x08\x1a\x9d\x01\x86\x12\xc1\xe0\xb3\xd2\x87xW\x9f\xe8\xa5\xce\xf7R\xeffQ\xbd\x94\x84\xb0\x0f\xd9\xd7l\xe8\x9e\xdc{~\xd1\x0e\xaf8\xfa{\xe1\xf7GW\x1c\x8e\xd3*\x02\x06\x07\x87\x9b\xe1o\xf9\x0f\xd5\xfdJ\xfeeyb\xc89\xe3\xde\x05A\xa33\xc0P\"\x1b\xecbz\xa9\xf3\xbd\x88^\xcf\x93C\xa8\x8a^JB\xd8\xbf\x09\xf4(\xe9\xc3\xa1{r\x81\xc3\x0ac\xf4X\x04\x09\x85\x8c\xcb*\x14\x83\xb9p3\x9a\x04\xf5<\x1e\xdfU\xfd\xe2\xae\x9c7\xa5\x20b\xc89\xe3\xdf\x85\xa4\xd9\x19`(Q\x1b\xac\xca\xf7\"\xbf\xf1?\xd2\x19\x8a^\\BXU)\x96\xe5\x0f\xae\x10\x83\xa5\xfbW\x05\x86\xb5/\x96~\x11\xbfU(\x06s\xe1f+\xb0[7\xef\xde\x12\xd4\xaf4\xb664\x15'\x86\x9c3I\xf5.\xb4:\x03\x0c%\xac\xc1\xbf_\xfa\xec\xd8\x09\xe7\xc7c\xbb\xb6|\xce\xe5{I\xc4\xa7gOmY\xfc\x85:BLI\x08\xfb8\xbf\xf4\xe0\xd3K\x05\xe7\x89\xdf\x07u\xf8I\xc8i\xd8\xb8\xac\xe2\x83\xa3\xf2a\x02)\x10nF\x0eaT\xbc\xf4\xfc\xaa\xa5d\xaf\x8b\xef\x17\x17\x07\xca\xd0\xca\x88-\xe7L\xf5.B;\x03\x0c&\x9c\xc1c+\x04\xe1D\x81\xb0\xf8%VB\xfa\xf3\xbd\xc8+\x0dK\xf3\xef\xfd0(B\x8cK\x08\xfbd\xfb\xd2\xbb\x1f;\xe1\xa4\xc1b*\x9ev\xa9\xcb\xc6\xb8\xacb\x8c\xbc\x9a/\x7f\x9b\xff\xc1\x7f\x85\x83\xeb\xb1\xbd\x05\xc5\xbb\xfe\x95Ns\xfd\x0e\xe4?&\x05\x11c\xce\x19\xf7.4:\x03\x0cf|\xe7\xe4\xc6\xcdX\x83s\x92\xf7\xdd\x03\xe1f\xda\xa7\xf2^r\xee\x9dxt\x94\xff]\xc4\xa53`b\x18l\xb04\xf6l\xe9\xf5Hm&D\x20\xdcL\xd3\xe0\xeb\xc5\x87\x95\x03\x0c\xe3\x87\xbd\x8b8u\x06L\x08\xa3\x0d\x9e\\\xf8p\xb30\x97S\x00\xd3\x88ie0\x17n\xf69\xdd\x01\x8c\xd0\x1e\x98\x06L+\x83\xb9p3\xba\x03\x08q\xe83\x80\xe9e00\xf3\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb91\xdc\xe0\xe9\x91\x9b\x16\x0b\x113\xd6\xe2\xf4#I\xc4{\x9b\x02L\xcc\xe0\x88\xa1f!L\xc5\xdc\xb4s\x0b\x84{\xc7HF\xc5\x82\xb3\x1a\x8b0>\xde\xba\xb8x\xd7\xb9b\x95j{\xe5K\x8a\xd5\x93\xc1D\xccX\x8b\xfeGr\xb6(\xdc[\x9c\xa11n\xe338\xeaP\xb3`\xa6dn\xda\xd8Y!\x7f@\xbayJ8\xabk\xd2\xd9\xc5U\xcf\x9fX/\x08*I?'+~/x2\x88\x88\x19k\xd1\xffH\xa4\xd7\x16k\x18\xec\xffAI34\xc6m|\x06G\x1dj\x16\xc4\x14\xcdM\xbb)\xec\xda\x8b7N\xd0\xbdi\xf3z\x01\xb9Q\xf9\xe6*!x\x98Un\xd0\xe3'9\"f\xacq\x0d\"\xa3\xf5\x09S~P33\xc6m|\x06G\x1dj\x16\xc4\x14\xcdM\xbb)\x9c]<\x16\xce\xe0\xc7\xf3\xe9\xddJ\xcf\xc6np\xc4\x8c5\xae\xc1\xf8X\xcf\x19<\x13c\xdc\x207M\"\x06\x7f\xb6\xfe\x145\xb8\x81$\x05\xd3\xfaZ\xb5e\xab\x1e\xa6\xed\xae?;&\xdd|\xb0\xd8Y\xba\xdd\xff\xcd\xade\xf0\xc0\xd6R\xe7\x8a\xed\xa5t%\x113\xd6\xfc\x0d\xf0\xf6>\x1fx\x9b\x01\x94\xcd\xc1+\xcf\x17\xe4\x18c\xae\xad\xea\x07%\xcd\xc8\x187\xc8M\x93\xa8\xc1G\xb7S\x83i\xd5\xcd\xeakn\xcb\xc6\x04\xa5@yM\xd8{\xee\xa5\xed\xfe[\x945\x0c\xfe`\xc1\xc3\xa7\xce>\xbfB\xa07;E\xccX\xf37\x20\xdb[t\xf0p\xc1\xfd\xaaW\xb9\xcd\xc1+\x18\x18`_G\\[\xd5\x0fJ\x9a\x911n\x90\x9b&Q\x83\xaf\xbb\xae\xb3*BI\xa7P\xb6\xec3n\x89\xb1\x97n\x92\x15\x07\xf2\x7fB\x0c>ZD\xdc=\xca\x82\x83\"f\xac)\x0d\\K\xf1\x98\xba\xab(\xe8ues\x08\xf9\x07C\xdb\xf2U\xc4L\x8cq\x83\xdc4\x89\x1a,m\x7f6\xc4\xe0\xc0\x96\x8d9\xb9\x9d\xc4\xebG\xb7\xde]\x20\xacgO4\x0c\xfe\xa2\xf8\xee\x86\xe7\x7f7\xc6\x06\xfc\x88\x19kJ\x03\xd7\xc3\x92\xc6\xbe\x83\x8e\xc1\\\xdb\x20\x83CW1\xcd\x89\x9c\xd9\xe3\x9ch\xa8\x99\xc2T\xcdM#\x06\x9f\xfaN\x88\xc1\xca\x96\xc9u\xf0\x18\xfeh|XT\xfa\xf8\xa9\x81-\xeb\xfd}\x85\xd6\xc1\xd7\x8f>\xb8VX\xc1nc\x8e\x98\xb1\xa64P\xbb\xeaG\xc7`n\xae\xca\xe0\x19\x18\xe3\x16\xd9`\xd7DC\xcd\x14\xa6jn\x1a1xl\xf1Y\xc5\xe0\xa7\xfd\x06\xcb[\xf6x>]\xf6%\xe1\x8f\xd2\xda*\xb2\x0d\xf7\xafgKj\x18\xfc\xe1\xe3\xb8\xc1\xf5\x13\xf9t\x03#f\xac)\x0d\xc2\x18\x1c\xf86\xd35\xf8y\xf9\xcf\x80\xcc\xc0\x18\xb7\xa8\x0d\x1e\x7f\xa8\x19\xc7\x14\xcdM#\x06K\x0f\xef\xa2\x06\xe7\xe3\xe2c\xac*\xc8`v<xl\xcb\xdd\x92TJF\xf2\xb1\xef\xacgKj\x18|\x90\x16\xeb\xd2\x96\xef\xd3g\x113\xd6\x02\x0d\xb4\x0dV6\x87>\xd30X\xf9A\xe9\xadbz\x03\xb9i\xf4\x9c\xdc\xa9\x9b\xd2\xb9|j\xf0\xbdE\x87\x0fV\x91~U[v6\xff\xde\x13\xa7\xb6:\x07\x88\xa0\x0f\x1e=\xb8\x1eW\x09\xefI_\xc8'\x03\xf1G\x91\x9b<(,>\xf8\x1a^\x1b\x8b\x0e\x8a\x98\xb1&7P\xbdM\x8e\xc0\xe6Hc\xef\x0d\x0c\xb8\xf6\x0e\x0c\xdc\x0cj\xeb\xffA\x11fb\x8c\x1b\xe4\xa6\xd1\xeb\"\xf0\x186VE\xcf-|\xb2%\xbf`\xeb?\x09\xc2^\xf5\x96}\xbc5\x7f\xc5\xfd$\x11{\xec\xd9U\xae\xa2\x07\x9f_\xe5\xdc\"=,\xd7\xd7x\x90\xe6&O\xdc{\xb0\xd4Y\xbcE\xce\xbe\x8a\x9c\xb1\xc6\x1a\xa8\xde&\x87\x7fs\x1a\xa4\x0f\xe4U\x1c\x0dj\xeb\xffAI34\xc6m|\xe7\xe4\xc6\xcd\xf4\xc8M\x8b\x85\x88\x19k\xf1\xfb\x91\x18\xfe\xde\xa6\x04\x06\x1b<Mr\xd3b!b\xc6Z\xbc~$\x09xoS\x01\xa3\x0d\x9e\\\x207m\xe61\xad\x0c\x86\xdc\xb4\x19\xc8\xb42\x18r\xd3f\x20\xd3\xcb``\xe6\x01\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb8\xc1q\x0a\x09\x1b'\x93\x9b-\x161!\x0d\x88?\x1338b\xa8Y\x08\xd1\x87\x84\xc9D\\\xc5\xc4s\xd3\xee\x15H\x10\xc3\x09\xfcx/?;L\x16\x1a\xe5\xa8\x10\x94\x17\x151!\x0d\x98\x04\xc6gp\xd4\xa1f\xc1D\x1f\x12\x16\xf5*&\x9e\x9b\xf6I\x83p\xee\xa6ts@h\xd0\x8bE\xd3\xe4\xfa@\x95j\xcb\"&\xa4\x01\x93\xc1\xf8\x0c\x8e:\xd4,\x88)\x9a\x9bvT\x20\xdf\x0b\x7f\x12B\xc4\xd3N\x92\x0a\xb0\x9d\xdf\xb2\x88\x09i\xc0\xa40>\x83\xa3\x0e5\x0bb\x8a\xe6\xa6\xc5\xc5\xe0\x88\x09i\xc0\xa4\x00\xb9i\x12opP|Y\xc0`n\xc5\xd2g\xf7\xafp\x16m'-\xb0\xc1\xe4*N\x17\xf96\x89\x98\x90\x06L\x0e\x90\x9b&\xf1\x06\x07\xc5\x97\x05\x0cVV,\x9d[\\q\xf8\xecA\x9a\xa4\x86\x0d\xc6\xef\x84\xdd&\x1d1!\x0d\x98\x1c\x207MRW\x11\xaa\xf82\x7f\xbf\xdc\x8a\xc7J\xb7\x925\xbfD\xc6]l\xf0\xb3\xae\xd7X\xd3\x88\x09i\xc0\xe4\x00\xb9iR\x90\xc1\x0fK\xa1iV\xca\x8a\xb1\xc6\xbf\x0b,\xb7\xfd\xe0\xd3\x01U#&\xa4\x01\x93C\xe4\xcc\x1e\xe7DC\xcd\x14\xa6jn\x1a\xd1\x9c$\xf7\x1c\x95\xf8\xb5IJ\xbf\xca\x8a\xa5g\x05\xa5\xc4\xdd^T\xb0\xf6~\xf9i\xc4\x844`r\x88l\xb0k\xa2\xa1f\x0aS57m\x80F\xdd\xb0JV\xd3`e\xc5x\x0c\xfe0\xb0\xdc\xf6\xa2\x8f?+\x90\x8f\xe1ELH\x03&\x87\xa8\x0d\x1e\x7f\xa8\x19\xc7T\xcdM[J\xa4\xdf\xbb\x94h\xa7i0\xb7\xe2\x9b\xc5[\xc8{h\x20\x9f\x0fr4\xed\xacS6:bB\x1a0)@n\x1a\xe1\x84\xd0p\xf6\xfb\xe4u~m\\\x16\x1a\xb7b\xe9\x9ck\xdd\xd1\xb3\x0d\xb8\x0e\xbf>P\x85\xdb\xde\xdc^|\x8e^\xe9\x111!\x0d\x98\x14\x207\x8d5\xa8Z\\E^\xe7\xd7\xc6e\xa1\xf1+\x96\xfe\xf0`iA\xd5)z]\x84\x20|p\x02?<M\xe7GLH\x03&\x83\xf1\x9d\x93\x1b7\xf1\x0b\x09\xd3#q\xb9i\x11\x13\xd2\x80\xc9\xc0`\x83\xe3\x16\x12\xa6K\x02s\xd3\"&\xa4\x01\x93\x80\xd1\x06O.\x90\x9b6\xf3\x98V\x06Cn\xda\x0cdZ\x19\x0c\xb9i3\x90\xe9e00\xf3\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\xcd\xff\x07\xda\xa7C\xea]\xae?U\x00\x00\x00\x00IEND\xaeB`\x82",
+
+	"callgraph.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Internal\x20call\x20graph</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Internal\x20call\x20graph</span></p>\x0a\x09\x09<p>\x0a\x09\x09\x20\x20This\x20viewer\x20shows\x20the\x20portion\x20of\x20the\x20internal\x20call\x0a\x09\x09\x20\x20graph\x20of\x20this\x20package\x20that\x20is\x20reachable\x20from\x20this\x20function.\x0a\x09\x09\x20\x20See\x20the\x20<a\x20href='#pkg-callgraph'>package's\x20call\x0a\x09\x09\x20\x20graph</a>\x20for\x20more\x20information.\x0a\x09\x09</p>\x0a\x09\x09<ul\x20style=\"margin-left:\x200.5in\"\x20id=\"callgraph-{{.Index}}\"\x20class=\"treeview\"></ul>\x0a\x09</div>\x0a</div>\x0a",
+
+	"dirlist.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a<p>\x0a<table\x20class=\"layout\">\x0a<tr>\x0a\x09<th\x20align=\"left\">File</th>\x0a\x09<td\x20width=\"25\">&nbsp;</td>\x0a\x09<th\x20align=\"right\">Bytes</th>\x0a\x09<td\x20width=\"25\">&nbsp;</td>\x0a\x09<th\x20align=\"left\">Modified</th>\x0a</tr>\x0a<tr>\x0a\x09<td><a\x20href=\"..\">..</a></td>\x0a</tr>\x0a{{range\x20.}}\x0a<tr>\x0a\x09{{$name_html\x20:=\x20fileInfoName\x20.\x20|\x20html}}\x0a\x09<td\x20align=\"left\"><a\x20href=\"{{$name_html}}\">{{$name_html}}</a></td>\x0a\x09<td></td>\x0a\x09<td\x20align=\"right\">{{html\x20.Size}}</td>\x0a\x09<td></td>\x0a\x09<td\x20align=\"left\">{{fileInfoTime\x20.\x20|\x20html}}</td>\x0a</tr>\x0a{{end}}\x0a\x0a</table>\x0a</p>\x0a",
+
+	"error.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a<p>\x0a<span\x20class=\"alert\"\x20style=\"font-size:120%\">{{html\x20.}}</span>\x0a</p>\x0a",
+
+	"example.html": "<div\x20id=\"example_{{.Name}}\"\x20class=\"toggle\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Example{{example_suffix\x20.Name}}</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Example{{example_suffix\x20.Name}}</span></p>\x0a\x09\x09{{with\x20.Doc}}<p>{{html\x20.}}</p>{{end}}\x0a\x09\x09{{$output\x20:=\x20.Output}}\x0a\x09\x09{{with\x20.Play}}\x0a\x09\x09\x09<div\x20class=\"play\">\x0a\x09\x09\x09\x09<div\x20class=\"input\"><textarea\x20class=\"code\"\x20spellcheck=\"false\">{{html\x20.}}</textarea></div>\x0a\x09\x09\x09\x09<div\x20class=\"output\"><pre>{{html\x20$output}}</pre></div>\x0a\x09\x09\x09\x09<div\x20class=\"buttons\">\x0a\x09\x09\x09\x09\x09<a\x20class=\"run\"\x20title=\"Run\x20this\x20code\x20[shift-enter]\">Run</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"fmt\"\x20title=\"Format\x20this\x20code\">Format</a>\x0a\x09\x09\x09\x09\x09{{if\x20not\x20$.GoogleCN}}\x0a\x09\x09\x09\x09\x09<a\x20class=\"share\"\x20title=\"Share\x20this\x20code\">Share</a>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09</div>\x0a\x09\x09\x09</div>\x0a\x09\x09{{else}}\x0a\x09\x09\x09<p>Code:</p>\x0a\x09\x09\x09<pre\x20class=\"code\">{{.Code}}</pre>\x0a\x09\x09\x09{{with\x20.Output}}\x0a\x09\x09\x09<p>Output:</p>\x0a\x09\x09\x09<pre\x20class=\"output\">{{html\x20.}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09</div>\x0a</div>\x0a",
+
+	"godoc.html": "<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a<meta\x20http-equiv=\"Content-Type\"\x20content=\"text/html;\x20charset=utf-8\">\x0a<meta\x20name=\"viewport\"\x20content=\"width=device-width,\x20initial-scale=1\">\x0a<meta\x20name=\"theme-color\"\x20content=\"#375EAB\">\x0a{{with\x20.Tabtitle}}\x0a\x20\x20<title>{{html\x20.}}\x20-\x20Go\x20Documentation\x20Server</title>\x0a{{else}}\x0a\x20\x20<title>Go\x20Documentation\x20Server</title>\x0a{{end}}\x0a<link\x20type=\"text/css\"\x20rel=\"stylesheet\"\x20href=\"/lib/godoc/style.css\">\x0a{{if\x20.TreeView}}\x0a<link\x20rel=\"stylesheet\"\x20href=\"/lib/godoc/jquery.treeview.css\">\x0a{{end}}\x0a<script>window.initFuncs\x20=\x20[];</script>\x0a<script\x20src=\"/lib/godoc/jquery.js\"\x20defer></script>\x0a{{if\x20.TreeView}}\x0a<script\x20src=\"/lib/godoc/jquery.treeview.js\"\x20defer></script>\x0a<script\x20src=\"/lib/godoc/jquery.treeview.edit.js\"\x20defer></script>\x0a{{end}}\x0a\x0a{{if\x20.Playground}}\x0a<script\x20src=\"/lib/godoc/playground.js\"\x20defer></script>\x0a{{end}}\x0a{{with\x20.Version}}<script>var\x20goVersion\x20=\x20{{printf\x20\"%q\"\x20.}};</script>{{end}}\x0a<script\x20src=\"/lib/godoc/godocs.js\"\x20defer></script>\x0a</head>\x0a<body>\x0a\x0a<div\x20id='lowframe'\x20style=\"position:\x20fixed;\x20bottom:\x200;\x20left:\x200;\x20height:\x200;\x20width:\x20100%;\x20border-top:\x20thin\x20solid\x20grey;\x20background-color:\x20white;\x20overflow:\x20auto;\">\x0a...\x0a</div><!--\x20#lowframe\x20-->\x0a\x0a<div\x20id=\"topbar\"{{if\x20.Title}}\x20class=\"wide\"{{end}}><div\x20class=\"container\">\x0a<div\x20class=\"top-heading\"\x20id=\"heading-wide\"><a\x20href=\"/pkg/\">Go\x20Documentation\x20Server</a></div>\x0a<div\x20class=\"top-heading\"\x20id=\"heading-narrow\"><a\x20href=\"/pkg/\">GoDoc</a></div>\x0a<a\x20href=\"#\"\x20id=\"menu-button\"><span\x20id=\"menu-button-arrow\">&#9661;</span></a>\x0a<form\x20method=\"GET\"\x20action=\"/search\">\x0a<div\x20id=\"menu\">\x0a{{if\x20(and\x20.Playground\x20.Title)}}\x0a<a\x20id=\"playgroundButton\"\x20href=\"http://play.golang.org/\"\x20title=\"Show\x20Go\x20Playground\">Play</a>\x0a{{end}}\x0a<span\x20class=\"search-box\"><input\x20type=\"search\"\x20id=\"search\"\x20name=\"q\"\x20placeholder=\"Search\"\x20aria-label=\"Search\"\x20required><button\x20type=\"submit\"><span><!--\x20magnifying\x20glass:\x20--><svg\x20width=\"24\"\x20height=\"24\"\x20viewBox=\"0\x200\x2024\x2024\"><title>submit\x20search</title><path\x20d=\"M15.5\x2014h-.79l-.28-.27C15.41\x2012.59\x2016\x2011.11\x2016\x209.5\x2016\x205.91\x2013.09\x203\x209.5\x203S3\x205.91\x203\x209.5\x205.91\x2016\x209.5\x2016c1.61\x200\x203.09-.59\x204.23-1.57l.27.28v.79l5\x204.99L20.49\x2019l-4.99-5zm-6\x200C7.01\x2014\x205\x2011.99\x205\x209.5S7.01\x205\x209.5\x205\x2014\x207.01\x2014\x209.5\x2011.99\x2014\x209.5\x2014z\"/><path\x20d=\"M0\x200h24v24H0z\"\x20fill=\"none\"/></svg></span></button></span>\x0a</div>\x0a</form>\x0a\x0a</div></div>\x0a\x0a{{if\x20.Playground}}\x0a<div\x20id=\"playground\"\x20class=\"play\">\x0a\x09<div\x20class=\"input\"><textarea\x20class=\"code\"\x20spellcheck=\"false\">package\x20main\x0a\x0aimport\x20\"fmt\"\x0a\x0afunc\x20main()\x20{\x0a\x09fmt.Println(\"Hello,\x20\xe4\xb8\x96\xe7\x95\x8c\")\x0a}</textarea></div>\x0a\x09<div\x20class=\"output\"></div>\x0a\x09<div\x20class=\"buttons\">\x0a\x09\x09<a\x20class=\"run\"\x20title=\"Run\x20this\x20code\x20[shift-enter]\">Run</a>\x0a\x09\x09<a\x20class=\"fmt\"\x20title=\"Format\x20this\x20code\">Format</a>\x0a\x09\x09{{if\x20not\x20$.GoogleCN}}\x0a\x09\x09<a\x20class=\"share\"\x20title=\"Share\x20this\x20code\">Share</a>\x0a\x09\x09{{end}}\x0a\x09</div>\x0a</div>\x0a{{end}}\x0a\x0a<div\x20id=\"page\"{{if\x20.Title}}\x20class=\"wide\"{{end}}>\x0a<div\x20class=\"container\">\x0a\x0a{{if\x20or\x20.Title\x20.SrcPath}}\x0a\x20\x20<h1>\x0a\x20\x20\x20\x20{{html\x20.Title}}\x0a\x20\x20\x20\x20{{html\x20.SrcPath\x20|\x20srcBreadcrumb}}\x0a\x20\x20</h1>\x0a{{end}}\x0a\x0a{{with\x20.Subtitle}}\x0a\x20\x20<h2>{{html\x20.}}</h2>\x0a{{end}}\x0a\x0a{{with\x20.SrcPath}}\x0a\x20\x20<h2>\x0a\x20\x20\x20\x20Documentation:\x20{{html\x20.\x20|\x20srcToPkgLink}}\x0a\x20\x20</h2>\x0a{{end}}\x0a\x0a{{/*\x20The\x20Table\x20of\x20Contents\x20is\x20automatically\x20inserted\x20in\x20this\x20<div>.\x0a\x20\x20\x20\x20\x20Do\x20not\x20delete\x20this\x20<div>.\x20*/}}\x0a<div\x20id=\"nav\"></div>\x0a\x0a{{/*\x20Body\x20is\x20HTML-escaped\x20elsewhere\x20*/}}\x0a{{printf\x20\"%s\"\x20.Body}}\x0a\x0a<div\x20id=\"footer\">\x0aBuild\x20version\x20{{html\x20.Version}}.<br>\x0aExcept\x20as\x20<a\x20href=\"https://developers.google.com/site-policies#restrictions\">noted</a>,\x0athe\x20content\x20of\x20this\x20page\x20is\x20licensed\x20under\x20the\x0aCreative\x20Commons\x20Attribution\x203.0\x20License,\x0aand\x20code\x20is\x20licensed\x20under\x20a\x20<a\x20href=\"/LICENSE\">BSD\x20license</a>.<br>\x0a<a\x20href=\"/doc/tos.html\">Terms\x20of\x20Service</a>\x20|\x0a<a\x20href=\"http://www.google.com/intl/en/policies/privacy/\">Privacy\x20Policy</a>\x0a</div>\x0a\x0a</div><!--\x20.container\x20-->\x0a</div><!--\x20#page\x20-->\x0a</body>\x0a</html>\x0a",
+
+	"godocs.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0a/*\x20A\x20little\x20code\x20to\x20ease\x20navigation\x20of\x20these\x20documents.\x0a\x20*\x0a\x20*\x20On\x20window\x20load\x20we:\x0a\x20*\x20\x20+\x20Generate\x20a\x20table\x20of\x20contents\x20(generateTOC)\x0a\x20*\x20\x20+\x20Bind\x20foldable\x20sections\x20(bindToggles)\x0a\x20*\x20\x20+\x20Bind\x20links\x20to\x20foldable\x20sections\x20(bindToggleLinks)\x0a\x20*/\x0a\x0a(function()\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20//\x20Mobile-friendly\x20topbar\x20menu\x0a\x20\x20$(function()\x20{\x0a\x20\x20\x20\x20var\x20menu\x20=\x20$('#menu');\x0a\x20\x20\x20\x20var\x20menuButton\x20=\x20$('#menu-button');\x0a\x20\x20\x20\x20var\x20menuButtonArrow\x20=\x20$('#menu-button-arrow');\x0a\x20\x20\x20\x20menuButton.click(function(event)\x20{\x0a\x20\x20\x20\x20\x20\x20menu.toggleClass('menu-visible');\x0a\x20\x20\x20\x20\x20\x20menuButtonArrow.toggleClass('vertical-flip');\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20});\x0a\x20\x20});\x0a\x0a\x20\x20/*\x20Generates\x20a\x20table\x20of\x20contents:\x20looks\x20for\x20h2\x20and\x20h3\x20elements\x20and\x20generates\x0a\x20\x20\x20*\x20links.\x20\"Decorates\"\x20the\x20element\x20with\x20id==\"nav\"\x20with\x20this\x20table\x20of\x20contents.\x0a\x20\x20\x20*/\x0a\x20\x20function\x20generateTOC()\x20{\x0a\x20\x20\x20\x20if\x20($('#manual-nav').length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20For\x20search,\x20we\x20send\x20the\x20toc\x20precomputed\x20from\x20server-side.\x0a\x20\x20\x20\x20//\x20TODO:\x20Ideally,\x20this\x20should\x20always\x20be\x20precomputed\x20for\x20all\x20pages,\x20but\x20then\x0a\x20\x20\x20\x20//\x20we\x20need\x20to\x20do\x20HTML\x20parsing\x20on\x20the\x20server-side.\x0a\x20\x20\x20\x20if\x20(location.pathname\x20===\x20'/search')\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20nav\x20=\x20$('#nav');\x0a\x20\x20\x20\x20if\x20(nav.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20toc_items\x20=\x20[];\x0a\x20\x20\x20\x20$(nav)\x0a\x20\x20\x20\x20\x20\x20.nextAll('h2,\x20h3')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20node\x20=\x20this;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.id\x20==\x20'')\x20node.id\x20=\x20'tmp_'\x20+\x20toc_items.length;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20link\x20=\x20$('<a/>')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.attr('href',\x20'#'\x20+\x20node.id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.text($(node).text());\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20item;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20($(node).is('h2'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item\x20=\x20$('<dt/>');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20h3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item\x20=\x20$('<dd\x20class=\"indent\"/>');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20item.append(link);\x0a\x20\x20\x20\x20\x20\x20\x20\x20toc_items.push(item);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20if\x20(toc_items.length\x20<=\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20dl1\x20=\x20$('<dl/>');\x0a\x20\x20\x20\x20var\x20dl2\x20=\x20$('<dl/>');\x0a\x0a\x20\x20\x20\x20var\x20split_index\x20=\x20toc_items.length\x20/\x202\x20+\x201;\x0a\x20\x20\x20\x20if\x20(split_index\x20<\x208)\x20{\x0a\x20\x20\x20\x20\x20\x20split_index\x20=\x20toc_items.length;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20split_index;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20dl1.append(toc_items[i]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20for\x20(;\x20/*\x20keep\x20using\x20i\x20*/\x20i\x20<\x20toc_items.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20dl2.append(toc_items[i]);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20tocTable\x20=\x20$('<table\x20class=\"unruled\"/>').appendTo(nav);\x0a\x20\x20\x20\x20var\x20tocBody\x20=\x20$('<tbody/>').appendTo(tocTable);\x0a\x20\x20\x20\x20var\x20tocRow\x20=\x20$('<tr/>').appendTo(tocBody);\x0a\x0a\x20\x20\x20\x20//\x201st\x20column\x0a\x20\x20\x20\x20$('<td\x20class=\"first\"/>')\x0a\x20\x20\x20\x20\x20\x20.appendTo(tocRow)\x0a\x20\x20\x20\x20\x20\x20.append(dl1);\x0a\x20\x20\x20\x20//\x202nd\x20column\x0a\x20\x20\x20\x20$('<td/>')\x0a\x20\x20\x20\x20\x20\x20.appendTo(tocRow)\x0a\x20\x20\x20\x20\x20\x20.append(dl2);\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggle(el)\x20{\x0a\x20\x20\x20\x20$('.toggleButton',\x20el).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20($(this).closest('.toggle,\x20.toggleVisible')[0]\x20!=\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Only\x20trigger\x20the\x20closest\x20toggle\x20header.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20($(el).is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.addClass('toggleVisible')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.removeClass('toggle');\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.addClass('toggle')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.removeClass('toggleVisible');\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggles(selector)\x20{\x0a\x20\x20\x20\x20$(selector).each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20bindToggle(el);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggleLink(el,\x20prefix)\x20{\x0a\x20\x20\x20\x20$(el).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20href\x20=\x20$(el).attr('href');\x0a\x20\x20\x20\x20\x20\x20var\x20i\x20=\x20href.indexOf('#'\x20+\x20prefix);\x0a\x20\x20\x20\x20\x20\x20if\x20(i\x20<\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20'#'\x20+\x20prefix\x20+\x20href.slice(i\x20+\x201\x20+\x20prefix.length);\x0a\x20\x20\x20\x20\x20\x20if\x20($(id).is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20bindToggleLinks(selector,\x20prefix)\x20{\x0a\x20\x20\x20\x20$(selector).each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20bindToggleLink(el,\x20prefix);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupDropdownPlayground()\x20{\x0a\x20\x20\x20\x20if\x20(!$('#page').is('.wide'))\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x20//\x20don't\x20show\x20on\x20front\x20page\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20button\x20=\x20$('#playgroundButton');\x0a\x20\x20\x20\x20var\x20div\x20=\x20$('#playground');\x0a\x20\x20\x20\x20var\x20setup\x20=\x20false;\x0a\x20\x20\x20\x20button.toggle(\x0a\x20\x20\x20\x20\x20\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.addClass('active');\x0a\x20\x20\x20\x20\x20\x20\x20\x20div.show();\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(setup)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20setup\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20playground({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codeEl:\x20$('.code',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outputEl:\x20$('.output',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20runEl:\x20$('.run',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmtEl:\x20$('.fmt',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareEl:\x20$('.share',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareRedirect:\x20'//play.golang.org/p/',\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.removeClass('active');\x0a\x20\x20\x20\x20\x20\x20\x20\x20div.hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20$('#menu').css('min-width',\x20'+=60');\x0a\x0a\x20\x20\x20\x20//\x20Hide\x20inline\x20playground\x20if\x20we\x20click\x20somewhere\x20on\x20the\x20page.\x0a\x20\x20\x20\x20//\x20This\x20is\x20needed\x20in\x20mobile\x20devices,\x20where\x20the\x20\"Play\"\x20button\x0a\x20\x20\x20\x20//\x20is\x20not\x20clickable\x20once\x20the\x20playground\x20opens\x20up.\x0a\x20\x20\x20\x20$('#page').click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(button.hasClass('active'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupInlinePlayground()\x20{\x0a\x20\x20\x20\x20'use\x20strict';\x0a\x20\x20\x20\x20//\x20Set\x20up\x20playground\x20when\x20each\x20element\x20is\x20toggled.\x0a\x20\x20\x20\x20$('div.play').each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Set\x20up\x20playground\x20for\x20this\x20example.\x0a\x20\x20\x20\x20\x20\x20var\x20setup\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20code\x20=\x20$('.code',\x20el);\x0a\x20\x20\x20\x20\x20\x20\x20\x20playground({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codeEl:\x20code,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outputEl:\x20$('.output',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20runEl:\x20$('.run',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmtEl:\x20$('.fmt',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareEl:\x20$('.share',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareRedirect:\x20'//play.golang.org/p/',\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Make\x20the\x20code\x20textarea\x20resize\x20to\x20fit\x20content.\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20resize\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.height(0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20h\x20=\x20code[0].scrollHeight;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.height(h\x20+\x2020);\x20//\x20minimize\x20bouncing.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.closest('.input').height(h);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.on('keydown',\x20resize);\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.on('keyup',\x20resize);\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.keyup();\x20//\x20resize\x20now.\x0a\x20\x20\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20If\x20example\x20already\x20visible,\x20set\x20up\x20playground\x20now.\x0a\x20\x20\x20\x20\x20\x20if\x20($(el).is(':visible'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setup();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Otherwise,\x20set\x20up\x20playground\x20when\x20example\x20is\x20expanded.\x0a\x20\x20\x20\x20\x20\x20var\x20built\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.closest('.toggle')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Only\x20set\x20up\x20once.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!built)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setup();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20built\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20fixFocus\x20tries\x20to\x20put\x20focus\x20to\x20div#page\x20so\x20that\x20keyboard\x20navigation\x20works.\x0a\x20\x20function\x20fixFocus()\x20{\x0a\x20\x20\x20\x20var\x20page\x20=\x20$('div#page');\x0a\x20\x20\x20\x20var\x20topbar\x20=\x20$('div#topbar');\x0a\x20\x20\x20\x20page.css('outline',\x200);\x20//\x20disable\x20outline\x20when\x20focused\x0a\x20\x20\x20\x20page.attr('tabindex',\x20-1);\x20//\x20and\x20set\x20tabindex\x20so\x20that\x20it\x20is\x20focusable\x0a\x20\x20\x20\x20$(window)\x0a\x20\x20\x20\x20\x20\x20.resize(function(evt)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20only\x20focus\x20page\x20when\x20the\x20topbar\x20is\x20at\x20fixed\x20position\x20(that\x20is,\x20it's\x20in\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20front\x20of\x20page,\x20and\x20keyboard\x20event\x20will\x20go\x20to\x20the\x20former\x20by\x20default.)\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20by\x20focusing\x20page,\x20keyboard\x20event\x20will\x20go\x20to\x20page\x20so\x20that\x20up/down\x20arrow,\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20space,\x20etc.\x20will\x20work\x20as\x20expected.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(topbar.css('position')\x20==\x20'fixed')\x20page.focus();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.resize();\x0a\x20\x20}\x0a\x0a\x20\x20function\x20toggleHash()\x20{\x0a\x20\x20\x20\x20var\x20id\x20=\x20window.location.hash.substring(1);\x0a\x20\x20\x20\x20//\x20Open\x20all\x20of\x20the\x20toggles\x20for\x20a\x20particular\x20hash.\x0a\x20\x20\x20\x20var\x20els\x20=\x20$(\x0a\x20\x20\x20\x20\x20\x20document.getElementById(id),\x0a\x20\x20\x20\x20\x20\x20$('a[name]').filter(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20$(this).attr('name')\x20==\x20id;\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20while\x20(els.length)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20els.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(els[i]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(el.is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20els\x20=\x20el.parent();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20personalizeInstallInstructions()\x20{\x0a\x20\x20\x20\x20var\x20prefix\x20=\x20'?download=';\x0a\x20\x20\x20\x20var\x20s\x20=\x20window.location.search;\x0a\x20\x20\x20\x20if\x20(s.indexOf(prefix)\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20No\x20'download'\x20query\x20string;\x20detect\x20\"test\"\x20instructions\x20from\x20User\x20Agent.\x0a\x20\x20\x20\x20\x20\x20if\x20(navigator.platform.indexOf('Win')\x20!=\x20-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testUnix').hide();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testWindows').show();\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testUnix').show();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testWindows').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20filename\x20=\x20s.substr(prefix.length);\x0a\x20\x20\x20\x20var\x20filenameRE\x20=\x20/^go1\\.\\d+(\\.\\d+)?([a-z0-9]+)?\\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\\.[68])?\\.([a-z.]+)$/;\x0a\x20\x20\x20\x20var\x20m\x20=\x20filenameRE.exec(filename);\x0a\x20\x20\x20\x20if\x20(!m)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Can't\x20interpret\x20file\x20name;\x20bail.\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$('.downloadFilename').text(filename);\x0a\x20\x20\x20\x20$('.hideFromDownload').hide();\x0a\x0a\x20\x20\x20\x20var\x20os\x20=\x20m[3];\x0a\x20\x20\x20\x20var\x20ext\x20=\x20m[6];\x0a\x20\x20\x20\x20if\x20(ext\x20!=\x20'tar.gz')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#tarballInstructions').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(os\x20!=\x20'darwin'\x20||\x20ext\x20!=\x20'pkg')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#darwinPackageInstructions').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(os\x20!=\x20'windows')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#windowsInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20$('.testUnix').show();\x0a\x20\x20\x20\x20\x20\x20$('.testWindows').hide();\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(ext\x20!=\x20'msi')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('#windowsInstallerInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(ext\x20!=\x20'zip')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('#windowsZipInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$('.testUnix').hide();\x0a\x20\x20\x20\x20\x20\x20$('.testWindows').show();\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20download\x20=\x20'https://dl.google.com/go/'\x20+\x20filename;\x0a\x0a\x20\x20\x20\x20var\x20message\x20=\x20$(\x0a\x20\x20\x20\x20\x20\x20'<p\x20class=\"downloading\">'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'Your\x20download\x20should\x20begin\x20shortly.\x20'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'If\x20it\x20does\x20not,\x20click\x20<a>this\x20link</a>.</p>'\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20message.find('a').attr('href',\x20download);\x0a\x20\x20\x20\x20message.insertAfter('#nav');\x0a\x0a\x20\x20\x20\x20window.location\x20=\x20download;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20updateVersionTags()\x20{\x0a\x20\x20\x20\x20var\x20v\x20=\x20window.goVersion;\x0a\x20\x20\x20\x20if\x20(/^go[0-9.]+$/.test(v))\x20{\x0a\x20\x20\x20\x20\x20\x20$('.versionTag')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.empty()\x0a\x20\x20\x20\x20\x20\x20\x20\x20.text(v);\x0a\x20\x20\x20\x20\x20\x20$('.whereTag').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20addPermalinks()\x20{\x0a\x20\x20\x20\x20function\x20addPermalink(source,\x20parent)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20source.attr('id');\x0a\x20\x20\x20\x20\x20\x20if\x20(id\x20==\x20''\x20||\x20id.indexOf('tmp_')\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Auto-generated\x20permalink.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(parent.find('>\x20.permalink').length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Already\x20attached.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20parent\x0a\x20\x20\x20\x20\x20\x20\x20\x20.append('\x20')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.append($(\"<a\x20class='permalink'>&#xb6;</a>\").attr('href',\x20'#'\x20+\x20id));\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20$('#page\x20.container')\x0a\x20\x20\x20\x20\x20\x20.find('h2[id],\x20h3[id]')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(this);\x0a\x20\x20\x20\x20\x20\x20\x20\x20addPermalink(el,\x20el);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20$('#page\x20.container')\x0a\x20\x20\x20\x20\x20\x20.find('dl[id]')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(this);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Add\x20the\x20anchor\x20to\x20the\x20\"dt\"\x20element.\x0a\x20\x20\x20\x20\x20\x20\x20\x20addPermalink(el,\x20el.find('>\x20dt').first());\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20$('.js-expandAll').click(function()\x20{\x0a\x20\x20\x20\x20if\x20($(this).hasClass('collapsed'))\x20{\x0a\x20\x20\x20\x20\x20\x20toggleExamples('toggle');\x0a\x20\x20\x20\x20\x20\x20$(this).text('(Collapse\x20All)');\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20toggleExamples('toggleVisible');\x0a\x20\x20\x20\x20\x20\x20$(this).text('(Expand\x20All)');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$(this).toggleClass('collapsed');\x0a\x20\x20});\x0a\x0a\x20\x20function\x20toggleExamples(className)\x20{\x0a\x20\x20\x20\x20//\x20We\x20need\x20to\x20explicitly\x20iterate\x20through\x20divs\x20starting\x20with\x20\"example_\"\x0a\x20\x20\x20\x20//\x20to\x20avoid\x20toggling\x20Overview\x20and\x20Index\x20collapsibles.\x0a\x20\x20\x20\x20$(\"[id^='example_']\").each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Check\x20for\x20state\x20and\x20click\x20it\x20only\x20if\x20required.\x0a\x20\x20\x20\x20\x20\x20if\x20($(this).hasClass(className))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(this)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20$(document).ready(function()\x20{\x0a\x20\x20\x20\x20generateTOC();\x0a\x20\x20\x20\x20addPermalinks();\x0a\x20\x20\x20\x20bindToggles('.toggle');\x0a\x20\x20\x20\x20bindToggles('.toggleVisible');\x0a\x20\x20\x20\x20bindToggleLinks('.exampleLink',\x20'example_');\x0a\x20\x20\x20\x20bindToggleLinks('.overviewLink',\x20'');\x0a\x20\x20\x20\x20bindToggleLinks('.examplesLink',\x20'');\x0a\x20\x20\x20\x20bindToggleLinks('.indexLink',\x20'');\x0a\x20\x20\x20\x20setupDropdownPlayground();\x0a\x20\x20\x20\x20setupInlinePlayground();\x0a\x20\x20\x20\x20fixFocus();\x0a\x20\x20\x20\x20setupTypeInfo();\x0a\x20\x20\x20\x20setupCallgraphs();\x0a\x20\x20\x20\x20toggleHash();\x0a\x20\x20\x20\x20personalizeInstallInstructions();\x0a\x20\x20\x20\x20updateVersionTags();\x0a\x0a\x20\x20\x20\x20//\x20godoc.html\x20defines\x20window.initFuncs\x20in\x20the\x20<head>\x20tag,\x20and\x20root.html\x20and\x0a\x20\x20\x20\x20//\x20codewalk.js\x20push\x20their\x20on-page-ready\x20functions\x20to\x20the\x20list.\x0a\x20\x20\x20\x20//\x20We\x20execute\x20those\x20functions\x20here,\x20to\x20avoid\x20loading\x20jQuery\x20until\x20the\x20page\x0a\x20\x20\x20\x20//\x20content\x20is\x20loaded.\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20window.initFuncs.length;\x20i++)\x20window.initFuncs[i]();\x0a\x20\x20});\x0a\x0a\x20\x20//\x20--\x20analysis\x20---------------------------------------------------------\x0a\x0a\x20\x20//\x20escapeHTML\x20returns\x20HTML\x20for\x20s,\x20with\x20metacharacters\x20quoted.\x0a\x20\x20//\x20It\x20is\x20safe\x20for\x20use\x20in\x20both\x20elements\x20and\x20attributes\x0a\x20\x20//\x20(unlike\x20the\x20\"set\x20innerText,\x20read\x20innerHTML\"\x20trick).\x0a\x20\x20function\x20escapeHTML(s)\x20{\x0a\x20\x20\x20\x20return\x20s\x0a\x20\x20\x20\x20\x20\x20.replace(/&/g,\x20'&amp;')\x0a\x20\x20\x20\x20\x20\x20.replace(/\\\"/g,\x20'&quot;')\x0a\x20\x20\x20\x20\x20\x20.replace(/\\'/g,\x20'&#39;')\x0a\x20\x20\x20\x20\x20\x20.replace(/</g,\x20'&lt;')\x0a\x20\x20\x20\x20\x20\x20.replace(/>/g,\x20'&gt;');\x0a\x20\x20}\x0a\x0a\x20\x20//\x20makeAnchor\x20returns\x20HTML\x20for\x20an\x20<a>\x20element,\x20given\x20an\x20anchorJSON\x20object.\x0a\x20\x20function\x20makeAnchor(json)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20escapeHTML(json.Text);\x0a\x20\x20\x20\x20if\x20(json.Href\x20!=\x20'')\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20=\x20\"<a\x20href='\"\x20+\x20escapeHTML(json.Href)\x20+\x20\"'>\"\x20+\x20html\x20+\x20'</a>';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20showLowFrame(html)\x20{\x0a\x20\x20\x20\x20var\x20lowframe\x20=\x20document.getElementById('lowframe');\x0a\x20\x20\x20\x20lowframe.style.height\x20=\x20'200px';\x0a\x20\x20\x20\x20lowframe.innerHTML\x20=\x0a\x20\x20\x20\x20\x20\x20\"<p\x20style='text-align:\x20left;'>\"\x20+\x0a\x20\x20\x20\x20\x20\x20html\x20+\x0a\x20\x20\x20\x20\x20\x20'</p>\\n'\x20+\x0a\x20\x20\x20\x20\x20\x20\"<div\x20onclick='hideLowFrame()'\x20style='position:\x20absolute;\x20top:\x200;\x20right:\x200;\x20cursor:\x20pointer;'>\xe2\x9c\x98</div>\";\x0a\x20\x20}\x0a\x0a\x20\x20document.hideLowFrame\x20=\x20function()\x20{\x0a\x20\x20\x20\x20var\x20lowframe\x20=\x20document.getElementById('lowframe');\x0a\x20\x20\x20\x20lowframe.style.height\x20=\x20'0px';\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickCallers\x20is\x20the\x20onclick\x20action\x20for\x20the\x20'func'\x20tokens\x20of\x20a\x0a\x20\x20//\x20function\x20declaration.\x0a\x20\x20document.onClickCallers\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20if\x20(data.Callers.length\x20==\x201\x20&&\x20data.Callers[0].Sites.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20data.Callers[0].Sites[0].Href;\x20//\x20jump\x20to\x20sole\x20caller\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x0a\x20\x20\x20\x20\x20\x20'Callers\x20of\x20<code>'\x20+\x20escapeHTML(data.Callee)\x20+\x20'</code>:<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20data.Callers.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20caller\x20=\x20data.Callers[i];\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20escapeHTML(caller.Func)\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20var\x20sites\x20=\x20caller.Sites;\x0a\x20\x20\x20\x20\x20\x20if\x20(sites\x20!=\x20null\x20&&\x20sites.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'\x20at\x20line\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20sites.length;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(j\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20',\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(sites[j])\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickCallees\x20is\x20the\x20onclick\x20action\x20for\x20the\x20'('\x20token\x20of\x20a\x20function\x20call.\x0a\x20\x20document.onClickCallees\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20if\x20(data.Callees.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20data.Callees[0].Href;\x20//\x20jump\x20to\x20sole\x20callee\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x20'Callees\x20of\x20this\x20'\x20+\x20escapeHTML(data.Descr)\x20+\x20':<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20data.Callees.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(data.Callees[i])\x20+\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickTypeInfo\x20is\x20the\x20onclick\x20action\x20for\x20identifiers\x20declaring\x20a\x20named\x20type.\x0a\x20\x20document.onClickTypeInfo\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20var\x20html\x20=\x0a\x20\x20\x20\x20\x20\x20'Type\x20<code>'\x20+\x0a\x20\x20\x20\x20\x20\x20data.Name\x20+\x0a\x20\x20\x20\x20\x20\x20'</code>:\x20'\x20+\x0a\x20\x20\x20\x20\x20\x20'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>(size='\x20+\x0a\x20\x20\x20\x20\x20\x20data.Size\x20+\x0a\x20\x20\x20\x20\x20\x20',\x20align='\x20+\x0a\x20\x20\x20\x20\x20\x20data.Align\x20+\x0a\x20\x20\x20\x20\x20\x20')</small><br/>\\n';\x0a\x20\x20\x20\x20html\x20+=\x20implementsHTML(data);\x0a\x20\x20\x20\x20html\x20+=\x20methodsetHTML(data);\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20implementsHTML\x20returns\x20HTML\x20for\x20the\x20implements\x20relation\x20of\x20the\x0a\x20\x20//\x20specified\x20TypeInfoJSON\x20value.\x0a\x20\x20function\x20implementsHTML(info)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20'';\x0a\x20\x20\x20\x20if\x20(info.ImplGroups\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20info.ImplGroups.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20group\x20=\x20info.ImplGroups[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20x\x20=\x20'<code>'\x20+\x20escapeHTML(group.Descr)\x20+\x20'</code>\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20group.Facts.length;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20fact\x20=\x20group.Facts[j];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20y\x20=\x20'<code>'\x20+\x20makeAnchor(fact.Other)\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(fact.ByKind\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20escapeHTML(fact.ByKind)\x20+\x20'\x20type\x20'\x20+\x20y\x20+\x20'\x20implements\x20'\x20+\x20x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20x\x20+\x20'\x20implements\x20'\x20+\x20y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<br/>\\n';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20methodsetHTML\x20returns\x20HTML\x20for\x20the\x20methodset\x20of\x20the\x20specified\x0a\x20\x20//\x20TypeInfoJSON\x20value.\x0a\x20\x20function\x20methodsetHTML(info)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20'';\x0a\x20\x20\x20\x20if\x20(info.Methods\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20info.Methods.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(info.Methods[i])\x20+\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20onClickComm\x20is\x20the\x20onclick\x20action\x20for\x20channel\x20\"make\"\x20and\x20\"<-\"\x0a\x20\x20//\x20send/receive\x20tokens.\x0a\x20\x20document.onClickComm\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20ops\x20=\x20document.ANALYSIS_DATA[index].Ops;\x0a\x20\x20\x20\x20if\x20(ops.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20ops[0].Op.Href;\x20//\x20jump\x20to\x20sole\x20element\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x20'Operations\x20on\x20this\x20channel:<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20ops.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x0a\x20\x20\x20\x20\x20\x20\x20\x20makeAnchor(ops[i].Op)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'\x20by\x20<code>'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20escapeHTML(ops[i].Fn)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(ops.length\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'(none)<br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20$(window).load(function()\x20{\x0a\x20\x20\x20\x20//\x20Scroll\x20window\x20so\x20that\x20first\x20selection\x20is\x20visible.\x0a\x20\x20\x20\x20//\x20(This\x20means\x20we\x20don't\x20need\x20to\x20emit\x20id='L%d'\x20spans\x20for\x20each\x20line.)\x0a\x20\x20\x20\x20//\x20TODO(adonovan):\x20ideally,\x20scroll\x20it\x20so\x20that\x20it's\x20under\x20the\x20pointer,\x0a\x20\x20\x20\x20//\x20but\x20I\x20don't\x20know\x20how\x20to\x20get\x20the\x20pointer\x20y\x20coordinate.\x0a\x20\x20\x20\x20var\x20elts\x20=\x20document.getElementsByClassName('selection');\x0a\x20\x20\x20\x20if\x20(elts.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20elts[0].scrollIntoView();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20setupTypeInfo\x20populates\x20the\x20\"Implements\"\x20and\x20\"Method\x20set\"\x20toggle\x20for\x0a\x20\x20//\x20each\x20type\x20in\x20the\x20package\x20doc.\x0a\x20\x20function\x20setupTypeInfo()\x20{\x0a\x20\x20\x20\x20for\x20(var\x20i\x20in\x20document.ANALYSIS_DATA)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[i];\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById('implements-'\x20+\x20i);\x0a\x20\x20\x20\x20\x20\x20if\x20(el\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20el\x20!=\x20null\x20=>\x20data\x20is\x20TypeInfoJSON.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.ImplGroups\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20implementsHTML(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById('methodset-'\x20+\x20i);\x0a\x20\x20\x20\x20\x20\x20if\x20(el\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20el\x20!=\x20null\x20=>\x20data\x20is\x20TypeInfoJSON.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Methods\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20methodsetHTML(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupCallgraphs()\x20{\x0a\x20\x20\x20\x20if\x20(document.CALLGRAPH\x20==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20document.getElementById('pkg-callgraph').style.display\x20=\x20'block';\x0a\x0a\x20\x20\x20\x20var\x20treeviews\x20=\x20document.getElementsByClassName('treeview');\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20treeviews.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20tree\x20=\x20treeviews[i];\x0a\x20\x20\x20\x20\x20\x20if\x20(tree.id\x20==\x20null\x20||\x20tree.id.indexOf('callgraph-')\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20tree.id.substring('callgraph-'.length);\x0a\x20\x20\x20\x20\x20\x20$(tree).treeview({\x20collapsed:\x20true,\x20animated:\x20'fast'\x20});\x0a\x20\x20\x20\x20\x20\x20document.cgAddChildren(tree,\x20tree,\x20[id]);\x0a\x20\x20\x20\x20\x20\x20tree.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20document.cgAddChildren\x20=\x20function(tree,\x20ul,\x20indices)\x20{\x0a\x20\x20\x20\x20if\x20(indices\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20indices.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20li\x20=\x20cgAddChild(tree,\x20ul,\x20document.CALLGRAPH[indices[i]]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20==\x20indices.length\x20-\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$(li).addClass('last');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$(tree).treeview({\x20animated:\x20'fast',\x20add:\x20ul\x20});\x0a\x20\x20};\x0a\x0a\x20\x20//\x20cgAddChild\x20adds\x20an\x20<li>\x20element\x20for\x20document.CALLGRAPH\x20node\x20cgn\x20to\x0a\x20\x20//\x20the\x20parent\x20<ul>\x20element\x20ul.\x20tree\x20is\x20the\x20tree's\x20root\x20<ul>\x20element.\x0a\x20\x20function\x20cgAddChild(tree,\x20ul,\x20cgn)\x20{\x0a\x20\x20\x20\x20var\x20li\x20=\x20document.createElement('li');\x0a\x20\x20\x20\x20ul.appendChild(li);\x0a\x20\x20\x20\x20li.className\x20=\x20'closed';\x0a\x0a\x20\x20\x20\x20var\x20code\x20=\x20document.createElement('code');\x0a\x0a\x20\x20\x20\x20if\x20(cgn.Callees\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20$(li).addClass('expandable');\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Event\x20handlers\x20and\x20innerHTML\x20updates\x20don't\x20play\x20nicely\x20together,\x0a\x20\x20\x20\x20\x20\x20//\x20hence\x20all\x20this\x20explicit\x20DOM\x20manipulation.\x0a\x20\x20\x20\x20\x20\x20var\x20hitarea\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20\x20\x20hitarea.className\x20=\x20'hitarea\x20expandable-hitarea';\x0a\x20\x20\x20\x20\x20\x20li.appendChild(hitarea);\x0a\x0a\x20\x20\x20\x20\x20\x20li.appendChild(code);\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20childUL\x20=\x20document.createElement('ul');\x0a\x20\x20\x20\x20\x20\x20li.appendChild(childUL);\x0a\x20\x20\x20\x20\x20\x20childUL.setAttribute('style',\x20'display:\x20none;');\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20onClick\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.cgAddChildren(tree,\x20childUL,\x20cgn.Callees);\x0a\x20\x20\x20\x20\x20\x20\x20\x20hitarea.removeEventListener('click',\x20onClick);\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20hitarea.addEventListener('click',\x20onClick);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20li.appendChild(code);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20code.innerHTML\x20+=\x20'&nbsp;'\x20+\x20makeAnchor(cgn.Func);\x0a\x20\x20\x20\x20return\x20li;\x0a\x20\x20}\x0a})();\x0a",
+
+	"images/minus.gif": "GIF89a\x09\x00\x09\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00\x09\x00\x09\x00@\x02\x11\x8c\x8f\x89\x02\xddb\x84\x9c0\xd0\x19o\xd5[\xe7\x1b\x14\x00;",
+
+	"images/plus.gif": "GIF89a\x09\x00\x09\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00\x09\x00\x09\x00\x00\x02\x14\x8c\x8f\xa2+\xb6\xb0\x9c\x82\xca\x81{[xq\xcf\xcet\x08R\x00\x00;",
+
+	"images/treeview-black-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x00\x00\x00\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06\x00\x02\xff\x8c\x1f\x80\xcb\xca\x9f\xe0s\x12\xd1j.\xd6\x95K\x0f\x01\xe28N\x98u\x1e\xa0\x99F\xed\xda\xb4n\x0a/5\xfa\xca\xb7\xaa\xf7\xf9O\xf3\x05\x81\xa7]FXDn\x94\x1d\xe6\xc7\x19\x82\xb2\x86\xd4$qymf\x9f\xdbhwj\xadb\xc5Z2\xd7\xecE\x83\xc7\xe16\xfb]v\xc7\xe1gy\x9d\x9e\xb6\xe7\xf1\xeb\xb9\xff\xfe\xb7\x17\xd8\x07X(hHx\xa8\x98\xc8\x18\xf3\xe5\xa8\x06\xa9\xd7h#%\xc9w9\x98\x89\xb8\xb9\xd8I\x89\x13Y\xf98*\x1a:\xf9\x99Z\x8a\xba\x8a\xd9\xaa\xf9\xca\x19\xeb9\x0b\xcaCz\xea\x9a\x0b\xbb+\xdbK\xfbk{\x84{kZ\xcc\x1a\xac\x9a\\\xab|\xac\xeb\xcc\x0b\xed+\x0dL-<\x83,\xa3\xbd\xcd\xdd\xed\xfd\x0d\x1e^=lL\x9em\xfe\x8c\x1e\xad>\xcd>\x8e\x9d\x0e\xbf.\xdfN\xffnd\x7f\x8d\xbfo\xc9\xec\xbf\x0c\xd0Z3w\xfa\xfa\x05$80_B~\xc4\x10\xfe\x13\xf8\xd0\xe1A\x85\x11)NdX\xce\"\xc4\x8b\xff\x067z\x94\xf8Q#\xc8\x91\"Kb<g\xb2#\xc9\x93\xf1X\xcesY\x0f\xe6=\x95)\x1b\xd6\xcc(\xb3\xa0\xcd\x9c\x0bi\xf2\xac\xf8\x93\xe3N\x9fD\x87\x1a\xc5Y\x14\xe9Q\x94AC6]\x99\x94i\xd4\x96S_V\x8dyu\xe6R\xaa[\xadv\xc5\xfaU\xab\xd2\xb1R\xc3\xea$\xcb\x15\xadW\xb5`\xd9\x8a-\xeb\xf6,\xdc\xb9i\xe9\xae\xb5\xdb\x16\xef\xdb\xba|\xef\xf6\xcd\xfbw\xaf\xdf\xc1\x80\x09\x0b.\x8c\xf8\xb0b\xb9\x81\x19\x1bv\x9c\x18\xf2\xe2\x9ef)\xc7\xb5\xacW\xb2f\xcc\x8d9?\xf6\x1c\x19\xf4d\xa0Y7\x93\xae|\xfar\xea\xcc\xa2M\x0bU\xfd\x9a\xf5\xea\xce\xb3?\xd7\x0e}{tl\xda\xbbm\xf7\xc6\xfd[\xb7\xd3\xd2\xad\x8b\xe7v=\x1cup\xe4P\x95'\x87\xfd\\\xf6r\xe3\xd3\x8fS\x8f\xce\x1b\xbbo\xed\xc0\xb9\x0bo\x0e\x1d\xbct\xef\xcco\x8e\x17\x9f\x1d\xfdv\xf5\xdd\xd9\x7f7\x9f\x1e\xfez\xf9\xed\xe9\xbf\x7fj\xbf<\xfe\xfd\xc4\xad\xfb\xff\xaf\x0e\x20y\xd7\xb9\xa7_\x7f\x01\x128`~\x09\xf2\xe7\x1c\x82\xff\x09\xf8\xa0\x83\x07*\x18!\x85\x132\x18\x9e\x85\x10^h\xe0\x86\x1eJ\xf8\xa1\x86\x20\x8e(b\x89\x18\x9egb\x87$\x9e\x18\x1f\x8b\xf3\xb9X\x1f\x8c\xf7\xa9\x98b\x835f(c\x816\xe6\xb8\x20\x8d<V\xf8#\x87;\xfaH\xe4\x90F\xe2X$\x92G\xa2\x18d\x88M\xae\x98$\x93Q\xb68\xe5\x8bU\xc6x\xe5\x8cKR\xb9\xa5\x95]b\xf9\xa5\x96J\x8e)e\x98:\x92\xc9%\x9a^\xaa\x09&\x9bb\x96\xe9\xe6\x99p\xce\x99&\x9dk\xda\xd9&\x9eo\xd6\xc9\xe7\x9d}\xe6\xf9\xe7\x9e~\x0e\x0a(\xa1\x82\x16\x8a\xe8\xa1\x8a\xca\x19(\xa3\x86:\x9a(\xa4\x8b\xf6h&\xa5qZ\xaa\xa7\xa4\x9ab\xda(\xa7\x8fz\x1a)\xa8\x93\x02\x99\xe5\xa6\xa4Vz\xea\xa5\xa9f*\xaa\xa9B\xaa\xfa*\xab\xabv:\xeb\xa7\xb5\x86z\xeb\xa8\xb1\xd2\xba\xab\xad\xbd\xe2\xfa\xab\xaeN\x96\xdaj\xb1\xb9\xba:,\xaa\xc1\xc9\"\x0b\xa5\xb2\xc9\xc2\xfa\xac\xac\xcb\x1a;\xed\xb1\xd4F\xcb+\xb6\xbej\x0b,\xb7\xc26\x0b-\xb8\xd2z\xcb\xec\x8d\xe3\x8a\x9b-\xba\xdb\xaa\xdb-\xbb\xdf\x9a\x9b.\xbc\xeb\xca\xdb.\xbd\xef>io\xb9\xf8\xeeK\xac\xb5\xfeV\x0b0\xb9\xd7\xba\xabo\xbf\x01\x13<p\xbe\x09\xf3\xeb,\xc2\xff\x0a\xfc\xb0\xc3\x07+\x1c1\xc5\x133\x1c\xae\xc5\x10_l\xf0\xc6\x1eK\xfc\xb1\xc6\x20\x8f,r\xc9\x18\x9fkr\xc7$\x9f\x1c/\xcb\xf3\xba\\/\xcc\xf7\xaa\x9cr\xc35g,s\xc16\xe7\xbc0\xcd<W\xfc3\xc7;\xfbL\xf4\xd0F\xe3\\4\xd2G\xa3\x1ct\xc8M\xaf\x9c4\xd3Q\xb7<\xf5\xcbU\xc7|\xf5\xccKS\xbd\xb5\xd5]c\xfd\xb5\xd6J\x8f-u\xd8:\xe3L\x02\x09\x05\x00\x00;",
+
+	"images/treeview-black.gif": "GIF89a`\x00\x85\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00`\x00\x85\x00@\x02\xff\x8c\x8f\xa9\xcb\xed\x0f\x03\x98\xc0\xd1\x88\xb3\xde\xac\x1a/q\xe2HF`\x89\xa2g\xca\xb6\xe3\xfa\xb9\xf2\xbc\xc0\xf4\x8d\xe7z\x02\xf6\xfb\x0f\xb1\x01\x87\x12\x8aQHL\x1e\x8dI\xd7\xc52iJmH\xa9\xf5\x9a\xabb\x7f\x95c\xf1\xb9\x0d\x8b\xc7\xe4\xb2\xd9R;\xd3\xa8j\x12\xbb\xbd\xd3\xc2\x11\xe0NT!\x9f\xe3\x0f>\xbd\x1f\xfb\xf67\xd3\xc5\xe4%x\x88\x98\xd8\x91\xa6\xb8\x91\xd7H\xb7t\x07\xc9!9I\x89\x999\xf6\xa8\x89\x11\xd8\x19\xc4'\x0a\xeaH\xea\xa6YWs9j\xdaZ\xc9\xe8\xba\xb8\x17\x1bJ\x0bK\x87j+b\xc9\xd9Ixa\xa8\xcb\xabK\xcc\xd4\x90J\xfaI\xcc\xc3\xda\x9b\x1b\x03\xbd,\x8d\x16\xeb\\l9\x1d\xe3\x15l;\x9c\xed\x8a\x1ci\x8d9\xee{\xbb\xac\xfc\xad\xbe\x9e]n\xea^\x8d\xdd\xde\xfc\xfd\x1b\xc5M\xdb\x17\xd2.\xbf\x0e\x0f\xfa\xcf\xdc\xbcY\xe4T\xb0\x13\xd6OZ:a_\xee\x19cHPa\xc2z\x07qU\x8c\xa6\xf0\\\xa3\x7fT\x01/z\x84\xb3\xb0\x1b\xbd\x81\xfbJf\x8c\xf81\xa5\xca|,Q\x16\xd3\xe8\xef`\xc8\x96%;\x1e\xd2gS\xd0\xcc\x95<\x0bz\xcci\x06($\xa1=7\xc2\x14\xe9\x12\"3\x92\x16\x8b:\xcdDTQT\x90\x1f\xa7\"\xb2\xaag'\xb8\xa34\x9b\x9e\\\xfa4\xac\xd8\xb1b\x0a\x00\x00;",
+
+	"images/treeview-default-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x80\x80\x80\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06@\x02\xff\x8c\x8f\xa9\xcb\xed\x0f\xa3\x9c\xb4\xda\x8b\xb3\xde\xbc\xfb\x0f\x86\xe2H\x96\xe6\x89\xa6\xea\xca\xb6\xee\x0b\xc7\xf2L\xd7\xf6\x8d\xe7\xfa\xce\xf7\xfe\x0f\x0c\x0a\x87\xc4\xa2\xf1\x88L*\x97\xcc\xa6\xf3\x09\x8dJ\xa7\xd4\xaa\xf5\x8a\xcdj\xb7\xdc\xae\xf7\x0b\x0e\x8b\xc7\xe4\xb2\xf9\x8cN\xab\xd7\xec\xb6\xfb\x0d\x8f\xcb\xe7\xf4\xba\xfd\x8e\xcf\xeb\xf7\xfc\xbe\xff\x0f\x18(8HXhx\x88\x98\xa8\xb8\xc8\xd8\xe8\xf8\x08\x19)9IYiy\x89\x99\xa9\xb9\xc9\xd9\xe9\xf9\x09\x1a*:JZjz\x8a\x9a\xaa\xba\xcaz\x010\xf1*\x11\x1b1\x0b\xf1z\x1b\x80\xabP\xfb\xc0\xeb\xe0\xdb\x00\xcc\x20\xbc@\xbc\x0b\x8b,\x9bL\xbbl\xdb\xdc\xfb\xfc\x1b\x1d<=\\]|}\xac\xbc\xcd\xcc\xed\xec\x0d\x0d.-NMnm\x8e\x8d\xae\xdd\xcd\xfe\xdd\x1e\xfe>\x1e_>\x7f^\x9f~\xbf\xee\xbe\x0f\xcf/\xefO\x0f\xa0=\x81\xf8\x08\xea\xeb\x87\xf0_\xc2\x80\x0b\x076,\xf8\xf0\xa0\xc2\x89\x0c\xbd\x18Kp\x11A\xc6\x03\xff\x1b\x0dt\xcc\x95\x0dcH\x8d#9\x96\xf4x\x12\xa4:\x91+I\xb64\xf9\x12eL\x95\xf9X\xd6ty\x13fN\x99;i\x1a\xb4\xf9\x13gP\x9dCy\x16\xf5\x19\x11hR\xa1K\x8965\xfa\x14)E\x87S!V\x95X1+U\xadV\xb9b\xdd\x0a\xb6k\xd8\xafb\xcb\x92=\xab\xf4jZ\xafk\xc7\xb65\xfb\x16-S\xb5s\xd9\xd6u{\x17n^\xb9N\xe9\xf6\xb5\xfb\x17o`\xbd\x83\xf9B\xf5{\x18pb\xc1\x8b\x0976,Uqd\xc6\x93\x1dW\x86\xfc1sJ\xcd39\xf7\xf4|\x14tT\xd1\x88/\xc7=\xbd\x17ua\xd5\x8fY\x9bN\x0d{u\xec\xd6\xb3_\xcb\xbeM\x1b\xb7\xed\xdc\xbcw\xfb&-\x198e\xe1\x96\x89c\xde\x8c\xbcs\xf2\xcf\xcbC7\x1f\xfd\xbc\xb4q\xd7\xd3kW\xd7}\xbdw\xf6\xdf\xd1\x83w\x1f\xfe\xbdx\xf8\xe3\xca\xcb37\xef\x1c=t\xf5\xd2\xc7Swo\x1d>v\xf9\xda\xe9sg\xef\x1d?x\xfd\xe2\xf9\x93\xff?\x0f`z\x01\xae7`{\xfe\xbdw`|\x09\xce\xb7`}\x0d\xdeW`~\x11\xee7a\x7f\x15\xfe'`\x86\x04jh\xe0\x85\x08z\xa8\x20\x88\x0c\x8a\xe8\x20\x89\x10r(!\x8a\x14\xaah!\x8b\x18n\x08c\x87.~8c\x885\x8exc\x899\x9e\x18c\x8a=\xae\xf8c\x8bA\xbe(\xe3\x904\x1ai#\x928*\xa9#\x93<\x16\x09\xa5\x8fQ\x029\xa5\x90U\x12)e\x96Tji%\x97Xn\x09f\x97a~)f\x99d\x9ey\xe4\x95iz\xb9\xe6\x98m\x9a\xf9&\x9aI\xaa9'\x9bu\xbay'\x9cy\xca\xb9$\x9d}\xda\xf9'\x9e\x81\xea9(\x9fM\xfay(\xa0\x89\x0a\xba(\xa1\x8d\x1a\xfa\xa4\xa2\x912:\xa9\xa3\x95B\xba]\xa6\xf6i\xfa\x20\xa7&z\xba#\xa8N\x8a\x8a\xe8\xa5q\x9e\xba'\xaa\x85\xaa\xfa(\xab\xa6\xa6\x0a\xeb\xaa\xb1\xb6:\xeb\xab\xb2\xdeJ+\xae\xb6\xe6\xca\xeb\xae\xbe\x92*)\xb0\x94\x0ak)\xb1\x98n\x8al\xa7\xc9'~\xbal\xa8\xcd\x8e\xfal\xa9\xc6\xba:m\xad\xd5\xeazm\xaf\xd9\xfe\x1am\xb0\xdd\x0e\xfbm\xb1\xe1\x1e\xabl\xb9\xcc\xe2rK\x01\x00;",
+
+	"images/treeview-default.gif": "GIF89a`\x00\x85\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00`\x00\x85\x00\x00\x02\xff\x94\x8f\xa9\xcb\xed\x0f\x05\x98\xc0\xd1\x88\xb3\xde\xa8\xf2\x0f\x86\x9a'\x96\xa6I\x9e\xea\xca\xb6\xee\x1a\xc4\xb2\xfc\xd6f\xb0\xe0\xf6\xfe\xe9\xd2\xe1\xe3\x09#>Rp\x88d\xe0(\x13\x01\xee\x99\x8c\"\x8a@\xa9uz0^\xb7GCw;\x9c\x89\xc1\xe4\xb2\xd9yN\xab\xa5\xdf\xb5\xfb}j\xc3Q\xf3d\xaaZ\x8f\\,\xcd<\xe8\xce!\xe7\x975Xhx\x08&6\x83X\xf2%\xc8\x08\xe1\x08\x19\"9\xd9#\xc1\x84\x06e\x89Q\xc9\xa9\xe1\xf9\xd9\x99#\x0a\xaa\x18S\x9aj\xf5\xa8\xda\xfa\xc2\xea\x1a\xab\x02\xab\x0a(\xfb`K[\xb7\xd7\xc0\xebj\x0b*\x0a|K\\l\\w\x8az\x8c\x97\xa0[J\xe5\xb5\xcc\xac%\x8d\xc6T\x01\xe5<\x09\x8dV\xcd\xad\xfd\x19z\x9c\x0c^m~\x8e\x9e\xae\x8e1\\\xdd\xce\x99\xd9\xdb\x17\xfb\xbe\x9ck^\x7f|\xbf\xce\xef\x94l.\xce\xd87\x80\x84\xa2y\xc3t!\xdb\xb8\x82\xdd\xa4\x0d<\xa8\xa0\x9c%r\xfd*Z\xbc(-\x9f1\x8dZ\xc58\"\xf2\xb5\x00d\xad\x8a\x1eo\x95\xc4\x882\x16E\x88\xcd\x08Ft\xd9\xf2\xe05M\x0d\x89\x05,v\xd3&)o\xffR\xfa\xfc\x09t\xd0Iz$\x89\x89\xec0/\xa8+\x89J!1m:h\xa5\xc3\x9dS_\xb2\xc4\"3\x93B\x81T\x97\xe5\xbc\xf5U\x96T\xa8d\xcb\x9a=\x8b6\xed\xad\x02\x00;",
+
+	"images/treeview-gray-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x80\x80\x80\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06\x00\x02\xff\x8c\x1f\x80\xcb\xca\x9f\xe0s\x12\xd1j.\xd6\x95K\x0f\x01\xe28N\x98u\x1e\xa0\x99F\xed\xda\xb4n\x0a/5\xfa\xca\xb7\xaa\xf7\xf9O\xf3\x05\x81\xa7]FXDn\x94\x1d\xe6\xc7\x19\x82\xb2\x86\xd4$qymf\x9f\xdbhwj\xadb\xc5Z2\xd7\xecE\x83\xc7\xe16\xfb]v\xc7\xe1gy\x9d\x9e\xb6\xe7\xf1\xeb\xb9\xff\xfe\xb7\x17\xd8\x07X(hHx\xa8\x98\xc8\x18\xf3\xe5\xa8\x06\xa9\xd7h#%\xc9w9\x98\x89\xb8\xb9\xd8I\x89\x13Y\xf98*\x1a:\xf9\x99Z\x8a\xba\x8a\xd9\xaa\xf9\xca\x19\xeb9\x0b\xcaCz\xea\x9a\x0b\xbb+\xdbK\xfbk{\x84{kZ\xcc\x1a\xac\x9a\\\xab|\xac\xeb\xcc\x0b\xed+\x0dL-<\x83,\xa3\xbd\xcd\xdd\xed\xfd\x0d\x1e^=lL\x9em\xfe\x8c\x1e\xad>\xcd>\x8e\x9d\x0e\xbf.\xdfN\xffnd\x7f\x8d\xbfo\xc9\xec\xbf\x0c\xd0Z3w\xfa\xfa\x05$80_B~\xc4\x10\xfe\x13\xf8\xd0\xe1A\x85\x11)NdX\xce\"\xc4\x8b\xff\x067z\x94\xf8Q#\xc8\x91\"Kb<g\xb2#\xc9\x93\xf1X\xcesY\x0f\xe6=\x95)\x1b\xd6\xcc(\xb3\xa0\xcd\x9c\x0bi\xf2\xac\xf8\x93\xe3N\x9fD\x87\x1a\xc5Y\x14\xe9Q\x94AC6]\x99\x94i\xd4\x96S_V\x8dyu\xe6R\xaa[\xadv\xc5\xfaU\xab\xd2\xb1R\xc3\xea$\xcb\x15\xadW\xb5`\xd9\x8a-\xeb\xf6,\xdc\xb9i\xe9\xae\xb5\xdb\x16\xef\xdb\xba|\xef\xf6\xcd\xfbw\xaf\xdf\xc1\x80\x09\x0b.\x8c\xf8\xb0b\xb9\x81\x19\x1bv\x9c\x18\xf2\xe2\x9ef)\xc7\xb5\xacW\xb2f\xcc\x8d9?\xf6\x1c\x19\xf4d\xa0Y7\x93\xae|\xfar\xea\xcc\xa2M\x0bU\xfd\x9a\xf5\xea\xce\xb3?\xd7\x0e}{tl\xda\xbbm\xf7\xc6\xfd[\xb7\xd3\xd2\xad\x8b\xe7v=\x1cup\xe4P\x95'\x87\xfd\\\xf6r\xe3\xd3\x8fS\x8f\xce\x1b\xbbo\xed\xc0\xb9\x0bo\x0e\x1d\xbct\xef\xcco\x8e\x17\x9f\x1d\xfdv\xf5\xdd\xd9\x7f7\x9f\x1e\xfez\xf9\xed\xe9\xbf\x7fj\xbf<\xfe\xfd\xc4\xad\xfb\xff\xaf\x0e\x20y\xd7\xb9\xa7_\x7f\x01\x128`~\x09\xf2\xe7\x1c\x82\xff\x09\xf8\xa0\x83\x07*\x18!\x85\x132\x18\x9e\x85\x10^h\xe0\x86\x1eJ\xf8\xa1\x86\x20\x8e(b\x89\x18\x9egb\x87$\x9e\x18\x1f\x8b\xf3\xb9X\x1f\x8c\xf7\xa9\x98b\x835f(c\x816\xe6\xb8\x20\x8d<V\xf8#\x87;\xfaH\xe4\x90F\xe2X$\x92G\xa2\x18d\x88M\xae\x98$\x93Q\xb68\xe5\x8bU\xc6x\xe5\x8cKR\xb9\xa5\x95]b\xf9\xa5\x96J\x8e)e\x98:\x92\xc9%\x9a^\xaa\x09&\x9bb\x96\xe9\xe6\x99p\xce\x99&\x9dk\xda\xd9&\x9eo\xd6\xc9\xe7\x9d}\xe6\xf9\xe7\x9e~\x0e\x0a(\xa1\x82\x16\x8a\xe8\xa1\x8a\xca\x19(\xa3\x86:\x9a(\xa4\x8b\xf6h&\xa5qZ\xaa\xa7\xa4\x9ab\xda(\xa7\x8fz\x1a)\xa8\x93\x02\x99\xe5\xa6\xa4Vz\xea\xa5\xa9f*\xaa\xa9B\xaa\xfa*\xab\xabv:\xeb\xa7\xb5\x86z\xeb\xa8\xb1\xd2\xba\xab\xad\xbd\xe2\xfa\xab\xaeN\x96\xdaj\xb1\xb9\xba:,\xaa\xc1\xc9\"\x0b\xa5\xb2\xc9\xc2\xfa\xac\xac\xcb\x1a;\xed\xb1\xd4F\xcb+\xb6\xbej\x0b,\xb7\xc26\x0b-\xb8\xd2z\xcb\xec\x8d\xe3\x8a\x9b-\xba\xdb\xaa\xdb-\xbb\xdf\x9a\x9b.\xbc\xeb\xca\xdb.\xbd\xef>io\xb9\xf8\xeeK\xac\xb5\xfeV\x0b0\xb9\xd7\xba\xabo\xbf\x01\x13<p\xbe\x09\xf3\xeb,\xc2\xff\x0a\xfc\xb0\xc3\x07+\x1c1\xc5\x133\x1c\xae\xc5\x10_l\xf0\xc6\x1eK\xfc\xb1\xc6\x20\x8f,r\xc9\x18\x9fkr\xc7$\x9f\x1c/\xcb\xf3\xba\\/\xcc\xf7\xaa\x9cr\xc35g,s\xc16\xe7\xbc0\xcd<W\xfc3\xc7;\xfbL\xf4\xd0F\xe3\\4\xd2G\xa3\x1ct\xc8M\xaf\x9c4\xd3Q\xb7<\xf5\xcbU\xc7|\xf5\xccKS\xbd\xb5\xd5]c\xfd\xb5\xd6J\x8f-u\xd8:\xe3L\x02\x09\x05\x00\x00;",
+
+	"images/treeview-gray.gif": "GIF89a`\x00\x85\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00`\x00\x85\x00\x00\x02\xff\x94\x8f\xa9\xcb\xed\x0f\x05\x98\xc0\xd1\x88\xb3\xde\xa8\xf2\x0f\x86\x9a'\x96\xa6I\x9e\xea\xca\xb6\xee\x1a\xc4\xb2\xfc\xd6f\xb0\xe0\xf6\xfe\xe9\xd2\xe1\xe3\x09#>Rp\x88d\xe0(\x13\xc1\xec\x98L\x16\x81\xd1\xaabj\x80Z\xa5\xb9\xad\xf79\xf3\x8a\xb3\xe32\xd9<\xd6\xa2\xb9\xebo\xdb\xfd\xde\xa5\xa8q\xdb\xfc\\\xcf\\,\xcdk~T\xa2\xf6\xb7p7hx\x88\xd8\x06F\x93x\xa2%\xd8\xa8\xf1\x18y\xd3E)\xb2\xc4\xe4\x14v\xb91\xd9\x09\xf2\x09\xca!:*\xb9\x08i\x0a\x91\xaa\x8a\xc1\xda\xba\x0a\x1b(\x8bI\x1b\xf2J[\x88+\xab\xdb\xba\xd7\xf0\x8b\xb0\xfbW(\xe9k\x8b\x9c\xac\xbc\x9c\x85\xcal\x990\xdc\x8a\xe5\xf4\xecg`d\x1d-\xa1\xf9\xa4M-\xad\x0a\xae-\x0cM\x8e\x1aN\xae\xbe\xce\xde\xee\xaeR\xcc\x1e\xaf\xaa\x09\xdc\x97\xdc\xbb\x9e\xaf\xbeO\xde\xff^\xed\x1d:v\xa5\xbe\x1d\xc8\xb6n\\Bn\x17\xbcYS\xa8\x0e\xe29s\xdf\x9c\x01\xbc\x881\xa3\xc6\x1fa\x19\xe7\xf1[\x16\x8c\xd0=d\x1e\xfdi,\xb91eB\x8b\x11)>t\xf9\xac\xe0K&\x15\x1c\xc6\x84\xc9L\xe6\xcdk\x11Y\xaa\xfc\x094h'\x94\xd6\x88>3z)d\x02\xa5;1\xa6C\xf6\xd4VTZSM\x0d\\\xc8sbV\x83[gv\xe3\xd4\xb4\x1c\xd6mc\xc5\xf6\\$4\xad\xda\xb5l\xdb\xba}\xcb\xa0\x00\x00;",
+
+	"implements.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Implements</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Implements</span></p>\x0a\x09\x09<div\x20style=\"margin-left:\x201in\"\x20id='implements-{{.Index}}'>...</div>\x0a\x09</div>\x0a</div>\x0a",
+
+	"jquery.js": "/*!\x20jQuery\x20v1.8.2\x20jquery.com\x20|\x20jquery.org/license\x20*/\x0a(function(a,b){function\x20G(a){var\x20b=F[a]={};return\x20p.each(a.split(s),function(a,c){b[c]=!0}),b}function\x20J(a,c,d){if(d===b&&a.nodeType===1){var\x20e=\"data-\"+c.replace(I,\"-$1\").toLowerCase();d=a.getAttribute(e);if(typeof\x20d==\"string\"){try{d=d===\"true\"?!0:d===\"false\"?!1:d===\"null\"?null:+d+\"\"===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else\x20d=b}return\x20d}function\x20K(a){var\x20b;for(b\x20in\x20a){if(b===\"data\"&&p.isEmptyObject(a[b]))continue;if(b!==\"toJSON\")return!1}return!0}function\x20ba(){return!1}function\x20bb(){return!0}function\x20bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function\x20bi(a,b){do\x20a=a[b];while(a&&a.nodeType!==1);return\x20a}function\x20bj(a,b,c){b=b||0;if(p.isFunction(b))return\x20p.grep(a,function(a,d){var\x20e=!!b.call(a,d,a);return\x20e===c});if(b.nodeType)return\x20p.grep(a,function(a,d){return\x20a===b===c});if(typeof\x20b==\"string\"){var\x20d=p.grep(a,function(a){return\x20a.nodeType===1});if(be.test(b))return\x20p.filter(b,d,!c);b=p.filter(b,d)}return\x20p.grep(a,function(a,d){return\x20p.inArray(a,b)>=0===c})}function\x20bk(a){var\x20b=bl.split(\"|\"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return\x20c}function\x20bC(a,b){return\x20a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function\x20bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var\x20c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete\x20g.handle,g.events={};for(c\x20in\x20h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function\x20bE(a,b){var\x20c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c===\"object\"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c===\"input\"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c===\"option\"?b.selected=a.defaultSelected:c===\"input\"||c===\"textarea\"?b.defaultValue=a.defaultValue:c===\"script\"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function\x20bF(a){return\x20typeof\x20a.getElementsByTagName!=\"undefined\"?a.getElementsByTagName(\"*\"):typeof\x20a.querySelectorAll!=\"undefined\"?a.querySelectorAll(\"*\"):[]}function\x20bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function\x20bY(a,b){if(b\x20in\x20a)return\x20b;var\x20c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b\x20in\x20a)return\x20b}return\x20d}function\x20bZ(a,b){return\x20a=b||a,p.css(a,\"display\")===\"none\"||!p.contains(a.ownerDocument,a)}function\x20b$(a,b){var\x20c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,\"olddisplay\"),b?(!e[f]&&c.style.display===\"none\"&&(c.style.display=\"\"),c.style.display===\"\"&&bZ(c)&&(e[f]=p._data(c,\"olddisplay\",cc(c.nodeName)))):(d=bH(c,\"display\"),!e[f]&&d!==\"none\"&&p._data(c,\"olddisplay\",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display===\"none\"||c.style.display===\"\")c.style.display=b?e[f]||\"\":\"none\"}return\x20a}function\x20b_(a,b,c){var\x20d=bP.exec(b);return\x20d?Math.max(0,d[1]-(c||0))+(d[2]||\"px\"):b}function\x20ca(a,b,c,d){var\x20e=c===(d?\"border\":\"content\")?4:b===\"width\"?1:0,f=0;for(;e<4;e+=2)c===\"margin\"&&(f+=p.css(a,c+bV[e],!0)),d?(c===\"content\"&&(f-=parseFloat(bH(a,\"padding\"+bV[e]))||0),c!==\"margin\"&&(f-=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0)):(f+=parseFloat(bH(a,\"padding\"+bV[e]))||0,c!==\"padding\"&&(f+=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0));return\x20f}function\x20cb(a,b,c){var\x20d=b===\"width\"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return\x20d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return\x20d+ca(a,b,c||(f?\"border\":\"content\"),e)+\"px\"}function\x20cc(a){if(bS[a])return\x20bS[a];var\x20b=p(\"<\"+a+\">\").appendTo(e.body),c=b.css(\"display\");b.remove();if(c===\"none\"||c===\"\"){bI=e.body.appendChild(bI||p.extend(e.createElement(\"iframe\"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(\"<!doctype\x20html><html><body>\"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,\"display\"),e.body.removeChild(bI)}return\x20bS[a]=c,c}function\x20ci(a,b,c,d){var\x20e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+\"[\"+(typeof\x20e==\"object\"?b:\"\")+\"]\",e,c,d)});else\x20if(!c&&p.type(b)===\"object\")for(e\x20in\x20b)ci(a+\"[\"+e+\"]\",b[e],c,d);else\x20d(a,b)}function\x20cz(a){return\x20function(b,c){typeof\x20b!=\"string\"&&(c=b,b=\"*\");var\x20d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\\+/.test(d),f&&(d=d.substr(1)||\"*\"),e=a[d]=a[d]||[],e[f?\"unshift\":\"push\"](c)}}function\x20cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var\x20h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof\x20h==\"string\"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g[\"*\"]&&(h=cA(a,c,d,e,\"*\",g)),h}function\x20cB(a,c){var\x20d,e,f=p.ajaxSettings.flatOptions||{};for(d\x20in\x20c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function\x20cC(a,c,d){var\x20e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f\x20in\x20k)f\x20in\x20d&&(c[k[f]]=d[f]);while(j[0]===\"*\")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader(\"content-type\"));if(e)for(f\x20in\x20i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in\x20d)g=j[0];else{for(f\x20in\x20d){if(!j[0]||a.converters[f+\"\x20\"+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return\x20g!==j[0]&&j.unshift(g),d[g]}function\x20cD(a,b){var\x20c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c\x20in\x20a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!==\"*\"){if(h!==\"*\"&&h!==e){c=i[h+\"\x20\"+e]||i[\"*\x20\"+e];if(!c)for(d\x20in\x20i){f=d.split(\"\x20\");if(f[1]===e){c=i[h+\"\x20\"+f[0]]||i[\"*\x20\"+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a[\"throws\"])b=c(b);else\x20try{b=c(b)}catch(k){return{state:\"parsererror\",error:c?k:\"No\x20conversion\x20from\x20\"+h+\"\x20to\x20\"+e}}}h=e}return{state:\"success\",data:b}}function\x20cL(){try{return\x20new\x20a.XMLHttpRequest}catch(b){}}function\x20cM(){try{return\x20new\x20a.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}function\x20cU(){return\x20setTimeout(function(){cN=b},0),cN=p.now()}function\x20cV(a,b){p.each(b,function(b,c){var\x20d=(cT[b]||[]).concat(cT[\"*\"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function\x20cW(a,b,c){var\x20d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete\x20i.elem}),i=function(){var\x20b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return\x20h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var\x20e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return\x20j.tweens.push(e),e},stop:function(b){var\x20c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return\x20b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return\x20d}return\x20cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function\x20cX(a,b){var\x20c,d,e,f,g;for(c\x20in\x20a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete\x20a[c]),g=p.cssHooks[d];if(g&&\"expand\"in\x20g){f=g.expand(f),delete\x20a[d];for(c\x20in\x20f)c\x20in\x20a||(a[c]=f[c],b[c]=e)}else\x20b[d]=e}}function\x20cY(a,b,c){var\x20d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,\"fx\"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,\"fx\").length||j.empty.fire()})})),a.nodeType===1&&(\"height\"in\x20b||\"width\"in\x20b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,\"display\")===\"inline\"&&p.css(a,\"float\")===\"none\"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)===\"inline\"?m.display=\"inline-block\":m.zoom=1)),c.overflow&&(m.overflow=\"hidden\",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d\x20in\x20b){f=b[d];if(cP.exec(f)){delete\x20b[d];if(f===(q?\"hide\":\"show\"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,\"fxshow\")||p._data(a,\"fxshow\",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var\x20b;p.removeData(a,\"fxshow\",!0);for(b\x20in\x20n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e\x20in\x20h||(h[e]=i.start,q&&(i.end=i.start,i.start=e===\"width\"||e===\"height\"?1:0))}}function\x20cZ(a,b,c,d,e){return\x20new\x20cZ.prototype.init(a,b,c,d,e)}function\x20c$(a,b){var\x20c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d[\"margin\"+c]=d[\"padding\"+c]=a;return\x20b&&(d.opacity=d.width=a),d}function\x20da(a){return\x20p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var\x20c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return\x20new\x20p.fn.init(a,b,c)},q=/[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,r=/\\S/,s=/\\s+/,t=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,u=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,v=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,w=/^[\\],:{}\\s]*$/,x=/(?:^|:|,)(?:\\s*\\[)+/g,y=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,z=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,A=/^-ms-/,B=/-([\\da-z])/gi,C=function(a,b){return(b+\"\").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener(\"DOMContentLoaded\",D,!1),p.ready()):e.readyState===\"complete\"&&(e.detachEvent(\"onreadystatechange\",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var\x20f,g,h,i;if(!a)return\x20this;if(a.nodeType)return\x20this.context=this[0]=a,this.length=1,this;if(typeof\x20a==\"string\"){a.charAt(0)===\"<\"&&a.charAt(a.length-1)===\">\"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return\x20c=c\x20instanceof\x20p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return\x20d.find(a);this.length=1,this[0]=g}return\x20this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return\x20p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:\"\",jquery:\"1.8.2\",length:0,size:function(){return\x20this.length},toArray:function(){return\x20k.call(this)},get:function(a){return\x20a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var\x20d=p.merge(this.constructor(),a);return\x20d.prevObject=this,d.context=this.context,b===\"find\"?d.selector=this.selector+(this.selector?\"\x20\":\"\")+c:b&&(d.selector=this.selector+\".\"+b+\"(\"+c+\")\"),d},each:function(a,b){return\x20p.each(this,a,b)},ready:function(a){return\x20p.ready.promise().done(a),this},eq:function(a){return\x20a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return\x20this.eq(0)},last:function(){return\x20this.eq(-1)},slice:function(){return\x20this.pushStack(k.apply(this,arguments),\"slice\",k.call(arguments).join(\",\"))},map:function(a){return\x20this.pushStack(p.map(this,function(b,c){return\x20a.call(b,c,b)}))},end:function(){return\x20this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var\x20a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof\x20h==\"boolean\"&&(k=h,h=arguments[1]||{},i=2),typeof\x20h!=\"object\"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c\x20in\x20a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return\x20h},p.extend({noConflict:function(b){return\x20a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return\x20setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger(\"ready\").off(\"ready\")},isFunction:function(a){return\x20p.type(a)===\"function\"},isArray:Array.isArray||function(a){return\x20p.type(a)===\"array\"},isWindow:function(a){return\x20a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return\x20a==null?String(a):E[m.call(a)]||\"object\"},isPlainObject:function(a){if(!a||p.type(a)!==\"object\"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,\"constructor\")&&!n.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}var\x20d;for(d\x20in\x20a);return\x20d===b||n.call(a,d)},isEmptyObject:function(a){var\x20b;for(b\x20in\x20a)return!1;return!0},error:function(a){throw\x20new\x20Error(a)},parseHTML:function(a,b,c){var\x20d;return!a||typeof\x20a!=\"string\"?null:(typeof\x20b==\"boolean\"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof\x20b!=\"string\")return\x20null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return\x20a.JSON.parse(b);if(w.test(b.replace(y,\"@\").replace(z,\"]\").replace(x,\"\")))return(new\x20Function(\"return\x20\"+b))();p.error(\"Invalid\x20JSON:\x20\"+b)},parseXML:function(c){var\x20d,e;if(!c||typeof\x20c!=\"string\")return\x20null;try{a.DOMParser?(e=new\x20DOMParser,d=e.parseFromString(c,\"text/xml\")):(d=new\x20ActiveXObject(\"Microsoft.XMLDOM\"),d.async=\"false\",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName(\"parsererror\").length)&&p.error(\"Invalid\x20XML:\x20\"+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return\x20a.replace(A,\"ms-\").replace(B,C)},nodeName:function(a,b){return\x20a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var\x20e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e\x20in\x20a)if(c.apply(a[e],d)===!1)break}else\x20for(;f<g;)if(c.apply(a[f++],d)===!1)break}else\x20if(h){for(e\x20in\x20a)if(c.call(a[e],e,a[e])===!1)break}else\x20for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return\x20a},trim:o&&!o.call(\"\xef\xbb\xbf\xc2\xa0\")?function(a){return\x20a==null?\"\":o.call(a)}:function(a){return\x20a==null?\"\":(a+\"\").replace(t,\"\")},makeArray:function(a,b){var\x20c,d=b||[];return\x20a!=null&&(c=p.type(a),a.length==null||c===\"string\"||c===\"function\"||c===\"regexp\"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var\x20d;if(b){if(l)return\x20l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c\x20in\x20b&&b[c]===a)return\x20c}return-1},merge:function(a,c){var\x20d=c.length,e=a.length,f=0;if(typeof\x20d==\"number\")for(;f<d;f++)a[e++]=c[f];else\x20while(c[f]!==b)a[e++]=c[f++];return\x20a.length=e,a},grep:function(a,b,c){var\x20d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return\x20e},map:function(a,c,d){var\x20e,f,g=[],h=0,i=a.length,j=a\x20instanceof\x20p||i!==b&&typeof\x20i==\"number\"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else\x20for(f\x20in\x20a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return\x20g.concat.apply([],g)},guid:1,proxy:function(a,c){var\x20d,e,f;return\x20typeof\x20c==\"string\"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return\x20a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var\x20i,j=d==null,k=0,l=a.length;if(d&&typeof\x20d==\"object\"){for(k\x20in\x20d)p.access(a,c,k,d[k],1,g,e);f=1}else\x20if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return\x20i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return\x20f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new\x20Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState===\"complete\")setTimeout(p.ready,1);else\x20if(e.addEventListener)e.addEventListener(\"DOMContentLoaded\",D,!1),a.addEventListener(\"load\",p.ready,!1);else{e.attachEvent(\"onreadystatechange\",D),a.attachEvent(\"onload\",p.ready);var\x20c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function\x20g(){if(!p.isReady){try{c.doScroll(\"left\")}catch(a){return\x20setTimeout(g,50)}p.ready()}}()}}return\x20d.promise(b)},p.each(\"Boolean\x20Number\x20String\x20Function\x20Array\x20Date\x20RegExp\x20Object\".split(\"\x20\"),function(a,b){E[\"[object\x20\"+b+\"]\"]=b.toLowerCase()}),c=p(e);var\x20F={};p.Callbacks=function(a){a=typeof\x20a==\"string\"?F[a]||G(a):p.extend({},a);var\x20c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var\x20b=i.length;(function\x20d(b){p.each(b,function(b,c){var\x20e=p.type(c);e===\"function\"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!==\"string\"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return\x20this},remove:function(){return\x20i&&p.each(arguments,function(a,b){var\x20c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return\x20p.inArray(a,i)>-1},empty:function(){return\x20i=[],this},disable:function(){return\x20i=j=c=b,this},disabled:function(){return!i},lock:function(){return\x20j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return\x20b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return\x20l.fireWith(this,arguments),this},fired:function(){return!!d}};return\x20l},p.extend({Deferred:function(a){var\x20b=[[\"resolve\",\"done\",p.Callbacks(\"once\x20memory\"),\"resolved\"],[\"reject\",\"fail\",p.Callbacks(\"once\x20memory\"),\"rejected\"],[\"notify\",\"progress\",p.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return\x20c},always:function(){return\x20e.done(arguments).fail(arguments),this},then:function(){var\x20a=arguments;return\x20p.Deferred(function(c){p.each(b,function(b,d){var\x20f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var\x20a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+\"With\"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return\x20a!=null?p.extend(a,d):d}},e={};return\x20d.pipe=d.then,p.each(b,function(a,f){var\x20g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var\x20b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return\x20function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new\x20Array(d),i=new\x20Array(d),j=new\x20Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return\x20e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var\x20b,c,d,f,g,h,i,j,k,l,m,n=e.createElement(\"div\");n.setAttribute(\"className\",\"t\"),n.innerHTML=\"\x20\x20<link/><table></table><a\x20href='/a'>a</a><input\x20type='checkbox'/>\",c=n.getElementsByTagName(\"*\"),d=n.getElementsByTagName(\"a\")[0],d.style.cssText=\"top:1px;float:left;opacity:.5\";if(!c||!c.length)return{};f=e.createElement(\"select\"),g=f.appendChild(e.createElement(\"option\")),h=n.getElementsByTagName(\"input\")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName(\"tbody\").length,htmlSerialize:!!n.getElementsByTagName(\"link\").length,style:/top/.test(d.getAttribute(\"style\")),hrefNormalized:d.getAttribute(\"href\")===\"/a\",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value===\"on\",optSelected:g.selected,getSetAttribute:n.className!==\"t\",enctype:!!e.createElement(\"form\").enctype,html5Clone:e.createElement(\"nav\").cloneNode(!0).outerHTML!==\"<:nav></:nav>\",boxModel:e.compatMode===\"CSS1Compat\",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete\x20n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent(\"onclick\",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent(\"onclick\"),n.detachEvent(\"onclick\",m)),h=e.createElement(\"input\"),h.value=\"t\",h.setAttribute(\"type\",\"radio\"),b.radioValue=h.value===\"t\",h.setAttribute(\"checked\",\"checked\"),h.setAttribute(\"name\",\"t\"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k\x20in{submit:!0,change:!0,focusin:!0})j=\"on\"+k,l=j\x20in\x20n,l||(n.setAttribute(j,\"return;\"),l=typeof\x20n[j]==\"function\"),b[k+\"Bubbles\"]=l;return\x20p(function(){var\x20c,d,f,g,h=\"padding:0;margin:0;border:0;display:block;overflow:hidden;\",i=e.getElementsByTagName(\"body\")[0];if(!i)return;c=e.createElement(\"div\"),c.style.cssText=\"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\",i.insertBefore(c,i.firstChild),d=e.createElement(\"div\"),c.appendChild(d),d.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",f=d.getElementsByTagName(\"td\"),f[0].style.cssText=\"padding:0;margin:0;border:0;display:none\",l=f[0].offsetHeight===0,f[0].style.display=\"\",f[1].style.display=\"none\",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML=\"\",d.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!==\"1%\",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:\"4px\"}).width===\"4px\",g=e.createElement(\"div\"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width=\"0\",d.style.width=\"1px\",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof\x20d.style.zoom!=\"undefined\"&&(d.innerHTML=\"\",d.style.cssText=h+\"width:1px;padding:1px;display:inline;zoom:1\",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display=\"block\",d.style.overflow=\"visible\",d.innerHTML=\"<div></div>\",d.firstChild.style.width=\"5px\",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var\x20H=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:\"jQuery\"+(p.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:!0,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:!0},hasData:function(a){return\x20a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var\x20f,g,h=p.expando,i=typeof\x20c==\"string\",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof\x20c==\"object\"||typeof\x20c==\"function\")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return\x20f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var\x20d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b\x20in\x20d?b=[b]:(b=p.camelCase(b),b\x20in\x20d?b=[b]:b=b.split(\"\x20\")));for(e=0,f=b.length;e<f;e++)delete\x20d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete\x20h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete\x20h[i]:h[i]=null},_data:function(a,b,c){return\x20p.data(a,b,c,!0)},acceptData:function(a){var\x20b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute(\"classid\")===b}}),p.fn.extend({data:function(a,c){var\x20d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,\"parsedAttrs\")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf(\"data-\")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,\"parsedAttrs\",!0)}}return\x20k}return\x20typeof\x20a==\"object\"?this.each(function(){p.data(this,a)}):(d=a.split(\".\",2),d[1]=d[1]?\".\"+d[1]:\"\",e=d[1]+\"!\",p.access(this,function(c){if(c===b)return\x20k=this.triggerHandler(\"getData\"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var\x20b=p(this);b.triggerHandler(\"setData\"+e,d),p.data(this,a,c),b.triggerHandler(\"changeData\"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return\x20this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var\x20d;if(a)return\x20b=(b||\"fx\")+\"queue\",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||\"fx\";var\x20c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e===\"inprogress\"&&(e=c.shift(),d--),e&&(b===\"fx\"&&c.unshift(\"inprogress\"),delete\x20f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var\x20c=b+\"queueHooks\";return\x20p._data(a,c)||p._data(a,c,{empty:p.Callbacks(\"once\x20memory\").add(function(){p.removeData(a,b+\"queue\",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var\x20d=2;return\x20typeof\x20a!=\"string\"&&(c=a,a=\"fx\",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var\x20b=p.queue(this,a,c);p._queueHooks(this,a),a===\"fx\"&&b[0]!==\"inprogress\"&&p.dequeue(this,a)})},dequeue:function(a){return\x20this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return\x20a=p.fx?p.fx.speeds[a]||a:a,b=b||\"fx\",this.queue(b,function(b,c){var\x20d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return\x20this.queue(a||\"fx\",[])},promise:function(a,c){var\x20d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof\x20a!=\"string\"&&(c=a,a=b),a=a||\"fx\";while(h--)d=p._data(g[h],a+\"queueHooks\"),d&&d.empty&&(e++,d.empty.add(i));return\x20i(),f.promise(c)}});var\x20L,M,N,O=/[\\t\\r\\n]/g,P=/\\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return\x20p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return\x20this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return\x20p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return\x20a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete\x20this[a]}catch(c){}})},addClass:function(a){var\x20b,c,d,e,f,g,h;if(p.isFunction(a))return\x20this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof\x20a==\"string\"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=\"\x20\"+e.className+\"\x20\";for(g=0,h=b.length;g<h;g++)f.indexOf(\"\x20\"+b[g]+\"\x20\")<0&&(f+=b[g]+\"\x20\");e.className=p.trim(f)}}}return\x20this},removeClass:function(a){var\x20c,d,e,f,g,h,i;if(p.isFunction(a))return\x20this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof\x20a==\"string\"||a===b){c=(a||\"\").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(\"\x20\"+e.className+\"\x20\").replace(O,\"\x20\");for(f=0,g=c.length;f<g;f++)while(d.indexOf(\"\x20\"+c[f]+\"\x20\")>=0)d=d.replace(\"\x20\"+c[f]+\"\x20\",\"\x20\");e.className=a?p.trim(d):\"\"}}}return\x20this},toggleClass:function(a,b){var\x20c=typeof\x20a,d=typeof\x20b==\"boolean\";return\x20p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c===\"string\"){var\x20e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?\"addClass\":\"removeClass\"](e)}else\x20if(c===\"undefined\"||c===\"boolean\")this.className&&p._data(this,\"__className__\",this.className),this.className=this.className||a===!1?\"\":p._data(this,\"__className__\")||\"\"})},hasClass:function(a){var\x20b=\"\x20\"+a+\"\x20\",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(\"\x20\"+this[c].className+\"\x20\").replace(O,\"\x20\").indexOf(b)>=0)return!0;return!1},val:function(a){var\x20c,d,e,f=this[0];if(!arguments.length){if(f)return\x20c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&\"get\"in\x20c&&(d=c.get(f,\"value\"))!==b?d:(d=f.value,typeof\x20d==\"string\"?d.replace(P,\"\"):d==null?\"\":d);return}return\x20e=p.isFunction(a),this.each(function(d){var\x20f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f=\"\":typeof\x20f==\"number\"?f+=\"\":p.isArray(f)&&(f=p.map(f,function(a){return\x20a==null?\"\":a+\"\"})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!(\"set\"in\x20c)||c.set(this,f,\"value\")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var\x20b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var\x20b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type===\"select-one\";if(f<0)return\x20null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute(\"disabled\")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,\"optgroup\"))){b=p(e).val();if(i)return\x20b;g.push(b)}}return\x20i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var\x20c=p.makeArray(b);return\x20p(a).find(\"option\").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var\x20f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return\x20p(a)[c](d);if(typeof\x20a.getAttribute==\"undefined\")return\x20p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return\x20g&&\"set\"in\x20g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+\"\"),d)}return\x20g&&\"get\"in\x20g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var\x20c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,\"\"),a.removeAttribute(U?e:c),f&&c\x20in\x20a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error(\"type\x20property\x20can't\x20be\x20changed\");else\x20if(!p.support.radioValue&&b===\"radio\"&&p.nodeName(a,\"input\")){var\x20c=a.value;return\x20a.setAttribute(\"type\",b),c&&(a.value=c),b}}},value:{get:function(a,b){return\x20L&&p.nodeName(a,\"button\")?L.get(a,b):b\x20in\x20a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,\"button\"))return\x20L.set(a,b,c);a.value=b}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(a,c,d){var\x20e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return\x20g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&\"set\"in\x20f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&\"get\"in\x20f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var\x20c=a.getAttributeNode(\"tabindex\");return\x20c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var\x20d,e=p.prop(a,c);return\x20e===!0||typeof\x20e!=\"boolean\"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var\x20d;return\x20b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d\x20in\x20a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var\x20d;return\x20d=a.getAttributeNode(c),d&&(N[c]?d.value!==\"\":d.specified)?d.value:b},set:function(a,b,c){var\x20d=a.getAttributeNode(c);return\x20d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+\"\"}},p.each([\"width\",\"height\"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c===\"\")return\x20a.setAttribute(b,\"auto\"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===\"\"&&(b=\"false\"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each([\"href\",\"src\",\"width\",\"height\"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var\x20d=a.getAttribute(c,2);return\x20d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return\x20a.style.cssText.toLowerCase()||b},set:function(a,b){return\x20a.style.cssText=b+\"\"}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var\x20b=a.parentNode;return\x20b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype=\"encoding\"),p.support.checkOn||p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]={get:function(a){return\x20a.getAttribute(\"value\")===null?\"on\":a.value}}}),p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return\x20a.checked=p.inArray(p(a).val(),b)>=0}})});var\x20V=/^(?:textarea|input|select)$/i,W=/^([^\\.]*|)(?:\\.(.+)|)$/,X=/(?:^|\\s)hover(\\.\\S+|)\\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return\x20p.event.special.hover?a:a.replace(X,\"mouseenter$1\x20mouseleave$1\")};p.event={add:function(a,c,d,e,f){var\x20g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return\x20typeof\x20p!=\"undefined\"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(\"\x20\");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||\"\").split(\".\").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(\".\")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent(\"on\"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var\x20f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||\"\")).split(\"\x20\");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h\x20in\x20m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new\x20RegExp(\"(^|\\\\.)\"+j.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d===\"**\"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete\x20m[h])}p.isEmptyObject(m)&&(delete\x20r.handle,p.removeData(a,\"events\",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var\x20h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf(\"!\")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(\".\")>=0&&(t=s.split(\".\"),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof\x20c==\"object\"?c[p.expando]?c:new\x20p.Event(s,c):new\x20p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join(\".\"),c.namespace_re=c.namespace?new\x20RegExp(\"(^|\\\\.)\"+t.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,m=s.indexOf(\":\")<0?\"on\"+s:\"\";if(!f){h=p.cache;for(j\x20in\x20h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,\"events\")||{})[c.type]&&p._data(k,\"handle\"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return\x20c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!==\"click\"||!p.nodeName(f,\"a\"))&&p.acceptData(f)&&m&&f[s]&&(s!==\"focus\"&&s!==\"blur\"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var\x20d,e,f,g,h,i,j,l,m,n,o=(p._data(this,\"events\")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!==\"click\"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!==\"click\"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return\x20t.postDispatch&&t.postDispatch.call(this,c),c.result},props:\"attrChange\x20attrName\x20relatedNode\x20srcElement\x20altKey\x20bubbles\x20cancelable\x20ctrlKey\x20currentTarget\x20eventPhase\x20metaKey\x20relatedTarget\x20shiftKey\x20target\x20timeStamp\x20view\x20which\".split(\"\x20\"),fixHooks:{},keyHooks:{props:\"char\x20charCode\x20key\x20keyCode\".split(\"\x20\"),filter:function(a,b){return\x20a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:\"button\x20buttons\x20clientX\x20clientY\x20fromElement\x20offsetX\x20offsetY\x20pageX\x20pageY\x20screenX\x20screenY\x20toElement\".split(\"\x20\"),filter:function(a,c){var\x20d,f,g,h=c.button,i=c.fromElement;return\x20a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return\x20a;var\x20b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return\x20a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var\x20e=p.extend(new\x20p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var\x20d=\"on\"+b;a.detachEvent&&(typeof\x20a[d]==\"undefined\"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this\x20instanceof\x20p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else\x20return\x20new\x20p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var\x20a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var\x20a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var\x20c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return\x20c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,\"form\"))return!1;p.event.add(this,\"click._submit\x20keypress._submit\",function(a){var\x20c=a.target,d=p.nodeName(c,\"input\")||p.nodeName(c,\"button\")?c.form:b;d&&!p._data(d,\"_submit_attached\")&&(p.event.add(d,\"submit._submit\",function(a){a._submit_bubble=!0}),p._data(d,\"_submit_attached\",!0))})},postDispatch:function(a){a._submit_bubble&&(delete\x20a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate(\"submit\",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,\"form\"))return!1;p.event.remove(this,\"._submit\")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\")p.event.add(this,\"propertychange._change\",function(a){a.originalEvent.propertyName===\"checked\"&&(this._just_changed=!0)}),p.event.add(this,\"click._change\",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate(\"change\",this,a,!0)});return!1}p.event.add(this,\"beforeactivate._change\",function(a){var\x20b=a.target;V.test(b.nodeName)&&!p._data(b,\"_change_attached\")&&(p.event.add(b,\"change._change\",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate(\"change\",this.parentNode,a,!0)}),p._data(b,\"_change_attached\",!0))})},handle:function(a){var\x20b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!==\"radio\"&&b.type!==\"checkbox\")return\x20a.handleObj.handler.apply(this,arguments)},teardown:function(){return\x20p.event.remove(this,\"._change\"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var\x20c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var\x20g,h;if(typeof\x20a==\"object\"){typeof\x20c!=\"string\"&&(d=d||c,c=b);for(h\x20in\x20a)this.on(h,c,d,a[h],f);return\x20this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof\x20c==\"string\"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else\x20if(!e)return\x20this;return\x20f===1&&(g=e,e=function(a){return\x20p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return\x20this.on(a,b,c,d,1)},off:function(a,c,d){var\x20e,f;if(a&&a.preventDefault&&a.handleObj)return\x20e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+\".\"+e.namespace:e.origType,e.selector,e.handler),this;if(typeof\x20a==\"object\"){for(f\x20in\x20a)this.off(f,c,a[f]);return\x20this}if(c===!1||typeof\x20c==\"function\")d=c,c=b;return\x20d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return\x20this.on(a,null,b,c)},unbind:function(a,b){return\x20this.off(a,null,b)},live:function(a,b,c){return\x20p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return\x20p(this.context).off(a,this.selector||\"**\",b),this},delegate:function(a,b,c,d){return\x20this.on(b,a,c,d)},undelegate:function(a,b,c){return\x20arguments.length===1?this.off(a,\"**\"):this.off(b,a||\"**\",c)},trigger:function(a,b){return\x20this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return\x20p.event.trigger(a,b,this[0],!0)},toggle:function(a){var\x20b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var\x20e=(p._data(this,\"lastToggle\"+a.guid)||0)%d;return\x20p._data(this,\"lastToggle\"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return\x20this.click(e)},hover:function(a,b){return\x20this.mouseenter(a).mouseleave(b||a)}}),p.each(\"blur\x20focus\x20focusin\x20focusout\x20load\x20resize\x20scroll\x20unload\x20click\x20dblclick\x20mousedown\x20mouseup\x20mousemove\x20mouseover\x20mouseout\x20mouseenter\x20mouseleave\x20change\x20select\x20submit\x20keydown\x20keypress\x20keyup\x20error\x20contextmenu\".split(\"\x20\"),function(a,b){p.fn[b]=function(a,c){return\x20c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function\x20bc(a,b,c,d){c=c||[],b=b||r;var\x20e,f,i,j,k=b.nodeType;if(!a||typeof\x20a!=\"string\")return\x20c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return\x20c;if(f.id===j)return\x20c.push(f),c}else\x20if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return\x20c.push(f),c}else{if(e[2])return\x20w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return\x20w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return\x20bp(a.replace(L,\"$1\"),b,c,d,i)}function\x20bd(a){return\x20function(b){var\x20c=b.nodeName.toLowerCase();return\x20c===\"input\"&&b.type===a}}function\x20be(a){return\x20function(b){var\x20c=b.nodeName.toLowerCase();return(c===\"input\"||c===\"button\")&&b.type===a}}function\x20bf(a){return\x20z(function(b){return\x20b=+b,z(function(c,d){var\x20e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function\x20bg(a,b,c){if(a===b)return\x20c;var\x20d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return\x201}function\x20bh(a,b){var\x20c,d,f,g,h,i,j,k=C[o][a];if(k)return\x20b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new\x20q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L,\"\x20\");for(g\x20in\x20e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new\x20q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return\x20b?h.length:h?bc.error(a):C(a,i).slice(0)}function\x20bi(a,b,d){var\x20e=b.dir,f=d&&b.dir===\"parentNode\",g=u++;return\x20b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return\x20a(b,c,d)}:function(b,d,h){if(!h){var\x20i,j=t+\"\x20\"+g+\"\x20\",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return\x20b.sizset;if(typeof\x20i==\"string\"&&i.indexOf(j)===0){if(b.sizset)return\x20b}else{b[o]=k;if(a(b,d,h))return\x20b.sizset=!0,b;b.sizset=!1}}}else\x20while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return\x20b}}function\x20bj(a){return\x20a.length>1?function(b,c,d){var\x20e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function\x20bk(a,b,c,d,e){var\x20f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return\x20g}function\x20bl(a,b,c,d,e,f){return\x20d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var\x20j,k,l,m=[],n=[],o=g.length,p=f||bo(b||\"*\",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else\x20r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function\x20bm(a){var\x20b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[\"\x20\"],i=g?1:0,j=bi(function(a){return\x20a===b},h,!0),k=bi(function(a){return\x20y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return\x20bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join(\"\").replace(L,\"$1\"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(\"\"))}m.push(c)}return\x20bj(m)}function\x20bn(a,b){var\x20d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var\x20n,o,p,q=[],s=0,u=\"0\",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG(\"*\",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return\x20y&&(t=B,l=z),x};return\x20g.el=0,d?z(g):g}function\x20bo(a,b,c,d){var\x20e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return\x20c}function\x20bp(a,b,c,d,f){var\x20g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type===\"ID\"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,\"\"),b,f)[0];if(!b)return\x20c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,\"\"),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join(\"\");if(!a)return\x20w.apply(c,x.call(d,0)),c;break}}}return\x20i(a,m)(d,b,f,c,R.test(a)),c}function\x20bq(){}var\x20c,d,e,f,g,h,i,j,k,l,m=!0,n=\"undefined\",o=(\"sizcache\"+Math.random()).replace(\".\",\"\"),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var\x20b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return\x20b;return-1},z=function(a,b){return\x20a[o]=b==null||b,a},A=function(){var\x20a={},b=[];return\x20z(function(c,d){return\x20b.push(c)>e.cacheLength&&delete\x20a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",F=\"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",G=F.replace(\"w\",\"w#\"),H=\"([*^$|!~]?=)\",I=\"\\\\[\"+E+\"*(\"+F+\")\"+E+\"*(?:\"+H+E+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+G+\")|)|)\"+E+\"*\\\\]\",J=\":(\"+F+\")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\"+I+\")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",K=\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+E+\"*((?:-\\\\d)?\\\\d*)\"+E+\"*\\\\)|)(?=[^-]|$)\",L=new\x20RegExp(\"^\"+E+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+E+\"+$\",\"g\"),M=new\x20RegExp(\"^\"+E+\"*,\"+E+\"*\"),N=new\x20RegExp(\"^\"+E+\"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\"+E+\"*\"),O=new\x20RegExp(J),P=/^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,Q=/^:not/,R=/[\\x20\\t\\r\\n\\f]*[+~]/,S=/:not\\($/,T=/h\\d/i,U=/input|select|textarea|button/i,V=/\\\\(?!\\\\)/g,W={ID:new\x20RegExp(\"^#(\"+F+\")\"),CLASS:new\x20RegExp(\"^\\\\.(\"+F+\")\"),NAME:new\x20RegExp(\"^\\\\[name=['\\\"]?(\"+F+\")['\\\"]?\\\\]\"),TAG:new\x20RegExp(\"^(\"+F.replace(\"w\",\"w*\")+\")\"),ATTR:new\x20RegExp(\"^\"+I),PSEUDO:new\x20RegExp(\"^\"+J),POS:new\x20RegExp(K,\"i\"),CHILD:new\x20RegExp(\"^:(only|nth|first|last)-child(?:\\\\(\"+E+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+E+\"*(?:([+-]|)\"+E+\"*(\\\\d+)|))\"+E+\"*\\\\)|)\",\"i\"),needsContext:new\x20RegExp(\"^\"+E+\"*[>+~]|\"+K,\"i\")},X=function(a){var\x20b=r.createElement(\"div\");try{return\x20a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return\x20a.appendChild(r.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),Z=X(function(a){return\x20a.innerHTML=\"<a\x20href='#'></a>\",a.firstChild&&typeof\x20a.firstChild.getAttribute!==n&&a.firstChild.getAttribute(\"href\")===\"#\"}),$=X(function(a){a.innerHTML=\"<select></select>\";var\x20b=typeof\x20a.lastChild.getAttribute(\"multiple\");return\x20b!==\"boolean\"&&b!==\"string\"}),_=X(function(a){return\x20a.innerHTML=\"<div\x20class='hidden\x20e'></div><div\x20class='hidden'></div>\",!a.getElementsByClassName||!a.getElementsByClassName(\"e\").length?!1:(a.lastChild.className=\"e\",a.getElementsByClassName(\"e\").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML=\"<a\x20name='\"+o+\"'></a><div\x20name='\"+o+\"'></div>\",s.insertBefore(a,s.firstChild);var\x20b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return\x20d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var\x20b,c=[];for(;b=this[a];a++)c.push(b);return\x20c}}bc.matches=function(a,b){return\x20bc(a,null,null,b)},bc.matchesSelector=function(a,b){return\x20bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var\x20b,c=\"\",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof\x20a.textContent==\"string\")return\x20a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else\x20if(e===3||e===4)return\x20a.nodeValue}else\x20for(;b=a[d];d++)c+=f(b);return\x20c},g=bc.isXML=function(a){var\x20b=a&&(a.ownerDocument||a).documentElement;return\x20b?b.nodeName!==\"HTML\":!1},h=bc.contains=s.contains?function(a,b){var\x20c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return\x20a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return\x20b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var\x20c,d=g(a);return\x20d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof\x20a[b]==\"boolean\"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return\x20a.getAttribute(\"href\",2)},type:function(a){return\x20a.getAttribute(\"type\")}},find:{ID:d?function(a,b,c){if(typeof\x20b.getElementById!==n&&!c){var\x20d=b.getElementById(a);return\x20d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof\x20c.getElementById!==n&&!d){var\x20e=c.getElementById(a);return\x20e?e.id===a||typeof\x20e.getAttributeNode!==n&&e.getAttributeNode(\"id\").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof\x20b.getElementsByTagName!==n)return\x20b.getElementsByTagName(a)}:function(a,b){var\x20c=b.getElementsByTagName(a);if(a===\"*\"){var\x20d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return\x20e}return\x20c},NAME:ba&&function(a,b){if(typeof\x20b.getElementsByName!==n)return\x20b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof\x20b.getElementsByClassName!==n&&!c)return\x20b.getElementsByClassName(a)}},relative:{\">\":{dir:\"parentNode\",first:!0},\"\x20\":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return\x20a[1]=a[1].replace(V,\"\"),a[3]=(a[4]||a[5]||\"\").replace(V,\"\"),a[2]===\"~=\"&&(a[3]=\"\x20\"+a[3]+\"\x20\"),a.slice(0,4)},CHILD:function(a){return\x20a[1]=a[1].toLowerCase(),a[1]===\"nth\"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]===\"even\"||a[2]===\"odd\")),a[4]=+(a[6]+a[7]||a[2]===\"odd\")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var\x20b,c;if(W.CHILD.test(a[0]))return\x20null;if(a[3])a[2]=a[3];else\x20if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(\")\",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return\x20a.slice(0,3)}},filter:{ID:d?function(a){return\x20a=a.replace(V,\"\"),function(b){return\x20b.getAttribute(\"id\")===a}}:function(a){return\x20a=a.replace(V,\"\"),function(b){var\x20c=typeof\x20b.getAttributeNode!==n&&b.getAttributeNode(\"id\");return\x20c&&c.value===a}},TAG:function(a){return\x20a===\"*\"?function(){return!0}:(a=a.replace(V,\"\").toLowerCase(),function(b){return\x20b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var\x20b=B[o][a];return\x20b||(b=B(a,new\x20RegExp(\"(^|\"+E+\")\"+a+\"(\"+E+\"|$)\"))),function(a){return\x20b.test(a.className||typeof\x20a.getAttribute!==n&&a.getAttribute(\"class\")||\"\")}},ATTR:function(a,b,c){return\x20function(d,e){var\x20f=bc.attr(d,a);return\x20f==null?b===\"!=\":b?(f+=\"\",b===\"=\"?f===c:b===\"!=\"?f!==c:b===\"^=\"?c&&f.indexOf(c)===0:b===\"*=\"?c&&f.indexOf(c)>-1:b===\"$=\"?c&&f.substr(f.length-c.length)===c:b===\"~=\"?(\"\x20\"+f+\"\x20\").indexOf(c)>-1:b===\"|=\"?f===c||f.substr(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d){return\x20a===\"nth\"?function(a){var\x20b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return\x20e-=d,e===c||e%c===0&&e/c>=0}:function(b){var\x20c=b;switch(a){case\"only\":case\"first\":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a===\"first\")return!0;c=b;case\"last\":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var\x20c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error(\"unsupported\x20pseudo:\x20\"+a);return\x20d[o]?d(b):d.length>1?(c=[a,a,\"\",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var\x20e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return\x20d(a,0,c)}):d}},pseudos:{not:z(function(a){var\x20b=[],c=[],d=i(a.replace(L,\"$1\"));return\x20d[o]?z(function(a,b,c,e){var\x20f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return\x20b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return\x20function(b){return\x20bc(a,b).length>0}}),contains:z(function(a){return\x20function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return\x20a.disabled===!1},disabled:function(a){return\x20a.disabled===!0},checked:function(a){var\x20b=a.nodeName.toLowerCase();return\x20b===\"input\"&&!!a.checked||b===\"option\"&&!!a.selected},selected:function(a){return\x20a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var\x20b;a=a.firstChild;while(a){if(a.nodeName>\"@\"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return\x20T.test(a.nodeName)},text:function(a){var\x20b,c;return\x20a.nodeName.toLowerCase()===\"input\"&&(b=a.type)===\"text\"&&((c=a.getAttribute(\"type\"))==null||c.toLowerCase()===b)},radio:bd(\"radio\"),checkbox:bd(\"checkbox\"),file:bd(\"file\"),password:bd(\"password\"),image:bd(\"image\"),submit:be(\"submit\"),reset:be(\"reset\"),button:function(a){var\x20b=a.nodeName.toLowerCase();return\x20b===\"input\"&&a.type===\"button\"||b===\"button\"},input:function(a){return\x20U.test(a.nodeName)},focus:function(a){var\x20b=a.ownerDocument;return\x20a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return\x20a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var\x20d=0;d<b;d+=2)a.push(d);return\x20a}),odd:bf(function(a,b,c){for(var\x20d=1;d<b;d+=2)a.push(d);return\x20a}),lt:bf(function(a,b,c){for(var\x20d=c<0?c+b:c;--d>=0;)a.push(d);return\x20a}),gt:bf(function(a,b,c){for(var\x20d=c<0?c+b:c;++d<b;)a.push(d);return\x20a})}},j=s.compareDocumentPosition?function(a,b){return\x20a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return\x20k=!0,0;if(a.sourceIndex&&b.sourceIndex)return\x20a.sourceIndex-b.sourceIndex;var\x20c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return\x20bg(a,b);if(!g)return-1;if(!h)return\x201;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var\x20j=0;j<c&&j<d;j++)if(e[j]!==f[j])return\x20bg(e[j],f[j]);return\x20j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var\x20b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return\x20a},bc.error=function(a){throw\x20new\x20Error(\"Syntax\x20error,\x20unrecognized\x20expression:\x20\"+a)},i=bc.compile=function(a,b){var\x20c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return\x20f},r.querySelectorAll&&function(){var\x20a,b=bp,c=/'|\\\\/g,d=/\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,e=[\":focus\"],f=[\":active\",\":focus\"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML=\"<select><option\x20selected=''></option></select>\",a.querySelectorAll(\"[selected]\").length||e.push(\"\\\\[\"+E+\"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\"),a.querySelectorAll(\":checked\").length||e.push(\":checked\")}),X(function(a){a.innerHTML=\"<p\x20test=''></p>\",a.querySelectorAll(\"[test^='']\").length&&e.push(\"[*^$]=\"+E+\"*(?:\\\"\\\"|'')\"),a.innerHTML=\"<input\x20type='hidden'/>\",a.querySelectorAll(\":enabled\").length||e.push(\":enabled\",\":disabled\")}),e=new\x20RegExp(e.join(\"|\")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var\x20i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!==\"object\"){i=bh(a),(k=d.getAttribute(\"id\"))?l=k.replace(c,\"\\\\$&\"):d.setAttribute(\"id\",l),l=\"[id='\"+l+\"']\x20\",j=i.length;while(j--)i[j]=l+i[j].join(\"\");m=R.test(a)&&d.parentNode||d,n=i.join(\",\")}if(n)try{return\x20w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute(\"id\")}}return\x20b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,\"div\");try{h.call(b,\"[test!='']:sizzle\"),f.push(\"!=\",J)}catch(c){}}),f=new\x20RegExp(f.join(\"|\")),bc.matchesSelector=function(b,c){c=c.replace(d,\"='$1']\");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var\x20i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return\x20i}catch(j){}return\x20bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new\x20bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[\":\"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var\x20bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\\[\\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var\x20b,c,d,e,f,g,h=this;if(typeof\x20a!=\"string\")return\x20p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack(\"\",\"find\",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return\x20g},has:function(a){var\x20b,c=p(a,this),d=c.length;return\x20this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return\x20this.pushStack(bj(this,a,!1),\"not\",a)},filter:function(a){return\x20this.pushStack(bj(this,a,!0),\"filter\",a)},is:function(a){return!!a&&(typeof\x20a==\"string\"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var\x20c,d=0,e=this.length,f=[],g=bf.test(a)||typeof\x20a!=\"string\"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return\x20f=f.length>1?p.unique(f):f,this.pushStack(f,\"closest\",a)},index:function(a){return\x20a?typeof\x20a==\"string\"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var\x20c=typeof\x20a==\"string\"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return\x20this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return\x20this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var\x20b=a.parentNode;return\x20b&&b.nodeType!==11?b:null},parents:function(a){return\x20p.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return\x20p.dir(a,\"parentNode\",c)},next:function(a){return\x20bi(a,\"nextSibling\")},prev:function(a){return\x20bi(a,\"previousSibling\")},nextAll:function(a){return\x20p.dir(a,\"nextSibling\")},prevAll:function(a){return\x20p.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return\x20p.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return\x20p.dir(a,\"previousSibling\",c)},siblings:function(a){return\x20p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return\x20p.sibling(a.firstChild)},contents:function(a){return\x20p.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var\x20e=p.map(this,b,c);return\x20bc.test(a)||(d=c),d&&typeof\x20d==\"string\"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(\",\"))}}),p.extend({filter:function(a,b,c){return\x20c&&(a=\":not(\"+a+\")\"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var\x20e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return\x20e},sibling:function(a,b){var\x20c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return\x20c}});var\x20bl=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",bm=/\x20jQuery\\d+=\"(?:null|\\d+)\"/g,bn=/^\\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,bp=/<([\\w:]+)/,bq=/<tbody/i,br=/<|&#?\\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new\x20RegExp(\"<(?:\"+bl+\")[\\\\s/>]\",\"i\"),bv=/^(?:checkbox|radio)$/,bw=/checked\\s*(?:[^=]|=\\s*.checked.)/i,bx=/\\/(java|ecma)script/i,by=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,bz={option:[1,\"<select\x20multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},bA=bk(e),bB=bA.appendChild(e.createElement(\"div\"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,\"X<div>\",\"</div>\"]),p.fn.extend({text:function(a){return\x20p.access(this,function(a){return\x20a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return\x20this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var\x20b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var\x20a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return\x20a}).append(this)}return\x20this},wrapInner:function(a){return\x20p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var\x20b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var\x20b=p.isFunction(a);return\x20this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return\x20this.parent().each(function(){p.nodeName(this,\"body\")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return\x20this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return\x20this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return\x20this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var\x20a=p.clean(arguments);return\x20this.pushStack(p.merge(a,this),\"before\",this.selector)}},after:function(){if(!bh(this[0]))return\x20this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var\x20a=p.clean(arguments);return\x20this.pushStack(p.merge(this,a),\"after\",this.selector)}},remove:function(a,b){var\x20c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return\x20this},empty:function(){var\x20a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName(\"*\"));while(a.firstChild)a.removeChild(a.firstChild)}return\x20this},clone:function(a,b){return\x20a=a==null?!1:a,b=b==null?a:b,this.map(function(){return\x20p.clone(this,a,b)})},html:function(a){return\x20p.access(this,function(a){var\x20c=this[0]||{},d=0,e=this.length;if(a===b)return\x20c.nodeType===1?c.innerHTML.replace(bm,\"\"):b;if(typeof\x20a==\"string\"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=a.replace(bo,\"<$1></$2>\");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return\x20bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),\"replaceWith\",a):this:p.isFunction(a)?this.each(function(b){var\x20c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof\x20a!=\"string\"&&(a=p(a).detach()),this.each(function(){var\x20b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return\x20this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var\x20e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof\x20j==\"string\"&&bw.test(j))return\x20this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return\x20this.each(function(e){var\x20f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,\"tr\");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],\"table\")?bC(this[i],\"tbody\"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0}):p.error(\"no\x20ajax\"):p.globalEval((b.text||b.textContent||b.innerHTML||\"\").replace(by,\"\")),b.parentNode&&b.parentNode.removeChild(b)})}return\x20this}}),p.buildFragment=function(a,c,d){var\x20f,g,h,i=a[0];return\x20c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof\x20i==\"string\"&&i.length<512&&c===e&&i.charAt(0)===\"<\"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){p.fn[a]=function(c){var\x20d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return\x20g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return\x20this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var\x20d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test(\"<\"+a.nodeName+\">\")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return\x20d=e=null,g},clean:function(a,b,c,d){var\x20f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof\x20b.createDocumentFragment==\"undefined\")b=e;for(f=0;(h=a[f])!=null;f++){typeof\x20h==\"number\"&&(h+=\"\");if(!h)continue;if(typeof\x20h==\"string\")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement(\"div\"),s.appendChild(l),h=h.replace(bo,\"<$1></$2>\"),i=(bp.exec(h)||[\"\",\"\"])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i===\"table\"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===\"<table>\"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],\"tbody\")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,\"input\")?bG(h):typeof\x20h.getElementsByTagName!=\"undefined\"&&p.grep(h.getElementsByTagName(\"input\"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return\x20d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,\"script\")||!q(h))c.appendChild(h),typeof\x20h.getElementsByTagName!=\"undefined\"&&(r=p.grep(p.merge([],h.getElementsByTagName(\"script\")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return\x20t},cleanData:function(a,b){var\x20c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f\x20in\x20c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete\x20i[d],j?delete\x20e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var\x20a,b;p.uaMatch=function(a){a=a.toLowerCase();var\x20b=/(chrome)[\x20\\/]([\\w.]+)/.exec(a)||/(webkit)[\x20\\/]([\\w.]+)/.exec(a)||/(opera)(?:.*version|)[\x20\\/]([\\w.]+)/.exec(a)||/(msie)\x20([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*?\x20rv:([\\w.]+)|)/.exec(a)||[];return{browser:b[1]||\"\",version:b[2]||\"0\"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function\x20a(b,c){return\x20new\x20a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function\x20c(c,d){return\x20d&&d\x20instanceof\x20p&&!(d\x20instanceof\x20a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var\x20b=a(e);return\x20a}}();var\x20bH,bI,bJ,bK=/alpha\\([^)]*\\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new\x20RegExp(\"^(\"+q+\")(.*)$\",\"i\"),bQ=new\x20RegExp(\"^(\"+q+\")(?!px)[a-z%]+$\",\"i\"),bR=new\x20RegExp(\"^([-+])=(\"+q+\")\",\"i\"),bS={},bT={position:\"absolute\",visibility:\"hidden\",display:\"block\"},bU={letterSpacing:0,fontWeight:400},bV=[\"Top\",\"Right\",\"Bottom\",\"Left\"],bW=[\"Webkit\",\"O\",\"Moz\",\"ms\"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return\x20p.access(this,function(a,c,d){return\x20d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return\x20b$(this,!0)},hide:function(){return\x20b$(this)},toggle:function(a,b){var\x20c=typeof\x20a==\"boolean\";return\x20p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var\x20c=bH(a,\"opacity\");return\x20c===\"\"?\"1\":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":p.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var\x20f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return\x20h&&\"get\"in\x20h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof\x20d,g===\"string\"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g=\"number\");if(d==null||g===\"number\"&&isNaN(d))return;g===\"number\"&&!p.cssNumber[i]&&(d+=\"px\");if(!h||!(\"set\"in\x20h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var\x20f,g,h,i=p.camelCase(c);return\x20c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&\"get\"in\x20h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f===\"normal\"&&c\x20in\x20bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var\x20d,e,f={};for(e\x20in\x20b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e\x20in\x20b)a.style[e]=f[e];return\x20d}}),a.getComputedStyle?bH=function(b,c){var\x20d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return\x20h&&(d=h[c],d===\"\"&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var\x20c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return\x20e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b===\"fontSize\"?\"1em\":e,e=f.pixelLeft+\"px\",f.left=c,d&&(a.runtimeStyle.left=d)),e===\"\"?\"auto\":e}),p.each([\"height\",\"width\"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return\x20a.offsetWidth===0&&bN.test(bH(a,\"display\"))?p.swap(a,bT,function(){return\x20cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return\x20b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return\x20bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":b?\"1\":\"\"},set:function(a,b){var\x20c=a.style,d=a.currentStyle,e=p.isNumeric(b)?\"alpha(opacity=\"+b*100+\")\":\"\",f=d&&d.filter||c.filter||\"\";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,\"\"))===\"\"&&c.removeAttribute){c.removeAttribute(\"filter\");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+\"\x20\"+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return\x20p.swap(a,{display:\"inline-block\"},function(){if(b)return\x20bH(a,\"marginRight\")})}}),!p.support.pixelPosition&&p.fn.position&&p.each([\"top\",\"left\"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var\x20d=bH(a,b);return\x20bQ.test(d)?p(a).position()[b]+\"px\":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return\x20a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,\"display\"))===\"none\"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){p.cssHooks[a+b]={expand:function(c){var\x20d,e=typeof\x20c==\"string\"?c.split(\"\x20\"):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return\x20f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var\x20cd=/%20/g,ce=/\\[\\]$/,cf=/\\r?\\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return\x20p.param(this.serializeArray())},serializeArray:function(){return\x20this.map(function(){return\x20this.elements?p.makeArray(this.elements):this}).filter(function(){return\x20this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var\x20c=p(this).val();return\x20c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,\"\\r\\n\")}}):{name:b.name,value:c.replace(cf,\"\\r\\n\")}}).get()}}),p.param=function(a,c){var\x20d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?\"\":b,e[e.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else\x20for(d\x20in\x20a)ci(d,a[d],c,f);return\x20e.join(\"&\").replace(cd,\"+\")};var\x20cj,ck,cl=/#.*$/,cm=/^(.*?):[\x20\\t]*([^\\r\\n]*)\\r?$/mg,cn=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\\/\\//,cq=/\\?/,cr=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=[\"*/\"]+[\"*\"];try{ck=f.href}catch(cy){ck=e.createElement(\"a\"),ck.href=\"\",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof\x20a!=\"string\"&&cu)return\x20cu.apply(this,arguments);if(!this.length)return\x20this;var\x20e,f,g,h=this,i=a.indexOf(\"\x20\");return\x20i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof\x20c==\"object\"&&(f=\"POST\"),p.ajax({url:a,type:f,dataType:\"html\",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p(\"<div>\").append(a.replace(cr,\"\")).find(e):a)}),this},p.each(\"ajaxStart\x20ajaxStop\x20ajaxComplete\x20ajaxError\x20ajaxSuccess\x20ajaxSend\".split(\"\x20\"),function(a,b){p.fn[b]=function(a){return\x20this.on(b,a)}}),p.each([\"get\",\"post\"],function(a,c){p[c]=function(a,d,e,f){return\x20p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return\x20p.get(a,b,c,\"script\")},getJSON:function(a,b,c){return\x20p.get(a,b,c,\"json\")},ajaxSetup:function(a,b){return\x20b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:\"GET\",contentType:\"application/x-www-form-urlencoded;\x20charset=UTF-8\",processData:!0,async:!0,accepts:{xml:\"application/xml,\x20text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json,\x20text/javascript\",\"*\":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"*\x20text\":a.String,\"text\x20html\":!0,\"text\x20json\":p.parseJSON,\"text\x20xml\":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function\x20y(a,c,f,i){var\x20k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||\"\",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader(\"Last-Modified\"),w&&(p.lastModified[d]=w),w=x.getResponseHeader(\"Etag\"),w&&(p.etag[d]=w)),a===304?(y=\"notmodified\",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y=\"error\",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+\"\",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger(\"ajax\"+(k?\"Success\":\"Error\"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger(\"ajaxComplete\",[x,l]),--p.active||p.event.trigger(\"ajaxStop\"))}typeof\x20a==\"object\"&&(c=a,a=b),c=c||{};var\x20d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m\x20instanceof\x20p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks(\"once\x20memory\"),r=l.statusCode||{},t={},u={},v=0,w=\"canceled\",x={readyState:0,setRequestHeader:function(a,b){if(!v){var\x20c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return\x20this},getAllResponseHeaders:function(){return\x20v===2?e:null},getResponseHeader:function(a){var\x20c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return\x20c===b?null:c},overrideMimeType:function(a){return\x20v||(l.mimeType=a),this},abort:function(a){return\x20a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var\x20b;if(v<2)for(b\x20in\x20a)r[b]=[r[b],a[b]];else\x20b=a[x.status],x.always(b)}return\x20this},l.url=((a||l.url)+\"\").replace(cl,\"\").replace(cp,cj[1]+\"//\"),l.dataTypes=p.trim(l.dataType||\"*\").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(\":\")+(i[3]?\"\":i[1]===\"http:\"?80:443)!==cj.join(\":\")+(cj[3]?\"\":cj[1]===\"http:\"?80:443)),l.data&&l.processData&&typeof\x20l.data!=\"string\"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return\x20x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger(\"ajaxStart\");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?\"&\":\"?\")+l.data,delete\x20l.data),d=l.url;if(l.cache===!1){var\x20z=p.now(),A=l.url.replace(cs,\"$1_=\"+z);l.url=A+(A===l.url?(cq.test(l.url)?\"&\":\"?\")+\"_=\"+z:\"\")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader(\"Content-Type\",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader(\"If-Modified-Since\",p.lastModified[d]),p.etag[d]&&x.setRequestHeader(\"If-None-Match\",p.etag[d])),x.setRequestHeader(\"Accept\",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!==\"*\"?\",\x20\"+cx+\";\x20q=0.01\":\"\"):l.accepts[\"*\"]);for(k\x20in\x20l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w=\"abort\";for(k\x20in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,\"No\x20Transport\");else{x.readyState=1,j&&n.trigger(\"ajaxSend\",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort(\"timeout\")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else\x20throw\x20B}}return\x20x}return\x20x.abort()},active:0,lastModified:{},etag:{}});var\x20cE=[],cF=/\\?/,cG=/(=)\\?(?=&|$)|\\?\\?/,cH=p.now();p.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var\x20a=cE.pop()||p.expando+\"_\"+cH++;return\x20this[a]=!0,a}}),p.ajaxPrefilter(\"json\x20jsonp\",function(c,d,e){var\x20f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof\x20i==\"string\"&&!(c.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&cG.test(i);if(c.dataTypes[0]===\"jsonp\"||l||m)return\x20f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,\"$1\"+f):m?c.data=i.replace(cG,\"$1\"+f):k&&(c.url+=(cF.test(j)?\"&\":\"?\")+c.jsonp+\"=\"+f),c.converters[\"script\x20json\"]=function(){return\x20h||p.error(f+\"\x20was\x20not\x20called\"),h[0]},c.dataTypes[0]=\"json\",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),\"script\"}),p.ajaxSetup({accepts:{script:\"text/javascript,\x20application/javascript,\x20application/ecmascript,\x20application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text\x20script\":function(a){return\x20p.globalEval(a),a}}}),p.ajaxPrefilter(\"script\",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\",a.global=!1)}),p.ajaxTransport(\"script\",function(a){if(a.crossDomain){var\x20c,d=e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement;return{send:function(f,g){c=e.createElement(\"script\"),c.async=\"async\",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,\"success\")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var\x20cI,cJ=a.ActiveXObject?function(){for(var\x20a\x20in\x20cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&\"withCredentials\"in\x20a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var\x20d;return{send:function(e,f){var\x20g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h\x20in\x20c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e[\"X-Requested-With\"]&&(e[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(h\x20in\x20e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var\x20h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete\x20cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=\"\"}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var\x20cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new\x20RegExp(\"^(?:([-+])=|)(\"+q+\")([a-z%]*)$\",\"i\"),cR=/queueHooks$/,cS=[cY],cT={\"*\":[function(a,b){var\x20c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?\"\":\"px\");if(d!==\"px\"&&h){h=p.css(e.elem,a,!0)||c||1;do\x20i=i||\".5\",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return\x20e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=[\"*\"]):a=a.split(\"\x20\");var\x20c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||\"swing\",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?\"\":\"px\")},cur:function(){var\x20a=cZ.propHooks[this.prop];return\x20a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var\x20b,c=cZ.propHooks[this.prop];return\x20this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var\x20b;return\x20a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,\"\"),!b||b===\"auto\"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each([\"toggle\",\"show\",\"hide\"],function(a,b){var\x20c=p.fn[b];p.fn[b]=function(d,e,f){return\x20d==null||typeof\x20d==\"boolean\"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return\x20this.filter(bZ).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var\x20e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var\x20b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return\x20e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var\x20e=function(a){var\x20b=a.stop;delete\x20a.stop,b(d)};return\x20typeof\x20a!=\"string\"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var\x20b=!0,c=a!=null&&a+\"queueHooks\",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else\x20for(c\x20in\x20g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$(\"show\"),slideUp:c$(\"hide\"),slideToggle:c$(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){p.fn[a]=function(a,c,d){return\x20this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var\x20d=a&&typeof\x20a==\"object\"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof\x20d.duration==\"number\"?d.duration:d.duration\x20in\x20p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue=\"fx\";return\x20d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return\x20a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var\x20a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return\x20p.grep(p.timers,function(b){return\x20a===b.elem}).length});var\x20c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return\x20a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var\x20c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof\x20k.getBoundingClientRect!=\"undefined\"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var\x20b=a.offsetTop,c=a.offsetLeft;return\x20p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,\"marginTop\"))||0,c+=parseFloat(p.css(a,\"marginLeft\"))||0),{top:b,left:c}},setOffset:function(a,b,c){var\x20d=p.css(a,\"position\");d===\"static\"&&(a.style.position=\"relative\");var\x20e=p(a),f=e.offset(),g=p.css(a,\"top\"),h=p.css(a,\"left\"),i=(d===\"absolute\"||d===\"fixed\")&&p.inArray(\"auto\",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),\"using\"in\x20b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var\x20a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return\x20c.top-=parseFloat(p.css(a,\"marginTop\"))||0,c.left-=parseFloat(p.css(a,\"marginLeft\"))||0,d.top+=parseFloat(p.css(b[0],\"borderTopWidth\"))||0,d.left+=parseFloat(p.css(b[0],\"borderLeftWidth\"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return\x20this.map(function(){var\x20a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,\"position\")===\"static\")a=a.offsetParent;return\x20a||e.body})}}),p.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,c){var\x20d=/Y/.test(c);p.fn[a]=function(e){return\x20p.access(this,function(a,e,f){var\x20g=da(a);if(f===b)return\x20g?c\x20in\x20g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:\"height\",Width:\"width\"},function(a,c){p.each({padding:\"inner\"+a,content:c,\"\":\"outer\"+a},function(d,e){p.fn[e]=function(e,f){var\x20g=arguments.length&&(d||typeof\x20e!=\"boolean\"),h=d||(e===!0||f===!0?\"margin\":\"border\");return\x20p.access(this,function(c,d,e){var\x20f;return\x20p.isWindow(c)?c.document.documentElement[\"client\"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body[\"scroll\"+a],f[\"scroll\"+a],c.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof\x20define==\"function\"&&define.amd&&define.amd.jQuery&&define(\"jquery\",[],function(){return\x20p})})(window);",
+
+	"jquery.treeview.css": "/*\x20https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.css\x20*/\x0a/*\x20License:\x20MIT.\x20*/\x0a.treeview,\x20.treeview\x20ul\x20{\x0a\x09padding:\x200;\x0a\x09margin:\x200;\x0a\x09list-style:\x20none;\x0a}\x0a\x0a.treeview\x20ul\x20{\x0a\x09background-color:\x20white;\x0a\x09margin-top:\x204px;\x0a}\x0a\x0a.treeview\x20.hitarea\x20{\x0a\x09background:\x20url(images/treeview-default.gif)\x20-64px\x20-25px\x20no-repeat;\x0a\x09height:\x2016px;\x0a\x09width:\x2016px;\x0a\x09margin-left:\x20-16px;\x0a\x09float:\x20left;\x0a\x09cursor:\x20pointer;\x0a}\x0a/*\x20fix\x20for\x20IE6\x20*/\x0a*\x20html\x20.hitarea\x20{\x0a\x09display:\x20inline;\x0a\x09float:none;\x0a}\x0a\x0a.treeview\x20li\x20{\x0a\x09margin:\x200;\x0a\x09padding:\x203px\x200pt\x203px\x2016px;\x0a}\x0a\x0a.treeview\x20a.selected\x20{\x0a\x09background-color:\x20#eee;\x0a}\x0a\x0a#treecontrol\x20{\x20margin:\x201em\x200;\x20display:\x20none;\x20}\x0a\x0a.treeview\x20.hover\x20{\x20color:\x20red;\x20cursor:\x20pointer;\x20}\x0a\x0a.treeview\x20li\x20{\x20background:\x20url(images/treeview-default-line.gif)\x200\x200\x20no-repeat;\x20}\x0a.treeview\x20li.collapsable,\x20.treeview\x20li.expandable\x20{\x20background-position:\x200\x20-176px;\x20}\x0a\x0a.treeview\x20.expandable-hitarea\x20{\x20background-position:\x20-80px\x20-3px;\x20}\x0a\x0a.treeview\x20li.last\x20{\x20background-position:\x200\x20-1766px\x20}\x0a.treeview\x20li.lastCollapsable,\x20.treeview\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-default.gif);\x20}\x0a.treeview\x20li.lastCollapsable\x20{\x20background-position:\x200\x20-111px\x20}\x0a.treeview\x20li.lastExpandable\x20{\x20background-position:\x20-32px\x20-67px\x20}\x0a\x0a.treeview\x20div.lastCollapsable-hitarea,\x20.treeview\x20div.lastExpandable-hitarea\x20{\x20background-position:\x200;\x20}\x0a\x0a.treeview-red\x20li\x20{\x20background-image:\x20url(images/treeview-red-line.gif);\x20}\x0a.treeview-red\x20.hitarea,\x20.treeview-red\x20li.lastCollapsable,\x20.treeview-red\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-red.gif);\x20}\x0a\x0a.treeview-black\x20li\x20{\x20background-image:\x20url(images/treeview-black-line.gif);\x20}\x0a.treeview-black\x20.hitarea,\x20.treeview-black\x20li.lastCollapsable,\x20.treeview-black\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-black.gif);\x20}\x0a\x0a.treeview-gray\x20li\x20{\x20background-image:\x20url(images/treeview-gray-line.gif);\x20}\x0a.treeview-gray\x20.hitarea,\x20.treeview-gray\x20li.lastCollapsable,\x20.treeview-gray\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-gray.gif);\x20}\x0a\x0a.treeview-famfamfam\x20li\x20{\x20background-image:\x20url(images/treeview-famfamfam-line.gif);\x20}\x0a.treeview-famfamfam\x20.hitarea,\x20.treeview-famfamfam\x20li.lastCollapsable,\x20.treeview-famfamfam\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-famfamfam.gif);\x20}\x0a\x0a.treeview\x20.placeholder\x20{\x0a\x09background:\x20url(images/ajax-loader.gif)\x200\x200\x20no-repeat;\x0a\x09height:\x2016px;\x0a\x09width:\x2016px;\x0a\x09display:\x20block;\x0a}\x0a\x0a.filetree\x20li\x20{\x20padding:\x203px\x200\x202px\x2016px;\x20}\x0a.filetree\x20span.folder,\x20.filetree\x20span.file\x20{\x20padding:\x201px\x200\x201px\x2016px;\x20display:\x20block;\x20}\x0a.filetree\x20span.folder\x20{\x20background:\x20url(images/folder.gif)\x200\x200\x20no-repeat;\x20}\x0a.filetree\x20li.expandable\x20span.folder\x20{\x20background:\x20url(images/folder-closed.gif)\x200\x200\x20no-repeat;\x20}\x0a.filetree\x20span.file\x20{\x20background:\x20url(images/file.gif)\x200\x200\x20no-repeat;\x20}\x0a",
+
+	"jquery.treeview.edit.js": "/*\x20https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.edit.js\x20*/\x0a/*\x20License:\x20MIT.\x20*/\x0a(function($)\x20{\x0a\x09var\x20CLASSES\x20=\x20$.treeview.classes;\x0a\x09var\x20proxied\x20=\x20$.fn.treeview;\x0a\x09$.fn.treeview\x20=\x20function(settings)\x20{\x0a\x09\x09settings\x20=\x20$.extend({},\x20settings);\x0a\x09\x09if\x20(settings.add)\x20{\x0a\x09\x09\x09return\x20this.trigger(\"add\",\x20[settings.add]);\x0a\x09\x09}\x0a\x09\x09if\x20(settings.remove)\x20{\x0a\x09\x09\x09return\x20this.trigger(\"remove\",\x20[settings.remove]);\x0a\x09\x09}\x0a\x09\x09return\x20proxied.apply(this,\x20arguments).bind(\"add\",\x20function(event,\x20branches)\x20{\x0a\x09\x09\x09$(branches).prev()\x0a\x09\x09\x09\x09.removeClass(CLASSES.last)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastCollapsable)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastExpandable)\x0a\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastCollapsableHitarea)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastExpandableHitarea);\x0a\x09\x09\x09$(branches).find(\"li\").andSelf().prepareBranches(settings).applyClasses(settings,\x20$(this).data(\"toggler\"));\x0a\x09\x09}).bind(\"remove\",\x20function(event,\x20branches)\x20{\x0a\x09\x09\x09var\x20prev\x20=\x20$(branches).prev();\x0a\x09\x09\x09var\x20parent\x20=\x20$(branches).parent();\x0a\x09\x09\x09$(branches).remove();\x0a\x09\x09\x09prev.filter(\":last-child\").addClass(CLASSES.last)\x0a\x09\x09\x09\x09.filter(\".\"\x20+\x20CLASSES.expandable).replaceClass(CLASSES.last,\x20CLASSES.lastExpandable).end()\x0a\x09\x09\x09\x09.find(\">.hitarea\").replaceClass(CLASSES.expandableHitarea,\x20CLASSES.lastExpandableHitarea).end()\x0a\x09\x09\x09\x09.filter(\".\"\x20+\x20CLASSES.collapsable).replaceClass(CLASSES.last,\x20CLASSES.lastCollapsable).end()\x0a\x09\x09\x09\x09.find(\">.hitarea\").replaceClass(CLASSES.collapsableHitarea,\x20CLASSES.lastCollapsableHitarea);\x0a\x09\x09\x09if\x20(parent.is(\":not(:has(>))\")\x20&&\x20parent[0]\x20!=\x20this)\x20{\x0a\x09\x09\x09\x09parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable)\x0a\x09\x09\x09\x09parent.siblings(\".hitarea\").andSelf().remove();\x0a\x09\x09\x09}\x0a\x09\x09});\x0a\x09};\x0a\x0a})(jQuery);\x0a",
+
+	"jquery.treeview.js": "/*\x0a\x20*\x20Treeview\x201.4.2\x20-\x20jQuery\x20plugin\x20to\x20hide\x20and\x20show\x20branches\x20of\x20a\x20tree\x0a\x20*\x0a\x20*\x20http://bassistance.de/jquery-plugins/jquery-plugin-treeview/\x0a\x20*\x0a\x20*\x20Copyright\x20J\xc3\xb6rn\x20Zaefferer\x0a\x20*\x20Released\x20under\x20the\x20MIT\x20license:\x0a\x20*\x20\x20\x20http://www.opensource.org/licenses/mit-license.php\x0a\x20*/\x0a\x0a;(function($)\x20{\x0a\x0a\x09//\x20TODO\x20rewrite\x20as\x20a\x20widget,\x20removing\x20all\x20the\x20extra\x20plugins\x0a\x09$.extend($.fn,\x20{\x0a\x09\x09swapClass:\x20function(c1,\x20c2)\x20{\x0a\x09\x09\x09var\x20c1Elements\x20=\x20this.filter('.'\x20+\x20c1);\x0a\x09\x09\x09this.filter('.'\x20+\x20c2).removeClass(c2).addClass(c1);\x0a\x09\x09\x09c1Elements.removeClass(c1).addClass(c2);\x0a\x09\x09\x09return\x20this;\x0a\x09\x09},\x0a\x09\x09replaceClass:\x20function(c1,\x20c2)\x20{\x0a\x09\x09\x09return\x20this.filter('.'\x20+\x20c1).removeClass(c1).addClass(c2).end();\x0a\x09\x09},\x0a\x09\x09hoverClass:\x20function(className)\x20{\x0a\x09\x09\x09className\x20=\x20className\x20||\x20\"hover\";\x0a\x09\x09\x09return\x20this.hover(function()\x20{\x0a\x09\x09\x09\x09$(this).addClass(className);\x0a\x09\x09\x09},\x20function()\x20{\x0a\x09\x09\x09\x09$(this).removeClass(className);\x0a\x09\x09\x09});\x0a\x09\x09},\x0a\x09\x09heightToggle:\x20function(animated,\x20callback)\x20{\x0a\x09\x09\x09animated\x20?\x0a\x09\x09\x09\x09this.animate({\x20height:\x20\"toggle\"\x20},\x20animated,\x20callback)\x20:\x0a\x09\x09\x09\x09this.each(function(){\x0a\x09\x09\x09\x09\x09jQuery(this)[\x20jQuery(this).is(\":hidden\")\x20?\x20\"show\"\x20:\x20\"hide\"\x20]();\x0a\x09\x09\x09\x09\x09if(callback)\x0a\x09\x09\x09\x09\x09\x09callback.apply(this,\x20arguments);\x0a\x09\x09\x09\x09});\x0a\x09\x09},\x0a\x09\x09heightHide:\x20function(animated,\x20callback)\x20{\x0a\x09\x09\x09if\x20(animated)\x20{\x0a\x09\x09\x09\x09this.animate({\x20height:\x20\"hide\"\x20},\x20animated,\x20callback);\x0a\x09\x09\x09}\x20else\x20{\x0a\x09\x09\x09\x09this.hide();\x0a\x09\x09\x09\x09if\x20(callback)\x0a\x09\x09\x09\x09\x09this.each(callback);\x0a\x09\x09\x09}\x0a\x09\x09},\x0a\x09\x09prepareBranches:\x20function(settings)\x20{\x0a\x09\x09\x09if\x20(!settings.prerendered)\x20{\x0a\x09\x09\x09\x09//\x20mark\x20last\x20tree\x20items\x0a\x09\x09\x09\x09this.filter(\":last-child:not(ul)\").addClass(CLASSES.last);\x0a\x09\x09\x09\x09//\x20collapse\x20whole\x20tree,\x20or\x20only\x20those\x20marked\x20as\x20closed,\x20anyway\x20except\x20those\x20marked\x20as\x20open\x0a\x09\x09\x09\x09this.filter((settings.collapsed\x20?\x20\"\"\x20:\x20\".\"\x20+\x20CLASSES.closed)\x20+\x20\":not(.\"\x20+\x20CLASSES.open\x20+\x20\")\").find(\">ul\").hide();\x0a\x09\x09\x09}\x0a\x09\x09\x09//\x20return\x20all\x20items\x20with\x20sublists\x0a\x09\x09\x09return\x20this.filter(\":has(>ul)\");\x0a\x09\x09},\x0a\x09\x09applyClasses:\x20function(settings,\x20toggler)\x20{\x0a\x09\x09\x09//\x20TODO\x20use\x20event\x20delegation\x0a\x09\x09\x09this.filter(\":has(>ul):not(:has(>a))\").find(\">span\").unbind(\"click.treeview\").bind(\"click.treeview\",\x20function(event)\x20{\x0a\x09\x09\x09\x09//\x20don't\x20handle\x20click\x20events\x20on\x20children,\x20eg.\x20checkboxes\x0a\x09\x09\x09\x09if\x20(\x20this\x20==\x20event.target\x20)\x0a\x09\x09\x09\x09\x09toggler.apply($(this).next());\x0a\x09\x09\x09}).add(\x20$(\"a\",\x20this)\x20).hoverClass();\x0a\x0a\x09\x09\x09if\x20(!settings.prerendered)\x20{\x0a\x09\x09\x09\x09//\x20handle\x20closed\x20ones\x20first\x0a\x09\x09\x09\x09this.filter(\":has(>ul:hidden)\")\x0a\x09\x09\x09\x09\x09\x09.addClass(CLASSES.expandable)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(CLASSES.last,\x20CLASSES.lastExpandable);\x0a\x0a\x09\x09\x09\x09//\x20handle\x20open\x20ones\x0a\x09\x09\x09\x09this.not(\":has(>ul:hidden)\")\x0a\x09\x09\x09\x09\x09\x09.addClass(CLASSES.collapsable)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(CLASSES.last,\x20CLASSES.lastCollapsable);\x0a\x0a\x09\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20create\x20hitarea\x20if\x20not\x20present\x0a\x09\x09\x09\x09var\x20hitarea\x20=\x20this.find(\"div.\"\x20+\x20CLASSES.hitarea);\x0a\x09\x09\x09\x09if\x20(!hitarea.length)\x0a\x09\x09\x09\x09\x09hitarea\x20=\x20this.prepend(\"<div\x20class=\\\"\"\x20+\x20CLASSES.hitarea\x20+\x20\"\\\"/>\").find(\"div.\"\x20+\x20CLASSES.hitarea);\x0a\x09\x09\x09\x09hitarea.removeClass().addClass(CLASSES.hitarea).each(function()\x20{\x0a\x09\x09\x09\x09\x09var\x20classes\x20=\x20\"\";\x0a\x09\x09\x09\x09\x09$.each($(this).parent().attr(\"class\").split(\"\x20\"),\x20function()\x20{\x0a\x09\x09\x09\x09\x09\x09classes\x20+=\x20this\x20+\x20\"-hitarea\x20\";\x0a\x09\x09\x09\x09\x09});\x0a\x09\x09\x09\x09\x09$(this).addClass(\x20classes\x20);\x0a\x09\x09\x09\x09})\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20apply\x20event\x20to\x20hitarea\x0a\x09\x09\x09this.find(\"div.\"\x20+\x20CLASSES.hitarea).click(\x20toggler\x20);\x0a\x09\x09},\x0a\x09\x09treeview:\x20function(settings)\x20{\x0a\x0a\x09\x09\x09settings\x20=\x20$.extend({\x0a\x09\x09\x09\x09cookieId:\x20\"treeview\"\x0a\x09\x09\x09},\x20settings);\x0a\x0a\x09\x09\x09if\x20(\x20settings.toggle\x20)\x20{\x0a\x09\x09\x09\x09var\x20callback\x20=\x20settings.toggle;\x0a\x09\x09\x09\x09settings.toggle\x20=\x20function()\x20{\x0a\x09\x09\x09\x09\x09return\x20callback.apply($(this).parent()[0],\x20arguments);\x0a\x09\x09\x09\x09};\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20factory\x20for\x20treecontroller\x0a\x09\x09\x09function\x20treeController(tree,\x20control)\x20{\x0a\x09\x09\x09\x09//\x20factory\x20for\x20click\x20handlers\x0a\x09\x09\x09\x09function\x20handler(filter)\x20{\x0a\x09\x09\x09\x09\x09return\x20function()\x20{\x0a\x09\x09\x09\x09\x09\x09//\x20reuse\x20toggle\x20event\x20handler,\x20applying\x20the\x20elements\x20to\x20toggle\x0a\x09\x09\x09\x09\x09\x09//\x20start\x20searching\x20for\x20all\x20hitareas\x0a\x09\x09\x09\x09\x09\x09toggler.apply(\x20$(\"div.\"\x20+\x20CLASSES.hitarea,\x20tree).filter(function()\x20{\x0a\x09\x09\x09\x09\x09\x09\x09//\x20for\x20plain\x20toggle,\x20no\x20filter\x20is\x20provided,\x20otherwise\x20we\x20need\x20to\x20check\x20the\x20parent\x20element\x0a\x09\x09\x09\x09\x09\x09\x09return\x20filter\x20?\x20$(this).parent(\".\"\x20+\x20filter).length\x20:\x20true;\x0a\x09\x09\x09\x09\x09\x09})\x20);\x0a\x09\x09\x09\x09\x09\x09return\x20false;\x0a\x09\x09\x09\x09\x09};\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09//\x20click\x20on\x20first\x20element\x20to\x20collapse\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(0)\",\x20control).click(\x20handler(CLASSES.collapsable)\x20);\x0a\x09\x09\x09\x09//\x20click\x20on\x20second\x20to\x20expand\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(1)\",\x20control).click(\x20handler(CLASSES.expandable)\x20);\x0a\x09\x09\x09\x09//\x20click\x20on\x20third\x20to\x20toggle\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(2)\",\x20control).click(\x20handler()\x20);\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20handle\x20toggle\x20event\x0a\x09\x09\x09function\x20toggler()\x20{\x0a\x09\x09\x09\x09$(this)\x0a\x09\x09\x09\x09\x09.parent()\x0a\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20hitarea\x0a\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20)\x0a\x09\x09\x09\x09\x09.end()\x0a\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20parent\x20li\x0a\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09//\x20find\x20child\x20lists\x0a\x09\x09\x09\x09\x09.find(\x20\">ul\"\x20)\x0a\x09\x09\x09\x09\x09//\x20toggle\x20them\x0a\x09\x09\x09\x09\x09.heightToggle(\x20settings.animated,\x20settings.toggle\x20);\x0a\x09\x09\x09\x09if\x20(\x20settings.unique\x20)\x20{\x0a\x09\x09\x09\x09\x09$(this).parent()\x0a\x09\x09\x09\x09\x09\x09.siblings()\x0a\x09\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20hitarea\x0a\x09\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09.end()\x0a\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09\x09.find(\x20\">ul\"\x20)\x0a\x09\x09\x09\x09\x09\x09.heightHide(\x20settings.animated,\x20settings.toggle\x20);\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09}\x0a\x09\x09\x09this.data(\"toggler\",\x20toggler);\x0a\x0a\x09\x09\x09function\x20serialize()\x20{\x0a\x09\x09\x09\x09function\x20binary(arg)\x20{\x0a\x09\x09\x09\x09\x09return\x20arg\x20?\x201\x20:\x200;\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09var\x20data\x20=\x20[];\x0a\x09\x09\x09\x09branches.each(function(i,\x20e)\x20{\x0a\x09\x09\x09\x09\x09data[i]\x20=\x20$(e).is(\":has(>ul:visible)\")\x20?\x201\x20:\x200;\x0a\x09\x09\x09\x09});\x0a\x09\x09\x09\x09$.cookie(settings.cookieId,\x20data.join(\"\"),\x20settings.cookieOptions\x20);\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09function\x20deserialize()\x20{\x0a\x09\x09\x09\x09var\x20stored\x20=\x20$.cookie(settings.cookieId);\x0a\x09\x09\x09\x09if\x20(\x20stored\x20)\x20{\x0a\x09\x09\x09\x09\x09var\x20data\x20=\x20stored.split(\"\");\x0a\x09\x09\x09\x09\x09branches.each(function(i,\x20e)\x20{\x0a\x09\x09\x09\x09\x09\x09$(e).find(\">ul\")[\x20parseInt(data[i])\x20?\x20\"show\"\x20:\x20\"hide\"\x20]();\x0a\x09\x09\x09\x09\x09});\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20add\x20treeview\x20class\x20to\x20activate\x20styles\x0a\x09\x09\x09this.addClass(\"treeview\");\x0a\x0a\x09\x09\x09//\x20prepare\x20branches\x20and\x20find\x20all\x20tree\x20items\x20with\x20child\x20lists\x0a\x09\x09\x09var\x20branches\x20=\x20this.find(\"li\").prepareBranches(settings);\x0a\x0a\x09\x09\x09switch(settings.persist)\x20{\x0a\x09\x09\x09case\x20\"cookie\":\x0a\x09\x09\x09\x09var\x20toggleCallback\x20=\x20settings.toggle;\x0a\x09\x09\x09\x09settings.toggle\x20=\x20function()\x20{\x0a\x09\x09\x09\x09\x09serialize();\x0a\x09\x09\x09\x09\x09if\x20(toggleCallback)\x20{\x0a\x09\x09\x09\x09\x09\x09toggleCallback.apply(this,\x20arguments);\x0a\x09\x09\x09\x09\x09}\x0a\x09\x09\x09\x09};\x0a\x09\x09\x09\x09deserialize();\x0a\x09\x09\x09\x09break;\x0a\x09\x09\x09case\x20\"location\":\x0a\x09\x09\x09\x09var\x20current\x20=\x20this.find(\"a\").filter(function()\x20{\x0a\x09\x09\x09\x09\x09return\x20location.href.toLowerCase().indexOf(this.href.toLowerCase())\x20==\x200;\x0a\x09\x09\x09\x09});\x0a\x09\x09\x09\x09if\x20(\x20current.length\x20)\x20{\x0a\x09\x09\x09\x09\x09//\x20TODO\x20update\x20the\x20open/closed\x20classes\x0a\x09\x09\x09\x09\x09var\x20items\x20=\x20current.addClass(\"selected\").parents(\"ul,\x20li\").add(\x20current.next()\x20).show();\x0a\x09\x09\x09\x09\x09if\x20(settings.prerendered)\x20{\x0a\x09\x09\x09\x09\x09\x09//\x20if\x20prerendered\x20is\x20on,\x20replicate\x20the\x20basic\x20class\x20swapping\x0a\x09\x09\x09\x09\x09\x09items.filter(\"li\")\x0a\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20);\x0a\x09\x09\x09\x09\x09}\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09break;\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09branches.applyClasses(settings,\x20toggler);\x0a\x0a\x09\x09\x09//\x20if\x20control\x20option\x20is\x20set,\x20create\x20the\x20treecontroller\x20and\x20show\x20it\x0a\x09\x09\x09if\x20(\x20settings.control\x20)\x20{\x0a\x09\x09\x09\x09treeController(this,\x20settings.control);\x0a\x09\x09\x09\x09$(settings.control).show();\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09return\x20this;\x0a\x09\x09}\x0a\x09});\x0a\x0a\x09//\x20classes\x20used\x20by\x20the\x20plugin\x0a\x09//\x20need\x20to\x20be\x20styled\x20via\x20external\x20stylesheet,\x20see\x20first\x20example\x0a\x09$.treeview\x20=\x20{};\x0a\x09var\x20CLASSES\x20=\x20($.treeview.classes\x20=\x20{\x0a\x09\x09open:\x20\"open\",\x0a\x09\x09closed:\x20\"closed\",\x0a\x09\x09expandable:\x20\"expandable\",\x0a\x09\x09expandableHitarea:\x20\"expandable-hitarea\",\x0a\x09\x09lastExpandableHitarea:\x20\"lastExpandable-hitarea\",\x0a\x09\x09collapsable:\x20\"collapsable\",\x0a\x09\x09collapsableHitarea:\x20\"collapsable-hitarea\",\x0a\x09\x09lastCollapsableHitarea:\x20\"lastCollapsable-hitarea\",\x0a\x09\x09lastCollapsable:\x20\"lastCollapsable\",\x0a\x09\x09lastExpandable:\x20\"lastExpandable\",\x0a\x09\x09last:\x20\"last\",\x0a\x09\x09hitarea:\x20\"hitarea\"\x0a\x09});\x0a\x0a})(jQuery);\x0a",
+
+	"methodset.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Method\x20set</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Method\x20set</span></p>\x0a\x09\x09<div\x20style=\"margin-left:\x201in\"\x20id='methodset-{{.Index}}'>...</div>\x0a\x09</div>\x0a</div>\x0a",
+
+	"package.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a<!--\x0a\x09Note:\x20Static\x20(i.e.,\x20not\x20template-generated)\x20href\x20and\x20id\x0a\x09attributes\x20start\x20with\x20\"pkg-\"\x20to\x20make\x20it\x20impossible\x20for\x0a\x09them\x20to\x20conflict\x20with\x20generated\x20attributes\x20(some\x20of\x20which\x0a\x09correspond\x20to\x20Go\x20identifiers).\x0a-->\x0a{{with\x20.PDoc}}\x0a\x09<script>\x0a\x09document.ANALYSIS_DATA\x20=\x20{{$.AnalysisData}};\x0a\x09document.CALLGRAPH\x20=\x20{{$.CallGraph}};\x0a\x09</script>\x0a\x0a\x09{{if\x20$.IsMain}}\x0a\x09\x09{{/*\x20command\x20documentation\x20*/}}\x0a\x09\x09{{comment_html\x20.Doc}}\x0a\x09{{else}}\x0a\x09\x09{{/*\x20package\x20documentation\x20*/}}\x0a\x09\x09<div\x20id=\"short-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09<dd><code>import\x20\"{{html\x20.ImportPath}}\"</code></dd>\x0a\x09\x09\x09</dl>\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09<dd><a\x20href=\"#pkg-overview\"\x20class=\"overviewLink\">Overview</a></dd>\x0a\x09\x09\x09<dd><a\x20href=\"#pkg-index\"\x20class=\"indexLink\">Index</a></dd>\x0a\x09\x09\x09{{if\x20$.Examples}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-examples\"\x20class=\"examplesLink\">Examples</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20$.Dirs}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-subdirectories\">Subdirectories</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x09\x09<!--\x20The\x20package's\x20Name\x20is\x20printed\x20as\x20title\x20by\x20the\x20top-level\x20template\x20-->\x0a\x09\x09<div\x20id=\"pkg-overview\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Overview\x20section\">Overview\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Overview\x20section\">Overview\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20\"\"}}\x0a\x09\x09\x09</div>\x0a\x09\x09</div>\x0a\x0a\x09\x09<div\x20id=\"pkg-index\"\x20class=\"toggleVisible\">\x0a\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Index\x20section\">Index\x20\xe2\x96\xb9</h2>\x0a\x09\x09</div>\x0a\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Index\x20section\">Index\x20\xe2\x96\xbe</h2>\x0a\x0a\x09\x09<!--\x20Table\x20of\x20contents\x20for\x20API;\x20must\x20be\x20named\x20manual-nav\x20to\x20turn\x20off\x20auto\x20nav.\x20-->\x0a\x09\x09\x09<div\x20id=\"manual-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09{{if\x20.Consts}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-constants\">Constants</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20.Vars}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-variables\">Variables</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{range\x20.Types}}\x0a\x09\x09\x09\x09{{$tname_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#{{$tname_html}}\">type\x20{{$tname_html}}</a></dd>\x0a\x09\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09\x09<dd>&nbsp;\x20&nbsp;\x20<a\x20href=\"#{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{range\x20.Methods}}\x0a\x09\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09\x09<dd>&nbsp;\x20&nbsp;\x20<a\x20href=\"#{{$tname_html}}.{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20$.Notes}}\x0a\x09\x09\x09\x09{{range\x20$marker,\x20$item\x20:=\x20$.Notes}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-note-{{$marker}}\">{{noteTitle\x20$marker\x20|\x20html}}s</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09\x09</div><!--\x20#manual-nav\x20-->\x0a\x0a\x09\x09{{if\x20$.Examples}}\x0a\x09\x09<div\x20id=\"pkg-examples\">\x0a\x09\x09\x09<h3>Examples</h3>\x0a\x09\x09\x09<div\x20class=\"js-expandAll\x20expandAll\x20collapsed\">(Expand\x20All)</div>\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09{{range\x20$.Examples}}\x0a\x09\x09\x09<dd><a\x20class=\"exampleLink\"\x20href=\"#example_{{.Name}}\">{{example_name\x20.Name}}</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x09\x09{{end}}\x0a\x0a\x09\x09{{with\x20.Filenames}}\x0a\x09\x09\x09<h3>Package\x20files</h3>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09<span\x20style=\"font-size:90%\">\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09<a\x20href=\"{{.|srcLink|html}}\">{{.|filename|html}}</a>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</span>\x0a\x09\x09\x09</p>\x0a\x09\x09{{end}}\x0a\x09\x09</div><!--\x20.expanded\x20-->\x0a\x09\x09</div><!--\x20#pkg-index\x20-->\x0a\x0a\x09\x09{{if\x20ne\x20$.CallGraph\x20\"null\"}}\x0a\x09\x09<div\x20id=\"pkg-callgraph\"\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Internal\x20Call\x20Graph\x20section\">Internal\x20call\x20graph\x20\xe2\x96\xb9</h2>\x0a\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Internal\x20Call\x20Graph\x20section\">Internal\x20call\x20graph\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20In\x20the\x20call\x20graph\x20viewer\x20below,\x20each\x20node\x0a\x09\x09\x09\x20\x20is\x20a\x20function\x20belonging\x20to\x20this\x20package\x0a\x09\x09\x09\x20\x20and\x20its\x20children\x20are\x20the\x20functions\x20it\x0a\x09\x09\x09\x20\x20calls&mdash;perhaps\x20dynamically.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20The\x20root\x20nodes\x20are\x20the\x20entry\x20points\x20of\x20the\x0a\x09\x09\x09\x20\x20package:\x20functions\x20that\x20may\x20be\x20called\x20from\x0a\x09\x09\x09\x20\x20outside\x20the\x20package.\x0a\x09\x09\x09\x20\x20There\x20may\x20be\x20non-exported\x20or\x20anonymous\x0a\x09\x09\x09\x20\x20functions\x20among\x20them\x20if\x20they\x20are\x20called\x0a\x09\x09\x09\x20\x20dynamically\x20from\x20another\x20package.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20Click\x20a\x20node\x20to\x20visit\x20that\x20function's\x20source\x20code.\x0a\x09\x09\x09\x20\x20From\x20there\x20you\x20can\x20visit\x20its\x20callers\x20by\x0a\x09\x09\x09\x20\x20clicking\x20its\x20declaring\x20<code>func</code>\x0a\x09\x09\x09\x20\x20token.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20Functions\x20may\x20be\x20omitted\x20if\x20they\x20were\x0a\x09\x09\x09\x20\x20determined\x20to\x20be\x20unreachable\x20in\x20the\x0a\x09\x09\x09\x20\x20particular\x20programs\x20or\x20tests\x20that\x20were\x0a\x09\x09\x09\x20\x20analyzed.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<!--\x20Zero\x20means\x20show\x20all\x20package\x20entry\x20points.\x20-->\x0a\x09\x09\x09<ul\x20style=\"margin-left:\x200.5in\"\x20id=\"callgraph-0\"\x20class=\"treeview\"></ul>\x0a\x09\x09</div>\x0a\x09\x09</div>\x20<!--\x20#pkg-callgraph\x20-->\x0a\x09\x09{{end}}\x0a\x0a\x09\x09{{with\x20.Consts}}\x0a\x09\x09\x09<h2\x20id=\"pkg-constants\">Constants</h2>\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09\x09{{with\x20.Vars}}\x0a\x09\x09\x09<h2\x20id=\"pkg-variables\">Variables</h2>\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09{{/*\x20Name\x20is\x20a\x20string\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09<h2\x20id=\"{{$name_html}}\">func\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"func\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09</h2>\x0a\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09{{example_html\x20$\x20.Name}}\x0a\x09\x09\x09{{callgraph_html\x20$\x20\"\"\x20.Name}}\x0a\x0a\x09\x09{{end}}\x0a\x09\x09{{range\x20.Types}}\x0a\x09\x09\x09{{$tname\x20:=\x20.Name}}\x0a\x09\x09\x09{{$tname_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09<h2\x20id=\"{{$tname_html}}\">type\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$tname_html}}</a>\x0a\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$tname_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"type\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09</h2>\x0a\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x0a\x09\x09\x09{{range\x20.Consts}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.Vars}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{example_html\x20$\x20$tname}}\x0a\x09\x09\x09{{implements_html\x20$\x20$tname}}\x0a\x09\x09\x09{{methodset_html\x20$\x20$tname}}\x0a\x0a\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<h3\x20id=\"{{$name_html}}\">func\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"func\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09\x09</h3>\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20.Name}}\x0a\x09\x09\x09\x09{{callgraph_html\x20$\x20\"\"\x20.Name}}\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.Methods}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<h3\x20id=\"{{$tname_html}}.{{$name_html}}\">func\x20({{html\x20.Recv}})\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$tname_html}}.{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"method\"\x20.Recv\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09\x09</h3>\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{$name\x20:=\x20printf\x20\"%s_%s\"\x20$tname\x20.Name}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20$name}}\x0a\x09\x09\x09\x09{{callgraph_html\x20$\x20.Recv\x20.Name}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x0a\x09{{with\x20$.Notes}}\x0a\x09\x09{{range\x20$marker,\x20$content\x20:=\x20.}}\x0a\x09\x09\x09<h2\x20id=\"pkg-note-{{$marker}}\">{{noteTitle\x20$marker\x20|\x20html}}s</h2>\x0a\x09\x09\x09<ul\x20style=\"list-style:\x20none;\x20padding:\x200;\">\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09<li><a\x20href=\"{{posLink_url\x20$\x20.}}\"\x20style=\"float:\x20left;\">&#x261e;</a>\x20{{comment_html\x20.Body}}</li>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</ul>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.PAst}}\x0a\x09{{range\x20$filename,\x20$ast\x20:=\x20.}}\x0a\x09\x09<a\x20href=\"{{$filename|srcLink|html}}\">{{$filename|filename|html}}</a>:<pre>{{node_html\x20$\x20$ast\x20false}}</pre>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Dirs}}\x0a\x09{{/*\x20DirList\x20entries\x20are\x20numbers\x20and\x20strings\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09{{if\x20$.PDoc}}\x0a\x09\x09<h2\x20id=\"pkg-subdirectories\">Subdirectories</h2>\x0a\x09{{end}}\x0a\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09<table>\x0a\x09\x09\x09<tr>\x0a\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09{{if\x20not\x20(or\x20(eq\x20$.Dirname\x20\"/src/cmd\")\x20$.DirFlat)}}\x0a\x09\x09\x09<tr>\x0a\x09\x09\x09\x09<td\x20colspan=\"2\"><a\x20href=\"..\">..</a></td>\x0a\x09\x09\x09</tr>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09</tr>\x0a\x09\x09\x09{{end}}\x0a\x09\x09</table>\x0a\x09</div>\x0a{{end}}\x0a",
+
+	"packageroot.html": "<!--\x0a\x09Copyright\x202018\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a<!--\x0a\x09Note:\x20Static\x20(i.e.,\x20not\x20template-generated)\x20href\x20and\x20id\x0a\x09attributes\x20start\x20with\x20\"pkg-\"\x20to\x20make\x20it\x20impossible\x20for\x0a\x09them\x20to\x20conflict\x20with\x20generated\x20attributes\x20(some\x20of\x20which\x0a\x09correspond\x20to\x20Go\x20identifiers).\x0a-->\x0a{{with\x20.PAst}}\x0a\x09{{range\x20$filename,\x20$ast\x20:=\x20.}}\x0a\x09\x09<a\x20href=\"{{$filename|srcLink|html}}\">{{$filename|filename|html}}</a>:<pre>{{node_html\x20$\x20$ast\x20false}}</pre>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Dirs}}\x0a\x09{{/*\x20DirList\x20entries\x20are\x20numbers\x20and\x20strings\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09{{if\x20$.PDoc}}\x0a\x09\x09<h2\x20id=\"pkg-subdirectories\">Subdirectories</h2>\x0a\x09{{end}}\x0a\x09\x09<div\x20id=\"manual-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09\x09<dt><a\x20href=\"#stdlib\">Standard\x20library</a></dt>\x0a\x09\x09\x09\x09{{if\x20hasThirdParty\x20.List\x20}}\x0a\x09\x09\x09\x09\x09<dt><a\x20href=\"#thirdparty\">Third\x20party</a></dt>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09<dt><a\x20href=\"#other\">Other\x20packages</a></dt>\x0a\x09\x09\x09\x09<dd><a\x20href=\"#subrepo\">Sub-repositories</a></dd>\x0a\x09\x09\x09\x09<dd><a\x20href=\"#community\">Community</a></dd>\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x0a\x09\x09<div\x20id=\"stdlib\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Standard\x20library\x20section\">Standard\x20library\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Standard\x20library\x20section\">Standard\x20library\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09<img\x20alt=\"\"\x20class=\"gopher\"\x20src=\"/doc/gopher/pkg.png\"/>\x0a\x09\x09\x09\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09\x09\x09\x09<table>\x0a\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09{{if\x20eq\x20.RootType\x20\"GOROOT\"}}\x0a\x09\x09\x09\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</table>\x0a\x09\x09\x09\x09</div>\x20<!--\x20.pkg-dir\x20-->\x0a\x09\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09</div>\x20<!--\x20#stdlib\x20.toggleVisible\x20-->\x0a\x0a\x09{{if\x20hasThirdParty\x20.List\x20}}\x0a\x09\x09<div\x20id=\"thirdparty\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Third\x20party\x20section\">Third\x20party\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Third\x20party\x20section\">Third\x20party\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09\x09\x09\x09<table>\x0a\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20eq\x20.RootType\x20\"GOPATH\"}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</table>\x0a\x09\x09\x09\x09</div>\x20<!--\x20.pkg-dir\x20-->\x0a\x09\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09</div>\x20<!--\x20#stdlib\x20.toggleVisible\x20-->\x0a\x09{{end}}\x0a\x0a\x09<h2\x20id=\"other\">Other\x20packages</h2>\x0a\x09<h3\x20id=\"subrepo\">Sub-repositories</h3>\x0a\x09<p>\x0a\x09These\x20packages\x20are\x20part\x20of\x20the\x20Go\x20Project\x20but\x20outside\x20the\x20main\x20Go\x20tree.\x0a\x09They\x20are\x20developed\x20under\x20looser\x20<a\x20href=\"/doc/go1compat\">compatibility\x20requirements</a>\x20than\x20the\x20Go\x20core.\x0a\x09Install\x20them\x20with\x20\"<a\x20href=\"/cmd/go/#hdr-Download_and_install_packages_and_dependencies\">go\x20get</a>\".\x0a\x09</p>\x0a\x09<ul>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/benchmarks\">benchmarks</a>\x20\xe2\x80\x94\x20benchmarks\x20to\x20measure\x20Go\x20as\x20it\x20is\x20developed.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/blog\">blog</a>\x20\xe2\x80\x94\x20<a\x20href=\"//blog.golang.org\">blog.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/build\">build</a>\x20\xe2\x80\x94\x20<a\x20href=\"//build.golang.org\">build.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/crypto\">crypto</a>\x20\xe2\x80\x94\x20additional\x20cryptography\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/debug\">debug</a>\x20\xe2\x80\x94\x20an\x20experimental\x20debugger\x20for\x20Go.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/image\">image</a>\x20\xe2\x80\x94\x20additional\x20imaging\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/mobile\">mobile</a>\x20\xe2\x80\x94\x20experimental\x20support\x20for\x20Go\x20on\x20mobile\x20platforms.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/net\">net</a>\x20\xe2\x80\x94\x20additional\x20networking\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/perf\">perf</a>\x20\xe2\x80\x94\x20packages\x20and\x20tools\x20for\x20performance\x20measurement,\x20storage,\x20and\x20analysis.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/pkgsite\">pkgsite</a>\x20\xe2\x80\x94\x20home\x20of\x20the\x20pkg.go.dev\x20website.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/review\">review</a>\x20\xe2\x80\x94\x20a\x20tool\x20for\x20working\x20with\x20Gerrit\x20code\x20reviews.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/sync\">sync</a>\x20\xe2\x80\x94\x20additional\x20concurrency\x20primitives.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/sys\">sys</a>\x20\xe2\x80\x94\x20packages\x20for\x20making\x20system\x20calls.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/text\">text</a>\x20\xe2\x80\x94\x20packages\x20for\x20working\x20with\x20text.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/time\">time</a>\x20\xe2\x80\x94\x20additional\x20time\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/tools\">tools</a>\x20\xe2\x80\x94\x20godoc,\x20goimports,\x20gorename,\x20and\x20other\x20tools.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/tour\">tour</a>\x20\xe2\x80\x94\x20<a\x20href=\"//tour.golang.org\">tour.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/exp\">exp</a>\x20\xe2\x80\x94\x20experimental\x20and\x20deprecated\x20packages\x20(handle\x20with\x20care;\x20may\x20change\x20without\x20warning).</li>\x0a\x09</ul>\x0a\x0a\x09<h3\x20id=\"community\">Community</h3>\x0a\x09<p>\x0a\x09These\x20services\x20can\x20help\x20you\x20find\x20Open\x20Source\x20packages\x20provided\x20by\x20the\x20community.\x0a\x09</p>\x0a\x09<ul>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev\">Pkg.go.dev</a>\x20-\x20the\x20Go\x20package\x20discovery\x20site.</li>\x0a\x09\x09<li><a\x20href=\"/wiki/Projects\">Projects\x20at\x20the\x20Go\x20Wiki</a>\x20-\x20a\x20curated\x20list\x20of\x20Go\x20projects.</li>\x0a\x09</ul>\x0a{{end}}\x0a",
+
+	"play.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0afunction\x20initPlayground(transport)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20function\x20text(node)\x20{\x0a\x20\x20\x20\x20var\x20s\x20=\x20'';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20node.childNodes.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20n\x20=\x20node.childNodes[i];\x0a\x20\x20\x20\x20\x20\x20if\x20(n.nodeType\x20===\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'BUTTON')\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'SPAN'\x20&&\x20n.className\x20===\x20'number')\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'DIV'\x20||\x20n.tagName\x20===\x20'BR'\x20||\x20n.tagName\x20===\x20'PRE')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20'\\n';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20text(n);\x0a\x20\x20\x20\x20\x20\x20\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(n.nodeType\x20===\x203)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20n.nodeValue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20s.replace('\\xA0',\x20'\x20');\x20//\x20replace\x20non-breaking\x20spaces\x0a\x20\x20}\x0a\x0a\x20\x20//\x20When\x20presenter\x20notes\x20are\x20enabled,\x20the\x20index\x20passed\x0a\x20\x20//\x20here\x20will\x20identify\x20the\x20playground\x20to\x20be\x20synced\x0a\x20\x20function\x20init(code,\x20index)\x20{\x0a\x20\x20\x20\x20var\x20output\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20var\x20outpre\x20=\x20document.createElement('pre');\x0a\x20\x20\x20\x20var\x20running;\x0a\x0a\x20\x20\x20\x20if\x20($\x20&&\x20$(output).resizable)\x20{\x0a\x20\x20\x20\x20\x20\x20$(output).resizable({\x0a\x20\x20\x20\x20\x20\x20\x20\x20handles:\x20'n,w,nw',\x0a\x20\x20\x20\x20\x20\x20\x20\x20minHeight:\x2027,\x0a\x20\x20\x20\x20\x20\x20\x20\x20minWidth:\x20135,\x0a\x20\x20\x20\x20\x20\x20\x20\x20maxHeight:\x20608,\x0a\x20\x20\x20\x20\x20\x20\x20\x20maxWidth:\x20990,\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onKill()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onKill',\x20index);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onRun(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20sk\x20=\x20e.shiftKey\x20||\x20localStorage.getItem('play-shiftKey')\x20===\x20'true';\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20outpre.textContent\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20run1.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20\x20\x20var\x20options\x20=\x20{\x20Race:\x20sk\x20};\x0a\x20\x20\x20\x20\x20\x20running\x20=\x20transport.Run(text(code),\x20PlaygroundOutput(outpre),\x20options);\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onRun',\x20index,\x20e);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onClose()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20\x20\x20run1.style.display\x20=\x20'inline-block';\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onClose',\x20index);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(window.notesEnabled)\x20{\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onRun.push(onRun);\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onClose.push(onClose);\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onKill.push(onKill);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20run1\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20run1.textContent\x20=\x20'Run';\x0a\x20\x20\x20\x20run1.className\x20=\x20'run';\x0a\x20\x20\x20\x20run1.addEventListener('click',\x20onRun,\x20false);\x0a\x20\x20\x20\x20var\x20run2\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20run2.className\x20=\x20'run';\x0a\x20\x20\x20\x20run2.textContent\x20=\x20'Run';\x0a\x20\x20\x20\x20run2.addEventListener('click',\x20onRun,\x20false);\x0a\x20\x20\x20\x20var\x20kill\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20kill.className\x20=\x20'kill';\x0a\x20\x20\x20\x20kill.textContent\x20=\x20'Kill';\x0a\x20\x20\x20\x20kill.addEventListener('click',\x20onKill,\x20false);\x0a\x20\x20\x20\x20var\x20close\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20close.className\x20=\x20'close';\x0a\x20\x20\x20\x20close.textContent\x20=\x20'Close';\x0a\x20\x20\x20\x20close.addEventListener('click',\x20onClose,\x20false);\x0a\x0a\x20\x20\x20\x20var\x20button\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20button.classList.add('buttons');\x0a\x20\x20\x20\x20button.appendChild(run1);\x0a\x20\x20\x20\x20//\x20Hack\x20to\x20simulate\x20insertAfter\x0a\x20\x20\x20\x20code.parentNode.insertBefore(button,\x20code.nextSibling);\x0a\x0a\x20\x20\x20\x20var\x20buttons\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20buttons.classList.add('buttons');\x0a\x20\x20\x20\x20buttons.appendChild(run2);\x0a\x20\x20\x20\x20buttons.appendChild(kill);\x0a\x20\x20\x20\x20buttons.appendChild(close);\x0a\x0a\x20\x20\x20\x20output.classList.add('output');\x0a\x20\x20\x20\x20output.appendChild(buttons);\x0a\x20\x20\x20\x20output.appendChild(outpre);\x0a\x20\x20\x20\x20output.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20code.parentNode.insertBefore(output,\x20button.nextSibling);\x0a\x20\x20}\x0a\x0a\x20\x20var\x20play\x20=\x20document.querySelectorAll('div.playground');\x0a\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20play.length;\x20i++)\x20{\x0a\x20\x20\x20\x20init(play[i],\x20i);\x0a\x20\x20}\x0a}\x0a",
+
+	"playground.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0a/*\x0aIn\x20the\x20absence\x20of\x20any\x20formal\x20way\x20to\x20specify\x20interfaces\x20in\x20JavaScript,\x0ahere's\x20a\x20skeleton\x20implementation\x20of\x20a\x20playground\x20transport.\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20function\x20Transport()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Set\x20up\x20any\x20transport\x20state\x20(eg,\x20make\x20a\x20websocket\x20connection).\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Compile\x20and\x20run\x20the\x20program\x20'body'\x20with\x20'options'.\x0a\x09\x09\x09\x09//\x20Call\x20the\x20'output'\x20callback\x20to\x20display\x20program\x20output.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Kill\x20the\x20running\x20program.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x09//\x20The\x20output\x20callback\x20is\x20called\x20multiple\x20times,\x20and\x20each\x20time\x20it\x20is\x0a\x09//\x20passed\x20an\x20object\x20of\x20this\x20form.\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20write\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'string',\x20//\x20'start',\x20'stdout',\x20'stderr',\x20'end'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Body:\x20'string'\x20\x20//\x20content\x20of\x20write\x20or\x20end\x20status\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x09//\x20The\x20first\x20call\x20must\x20be\x20of\x20Kind\x20'start'\x20with\x20no\x20body.\x0a\x09//\x20Subsequent\x20calls\x20may\x20be\x20of\x20Kind\x20'stdout'\x20or\x20'stderr'\x0a\x09//\x20and\x20must\x20have\x20a\x20non-null\x20Body\x20string.\x0a\x09//\x20The\x20final\x20call\x20should\x20be\x20of\x20Kind\x20'end'\x20with\x20an\x20optional\x0a\x09//\x20Body\x20string,\x20signifying\x20a\x20failure\x20(\"killed\",\x20for\x20example).\x0a\x0a\x09//\x20The\x20output\x20callback\x20must\x20be\x20of\x20this\x20form.\x0a\x09//\x20See\x20PlaygroundOutput\x20(below)\x20for\x20an\x20implementation.\x0a\x20\x20\x20\x20\x20\x20\x20\x20function\x20outputCallback(write)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a*/\x0a\x0a//\x20HTTPTransport\x20is\x20the\x20default\x20transport.\x0a//\x20enableVet\x20enables\x20running\x20vet\x20if\x20a\x20program\x20was\x20compiled\x20and\x20ran\x20successfully.\x0a//\x20If\x20vet\x20returned\x20any\x20errors,\x20display\x20them\x20before\x20the\x20output\x20of\x20a\x20program.\x0afunction\x20HTTPTransport(enableVet)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20function\x20playback(output,\x20data)\x20{\x0a\x20\x20\x20\x20//\x20Backwards\x20compatibility:\x20default\x20values\x20do\x20not\x20affect\x20the\x20output.\x0a\x20\x20\x20\x20var\x20events\x20=\x20data.Events\x20||\x20[];\x0a\x20\x20\x20\x20var\x20errors\x20=\x20data.Errors\x20||\x20'';\x0a\x20\x20\x20\x20var\x20status\x20=\x20data.Status\x20||\x200;\x0a\x20\x20\x20\x20var\x20isTest\x20=\x20data.IsTest\x20||\x20false;\x0a\x20\x20\x20\x20var\x20testsFailed\x20=\x20data.TestsFailed\x20||\x200;\x0a\x0a\x20\x20\x20\x20var\x20timeout;\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20function\x20next()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!events\x20||\x20events.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(isTest)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(testsFailed\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Body:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\\n'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20testsFailed\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\x20test'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(testsFailed\x20>\x201\x20?\x20's'\x20:\x20'')\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\x20failed.',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'system',\x20Body:\x20'\\nAll\x20tests\x20passed.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(status\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20'status\x20'\x20+\x20status\x20+\x20'.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(errors\x20!==\x20'')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20errors\x20are\x20displayed\x20only\x20in\x20the\x20case\x20of\x20timeout.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20errors\x20+\x20'.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20e\x20=\x20events.shift();\x0a\x20\x20\x20\x20\x20\x20if\x20(e.Delay\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20e.Kind,\x20Body:\x20e.Message\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20timeout\x20=\x20setTimeout(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20e.Kind,\x20Body:\x20e.Message\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20\x20\x20},\x20e.Delay\x20/\x201000000);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20Stop:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearTimeout(timeout);\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x0a\x0a\x20\x20function\x20error(output,\x20msg)\x20{\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'stderr',\x20Body:\x20msg\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'end'\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20buildFailed(output,\x20msg)\x20{\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'stderr',\x20Body:\x20msg\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'system',\x20Body:\x20'\\nGo\x20build\x20failed.'\x20});\x0a\x20\x20}\x0a\x0a\x20\x20var\x20seq\x20=\x200;\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20seq++;\x0a\x20\x20\x20\x20\x20\x20var\x20cur\x20=\x20seq;\x0a\x20\x20\x20\x20\x20\x20var\x20playing;\x0a\x20\x20\x20\x20\x20\x20$.ajax('/compile',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x20version:\x202,\x20body:\x20body,\x20withVet:\x20enableVet\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(data)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20!=\x20cur)\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data)\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(playing\x20!=\x20null)\x20playing.Stop();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Errors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Errors\x20===\x20'process\x20took\x20too\x20long')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Playback\x20the\x20output\x20that\x20was\x20captured\x20before\x20the\x20timeout.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buildFailed(output,\x20data.Errors);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data.Events)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.VetErrors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Inject\x20errors\x20from\x20the\x20vet\x20as\x20the\x20first\x20events\x20in\x20the\x20output.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20'Go\x20vet\x20exited.\\n\\n',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20data.VetErrors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'stderr',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!enableVet\x20||\x20data.VetOK\x20||\x20data.VetErrors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20In\x20case\x20the\x20server\x20support\x20doesn't\x20support\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20compile+vet\x20in\x20same\x20request\x20signaled\x20by\x20the\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20'withVet'\x20parameter\x20above,\x20also\x20try\x20the\x20old\x20way.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20TODO:\x20remove\x20this\x20when\x20it\x20falls\x20out\x20of\x20use.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20It\x20is\x202019-05-13\x20now.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$.ajax('/vet',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x20body:\x20body\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(dataVet)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(dataVet.Errors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20inject\x20errors\x20from\x20the\x20vet\x20as\x20the\x20first\x20events\x20in\x20the\x20output\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20'Go\x20vet\x20exited.\\n\\n',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20dataVet.Errors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'stderr',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error(output,\x20'Error\x20communicating\x20with\x20remote\x20server.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(playing\x20!=\x20null)\x20playing.Stop();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20'killed'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20},\x0a\x20\x20};\x0a}\x0a\x0afunction\x20SocketTransport()\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20var\x20id\x20=\x200;\x0a\x20\x20var\x20outputs\x20=\x20{};\x0a\x20\x20var\x20started\x20=\x20{};\x0a\x20\x20var\x20websocket;\x0a\x20\x20if\x20(window.location.protocol\x20==\x20'http:')\x20{\x0a\x20\x20\x20\x20websocket\x20=\x20new\x20WebSocket('ws://'\x20+\x20window.location.host\x20+\x20'/socket');\x0a\x20\x20}\x20else\x20if\x20(window.location.protocol\x20==\x20'https:')\x20{\x0a\x20\x20\x20\x20websocket\x20=\x20new\x20WebSocket('wss://'\x20+\x20window.location.host\x20+\x20'/socket');\x0a\x20\x20}\x0a\x0a\x20\x20websocket.onclose\x20=\x20function()\x20{\x0a\x20\x20\x20\x20console.log('websocket\x20connection\x20closed');\x0a\x20\x20};\x0a\x0a\x20\x20websocket.onmessage\x20=\x20function(e)\x20{\x0a\x20\x20\x20\x20var\x20m\x20=\x20JSON.parse(e.data);\x0a\x20\x20\x20\x20var\x20output\x20=\x20outputs[m.Id];\x0a\x20\x20\x20\x20if\x20(output\x20===\x20null)\x20return;\x0a\x20\x20\x20\x20if\x20(!started[m.Id])\x20{\x0a\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20\x20\x20started[m.Id]\x20=\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20output({\x20Kind:\x20m.Kind,\x20Body:\x20m.Body\x20});\x0a\x20\x20};\x0a\x0a\x20\x20function\x20send(m)\x20{\x0a\x20\x20\x20\x20websocket.send(JSON.stringify(m));\x0a\x20\x20}\x0a\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20thisID\x20=\x20id\x20+\x20'';\x0a\x20\x20\x20\x20\x20\x20id++;\x0a\x20\x20\x20\x20\x20\x20outputs[thisID]\x20=\x20output;\x0a\x20\x20\x20\x20\x20\x20send({\x20Id:\x20thisID,\x20Kind:\x20'run',\x20Body:\x20body,\x20Options:\x20options\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20send({\x20Id:\x20thisID,\x20Kind:\x20'kill'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20},\x0a\x20\x20};\x0a}\x0a\x0afunction\x20PlaygroundOutput(el)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20return\x20function(write)\x20{\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'start')\x20{\x0a\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20cl\x20=\x20'system';\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'stdout'\x20||\x20write.Kind\x20==\x20'stderr')\x20cl\x20=\x20write.Kind;\x0a\x0a\x20\x20\x20\x20var\x20m\x20=\x20write.Body;\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'end')\x20{\x0a\x20\x20\x20\x20\x20\x20m\x20=\x20'\\nProgram\x20exited'\x20+\x20(m\x20?\x20':\x20'\x20+\x20m\x20:\x20'.');\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(m.indexOf('IMAGE:')\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20TODO(adg):\x20buffer\x20all\x20writes\x20before\x20creating\x20image\x0a\x20\x20\x20\x20\x20\x20var\x20url\x20=\x20'data:image/png;base64,'\x20+\x20m.substr(6);\x0a\x20\x20\x20\x20\x20\x20var\x20img\x20=\x20document.createElement('img');\x0a\x20\x20\x20\x20\x20\x20img.src\x20=\x20url;\x0a\x20\x20\x20\x20\x20\x20el.appendChild(img);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20^L\x20clears\x20the\x20screen.\x0a\x20\x20\x20\x20var\x20s\x20=\x20m.split('\\x0c');\x0a\x20\x20\x20\x20if\x20(s.length\x20>\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20m\x20=\x20s.pop();\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/&/g,\x20'&amp;');\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/</g,\x20'&lt;');\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/>/g,\x20'&gt;');\x0a\x0a\x20\x20\x20\x20var\x20needScroll\x20=\x20el.scrollTop\x20+\x20el.offsetHeight\x20==\x20el.scrollHeight;\x0a\x0a\x20\x20\x20\x20var\x20span\x20=\x20document.createElement('span');\x0a\x20\x20\x20\x20span.className\x20=\x20cl;\x0a\x20\x20\x20\x20span.innerHTML\x20=\x20m;\x0a\x20\x20\x20\x20el.appendChild(span);\x0a\x0a\x20\x20\x20\x20if\x20(needScroll)\x20el.scrollTop\x20=\x20el.scrollHeight\x20-\x20el.offsetHeight;\x0a\x20\x20};\x0a}\x0a\x0a(function()\x20{\x0a\x20\x20function\x20lineHighlight(error)\x20{\x0a\x20\x20\x20\x20var\x20regex\x20=\x20/prog.go:([0-9]+)/g;\x0a\x20\x20\x20\x20var\x20r\x20=\x20regex.exec(error);\x0a\x20\x20\x20\x20while\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20$('.lines\x20div')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.eq(r[1]\x20-\x201)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.addClass('lineerror');\x0a\x20\x20\x20\x20\x20\x20r\x20=\x20regex.exec(error);\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20function\x20highlightOutput(wrappedOutput)\x20{\x0a\x20\x20\x20\x20return\x20function(write)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(write.Body)\x20lineHighlight(write.Body);\x0a\x20\x20\x20\x20\x20\x20wrappedOutput(write);\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x0a\x20\x20function\x20lineClear()\x20{\x0a\x20\x20\x20\x20$('.lineerror').removeClass('lineerror');\x0a\x20\x20}\x0a\x0a\x20\x20//\x20opts\x20is\x20an\x20object\x20with\x20these\x20keys\x0a\x20\x20//\x20\x20codeEl\x20-\x20code\x20editor\x20element\x0a\x20\x20//\x20\x20outputEl\x20-\x20program\x20output\x20element\x0a\x20\x20//\x20\x20runEl\x20-\x20run\x20button\x20element\x0a\x20\x20//\x20\x20fmtEl\x20-\x20fmt\x20button\x20element\x20(optional)\x0a\x20\x20//\x20\x20fmtImportEl\x20-\x20fmt\x20\"imports\"\x20checkbox\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareEl\x20-\x20share\x20button\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareURLEl\x20-\x20share\x20URL\x20text\x20input\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareRedirect\x20-\x20base\x20URL\x20to\x20redirect\x20to\x20on\x20share\x20(optional)\x0a\x20\x20//\x20\x20toysEl\x20-\x20toys\x20select\x20element\x20(optional)\x0a\x20\x20//\x20\x20enableHistory\x20-\x20enable\x20using\x20HTML5\x20history\x20API\x20(optional)\x0a\x20\x20//\x20\x20transport\x20-\x20playground\x20transport\x20to\x20use\x20(default\x20is\x20HTTPTransport)\x0a\x20\x20//\x20\x20enableShortcuts\x20-\x20whether\x20to\x20enable\x20shortcuts\x20(Ctrl+S/Cmd+S\x20to\x20save)\x20(default\x20is\x20false)\x0a\x20\x20//\x20\x20enableVet\x20-\x20enable\x20running\x20vet\x20and\x20displaying\x20its\x20errors\x0a\x20\x20function\x20playground(opts)\x20{\x0a\x20\x20\x20\x20var\x20code\x20=\x20$(opts.codeEl);\x0a\x20\x20\x20\x20var\x20transport\x20=\x20opts['transport']\x20||\x20new\x20HTTPTransport(opts['enableVet']);\x0a\x20\x20\x20\x20var\x20running;\x0a\x0a\x20\x20\x20\x20//\x20autoindent\x20helpers.\x0a\x20\x20\x20\x20function\x20insertTabs(n)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20find\x20the\x20selection\x20start\x20and\x20end\x0a\x20\x20\x20\x20\x20\x20var\x20start\x20=\x20code[0].selectionStart;\x0a\x20\x20\x20\x20\x20\x20var\x20end\x20=\x20code[0].selectionEnd;\x0a\x20\x20\x20\x20\x20\x20//\x20split\x20the\x20textarea\x20content\x20into\x20two,\x20and\x20insert\x20n\x20tabs\x0a\x20\x20\x20\x20\x20\x20var\x20v\x20=\x20code[0].value;\x0a\x20\x20\x20\x20\x20\x20var\x20u\x20=\x20v.substr(0,\x20start);\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20n;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20u\x20+=\x20'\\t';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20u\x20+=\x20v.substr(end);\x0a\x20\x20\x20\x20\x20\x20//\x20set\x20revised\x20content\x0a\x20\x20\x20\x20\x20\x20code[0].value\x20=\x20u;\x0a\x20\x20\x20\x20\x20\x20//\x20reset\x20caret\x20position\x20after\x20inserted\x20tabs\x0a\x20\x20\x20\x20\x20\x20code[0].selectionStart\x20=\x20start\x20+\x20n;\x0a\x20\x20\x20\x20\x20\x20code[0].selectionEnd\x20=\x20start\x20+\x20n;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20autoindent(el)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20curpos\x20=\x20el.selectionStart;\x0a\x20\x20\x20\x20\x20\x20var\x20tabs\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20while\x20(curpos\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20curpos--;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(el.value[curpos]\x20==\x20'\\t')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tabs++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(tabs\x20>\x200\x20||\x20el.value[curpos]\x20==\x20'\\n')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20setTimeout(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20insertTabs(tabs);\x0a\x20\x20\x20\x20\x20\x20},\x201);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20NOTE(cbro):\x20e\x20is\x20a\x20jQuery\x20event,\x20not\x20a\x20DOM\x20event.\x0a\x20\x20\x20\x20function\x20handleSaveShortcut(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.isDefaultPrevented())\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(!e.metaKey\x20&&\x20!e.ctrlKey)\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(e.key\x20!=\x20'S'\x20&&\x20e.key\x20!=\x20's')\x20return\x20false;\x0a\x0a\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Share\x20and\x20save\x0a\x20\x20\x20\x20\x20\x20share(function(url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20url\x20+\x20'.go?download=true';\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20keyHandler(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opts.enableShortcuts\x20&&\x20handleSaveShortcut(e))\x20return;\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(e.keyCode\x20==\x209\x20&&\x20!e.ctrlKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20tab\x20(but\x20not\x20ctrl-tab)\x0a\x20\x20\x20\x20\x20\x20\x20\x20insertTabs(1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(e.keyCode\x20==\x2013)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20enter\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.shiftKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20+shift\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20run();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.ctrlKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20+control\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmt();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autoindent(e.target);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20code.unbind('keydown').bind('keydown',\x20keyHandler);\x0a\x20\x20\x20\x20var\x20outdiv\x20=\x20$(opts.outputEl).empty();\x0a\x20\x20\x20\x20var\x20output\x20=\x20$('<pre/>').appendTo(outdiv);\x0a\x0a\x20\x20\x20\x20function\x20body()\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20$(opts.codeEl).val();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20setBody(text)\x20{\x0a\x20\x20\x20\x20\x20\x20$(opts.codeEl).val(text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20origin(href)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20(''\x20+\x20href)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.split('/')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.slice(0,\x203)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.join('/');\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20pushedEmpty\x20=\x20window.location.pathname\x20==\x20'/';\x0a\x20\x20\x20\x20function\x20inputChanged()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(pushedEmpty)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20pushedEmpty\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20$(opts.shareURLEl).hide();\x0a\x20\x20\x20\x20\x20\x20window.history.pushState(null,\x20'',\x20'/');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20popState(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e\x20===\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(e\x20&&\x20e.state\x20&&\x20e.state.code)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setBody(e.state.code);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20rewriteHistory\x20=\x20false;\x0a\x20\x20\x20\x20if\x20(\x0a\x20\x20\x20\x20\x20\x20window.history\x20&&\x0a\x20\x20\x20\x20\x20\x20window.history.pushState\x20&&\x0a\x20\x20\x20\x20\x20\x20window.addEventListener\x20&&\x0a\x20\x20\x20\x20\x20\x20opts.enableHistory\x0a\x20\x20\x20\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20rewriteHistory\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20code[0].addEventListener('input',\x20inputChanged);\x0a\x20\x20\x20\x20\x20\x20window.addEventListener('popstate',\x20popState);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20setError(error)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20lineClear();\x0a\x20\x20\x20\x20\x20\x20lineHighlight(error);\x0a\x20\x20\x20\x20\x20\x20output\x0a\x20\x20\x20\x20\x20\x20\x20\x20.empty()\x0a\x20\x20\x20\x20\x20\x20\x20\x20.addClass('error')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.text(error);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20loading()\x20{\x0a\x20\x20\x20\x20\x20\x20lineClear();\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.removeClass('error').text('Waiting\x20for\x20remote\x20server...');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20run()\x20{\x0a\x20\x20\x20\x20\x20\x20loading();\x0a\x20\x20\x20\x20\x20\x20running\x20=\x20transport.Run(\x0a\x20\x20\x20\x20\x20\x20\x20\x20body(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20highlightOutput(PlaygroundOutput(output[0]))\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20fmt()\x20{\x0a\x20\x20\x20\x20\x20\x20loading();\x0a\x20\x20\x20\x20\x20\x20var\x20data\x20=\x20{\x20body:\x20body()\x20};\x0a\x20\x20\x20\x20\x20\x20if\x20($(opts.fmtImportEl).is(':checked'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20data['imports']\x20=\x20'true';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$.ajax('/fmt',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(data)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setError(data.Error);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setBody(data.Body);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setError('');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20shareURL;\x20//\x20jQuery\x20element\x20to\x20show\x20the\x20shared\x20URL.\x0a\x20\x20\x20\x20var\x20sharing\x20=\x20false;\x20//\x20true\x20if\x20there\x20is\x20a\x20pending\x20request.\x0a\x20\x20\x20\x20var\x20shareCallbacks\x20=\x20[];\x0a\x20\x20\x20\x20function\x20share(opt_callback)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opt_callback)\x20shareCallbacks.push(opt_callback);\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(sharing)\x20return;\x0a\x20\x20\x20\x20\x20\x20sharing\x20=\x20true;\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20sharingData\x20=\x20body();\x0a\x20\x20\x20\x20\x20\x20$.ajax('/share',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20processData:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20sharingData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20contentType:\x20'text/plain;\x20charset=utf-8',\x0a\x20\x20\x20\x20\x20\x20\x20\x20complete:\x20function(xhr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sharing\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20!=\x20200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alert('Server\x20error;\x20try\x20again.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(opts.shareRedirect)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location\x20=\x20opts.shareRedirect\x20+\x20xhr.responseText;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20path\x20=\x20'/p/'\x20+\x20xhr.responseText;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20url\x20=\x20origin(window.location)\x20+\x20path;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20shareCallbacks.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareCallbacks[i](url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareCallbacks\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(shareURL)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareURL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.show()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.val(url)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.focus()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.select();\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(rewriteHistory)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20historyData\x20=\x20{\x20code:\x20sharingData\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.history.pushState(historyData,\x20'',\x20path);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pushedEmpty\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20$(opts.runEl).click(run);\x0a\x20\x20\x20\x20$(opts.fmtEl).click(fmt);\x0a\x0a\x20\x20\x20\x20if\x20(\x0a\x20\x20\x20\x20\x20\x20opts.shareEl\x20!==\x20null\x20&&\x0a\x20\x20\x20\x20\x20\x20(opts.shareURLEl\x20!==\x20null\x20||\x20opts.shareRedirect\x20!==\x20null)\x0a\x20\x20\x20\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opts.shareURLEl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20shareURL\x20=\x20$(opts.shareURLEl).hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$(opts.shareEl).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20share();\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(opts.toysEl\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20$(opts.toysEl).bind('change',\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20toy\x20=\x20$(this).val();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$.ajax('/doc/play/'\x20+\x20toy,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20processData:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'GET',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20complete:\x20function(xhr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20!=\x20200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alert('Server\x20error;\x20try\x20again.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setBody(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20window.playground\x20=\x20playground;\x0a})();\x0a",
+
+	"search.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a{{\x20$colCount\x20:=\x20tocColCount\x20.}}\x0a{{/*\x20Generate\x20the\x20TOC\x20*/}}\x0a<nav\x20class=\"search-nav\"\x20style=\"column-count:\x20{{$colCount}}\"\x20role=\"navigation\">\x0a{{range\x20$key,\x20$val\x20:=\x20.Idents}}\x0a\x09{{if\x20$val}}\x0a\x09\x09<a\x20href=\"#{{$key.Name}}\">{{$key.Name}}</a>\x0a\x09\x09<br\x20/>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{if\x20not\x20.Idents}}\x0a\x09{{with\x20.Pak}}\x0a\x09\x09<a\x20href=\"#Packages\">Package\x20{{html\x20$.Query}}</a>\x0a\x09\x09<br\x20/>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Hit}}\x0a\x09{{with\x20.Decls}}\x0a\x09\x09<a\x20href=\"#Global\">Package-level\x20declarations</a>\x0a\x09\x09<br\x20/>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<a\x20href=\"#Global_{{$pkg_html}}\"\x20class=\"indent\">package\x20{{html\x20.Pak.Name}}</a>\x0a\x09\x09\x09<br\x20/>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x09{{with\x20.Others}}\x0a\x09\x09<a\x20href=\"#Local\">Local\x20declarations\x20and\x20uses</a>\x0a\x09\x09<br\x20/>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<a\x20href=\"#Local_{{$pkg_html}}\"\x20class=\"indent\">package\x20{{html\x20.Pak.Name}}</a>\x0a\x09\x09\x09<br\x20/>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Textual}}\x0a\x09{{if\x20$.Complete}}\x0a\x09\x09<a\x20href=\"#Textual\">{{html\x20$.Found}}\x20textual\x20occurrences</a>\x0a\x09{{else}}\x0a\x09\x09<a\x20href=\"#Textual\">More\x20than\x20{{html\x20$.Found}}\x20textual\x20occurrences</a>\x0a\x09{{end}}\x0a{{end}}\x0a</nav>\x0a\x0a{{with\x20.Alert}}\x0a\x09<p>\x0a\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">{{html\x20.}}</span>\x0a\x09</p>\x0a{{end}}\x0a{{with\x20.Alt}}\x0a\x09<p>\x0a\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">Did\x20you\x20mean:\x20</span>\x0a\x09{{range\x20.Alts}}\x0a\x09\x09<a\x20href=\"search?q={{urlquery\x20.}}\"\x20style=\"font-size:120%\">{{html\x20.}}</a>\x0a\x09{{end}}\x0a\x09</p>\x0a{{end}}\x0a",
+
+	"searchcode.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{$query_url\x20:=\x20urlquery\x20.Query}}\x0a{{if\x20not\x20.Idents}}\x0a\x09{{with\x20.Pak}}\x0a\x09\x09<h2\x20id=\"Packages\">Package\x20{{html\x20$.Query}}</h2>\x0a\x09\x09<p>\x0a\x09\x09<table\x20class=\"layout\">\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<tr><td><a\x20href=\"/{{$pkg_html}}\">{{$pkg_html}}</a></td></tr>\x0a\x09\x09{{end}}\x0a\x09\x09</table>\x0a\x09\x09</p>\x0a\x09{{end}}\x0a{{end}}\x0a{{with\x20.Hit}}\x0a\x09{{with\x20.Decls}}\x0a\x09\x09<h2\x20id=\"Global\">Package-level\x20declarations</h2>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<h3\x20id=\"Global_{{$pkg_html}}\">package\x20<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Pak.Name}}</a></h3>\x0a\x09\x09\x09{{range\x20.Files}}\x0a\x09\x09\x09\x09{{$file\x20:=\x20.File.Path}}\x0a\x09\x09\x09\x09{{range\x20.Groups}}\x0a\x09\x09\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09\x09\x09{{$line\x20:=\x20infoLine\x20.}}\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20$line\x20|\x20html}}\">{{$file}}:{{$line}}</a>\x0a\x09\x09\x09\x09\x09\x09{{infoSnippet_html\x20.}}\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x09{{with\x20.Others}}\x0a\x09\x09<h2\x20id=\"Local\">Local\x20declarations\x20and\x20uses</h2>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<h3\x20id=\"Local_{{$pkg_html}}\">package\x20<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Pak.Name}}</a></h3>\x0a\x09\x09\x09{{range\x20.Files}}\x0a\x09\x09\x09\x09{{$file\x20:=\x20.File.Path}}\x0a\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x200\x20|\x20html}}\">{{$file}}</a>\x0a\x09\x09\x09\x09<table\x20class=\"layout\">\x0a\x09\x09\x09\x09{{range\x20.Groups}}\x0a\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09<td\x20width=\"25\"></td>\x0a\x09\x09\x09\x09\x09<th\x20align=\"left\"\x20valign=\"top\">{{index\x20.\x200\x20|\x20infoKind_html}}</th>\x0a\x09\x09\x09\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09\x09\x09\x09<td>\x0a\x09\x09\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09\x09\x09{{$line\x20:=\x20infoLine\x20.}}\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20$line\x20|\x20html}}\">{{$line}}</a>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09</table>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a",
+
+	"searchdoc.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{range\x20$key,\x20$val\x20:=\x20.Idents}}\x0a\x09{{if\x20$val}}\x0a\x09\x09<h2\x20id=\"{{$key.Name}}\">{{$key.Name}}</h2>\x0a\x09\x09{{range\x20$val}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Path\x20|\x20html}}\x0a\x09\x09\x09{{if\x20eq\x20\"Packages\"\x20$key.Name}}\x0a\x09\x09\x09\x09<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09{{$doc_html\x20:=\x20docLink\x20.Path\x20.Name|\x20html}}\x0a\x09\x09\x09\x09<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Package}}</a>.<a\x20href=\"{{$doc_html}}\">{{.Name}}</a>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20.Doc}}\x0a\x09\x09\x09\x09<p>{{comment_html\x20.Doc}}</p>\x0a\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09<p><em>No\x20documentation\x20available</em></p>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a",
+
+	"searchtxt.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{$query_url\x20:=\x20urlquery\x20.Query}}\x0a{{with\x20.Textual}}\x0a\x09{{if\x20$.Complete}}\x0a\x09\x09<h2\x20id=\"Textual\">{{html\x20$.Found}}\x20textual\x20occurrences</h2>\x0a\x09{{else}}\x0a\x09\x09<h2\x20id=\"Textual\">More\x20than\x20{{html\x20$.Found}}\x20textual\x20occurrences</h2>\x0a\x09\x09<p>\x0a\x09\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">Not\x20all\x20files\x20or\x20lines\x20containing\x20\"{{html\x20$.Query}}\"\x20are\x20shown.</span>\x0a\x09\x09</p>\x0a\x09{{end}}\x0a\x09<p>\x0a\x09<table\x20class=\"layout\">\x0a\x09{{range\x20.}}\x0a\x09\x09{{$file\x20:=\x20.Filename}}\x0a\x09\x09<tr>\x0a\x09\x09<td\x20align=\"left\"\x20valign=\"top\">\x0a\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x200}}\">{{$file}}</a>:\x0a\x09\x09</td>\x0a\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09<th\x20align=\"left\"\x20valign=\"top\">{{len\x20.Lines}}</th>\x0a\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09<td\x20align=\"left\">\x0a\x09\x09{{range\x20.Lines}}\x0a\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20.}}\">{{html\x20.}}</a>\x0a\x09\x09{{end}}\x0a\x09\x09{{if\x20not\x20$.Complete}}\x0a\x09\x09\x09...\x0a\x09\x09{{end}}\x0a\x09\x09</td>\x0a\x09\x09</tr>\x0a\x09{{end}}\x0a\x09{{if\x20not\x20$.Complete}}\x0a\x09\x09<tr><td\x20align=\"left\">...</td></tr>\x0a\x09{{end}}\x0a\x09</table>\x0a\x09</p>\x0a{{end}}\x0a",
+
+	"style.css": "body\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Arial,\x20sans-serif;\x0a\x20\x20background-color:\x20#fff;\x0a\x20\x20line-height:\x201.3;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20color:\x20#222;\x0a}\x0atextarea\x20{\x0a\x20\x20/*\x20Inherit\x20text\x20color\x20from\x20body\x20avoiding\x20illegible\x20text\x20in\x20the\x20case\x20where\x20the\x0a\x20\x09*\x20user\x20has\x20inverted\x20the\x20browsers\x20custom\x20text\x20and\x20background\x20colors.\x20*/\x0a\x20\x20color:\x20inherit;\x0a}\x0apre,\x0acode\x20{\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0apre\x20{\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20overflow-x:\x20auto;\x0a}\x0apre\x20.comment\x20{\x0a\x20\x20color:\x20#006600;\x0a}\x0apre\x20.highlight,\x0apre\x20.highlight-comment,\x0apre\x20.selection-highlight,\x0apre\x20.selection-highlight-comment\x20{\x0a\x20\x20background:\x20#ffff00;\x0a}\x0apre\x20.selection,\x0apre\x20.selection-comment\x20{\x0a\x20\x20background:\x20#ff9632;\x0a}\x0apre\x20.ln\x20{\x0a\x20\x20color:\x20#999;\x0a\x20\x20background:\x20#efefef;\x0a}\x0a.ln\x20{\x0a\x20\x20-webkit-user-select:\x20none;\x0a\x20\x20-moz-user-select:\x20none;\x0a\x20\x20-ms-user-select:\x20none;\x0a\x20\x20user-select:\x20none;\x0a\x0a\x20\x20/*\x20Ensure\x208\x20characters\x20in\x20the\x20document\x20-\x20which\x20due\x20to\x20floating\x0a\x20\x20\x20*\x20point\x20rendering\x20issues,\x20might\x20have\x20a\x20width\x20of\x20less\x20than\x201\x20each\x20-\x20are\x208\x0a\x20\x20\x20*\x20characters\x20wide,\x20so\x20a\x20tab\x20in\x20the\x209th\x20position\x20indents\x20properly.\x20See\x0a\x20\x20\x20*\x20https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091\x0a\x20\x20\x20*\x20for\x20more\x20information.\x20*/\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20width:\x208ch;\x0a}\x0a\x0a.search-nav\x20{\x0a\x20\x20margin-left:\x201.25rem;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20column-gap:\x201.25rem;\x0a\x20\x20column-fill:\x20auto;\x0a\x20\x20column-width:\x2014rem;\x0a}\x0a\x0a.search-nav\x20.indent\x20{\x0a\x20\x20margin-left:\x201.25rem;\x0a}\x0a\x0aa,\x0a.exampleHeading\x20.text,\x0a.expandAll\x20{\x0a\x20\x20color:\x20#375eab;\x0a\x20\x20text-decoration:\x20none;\x0a}\x0aa:hover,\x0a.exampleHeading\x20.text:hover,\x0a.expandAll:hover\x20{\x0a\x20\x20text-decoration:\x20underline;\x0a}\x0a.article\x20a\x20{\x0a\x20\x20text-decoration:\x20underline;\x0a}\x0a.article\x20.title\x20a\x20{\x0a\x20\x20text-decoration:\x20none;\x0a}\x0a\x0a.permalink\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a:hover\x20>\x20.permalink\x20{\x0a\x20\x20display:\x20inline;\x0a}\x0a\x0ap,\x0ali\x20{\x0a\x20\x20max-width:\x2050rem;\x0a\x20\x20word-wrap:\x20break-word;\x0a}\x0ap,\x0apre,\x0aul,\x0aol\x20{\x0a\x20\x20margin:\x201.25rem;\x0a}\x0apre\x20{\x0a\x20\x20background:\x20#efefef;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a\x0ah1,\x0ah2,\x0ah3,\x0ah4,\x0a.rootHeading\x20{\x0a\x20\x20margin:\x201.25rem\x200\x201.25rem;\x0a\x20\x20padding:\x200;\x0a\x20\x20color:\x20#375eab;\x0a\x20\x20font-weight:\x20bold;\x0a}\x0ah1\x20{\x0a\x20\x20font-size:\x201.75rem;\x0a\x20\x20line-height:\x201;\x0a}\x0ah1\x20.text-muted\x20{\x0a\x20\x20color:\x20#777;\x0a}\x0ah2\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20background:\x20#e0ebf5;\x0a\x20\x20padding:\x200.5rem;\x0a\x20\x20line-height:\x201.25;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20overflow-wrap:\x20break-word;\x0a}\x0ah2\x20a\x20{\x0a\x20\x20font-weight:\x20bold;\x0a}\x0ah3\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20line-height:\x201.25;\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20overflow-wrap:\x20break-word;\x0a}\x0ah3,\x0ah4\x20{\x0a\x20\x20margin:\x201.25rem\x200.3125rem;\x0a}\x0ah4\x20{\x0a\x20\x20font-size:\x201rem;\x0a}\x0a.rootHeading\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20margin:\x200;\x0a}\x0a\x0ah2\x20>\x20span,\x0ah3\x20>\x20span\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20margin:\x200\x2025px\x200\x200;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20color:\x20#5279c7;\x0a}\x0a\x0adl\x20{\x0a\x20\x20margin:\x201.25rem;\x0a}\x0add\x20{\x0a\x20\x20margin:\x200\x200\x200\x201.25rem;\x0a}\x0adl,\x0add\x20{\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#nav\x20table\x20td\x20{\x0a\x20\x20vertical-align:\x20top;\x0a}\x0a\x0a#pkg-index\x20h3\x20{\x0a\x20\x20font-size:\x201rem;\x0a}\x0a.pkg-dir\x20{\x0a\x20\x20padding:\x200\x200.625rem;\x0a}\x0a.pkg-dir\x20table\x20{\x0a\x20\x20border-collapse:\x20collapse;\x0a\x20\x20border-spacing:\x200;\x0a}\x0a.pkg-name\x20{\x0a\x20\x20padding-right:\x200.625rem;\x0a}\x0a.alert\x20{\x0a\x20\x20color:\x20#aa0000;\x0a}\x0a\x0a.top-heading\x20{\x0a\x20\x20float:\x20left;\x0a\x20\x20padding:\x201.313rem\x200;\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20font-weight:\x20normal;\x0a}\x0a.top-heading\x20a\x20{\x0a\x20\x20color:\x20#222;\x0a\x20\x20text-decoration:\x20none;\x0a}\x0a\x0a#pkg-examples\x20h3\x20{\x0a\x20\x20float:\x20left;\x0a}\x0a\x0a#pkg-examples\x20dl\x20{\x0a\x20\x20clear:\x20both;\x0a}\x0a\x0a.expandAll\x20{\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20float:\x20left;\x0a\x20\x20margin:\x201.25rem\x200;\x0a}\x0a\x0adiv#topbar\x20{\x0a\x20\x20background:\x20#e0ebf5;\x0a\x20\x20height:\x204rem;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a\x0adiv#page\x20{\x0a\x20\x20width:\x20100%;\x0a}\x0adiv#page\x20>\x20.container,\x0adiv#topbar\x20>\x20.container\x20{\x0a\x20\x20text-align:\x20left;\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20margin-right:\x20auto;\x0a\x20\x20padding:\x200\x201.25rem;\x0a}\x0adiv#topbar\x20>\x20.container,\x0adiv#page\x20>\x20.container\x20{\x0a\x20\x20max-width:\x2059.38rem;\x0a}\x0adiv#page.wide\x20>\x20.container,\x0adiv#topbar.wide\x20>\x20.container\x20{\x0a\x20\x20max-width:\x20none;\x0a}\x0adiv#plusone\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20clear:\x20right;\x0a\x20\x20margin-top:\x200.3125rem;\x0a}\x0a\x0adiv#footer\x20{\x0a\x20\x20text-align:\x20center;\x0a\x20\x20color:\x20#666;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20margin:\x202.5rem\x200;\x0a}\x0a\x0adiv#menu\x20>\x20a,\x0ainput#search,\x0adiv#learn\x20.buttons\x20a,\x0adiv.play\x20.buttons\x20a,\x0adiv#blog\x20.read\x20a,\x0a#menu-button\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x0a\x20\x20text-decoration:\x20none;\x0a\x20\x20font-size:\x201rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0adiv#playground\x20.buttons\x20a,\x0adiv#menu\x20>\x20a,\x0ainput#search,\x0a#menu-button\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv#playground\x20.buttons\x20a,\x0adiv#menu\x20>\x20a,\x0a#menu-button\x20{\x0a\x20\x20color:\x20white;\x0a\x20\x20background:\x20#375eab;\x0a}\x0a#playgroundButton.active\x20{\x0a\x20\x20background:\x20white;\x0a\x20\x20color:\x20#375eab;\x0a}\x0aa#start,\x0adiv#learn\x20.buttons\x20a,\x0adiv.play\x20.buttons\x20a,\x0adiv#blog\x20.read\x20a\x20{\x0a\x20\x20color:\x20#222;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20background:\x20#e0ebf5;\x0a}\x0a.download\x20{\x0a\x20\x20width:\x209.375rem;\x0a}\x0a\x0adiv#menu\x20{\x0a\x20\x20text-align:\x20right;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20max-height:\x200;\x0a\x20\x20-moz-transition:\x20max-height\x200.25s\x20linear;\x0a\x20\x20transition:\x20max-height\x200.25s\x20linear;\x0a\x20\x20width:\x20100%;\x0a}\x0adiv#menu.menu-visible\x20{\x0a\x20\x20max-height:\x2031.25rem;\x0a}\x0adiv#menu\x20>\x20a,\x0a#menu-button\x20{\x0a\x20\x20margin:\x200.625rem\x200.125rem;\x0a\x20\x20padding:\x200.625rem;\x0a}\x0a::-webkit-input-placeholder\x20{\x0a\x20\x20color:\x20#7f7f7f;\x0a\x20\x20opacity:\x201;\x0a}\x0a::placeholder\x20{\x0a\x20\x20color:\x20#7f7f7f;\x0a\x20\x20opacity:\x201;\x0a}\x0a#menu\x20.search-box\x20{\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20width:\x208.75rem;\x0a}\x0ainput#search\x20{\x0a\x20\x20background:\x20white;\x0a\x20\x20color:\x20#222;\x0a\x20\x20box-sizing:\x20border-box;\x0a\x20\x20-webkit-appearance:\x20none;\x0a\x20\x20border-top-right-radius:\x200;\x0a\x20\x20border-bottom-right-radius:\x200;\x0a\x20\x20border-right:\x200;\x0a\x20\x20margin-right:\x200;\x0a\x20\x20flex-grow:\x201;\x0a\x20\x20max-width:\x20100%;\x0a\x20\x20min-width:\x205.625rem;\x0a}\x0ainput#search:-webkit-search-decoration\x20{\x0a\x20\x20-webkit-appearance:\x20none;\x0a}\x0ainput#search:-moz-ui-invalid\x20{\x0a\x20\x20box-shadow:\x20unset;\x0a}\x0ainput#search\x20+\x20button\x20{\x0a\x20\x20display:\x20inline;\x0a\x20\x20font-size:\x201em;\x0a\x20\x20background-color:\x20#375eab;\x0a\x20\x20color:\x20white;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20border-top-left-radius:\x200;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200;\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20margin-left:\x200;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0ainput#search\x20+\x20button\x20span\x20{\x0a\x20\x20display:\x20flex;\x0a}\x0ainput#search\x20+\x20button\x20svg\x20{\x0a\x20\x20fill:\x20white;\x0a}\x0a\x0a#menu-button\x20{\x0a\x20\x20display:\x20none;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20right:\x200.3125rem;\x0a\x20\x20top:\x200;\x0a\x20\x20margin-right:\x200.3125rem;\x0a}\x0a#menu-button-arrow\x20{\x0a\x20\x20display:\x20inline-block;\x0a}\x0a.vertical-flip\x20{\x0a\x20\x20transform:\x20rotate(-180deg);\x0a}\x0a\x0adiv.left\x20{\x0a\x20\x20float:\x20left;\x0a\x20\x20clear:\x20left;\x0a\x20\x20margin-right:\x202.5%;\x0a}\x0adiv.right\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20clear:\x20right;\x0a\x20\x20margin-left:\x202.5%;\x0a}\x0adiv.left,\x0adiv.right\x20{\x0a\x20\x20width:\x2045%;\x0a}\x0a\x0adiv#learn,\x0adiv#about\x20{\x0a\x20\x20padding-top:\x201.25rem;\x0a}\x0adiv#learn\x20h2,\x0adiv#about\x20{\x0a\x20\x20margin:\x200;\x0a}\x0adiv#about\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20margin:\x200\x20auto\x201.875rem;\x0a}\x0adiv#gopher\x20{\x0a\x20\x20background:\x20url(/doc/gopher/frontpage.png)\x20no-repeat;\x0a\x20\x20background-position:\x20center\x20top;\x0a\x20\x20height:\x209.688rem;\x0a\x20\x20max-height:\x20200px;\x20/*\x20Setting\x20in\x20px\x20to\x20prevent\x20the\x20gopher\x20from\x20blowing\x20up\x20in\x20very\x20high\x20default\x20font-sizes\x20*/\x0a}\x0aa#start\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20padding:\x200.625rem;\x0a\x0a\x20\x20text-align:\x20center;\x0a\x20\x20text-decoration:\x20none;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0aa#start\x20.big\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-weight:\x20bold;\x0a\x20\x20font-size:\x201.25rem;\x0a}\x0aa#start\x20.desc\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20margin-top:\x200.3125rem;\x0a}\x0a\x0adiv#learn\x20.popout\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20display:\x20block;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20font-size:\x200.75rem;\x0a\x20\x20background:\x20url(/doc/share.png)\x20no-repeat;\x0a\x20\x20background-position:\x20right\x20center;\x0a\x20\x20padding:\x200.375rem\x201.688rem;\x0a}\x0adiv#learn\x20pre,\x0adiv#learn\x20textarea\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#learn\x20.input\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20margin-top:\x200.625rem;\x0a\x20\x20height:\x209.375rem;\x0a\x0a\x20\x20border-top-left-radius:\x200.3125rem;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a}\x0adiv#learn\x20.input\x20textarea\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20height:\x20100%;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x20none;\x0a\x20\x20resize:\x20none;\x0a}\x0adiv#learn\x20.output\x20{\x0a\x20\x20border-top:\x20none\x20!important;\x0a\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20height:\x203.688rem;\x0a\x20\x20overflow:\x20auto;\x0a\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a}\x0adiv#learn\x20.output\x20pre\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20border-radius:\x200;\x0a}\x0adiv#learn\x20.input,\x0adiv#learn\x20.input\x20textarea,\x0adiv#learn\x20.output,\x0adiv#learn\x20.output\x20pre\x20{\x0a\x20\x20background:\x20#ffffd8;\x0a}\x0adiv#learn\x20.input,\x0adiv#learn\x20.output\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv#learn\x20.buttons\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20padding:\x201.25rem\x200\x200.625rem\x200;\x0a\x20\x20text-align:\x20right;\x0a}\x0adiv#learn\x20.buttons\x20a\x20{\x0a\x20\x20height:\x201rem;\x0a\x20\x20margin-left:\x200.3125rem;\x0a\x20\x20padding:\x200.625rem;\x0a}\x0adiv#learn\x20.toys\x20{\x0a\x20\x20margin-top:\x200.5rem;\x0a}\x0adiv#learn\x20.toys\x20select\x20{\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20margin:\x200;\x0a}\x0adiv#learn\x20.output\x20.exit\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a\x0adiv#video\x20{\x0a\x20\x20max-width:\x20100%;\x0a}\x0adiv#blog,\x0adiv#video\x20{\x0a\x20\x20margin-top:\x202.5rem;\x0a}\x0adiv#blog\x20>\x20a,\x0adiv#blog\x20>\x20div,\x0adiv#blog\x20>\x20h2,\x0adiv#video\x20>\x20a,\x0adiv#video\x20>\x20div,\x0adiv#video\x20>\x20h2\x20{\x0a\x20\x20margin-bottom:\x200.625rem;\x0a}\x0adiv#blog\x20.title,\x0adiv#video\x20.title\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-size:\x201.25rem;\x0a}\x0adiv#blog\x20.when\x20{\x0a\x20\x20color:\x20#666;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#blog\x20.read\x20{\x0a\x20\x20text-align:\x20right;\x0a}\x0a\x0a@supports\x20(--c:\x200)\x20{\x0a\x20\x20[style*='--aspect-ratio-padding:']\x20{\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20padding-top:\x20var(--aspect-ratio-padding);\x0a\x20\x20}\x0a\x0a\x20\x20[style*='--aspect-ratio-padding:']\x20>\x20*\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20}\x0a}\x0a\x0a.toggleButton\x20{\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a.toggle\x20>\x20.collapsed\x20{\x0a\x20\x20display:\x20block;\x0a}\x0a.toggle\x20>\x20.expanded\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a.toggleVisible\x20>\x20.collapsed\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a.toggleVisible\x20>\x20.expanded\x20{\x0a\x20\x20display:\x20block;\x0a}\x0a\x0atable.codetable\x20{\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20margin-right:\x20auto;\x0a\x20\x20border-style:\x20none;\x0a}\x0atable.codetable\x20td\x20{\x0a\x20\x20padding-right:\x200.625rem;\x0a}\x0ahr\x20{\x0a\x20\x20border-style:\x20none;\x0a\x20\x20border-top:\x200.0625rem\x20solid\x20black;\x0a}\x0a\x0aimg.gopher\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20margin-left:\x200.625rem;\x0a\x20\x20margin-bottom:\x200.625rem;\x0a\x20\x20z-index:\x20-1;\x0a}\x0ah2\x20{\x0a\x20\x20clear:\x20right;\x0a}\x0a\x0a/*\x20example\x20and\x20drop-down\x20playground\x20*/\x0adiv.play\x20{\x0a\x20\x20padding:\x200\x201.25rem\x202.5rem\x201.25rem;\x0a}\x0adiv.play\x20pre,\x0adiv.play\x20textarea,\x0adiv.play\x20.lines\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv.play\x20.input\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20margin-top:\x200.625rem;\x0a\x0a\x20\x20border-top-left-radius:\x200.3125rem;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a\x0a\x20\x20overflow:\x20hidden;\x0a}\x0adiv.play\x20.input\x20textarea\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20height:\x20100%;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x20none;\x0a\x20\x20resize:\x20none;\x0a\x0a\x20\x20overflow:\x20hidden;\x0a}\x0adiv#playground\x20.input\x20textarea\x20{\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20resize:\x20auto;\x0a}\x0adiv.play\x20.output\x20{\x0a\x20\x20border-top:\x20none\x20!important;\x0a\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20max-height:\x2012.5rem;\x0a\x20\x20overflow:\x20auto;\x0a\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a}\x0adiv.play\x20.output\x20pre\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20border-radius:\x200;\x0a}\x0adiv.play\x20.input,\x0adiv.play\x20.input\x20textarea,\x0adiv.play\x20.output,\x0adiv.play\x20.output\x20pre\x20{\x0a\x20\x20background:\x20#ffffd8;\x0a}\x0adiv.play\x20.input,\x0adiv.play\x20.output\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv.play\x20.buttons\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20padding:\x201.25rem\x200\x200.625rem\x200;\x0a\x20\x20text-align:\x20right;\x0a}\x0adiv.play\x20.buttons\x20a\x20{\x0a\x20\x20height:\x201rem;\x0a\x20\x20margin-left:\x200.3125rem;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a.output\x20.stderr\x20{\x0a\x20\x20color:\x20#933;\x0a}\x0a.output\x20.system\x20{\x0a\x20\x20color:\x20#999;\x0a}\x0a\x0a/*\x20drop-down\x20playground\x20*/\x0adiv#playground\x20{\x0a\x20\x20/*\x20start\x20hidden;\x20revealed\x20by\x20javascript\x20*/\x0a\x20\x20display:\x20none;\x0a}\x0adiv#playground\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20top:\x203.938rem;\x0a\x20\x20right:\x201.25rem;\x0a\x20\x20padding:\x200\x200.625rem\x200.625rem\x200.625rem;\x0a\x20\x20z-index:\x201;\x0a\x20\x20text-align:\x20left;\x0a\x20\x20background:\x20#e0ebf5;\x0a\x0a\x20\x20border:\x200.0625rem\x20solid\x20#b0bbc5;\x0a\x20\x20border-top:\x20none;\x0a\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a}\x0adiv#playground\x20.code\x20{\x0a\x20\x20width:\x2032.5rem;\x0a\x20\x20height:\x2012.5rem;\x0a}\x0adiv#playground\x20.output\x20{\x0a\x20\x20height:\x206.25rem;\x0a}\x0a\x0a/*\x20Inline\x20runnable\x20snippets\x20(play.js/initPlayground)\x20*/\x0a#content\x20.code\x20pre,\x0a#content\x20.playground\x20pre,\x0a#content\x20.output\x20pre\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20padding:\x200;\x0a\x20\x20background:\x20none;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x200\x20solid\x20transparent;\x0a\x20\x20overflow:\x20auto;\x0a}\x0a#content\x20.playground\x20.number,\x0a#content\x20.code\x20.number\x20{\x0a\x20\x20color:\x20#999;\x0a}\x0a#content\x20.code,\x0a#content\x20.playground,\x0a#content\x20.output\x20{\x0a\x20\x20width:\x20auto;\x0a\x20\x20margin:\x201.25rem;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a#content\x20.code,\x0a#content\x20.playground\x20{\x0a\x20\x20background:\x20#e9e9e9;\x0a}\x0a#content\x20.output\x20{\x0a\x20\x20background:\x20#202020;\x0a}\x0a#content\x20.output\x20.stdout,\x0a#content\x20.output\x20pre\x20{\x0a\x20\x20color:\x20#e6e6e6;\x0a}\x0a#content\x20.output\x20.stderr,\x0a#content\x20.output\x20.error\x20{\x0a\x20\x20color:\x20rgb(244,\x2074,\x2063);\x0a}\x0a#content\x20.output\x20.system,\x0a#content\x20.output\x20.exit\x20{\x0a\x20\x20color:\x20rgb(255,\x20209,\x2077);\x0a}\x0a#content\x20.buttons\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20float:\x20right;\x0a\x20\x20top:\x20-3.125rem;\x0a\x20\x20right:\x201.875rem;\x0a}\x0a#content\x20.output\x20.buttons\x20{\x0a\x20\x20top:\x20-3.75rem;\x0a\x20\x20right:\x200;\x0a\x20\x20height:\x200;\x0a}\x0a#content\x20.buttons\x20.kill\x20{\x0a\x20\x20display:\x20none;\x0a\x20\x20visibility:\x20hidden;\x0a}\x0aa.error\x20{\x0a\x20\x20font-weight:\x20bold;\x0a\x20\x20color:\x20white;\x0a\x20\x20background-color:\x20darkred;\x0a\x20\x20border-bottom-left-radius:\x200.25rem;\x0a\x20\x20border-bottom-right-radius:\x200.25rem;\x0a\x20\x20border-top-left-radius:\x200.25rem;\x0a\x20\x20border-top-right-radius:\x200.25rem;\x0a\x20\x20padding:\x200.125rem\x200.25rem\x200.125rem\x200.25rem;\x20/*\x20TRBL\x20*/\x0a}\x0a\x0a#heading-narrow\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a\x0a.downloading\x20{\x0a\x20\x20background:\x20#f9f9be;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a\x0a@media\x20(max-width:\x2058.125em)\x20{\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2047.5em)\x20{\x0a\x20\x20.container\x20.left,\x0a\x20\x20.container\x20.right\x20{\x0a\x20\x20\x20\x20width:\x20auto;\x0a\x20\x20\x20\x20float:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20div#about\x20{\x0a\x20\x20\x20\x20max-width:\x2031.25rem;\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(min-width:\x2043.75em)\x20and\x20(max-width:\x2062.5em)\x20{\x0a\x20\x20div#menu\x20>\x20a\x20{\x0a\x20\x20\x20\x20margin:\x200.3125rem\x200;\x0a\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20}\x0a\x0a\x20\x20input#search\x20{\x0a\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2043.75em)\x20{\x0a\x20\x20body\x20{\x0a\x20\x20\x20\x20font-size:\x200.9375rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#playground\x20{\x0a\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20right:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20pre,\x0a\x20\x20code\x20{\x0a\x20\x20\x20\x20font-size:\x200.866rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#page\x20>\x20.container\x20{\x0a\x20\x20\x20\x20padding:\x200\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#topbar\x20{\x0a\x20\x20\x20\x20height:\x20auto;\x0a\x20\x20\x20\x20padding:\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#topbar\x20>\x20.container\x20{\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20.top-heading\x20{\x0a\x20\x20\x20\x20float:\x20none;\x0a\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20\x20\x20padding:\x200.75rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#menu\x20{\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20float:\x20left;\x0a\x20\x20}\x0a\x0a\x20\x20div#menu\x20>\x20a\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20margin-left:\x200;\x0a\x20\x20\x20\x20margin-right:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20#menu\x20.search-box\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20}\x0a\x0a\x20\x20#menu-button\x20{\x0a\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20}\x0a\x0a\x20\x20p,\x0a\x20\x20pre,\x0a\x20\x20ul,\x0a\x20\x20ol\x20{\x0a\x20\x20\x20\x20margin:\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20.pkg-synopsis\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20img.gopher\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2030em)\x20{\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20print\x20{\x0a\x20\x20pre\x20{\x0a\x20\x20\x20\x20background:\x20#fff;\x0a\x20\x20\x20\x20border:\x200.0625rem\x20solid\x20#bbb;\x0a\x20\x20\x20\x20white-space:\x20pre-wrap;\x0a\x20\x20}\x0a}\x0a",
+}
internal/godoc/static/style.css
@@ -0,0 +1,902 @@
+body {
+  margin: 0;
+  font-family: Arial, sans-serif;
+  background-color: #fff;
+  line-height: 1.3;
+  text-align: center;
+  color: #222;
+}
+textarea {
+  /* Inherit text color from body avoiding illegible text in the case where the
+ 	* user has inverted the browsers custom text and background colors. */
+  color: inherit;
+}
+pre,
+code {
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+pre {
+  line-height: 1.4;
+  overflow-x: auto;
+}
+pre .comment {
+  color: #006600;
+}
+pre .highlight,
+pre .highlight-comment,
+pre .selection-highlight,
+pre .selection-highlight-comment {
+  background: #ffff00;
+}
+pre .selection,
+pre .selection-comment {
+  background: #ff9632;
+}
+pre .ln {
+  color: #999;
+  background: #efefef;
+}
+.ln {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+
+  /* Ensure 8 characters in the document - which due to floating
+   * point rendering issues, might have a width of less than 1 each - are 8
+   * characters wide, so a tab in the 9th position indents properly. See
+   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
+   * for more information. */
+  display: inline-block;
+  width: 8ch;
+}
+
+.search-nav {
+  margin-left: 1.25rem;
+  font-size: 0.875rem;
+  column-gap: 1.25rem;
+  column-fill: auto;
+  column-width: 14rem;
+}
+
+.search-nav .indent {
+  margin-left: 1.25rem;
+}
+
+a,
+.exampleHeading .text,
+.expandAll {
+  color: #375eab;
+  text-decoration: none;
+}
+a:hover,
+.exampleHeading .text:hover,
+.expandAll:hover {
+  text-decoration: underline;
+}
+.article a {
+  text-decoration: underline;
+}
+.article .title a {
+  text-decoration: none;
+}
+
+.permalink {
+  display: none;
+}
+:hover > .permalink {
+  display: inline;
+}
+
+p,
+li {
+  max-width: 50rem;
+  word-wrap: break-word;
+}
+p,
+pre,
+ul,
+ol {
+  margin: 1.25rem;
+}
+pre {
+  background: #efefef;
+  padding: 0.625rem;
+  border-radius: 0.3125rem;
+}
+
+h1,
+h2,
+h3,
+h4,
+.rootHeading {
+  margin: 1.25rem 0 1.25rem;
+  padding: 0;
+  color: #375eab;
+  font-weight: bold;
+}
+h1 {
+  font-size: 1.75rem;
+  line-height: 1;
+}
+h1 .text-muted {
+  color: #777;
+}
+h2 {
+  font-size: 1.25rem;
+  background: #e0ebf5;
+  padding: 0.5rem;
+  line-height: 1.25;
+  font-weight: normal;
+  overflow: auto;
+  overflow-wrap: break-word;
+}
+h2 a {
+  font-weight: bold;
+}
+h3 {
+  font-size: 1.25rem;
+  line-height: 1.25;
+  overflow: auto;
+  overflow-wrap: break-word;
+}
+h3,
+h4 {
+  margin: 1.25rem 0.3125rem;
+}
+h4 {
+  font-size: 1rem;
+}
+.rootHeading {
+  font-size: 1.25rem;
+  margin: 0;
+}
+
+h2 > span,
+h3 > span {
+  float: right;
+  margin: 0 25px 0 0;
+  font-weight: normal;
+  color: #5279c7;
+}
+
+dl {
+  margin: 1.25rem;
+}
+dd {
+  margin: 0 0 0 1.25rem;
+}
+dl,
+dd {
+  font-size: 0.875rem;
+}
+div#nav table td {
+  vertical-align: top;
+}
+
+#pkg-index h3 {
+  font-size: 1rem;
+}
+.pkg-dir {
+  padding: 0 0.625rem;
+}
+.pkg-dir table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+.pkg-name {
+  padding-right: 0.625rem;
+}
+.alert {
+  color: #aa0000;
+}
+
+.top-heading {
+  float: left;
+  padding: 1.313rem 0;
+  font-size: 1.25rem;
+  font-weight: normal;
+}
+.top-heading a {
+  color: #222;
+  text-decoration: none;
+}
+
+#pkg-examples h3 {
+  float: left;
+}
+
+#pkg-examples dl {
+  clear: both;
+}
+
+.expandAll {
+  cursor: pointer;
+  float: left;
+  margin: 1.25rem 0;
+}
+
+div#topbar {
+  background: #e0ebf5;
+  height: 4rem;
+  overflow: hidden;
+}
+
+div#page {
+  width: 100%;
+}
+div#page > .container,
+div#topbar > .container {
+  text-align: left;
+  margin-left: auto;
+  margin-right: auto;
+  padding: 0 1.25rem;
+}
+div#topbar > .container,
+div#page > .container {
+  max-width: 59.38rem;
+}
+div#page.wide > .container,
+div#topbar.wide > .container {
+  max-width: none;
+}
+div#plusone {
+  float: right;
+  clear: right;
+  margin-top: 0.3125rem;
+}
+
+div#footer {
+  text-align: center;
+  color: #666;
+  font-size: 0.875rem;
+  margin: 2.5rem 0;
+}
+
+div#menu > a,
+input#search,
+div#learn .buttons a,
+div.play .buttons a,
+div#blog .read a,
+#menu-button {
+  padding: 0.625rem;
+
+  text-decoration: none;
+  font-size: 1rem;
+  border-radius: 0.3125rem;
+}
+div#playground .buttons a,
+div#menu > a,
+input#search,
+#menu-button {
+  border: 0.0625rem solid #375eab;
+}
+div#playground .buttons a,
+div#menu > a,
+#menu-button {
+  color: white;
+  background: #375eab;
+}
+#playgroundButton.active {
+  background: white;
+  color: #375eab;
+}
+a#start,
+div#learn .buttons a,
+div.play .buttons a,
+div#blog .read a {
+  color: #222;
+  border: 0.0625rem solid #375eab;
+  background: #e0ebf5;
+}
+.download {
+  width: 9.375rem;
+}
+
+div#menu {
+  text-align: right;
+  padding: 0.625rem;
+  white-space: nowrap;
+  max-height: 0;
+  -moz-transition: max-height 0.25s linear;
+  transition: max-height 0.25s linear;
+  width: 100%;
+}
+div#menu.menu-visible {
+  max-height: 31.25rem;
+}
+div#menu > a,
+#menu-button {
+  margin: 0.625rem 0.125rem;
+  padding: 0.625rem;
+}
+::-webkit-input-placeholder {
+  color: #7f7f7f;
+  opacity: 1;
+}
+::placeholder {
+  color: #7f7f7f;
+  opacity: 1;
+}
+#menu .search-box {
+  display: inline-flex;
+  width: 8.75rem;
+}
+input#search {
+  background: white;
+  color: #222;
+  box-sizing: border-box;
+  -webkit-appearance: none;
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+  border-right: 0;
+  margin-right: 0;
+  flex-grow: 1;
+  max-width: 100%;
+  min-width: 5.625rem;
+}
+input#search:-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+input#search:-moz-ui-invalid {
+  box-shadow: unset;
+}
+input#search + button {
+  display: inline;
+  font-size: 1em;
+  background-color: #375eab;
+  color: white;
+  border: 0.0625rem solid #375eab;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0.3125rem;
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0.3125rem;
+  margin-left: 0;
+  cursor: pointer;
+}
+input#search + button span {
+  display: flex;
+}
+input#search + button svg {
+  fill: white;
+}
+
+#menu-button {
+  display: none;
+  position: absolute;
+  right: 0.3125rem;
+  top: 0;
+  margin-right: 0.3125rem;
+}
+#menu-button-arrow {
+  display: inline-block;
+}
+.vertical-flip {
+  transform: rotate(-180deg);
+}
+
+div.left {
+  float: left;
+  clear: left;
+  margin-right: 2.5%;
+}
+div.right {
+  float: right;
+  clear: right;
+  margin-left: 2.5%;
+}
+div.left,
+div.right {
+  width: 45%;
+}
+
+div#learn,
+div#about {
+  padding-top: 1.25rem;
+}
+div#learn h2,
+div#about {
+  margin: 0;
+}
+div#about {
+  font-size: 1.25rem;
+  margin: 0 auto 1.875rem;
+}
+div#gopher {
+  background: url(/doc/gopher/frontpage.png) no-repeat;
+  background-position: center top;
+  height: 9.688rem;
+  max-height: 200px; /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
+}
+a#start {
+  display: block;
+  padding: 0.625rem;
+
+  text-align: center;
+  text-decoration: none;
+  border-radius: 0.3125rem;
+}
+a#start .big {
+  display: block;
+  font-weight: bold;
+  font-size: 1.25rem;
+}
+a#start .desc {
+  display: block;
+  font-size: 0.875rem;
+  font-weight: normal;
+  margin-top: 0.3125rem;
+}
+
+div#learn .popout {
+  float: right;
+  display: block;
+  cursor: pointer;
+  font-size: 0.75rem;
+  background: url(/doc/share.png) no-repeat;
+  background-position: right center;
+  padding: 0.375rem 1.688rem;
+}
+div#learn pre,
+div#learn textarea {
+  padding: 0;
+  margin: 0;
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+div#learn .input {
+  padding: 0.625rem;
+  margin-top: 0.625rem;
+  height: 9.375rem;
+
+  border-top-left-radius: 0.3125rem;
+  border-top-right-radius: 0.3125rem;
+}
+div#learn .input textarea {
+  width: 100%;
+  height: 100%;
+  border: none;
+  outline: none;
+  resize: none;
+}
+div#learn .output {
+  border-top: none !important;
+
+  padding: 0.625rem;
+  height: 3.688rem;
+  overflow: auto;
+
+  border-bottom-right-radius: 0.3125rem;
+  border-bottom-left-radius: 0.3125rem;
+}
+div#learn .output pre {
+  padding: 0;
+  border-radius: 0;
+}
+div#learn .input,
+div#learn .input textarea,
+div#learn .output,
+div#learn .output pre {
+  background: #ffffd8;
+}
+div#learn .input,
+div#learn .output {
+  border: 0.0625rem solid #375eab;
+}
+div#learn .buttons {
+  float: right;
+  padding: 1.25rem 0 0.625rem 0;
+  text-align: right;
+}
+div#learn .buttons a {
+  height: 1rem;
+  margin-left: 0.3125rem;
+  padding: 0.625rem;
+}
+div#learn .toys {
+  margin-top: 0.5rem;
+}
+div#learn .toys select {
+  font-size: 0.875rem;
+  border: 0.0625rem solid #375eab;
+  margin: 0;
+}
+div#learn .output .exit {
+  display: none;
+}
+
+div#video {
+  max-width: 100%;
+}
+div#blog,
+div#video {
+  margin-top: 2.5rem;
+}
+div#blog > a,
+div#blog > div,
+div#blog > h2,
+div#video > a,
+div#video > div,
+div#video > h2 {
+  margin-bottom: 0.625rem;
+}
+div#blog .title,
+div#video .title {
+  display: block;
+  font-size: 1.25rem;
+}
+div#blog .when {
+  color: #666;
+  font-size: 0.875rem;
+}
+div#blog .read {
+  text-align: right;
+}
+
+@supports (--c: 0) {
+  [style*='--aspect-ratio-padding:'] {
+    position: relative;
+    overflow: hidden;
+    padding-top: var(--aspect-ratio-padding);
+  }
+
+  [style*='--aspect-ratio-padding:'] > * {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+  }
+}
+
+.toggleButton {
+  cursor: pointer;
+}
+.toggle > .collapsed {
+  display: block;
+}
+.toggle > .expanded {
+  display: none;
+}
+.toggleVisible > .collapsed {
+  display: none;
+}
+.toggleVisible > .expanded {
+  display: block;
+}
+
+table.codetable {
+  margin-left: auto;
+  margin-right: auto;
+  border-style: none;
+}
+table.codetable td {
+  padding-right: 0.625rem;
+}
+hr {
+  border-style: none;
+  border-top: 0.0625rem solid black;
+}
+
+img.gopher {
+  float: right;
+  margin-left: 0.625rem;
+  margin-bottom: 0.625rem;
+  z-index: -1;
+}
+h2 {
+  clear: right;
+}
+
+/* example and drop-down playground */
+div.play {
+  padding: 0 1.25rem 2.5rem 1.25rem;
+}
+div.play pre,
+div.play textarea,
+div.play .lines {
+  padding: 0;
+  margin: 0;
+  font-family: Menlo, monospace;
+  font-size: 0.875rem;
+}
+div.play .input {
+  padding: 0.625rem;
+  margin-top: 0.625rem;
+
+  border-top-left-radius: 0.3125rem;
+  border-top-right-radius: 0.3125rem;
+
+  overflow: hidden;
+}
+div.play .input textarea {
+  width: 100%;
+  height: 100%;
+  border: none;
+  outline: none;
+  resize: none;
+
+  overflow: hidden;
+}
+div#playground .input textarea {
+  overflow: auto;
+  resize: auto;
+}
+div.play .output {
+  border-top: none !important;
+
+  padding: 0.625rem;
+  max-height: 12.5rem;
+  overflow: auto;
+
+  border-bottom-right-radius: 0.3125rem;
+  border-bottom-left-radius: 0.3125rem;
+}
+div.play .output pre {
+  padding: 0;
+  border-radius: 0;
+}
+div.play .input,
+div.play .input textarea,
+div.play .output,
+div.play .output pre {
+  background: #ffffd8;
+}
+div.play .input,
+div.play .output {
+  border: 0.0625rem solid #375eab;
+}
+div.play .buttons {
+  float: right;
+  padding: 1.25rem 0 0.625rem 0;
+  text-align: right;
+}
+div.play .buttons a {
+  height: 1rem;
+  margin-left: 0.3125rem;
+  padding: 0.625rem;
+  cursor: pointer;
+}
+.output .stderr {
+  color: #933;
+}
+.output .system {
+  color: #999;
+}
+
+/* drop-down playground */
+div#playground {
+  /* start hidden; revealed by javascript */
+  display: none;
+}
+div#playground {
+  position: absolute;
+  top: 3.938rem;
+  right: 1.25rem;
+  padding: 0 0.625rem 0.625rem 0.625rem;
+  z-index: 1;
+  text-align: left;
+  background: #e0ebf5;
+
+  border: 0.0625rem solid #b0bbc5;
+  border-top: none;
+
+  border-bottom-left-radius: 0.3125rem;
+  border-bottom-right-radius: 0.3125rem;
+}
+div#playground .code {
+  width: 32.5rem;
+  height: 12.5rem;
+}
+div#playground .output {
+  height: 6.25rem;
+}
+
+/* Inline runnable snippets (play.js/initPlayground) */
+#content .code pre,
+#content .playground pre,
+#content .output pre {
+  margin: 0;
+  padding: 0;
+  background: none;
+  border: none;
+  outline: 0 solid transparent;
+  overflow: auto;
+}
+#content .playground .number,
+#content .code .number {
+  color: #999;
+}
+#content .code,
+#content .playground,
+#content .output {
+  width: auto;
+  margin: 1.25rem;
+  padding: 0.625rem;
+  border-radius: 0.3125rem;
+}
+#content .code,
+#content .playground {
+  background: #e9e9e9;
+}
+#content .output {
+  background: #202020;
+}
+#content .output .stdout,
+#content .output pre {
+  color: #e6e6e6;
+}
+#content .output .stderr,
+#content .output .error {
+  color: rgb(244, 74, 63);
+}
+#content .output .system,
+#content .output .exit {
+  color: rgb(255, 209, 77);
+}
+#content .buttons {
+  position: relative;
+  float: right;
+  top: -3.125rem;
+  right: 1.875rem;
+}
+#content .output .buttons {
+  top: -3.75rem;
+  right: 0;
+  height: 0;
+}
+#content .buttons .kill {
+  display: none;
+  visibility: hidden;
+}
+a.error {
+  font-weight: bold;
+  color: white;
+  background-color: darkred;
+  border-bottom-left-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem;
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+  padding: 0.125rem 0.25rem 0.125rem 0.25rem; /* TRBL */
+}
+
+#heading-narrow {
+  display: none;
+}
+
+.downloading {
+  background: #f9f9be;
+  padding: 0.625rem;
+  text-align: center;
+  border-radius: 0.3125rem;
+}
+
+@media (max-width: 58.125em) {
+  #heading-wide {
+    display: none;
+  }
+  #heading-narrow {
+    display: block;
+  }
+}
+
+@media (max-width: 47.5em) {
+  .container .left,
+  .container .right {
+    width: auto;
+    float: none;
+  }
+
+  div#about {
+    max-width: 31.25rem;
+    text-align: center;
+  }
+}
+
+@media (min-width: 43.75em) and (max-width: 62.5em) {
+  div#menu > a {
+    margin: 0.3125rem 0;
+    font-size: 0.875rem;
+  }
+
+  input#search {
+    font-size: 0.875rem;
+  }
+}
+
+@media (max-width: 43.75em) {
+  body {
+    font-size: 0.9375rem;
+  }
+
+  div#playground {
+    left: 0;
+    right: 0;
+  }
+
+  pre,
+  code {
+    font-size: 0.866rem;
+  }
+
+  div#page > .container {
+    padding: 0 0.625rem;
+  }
+
+  div#topbar {
+    height: auto;
+    padding: 0.625rem;
+  }
+
+  div#topbar > .container {
+    padding: 0;
+  }
+
+  #heading-wide {
+    display: block;
+  }
+  #heading-narrow {
+    display: none;
+  }
+
+  .top-heading {
+    float: none;
+    display: inline-block;
+    padding: 0.75rem;
+  }
+
+  div#menu {
+    padding: 0;
+    min-width: 0;
+    text-align: left;
+    float: left;
+  }
+
+  div#menu > a {
+    display: block;
+    margin-left: 0;
+    margin-right: 0;
+  }
+
+  #menu .search-box {
+    display: flex;
+    width: 100%;
+  }
+
+  #menu-button {
+    display: inline-block;
+  }
+
+  p,
+  pre,
+  ul,
+  ol {
+    margin: 0.625rem;
+  }
+
+  .pkg-synopsis {
+    display: none;
+  }
+
+  img.gopher {
+    display: none;
+  }
+}
+
+@media (max-width: 30em) {
+  #heading-wide {
+    display: none;
+  }
+  #heading-narrow {
+    display: block;
+  }
+}
+
+@media print {
+  pre {
+    background: #fff;
+    border: 0.0625rem solid #bbb;
+    white-space: pre-wrap;
+  }
+}
internal/godoc/tab.go
@@ -0,0 +1,82 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// TODO(bradfitz,adg): move to util
+
+package godoc
+
+import "io"
+
+var spaces = []byte("                                ") // 32 spaces seems like a good number
+
+const (
+	indenting = iota
+	collecting
+)
+
+// A tconv is an io.Writer filter for converting leading tabs into spaces.
+type tconv struct {
+	output io.Writer
+	state  int // indenting or collecting
+	indent int // valid if state == indenting
+	p      *Presentation
+}
+
+func (p *tconv) writeIndent() (err error) {
+	i := p.indent
+	for i >= len(spaces) {
+		i -= len(spaces)
+		if _, err = p.output.Write(spaces); err != nil {
+			return
+		}
+	}
+	// i < len(spaces)
+	if i > 0 {
+		_, err = p.output.Write(spaces[0:i])
+	}
+	return
+}
+
+func (p *tconv) Write(data []byte) (n int, err error) {
+	if len(data) == 0 {
+		return
+	}
+	pos := 0 // valid if p.state == collecting
+	var b byte
+	for n, b = range data {
+		switch p.state {
+		case indenting:
+			switch b {
+			case '\t':
+				p.indent += p.p.TabWidth
+			case '\n':
+				p.indent = 0
+				if _, err = p.output.Write(data[n : n+1]); err != nil {
+					return
+				}
+			case ' ':
+				p.indent++
+			default:
+				p.state = collecting
+				pos = n
+				if err = p.writeIndent(); err != nil {
+					return
+				}
+			}
+		case collecting:
+			if b == '\n' {
+				p.state = indenting
+				p.indent = 0
+				if _, err = p.output.Write(data[pos : n+1]); err != nil {
+					return
+				}
+			}
+		}
+	}
+	n = len(data)
+	if pos < n && p.state == collecting {
+		_, err = p.output.Write(data[pos:])
+	}
+	return
+}
internal/godoc/template.go
@@ -0,0 +1,179 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Template support for writing HTML documents.
+// Documents that include Template: true in their
+// metadata are executed as input to text/template.
+//
+// This file defines functions for those templates to invoke.
+
+// The template uses the function "code" to inject program
+// source into the output by extracting code from files and
+// injecting them as HTML-escaped <pre> blocks.
+//
+// The syntax is simple: 1, 2, or 3 space-separated arguments:
+//
+// Whole file:
+//	{{code "foo.go"}}
+// One line (here the signature of main):
+//	{{code "foo.go" `/^func.main/`}}
+// Block of text, determined by start and end (here the body of main):
+//	{{code "foo.go" `/^func.main/` `/^}/`
+//
+// Patterns can be `/regular expression/`, a decimal number, or "$"
+// to signify the end of the file. In multi-line matches,
+// lines that end with the four characters
+//	OMIT
+// are omitted from the output, making it easy to provide marker
+// lines in the input that will not appear in the output but are easy
+// to identify by pattern.
+
+package godoc
+
+import (
+	"bytes"
+	"fmt"
+	"log"
+	"regexp"
+	"strings"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// Functions in this file panic on error, but the panic is recovered
+// to an error by 'code'.
+
+// contents reads and returns the content of the named file
+// (from the virtual file system, so for example /doc refers to $GOROOT/doc).
+func (c *Corpus) contents(name string) string {
+	file, err := vfs.ReadFile(c.fs, name)
+	if err != nil {
+		log.Panic(err)
+	}
+	return string(file)
+}
+
+// stringFor returns a textual representation of the arg, formatted according to its nature.
+func stringFor(arg interface{}) string {
+	switch arg := arg.(type) {
+	case int:
+		return fmt.Sprintf("%d", arg)
+	case string:
+		if len(arg) > 2 && arg[0] == '/' && arg[len(arg)-1] == '/' {
+			return fmt.Sprintf("%#q", arg)
+		}
+		return fmt.Sprintf("%q", arg)
+	default:
+		log.Panicf("unrecognized argument: %v type %T", arg, arg)
+	}
+	return ""
+}
+
+func (p *Presentation) code(file string, arg ...interface{}) (s string, err error) {
+	defer func() {
+		if r := recover(); r != nil {
+			err = fmt.Errorf("%v", r)
+		}
+	}()
+
+	text := p.Corpus.contents(file)
+	var command string
+	switch len(arg) {
+	case 0:
+		// text is already whole file.
+		command = fmt.Sprintf("code %q", file)
+	case 1:
+		command = fmt.Sprintf("code %q %s", file, stringFor(arg[0]))
+		text = p.Corpus.oneLine(file, text, arg[0])
+	case 2:
+		command = fmt.Sprintf("code %q %s %s", file, stringFor(arg[0]), stringFor(arg[1]))
+		text = p.Corpus.multipleLines(file, text, arg[0], arg[1])
+	default:
+		return "", fmt.Errorf("incorrect code invocation: code %q [%v, ...] (%d arguments)", file, arg[0], len(arg))
+	}
+	// Trim spaces from output.
+	text = strings.Trim(text, "\n")
+	// Replace tabs by spaces, which work better in HTML.
+	text = strings.Replace(text, "\t", "    ", -1)
+	var buf bytes.Buffer
+	// HTML-escape text and syntax-color comments like elsewhere.
+	FormatText(&buf, []byte(text), -1, true, "", nil)
+	// Include the command as a comment.
+	text = fmt.Sprintf("<pre><!--{{%s}}\n-->%s</pre>", command, buf.Bytes())
+	return text, nil
+}
+
+// parseArg returns the integer or string value of the argument and tells which it is.
+func parseArg(arg interface{}, file string, max int) (ival int, sval string, isInt bool) {
+	switch n := arg.(type) {
+	case int:
+		if n <= 0 || n > max {
+			log.Panicf("%q:%d is out of range", file, n)
+		}
+		return n, "", true
+	case string:
+		return 0, n, false
+	}
+	log.Panicf("unrecognized argument %v type %T", arg, arg)
+	return
+}
+
+// oneLine returns the single line generated by a two-argument code invocation.
+func (c *Corpus) oneLine(file, text string, arg interface{}) string {
+	lines := strings.SplitAfter(c.contents(file), "\n")
+	line, pattern, isInt := parseArg(arg, file, len(lines))
+	if isInt {
+		return lines[line-1]
+	}
+	return lines[match(file, 0, lines, pattern)-1]
+}
+
+// multipleLines returns the text generated by a three-argument code invocation.
+func (c *Corpus) multipleLines(file, text string, arg1, arg2 interface{}) string {
+	lines := strings.SplitAfter(c.contents(file), "\n")
+	line1, pattern1, isInt1 := parseArg(arg1, file, len(lines))
+	line2, pattern2, isInt2 := parseArg(arg2, file, len(lines))
+	if !isInt1 {
+		line1 = match(file, 0, lines, pattern1)
+	}
+	if !isInt2 {
+		line2 = match(file, line1, lines, pattern2)
+	} else if line2 < line1 {
+		log.Panicf("lines out of order for %q: %d %d", text, line1, line2)
+	}
+	for k := line1 - 1; k < line2; k++ {
+		if strings.HasSuffix(lines[k], "OMIT\n") {
+			lines[k] = ""
+		}
+	}
+	return strings.Join(lines[line1-1:line2], "")
+}
+
+// match identifies the input line that matches the pattern in a code invocation.
+// If start>0, match lines starting there rather than at the beginning.
+// The return value is 1-indexed.
+func match(file string, start int, lines []string, pattern string) int {
+	// $ matches the end of the file.
+	if pattern == "$" {
+		if len(lines) == 0 {
+			log.Panicf("%q: empty file", file)
+		}
+		return len(lines)
+	}
+	// /regexp/ matches the line that matches the regexp.
+	if len(pattern) > 2 && pattern[0] == '/' && pattern[len(pattern)-1] == '/' {
+		re, err := regexp.Compile(pattern[1 : len(pattern)-1])
+		if err != nil {
+			log.Panic(err)
+		}
+		for i := start; i < len(lines); i++ {
+			if re.MatchString(lines[i]) {
+				return i + 1
+			}
+		}
+		log.Panicf("%s: no match for %#q", file, pattern)
+	}
+	log.Panicf("unrecognized pattern: %q", pattern)
+	return 0
+}
internal/godoc/util/throttle.go
@@ -0,0 +1,88 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package util
+
+import "time"
+
+// A Throttle permits throttling of a goroutine by
+// calling the Throttle method repeatedly.
+//
+type Throttle struct {
+	f  float64       // f = (1-r)/r for 0 < r < 1
+	dt time.Duration // minimum run time slice; >= 0
+	tr time.Duration // accumulated time running
+	ts time.Duration // accumulated time stopped
+	tt time.Time     // earliest throttle time (= time Throttle returned + tm)
+}
+
+// NewThrottle creates a new Throttle with a throttle value r and
+// a minimum allocated run time slice of dt:
+//
+//	r == 0: "empty" throttle; the goroutine is always sleeping
+//	r == 1: full throttle; the goroutine is never sleeping
+//
+// A value of r == 0.6 throttles a goroutine such that it runs
+// approx. 60% of the time, and sleeps approx. 40% of the time.
+// Values of r < 0 or r > 1 are clamped down to values between 0 and 1.
+// Values of dt < 0 are set to 0.
+//
+func NewThrottle(r float64, dt time.Duration) *Throttle {
+	var f float64
+	switch {
+	case r <= 0:
+		f = -1 // indicates always sleep
+	case r >= 1:
+		f = 0 // assume r == 1 (never sleep)
+	default:
+		// 0 < r < 1
+		f = (1 - r) / r
+	}
+	if dt < 0 {
+		dt = 0
+	}
+	return &Throttle{f: f, dt: dt, tt: time.Now().Add(dt)}
+}
+
+// Throttle calls time.Sleep such that over time the ratio tr/ts between
+// accumulated run (tr) and sleep times (ts) approximates the value 1/(1-r)
+// where r is the throttle value. Throttle returns immediately (w/o sleeping)
+// if less than tm ns have passed since the last call to Throttle.
+//
+func (p *Throttle) Throttle() {
+	if p.f < 0 {
+		select {} // always sleep
+	}
+
+	t0 := time.Now()
+	if t0.Before(p.tt) {
+		return // keep running (minimum time slice not exhausted yet)
+	}
+
+	// accumulate running time
+	p.tr += t0.Sub(p.tt) + p.dt
+
+	// compute sleep time
+	// Over time we want:
+	//
+	//	tr/ts = r/(1-r)
+	//
+	// Thus:
+	//
+	//	ts = tr*f with f = (1-r)/r
+	//
+	// After some incremental run time δr added to the total run time
+	// tr, the incremental sleep-time δs to get to the same ratio again
+	// after waking up from time.Sleep is:
+	if δs := time.Duration(float64(p.tr)*p.f) - p.ts; δs > 0 {
+		time.Sleep(δs)
+	}
+
+	// accumulate (actual) sleep time
+	t1 := time.Now()
+	p.ts += t1.Sub(t0)
+
+	// set earliest next throttle time
+	p.tt = t1.Add(p.dt)
+}
internal/godoc/util/util.go
@@ -0,0 +1,90 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package util contains utility types and functions for godoc.
+package util // import "golang.org/x/website/internal/godoc/util"
+
+import (
+	pathpkg "path"
+	"sync"
+	"time"
+	"unicode/utf8"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// An RWValue wraps a value and permits mutually exclusive
+// access to it and records the time the value was last set.
+type RWValue struct {
+	mutex     sync.RWMutex
+	value     interface{}
+	timestamp time.Time // time of last set()
+}
+
+func (v *RWValue) Set(value interface{}) {
+	v.mutex.Lock()
+	v.value = value
+	v.timestamp = time.Now()
+	v.mutex.Unlock()
+}
+
+func (v *RWValue) Get() (interface{}, time.Time) {
+	v.mutex.RLock()
+	defer v.mutex.RUnlock()
+	return v.value, v.timestamp
+}
+
+// IsText reports whether a significant prefix of s looks like correct UTF-8;
+// that is, if it is likely that s is human-readable text.
+func IsText(s []byte) bool {
+	const max = 1024 // at least utf8.UTFMax
+	if len(s) > max {
+		s = s[0:max]
+	}
+	for i, c := range string(s) {
+		if i+utf8.UTFMax > len(s) {
+			// last char may be incomplete - ignore
+			break
+		}
+		if c == 0xFFFD || c < ' ' && c != '\n' && c != '\t' && c != '\f' {
+			// decoding error or control character - not a text file
+			return false
+		}
+	}
+	return true
+}
+
+// textExt[x] is true if the extension x indicates a text file, and false otherwise.
+var textExt = map[string]bool{
+	".css": false, // must be served raw
+	".js":  false, // must be served raw
+	".svg": false, // must be served raw
+}
+
+// IsTextFile reports whether the file has a known extension indicating
+// a text file, or if a significant chunk of the specified file looks like
+// correct UTF-8; that is, if it is likely that the file contains human-
+// readable text.
+func IsTextFile(fs vfs.Opener, filename string) bool {
+	// if the extension is known, use it for decision making
+	if isText, found := textExt[pathpkg.Ext(filename)]; found {
+		return isText
+	}
+
+	// the extension is not known; read an initial chunk
+	// of the file and check if it looks like text
+	f, err := fs.Open(filename)
+	if err != nil {
+		return false
+	}
+	defer f.Close()
+
+	var buf [1024]byte
+	n, err := f.Read(buf[0:])
+	if err != nil {
+		return false
+	}
+
+	return IsText(buf[0:n])
+}
internal/godoc/versions.go
@@ -0,0 +1,265 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file caches information about which standard library types, methods,
+// and functions appeared in what version of Go
+
+package godoc
+
+import (
+	"bufio"
+	"go/build"
+	"log"
+	"os"
+	"path/filepath"
+	"sort"
+	"strconv"
+	"strings"
+	"unicode"
+)
+
+// apiVersions is a map of packages to information about those packages'
+// symbols and when they were added to Go.
+//
+// Only things added after Go1 are tracked. Version strings are of the
+// form "1.1", "1.2", etc.
+type apiVersions map[string]pkgAPIVersions // keyed by Go package ("net/http")
+
+// pkgAPIVersions contains information about which version of Go added
+// certain package symbols.
+//
+// Only things added after Go1 are tracked. Version strings are of the
+// form "1.1", "1.2", etc.
+type pkgAPIVersions struct {
+	typeSince   map[string]string            // "Server" -> "1.7"
+	methodSince map[string]map[string]string // "*Server" ->"Shutdown"->1.8
+	funcSince   map[string]string            // "NewServer" -> "1.7"
+	fieldSince  map[string]map[string]string // "ClientTrace" -> "Got1xxResponse" -> "1.11"
+}
+
+// sinceVersionFunc returns a string (such as "1.7") specifying which Go
+// version introduced a symbol, unless it was introduced in Go1, in
+// which case it returns the empty string.
+//
+// The kind is one of "type", "method", or "func".
+//
+// The receiver is only used for "methods" and specifies the receiver type,
+// such as "*Server".
+//
+// The name is the symbol name ("Server") and the pkg is the package
+// ("net/http").
+func (v apiVersions) sinceVersionFunc(kind, receiver, name, pkg string) string {
+	pv := v[pkg]
+	switch kind {
+	case "func":
+		return pv.funcSince[name]
+	case "type":
+		return pv.typeSince[name]
+	case "method":
+		return pv.methodSince[receiver][name]
+	}
+	return ""
+}
+
+// versionedRow represents an API feature, a parsed line of a
+// $GOROOT/api/go.*txt file.
+type versionedRow struct {
+	pkg        string // "net/http"
+	kind       string // "type", "func", "method", "field" TODO: "const", "var"
+	recv       string // for methods, the receiver type ("Server", "*Server")
+	name       string // name of type, (struct) field, func, method
+	structName string // for struct fields, the outer struct name
+}
+
+// versionParser parses $GOROOT/api/go*.txt files and stores them in in its rows field.
+type versionParser struct {
+	res apiVersions // initialized lazily
+}
+
+// parseFile parses the named $GOROOT/api/goVERSION.txt file.
+//
+// For each row, it updates the corresponding entry in
+// vp.res to VERSION, overwriting any previous value.
+// As a special case, if goVERSION is "go1", it deletes
+// from the map instead.
+func (vp *versionParser) parseFile(name string) error {
+	f, err := os.Open(name)
+	if err != nil {
+		return err
+	}
+	defer f.Close()
+
+	base := filepath.Base(name)
+	ver := strings.TrimPrefix(strings.TrimSuffix(base, ".txt"), "go")
+
+	sc := bufio.NewScanner(f)
+	for sc.Scan() {
+		row, ok := parseRow(sc.Text())
+		if !ok {
+			continue
+		}
+		if vp.res == nil {
+			vp.res = make(apiVersions)
+		}
+		pkgi, ok := vp.res[row.pkg]
+		if !ok {
+			pkgi = pkgAPIVersions{
+				typeSince:   make(map[string]string),
+				methodSince: make(map[string]map[string]string),
+				funcSince:   make(map[string]string),
+				fieldSince:  make(map[string]map[string]string),
+			}
+			vp.res[row.pkg] = pkgi
+		}
+		switch row.kind {
+		case "func":
+			if ver == "1" {
+				delete(pkgi.funcSince, row.name)
+				break
+			}
+			pkgi.funcSince[row.name] = ver
+		case "type":
+			if ver == "1" {
+				delete(pkgi.typeSince, row.name)
+				break
+			}
+			pkgi.typeSince[row.name] = ver
+		case "method":
+			if ver == "1" {
+				delete(pkgi.methodSince[row.recv], row.name)
+				break
+			}
+			if _, ok := pkgi.methodSince[row.recv]; !ok {
+				pkgi.methodSince[row.recv] = make(map[string]string)
+			}
+			pkgi.methodSince[row.recv][row.name] = ver
+		case "field":
+			if ver == "1" {
+				delete(pkgi.fieldSince[row.structName], row.name)
+				break
+			}
+			if _, ok := pkgi.fieldSince[row.structName]; !ok {
+				pkgi.fieldSince[row.structName] = make(map[string]string)
+			}
+			pkgi.fieldSince[row.structName][row.name] = ver
+		}
+	}
+	return sc.Err()
+}
+
+func parseRow(s string) (vr versionedRow, ok bool) {
+	if !strings.HasPrefix(s, "pkg ") {
+		// Skip comments, blank lines, etc.
+		return
+	}
+	rest := s[len("pkg "):]
+	endPkg := strings.IndexFunc(rest, func(r rune) bool { return !(unicode.IsLetter(r) || r == '/' || unicode.IsDigit(r)) })
+	if endPkg == -1 {
+		return
+	}
+	vr.pkg, rest = rest[:endPkg], rest[endPkg:]
+	if !strings.HasPrefix(rest, ", ") {
+		// If the part after the pkg name isn't ", ", then it's a OS/ARCH-dependent line of the form:
+		//   pkg syscall (darwin-amd64), const ImplementsGetwd = false
+		// We skip those for now.
+		return
+	}
+	rest = rest[len(", "):]
+
+	switch {
+	case strings.HasPrefix(rest, "type "):
+		rest = rest[len("type "):]
+		sp := strings.IndexByte(rest, ' ')
+		if sp == -1 {
+			return
+		}
+		vr.name, rest = rest[:sp], rest[sp+1:]
+		if !strings.HasPrefix(rest, "struct, ") {
+			vr.kind = "type"
+			return vr, true
+		}
+		rest = rest[len("struct, "):]
+		if i := strings.IndexByte(rest, ' '); i != -1 {
+			vr.kind = "field"
+			vr.structName = vr.name
+			vr.name = rest[:i]
+			return vr, true
+		}
+	case strings.HasPrefix(rest, "func "):
+		vr.kind = "func"
+		rest = rest[len("func "):]
+		if i := strings.IndexByte(rest, '('); i != -1 {
+			vr.name = rest[:i]
+			return vr, true
+		}
+	case strings.HasPrefix(rest, "method "): // "method (*File) SetModTime(time.Time)"
+		vr.kind = "method"
+		rest = rest[len("method "):] // "(*File) SetModTime(time.Time)"
+		sp := strings.IndexByte(rest, ' ')
+		if sp == -1 {
+			return
+		}
+		vr.recv = strings.Trim(rest[:sp], "()") // "*File"
+		rest = rest[sp+1:]                      // SetMode(os.FileMode)
+		paren := strings.IndexByte(rest, '(')
+		if paren == -1 {
+			return
+		}
+		vr.name = rest[:paren]
+		return vr, true
+	}
+	return // TODO: handle more cases
+}
+
+// InitVersionInfo parses the $GOROOT/api/go*.txt API definition files to discover
+// which API features were added in which Go releases.
+func (c *Corpus) InitVersionInfo() {
+	var err error
+	c.pkgAPIInfo, err = parsePackageAPIInfo()
+	if err != nil {
+		// TODO: consider making this fatal, after the Go 1.11 cycle.
+		log.Printf("godoc: error parsing API version files: %v", err)
+	}
+}
+
+func parsePackageAPIInfo() (apiVersions, error) {
+	var apiGlob string
+	if os.Getenv("GOROOT") == "" {
+		apiGlob = filepath.Join(build.Default.GOROOT, "api", "go*.txt")
+	} else {
+		apiGlob = filepath.Join(os.Getenv("GOROOT"), "api", "go*.txt")
+	}
+
+	files, err := filepath.Glob(apiGlob)
+	if err != nil {
+		return nil, err
+	}
+
+	// Process files in go1.n, go1.n-1, ..., go1.2, go1.1, go1 order.
+	//
+	// It's rare, but the signature of an identifier may change
+	// (for example, a function that accepts a type replaced with
+	// an alias), and so an existing symbol may show up again in
+	// a later api/go1.N.txt file. Parsing in reverse version
+	// order means we end up with the earliest version of Go
+	// when the symbol was added. See golang.org/issue/44081.
+	//
+	ver := func(name string) int {
+		base := filepath.Base(name)
+		ver := strings.TrimPrefix(strings.TrimSuffix(base, ".txt"), "go1.")
+		if ver == "go1" {
+			return 0
+		}
+		v, _ := strconv.Atoi(ver)
+		return v
+	}
+	sort.Slice(files, func(i, j int) bool { return ver(files[i]) > ver(files[j]) })
+	vp := new(versionParser)
+	for _, f := range files {
+		if err := vp.parseFile(f); err != nil {
+			return nil, err
+		}
+	}
+	return vp.res, nil
+}
internal/godoc/versions_test.go
@@ -0,0 +1,139 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"go/build"
+	"testing"
+)
+
+func TestParseVersionRow(t *testing.T) {
+	tests := []struct {
+		row  string
+		want versionedRow
+	}{
+		{
+			row: "# comment",
+		},
+		{
+			row: "",
+		},
+		{
+			row: "pkg archive/tar, type Writer struct",
+			want: versionedRow{
+				pkg:  "archive/tar",
+				kind: "type",
+				name: "Writer",
+			},
+		},
+		{
+			row: "pkg archive/tar, type Header struct, AccessTime time.Time",
+			want: versionedRow{
+				pkg:        "archive/tar",
+				kind:       "field",
+				structName: "Header",
+				name:       "AccessTime",
+			},
+		},
+		{
+			row: "pkg archive/tar, method (*Reader) Read([]uint8) (int, error)",
+			want: versionedRow{
+				pkg:  "archive/tar",
+				kind: "method",
+				name: "Read",
+				recv: "*Reader",
+			},
+		},
+		{
+			row: "pkg archive/zip, func FileInfoHeader(os.FileInfo) (*FileHeader, error)",
+			want: versionedRow{
+				pkg:  "archive/zip",
+				kind: "func",
+				name: "FileInfoHeader",
+			},
+		},
+		{
+			row: "pkg encoding/base32, method (Encoding) WithPadding(int32) *Encoding",
+			want: versionedRow{
+				pkg:  "encoding/base32",
+				kind: "method",
+				name: "WithPadding",
+				recv: "Encoding",
+			},
+		},
+	}
+
+	for i, tt := range tests {
+		got, ok := parseRow(tt.row)
+		if !ok {
+			got = versionedRow{}
+		}
+		if got != tt.want {
+			t.Errorf("%d. parseRow(%q) = %+v; want %+v", i, tt.row, got, tt.want)
+		}
+	}
+}
+
+// hasTag checks whether a given release tag is contained in the current version
+// of the go binary.
+func hasTag(t string) bool {
+	for _, v := range build.Default.ReleaseTags {
+		if t == v {
+			return true
+		}
+	}
+	return false
+}
+
+func TestAPIVersion(t *testing.T) {
+	av, err := parsePackageAPIInfo()
+	if err != nil {
+		t.Fatal(err)
+	}
+	for _, tc := range []struct {
+		kind     string
+		pkg      string
+		name     string
+		receiver string
+		want     string
+	}{
+		// Things that were added post-1.0 should appear
+		{"func", "archive/tar", "FileInfoHeader", "", "1.1"},
+		{"type", "bufio", "Scanner", "", "1.1"},
+		{"method", "bufio", "WriteTo", "*Reader", "1.1"},
+
+		{"func", "bytes", "LastIndexByte", "", "1.5"},
+		{"type", "crypto", "Decrypter", "", "1.5"},
+		{"method", "crypto/rsa", "Decrypt", "*PrivateKey", "1.5"},
+		{"method", "debug/dwarf", "GoString", "Class", "1.5"},
+
+		{"func", "os", "IsTimeout", "", "1.10"},
+		{"type", "strings", "Builder", "", "1.10"},
+		{"method", "strings", "WriteString", "*Builder", "1.10"},
+
+		// Should get the earliest Go version when an identifier
+		// was initially added, rather than a later version when
+		// it may have been updated. See issue 44081.
+		{"func", "os", "Chmod", "", ""},              // Go 1 era function, updated in Go 1.16.
+		{"method", "os", "Readdir", "*File", ""},     // Go 1 era method, updated in Go 1.16.
+		{"method", "os", "ReadDir", "*File", "1.16"}, // New to Go 1.16.
+
+		// Things from package syscall should never appear
+		{"func", "syscall", "FchFlags", "", ""},
+		{"type", "syscall", "Inet4Pktinfo", "", ""},
+
+		// Things added in Go 1 should never appear
+		{"func", "archive/tar", "NewReader", "", ""},
+		{"type", "archive/tar", "Header", "", ""},
+		{"method", "archive/tar", "Next", "*Reader", ""},
+	} {
+		if tc.want != "" && !hasTag("go"+tc.want) {
+			continue
+		}
+		if got := av.sinceVersionFunc(tc.kind, tc.receiver, tc.name, tc.pkg); got != tc.want {
+			t.Errorf(`sinceFunc("%s", "%s", "%s", "%s") = "%s"; want "%s"`, tc.kind, tc.receiver, tc.name, tc.pkg, got, tc.want)
+		}
+	}
+}
internal/godoc/vfs/emptyvfs.go
@@ -0,0 +1,89 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package vfs
+
+import (
+	"fmt"
+	"os"
+	"time"
+)
+
+// NewNameSpace returns a NameSpace pre-initialized with an empty
+// emulated directory mounted on the root mount point "/". This
+// allows directory traversal routines to work properly even if
+// a folder is not explicitly mounted at root by the user.
+func NewNameSpace() NameSpace {
+	ns := NameSpace{}
+	ns.Bind("/", &emptyVFS{}, "/", BindReplace)
+	return ns
+}
+
+// type emptyVFS emulates a FileSystem consisting of an empty directory
+type emptyVFS struct{}
+
+// Open implements Opener. Since emptyVFS is an empty directory, all
+// attempts to open a file should returns errors.
+func (e *emptyVFS) Open(path string) (ReadSeekCloser, error) {
+	if path == "/" {
+		return nil, fmt.Errorf("open: / is a directory")
+	}
+	return nil, os.ErrNotExist
+}
+
+// Stat returns os.FileInfo for an empty directory if the path is
+// is root "/" or error. os.FileInfo is implemented by emptyVFS
+func (e *emptyVFS) Stat(path string) (os.FileInfo, error) {
+	if path == "/" {
+		return e, nil
+	}
+	return nil, os.ErrNotExist
+}
+
+func (e *emptyVFS) Lstat(path string) (os.FileInfo, error) {
+	return e.Stat(path)
+}
+
+// ReadDir returns an empty os.FileInfo slice for "/", else error.
+func (e *emptyVFS) ReadDir(path string) ([]os.FileInfo, error) {
+	if path == "/" {
+		return []os.FileInfo{}, nil
+	}
+	return nil, os.ErrNotExist
+}
+
+func (e *emptyVFS) String() string {
+	return "emptyVFS(/)"
+}
+
+func (e *emptyVFS) RootType(path string) RootType {
+	return ""
+}
+
+// These functions below implement os.FileInfo for the single
+// empty emulated directory.
+
+func (e *emptyVFS) Name() string {
+	return "/"
+}
+
+func (e *emptyVFS) Size() int64 {
+	return 0
+}
+
+func (e *emptyVFS) Mode() os.FileMode {
+	return os.ModeDir | os.ModePerm
+}
+
+func (e *emptyVFS) ModTime() time.Time {
+	return time.Time{}
+}
+
+func (e *emptyVFS) IsDir() bool {
+	return true
+}
+
+func (e *emptyVFS) Sys() interface{} {
+	return nil
+}
internal/godoc/vfs/fs.go
@@ -0,0 +1,80 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.16
+// +build go1.16
+
+package vfs
+
+import (
+	"io/fs"
+	"os"
+	"path"
+	"strings"
+)
+
+// FromFS converts an fs.FS to the FileSystem interface.
+func FromFS(fsys fs.FS) FileSystem {
+	return &fsysToFileSystem{fsys}
+}
+
+type fsysToFileSystem struct {
+	fsys fs.FS
+}
+
+func (f *fsysToFileSystem) fsPath(name string) string {
+	name = path.Clean(name)
+	if name == "/" {
+		return "."
+	}
+	return strings.TrimPrefix(name, "/")
+}
+
+func (f *fsysToFileSystem) Open(name string) (ReadSeekCloser, error) {
+	file, err := f.fsys.Open(f.fsPath(name))
+	if err != nil {
+		return nil, err
+	}
+	if rsc, ok := file.(ReadSeekCloser); ok {
+		return rsc, nil
+	}
+	return &noSeekFile{f.fsPath(name), file}, nil
+}
+
+func (f *fsysToFileSystem) Lstat(name string) (os.FileInfo, error) {
+	return fs.Stat(f.fsys, f.fsPath(name))
+}
+
+func (f *fsysToFileSystem) Stat(name string) (os.FileInfo, error) {
+	return fs.Stat(f.fsys, f.fsPath(name))
+}
+
+func (f *fsysToFileSystem) RootType(name string) RootType { return "" }
+
+func (f *fsysToFileSystem) ReadDir(name string) ([]os.FileInfo, error) {
+	dirs, err := fs.ReadDir(f.fsys, f.fsPath(name))
+	var infos []os.FileInfo
+	for _, d := range dirs {
+		info, err1 := d.Info()
+		if err1 != nil {
+			if err == nil {
+				err = err1
+			}
+			continue
+		}
+		infos = append(infos, info)
+	}
+	return infos, err
+}
+
+func (f *fsysToFileSystem) String() string { return "io/fs" }
+
+type noSeekFile struct {
+	path string
+	fs.File
+}
+
+func (f *noSeekFile) Seek(offset int64, whence int) (int64, error) {
+	return 0, &fs.PathError{Op: "seek", Path: f.path, Err: fs.ErrInvalid}
+}
internal/godoc/vfs/gatefs/gatefs.go
@@ -0,0 +1,93 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package gatefs provides an implementation of the FileSystem
+// interface that wraps another FileSystem and limits its concurrency.
+package gatefs // import "golang.org/x/website/internal/godoc/vfs/gatefs"
+
+import (
+	"fmt"
+	"os"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// New returns a new FileSystem that delegates to fs.
+// If gateCh is non-nil and buffered, it's used as a gate
+// to limit concurrency on calls to fs.
+func New(fs vfs.FileSystem, gateCh chan bool) vfs.FileSystem {
+	if cap(gateCh) == 0 {
+		return fs
+	}
+	return gatefs{fs, gate(gateCh)}
+}
+
+type gate chan bool
+
+func (g gate) enter() { g <- true }
+func (g gate) leave() { <-g }
+
+type gatefs struct {
+	fs vfs.FileSystem
+	gate
+}
+
+func (fs gatefs) String() string {
+	return fmt.Sprintf("gated(%s, %d)", fs.fs.String(), cap(fs.gate))
+}
+
+func (fs gatefs) RootType(path string) vfs.RootType {
+	return fs.fs.RootType(path)
+}
+
+func (fs gatefs) Open(p string) (vfs.ReadSeekCloser, error) {
+	fs.enter()
+	defer fs.leave()
+	rsc, err := fs.fs.Open(p)
+	if err != nil {
+		return nil, err
+	}
+	return gatef{rsc, fs.gate}, nil
+}
+
+func (fs gatefs) Lstat(p string) (os.FileInfo, error) {
+	fs.enter()
+	defer fs.leave()
+	return fs.fs.Lstat(p)
+}
+
+func (fs gatefs) Stat(p string) (os.FileInfo, error) {
+	fs.enter()
+	defer fs.leave()
+	return fs.fs.Stat(p)
+}
+
+func (fs gatefs) ReadDir(p string) ([]os.FileInfo, error) {
+	fs.enter()
+	defer fs.leave()
+	return fs.fs.ReadDir(p)
+}
+
+type gatef struct {
+	rsc vfs.ReadSeekCloser
+	gate
+}
+
+func (f gatef) Read(p []byte) (n int, err error) {
+	f.enter()
+	defer f.leave()
+	return f.rsc.Read(p)
+}
+
+func (f gatef) Seek(offset int64, whence int) (ret int64, err error) {
+	f.enter()
+	defer f.leave()
+	return f.rsc.Seek(offset, whence)
+}
+
+func (f gatef) Close() error {
+	f.enter()
+	defer f.leave()
+	return f.rsc.Close()
+}
internal/godoc/vfs/gatefs/gatefs_test.go
@@ -0,0 +1,39 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package gatefs_test
+
+import (
+	"os"
+	"runtime"
+	"testing"
+
+	"golang.org/x/website/internal/godoc/vfs"
+	"golang.org/x/website/internal/godoc/vfs/gatefs"
+)
+
+func TestRootType(t *testing.T) {
+	goPath := os.Getenv("GOPATH")
+	var expectedType vfs.RootType
+	if goPath == "" {
+		expectedType = ""
+	} else {
+		expectedType = vfs.RootTypeGoPath
+	}
+	tests := []struct {
+		path   string
+		fsType vfs.RootType
+	}{
+		{runtime.GOROOT(), vfs.RootTypeGoRoot},
+		{goPath, expectedType},
+		{"/tmp/", ""},
+	}
+
+	for _, item := range tests {
+		fs := gatefs.New(vfs.OS(item.path), make(chan bool, 1))
+		if fs.RootType("path") != item.fsType {
+			t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
+		}
+	}
+}
internal/godoc/vfs/httpfs/httpfs.go
@@ -0,0 +1,94 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
+package httpfs // import "golang.org/x/tools/godoc/vfs/httpfs"
+
+import (
+	"fmt"
+	"io"
+	"net/http"
+	"os"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+func New(fs vfs.FileSystem) http.FileSystem {
+	return &httpFS{fs}
+}
+
+type httpFS struct {
+	fs vfs.FileSystem
+}
+
+func (h *httpFS) Open(name string) (http.File, error) {
+	fi, err := h.fs.Stat(name)
+	if err != nil {
+		return nil, err
+	}
+	if fi.IsDir() {
+		return &httpDir{h.fs, name, nil}, nil
+	}
+	f, err := h.fs.Open(name)
+	if err != nil {
+		return nil, err
+	}
+	return &httpFile{h.fs, f, name}, nil
+}
+
+// httpDir implements http.File for a directory in a FileSystem.
+type httpDir struct {
+	fs      vfs.FileSystem
+	name    string
+	pending []os.FileInfo
+}
+
+func (h *httpDir) Close() error               { return nil }
+func (h *httpDir) Stat() (os.FileInfo, error) { return h.fs.Stat(h.name) }
+func (h *httpDir) Read([]byte) (int, error) {
+	return 0, fmt.Errorf("cannot Read from directory %s", h.name)
+}
+
+func (h *httpDir) Seek(offset int64, whence int) (int64, error) {
+	if offset == 0 && whence == 0 {
+		h.pending = nil
+		return 0, nil
+	}
+	return 0, fmt.Errorf("unsupported Seek in directory %s", h.name)
+}
+
+func (h *httpDir) Readdir(count int) ([]os.FileInfo, error) {
+	if h.pending == nil {
+		d, err := h.fs.ReadDir(h.name)
+		if err != nil {
+			return nil, err
+		}
+		if d == nil {
+			d = []os.FileInfo{} // not nil
+		}
+		h.pending = d
+	}
+
+	if len(h.pending) == 0 && count > 0 {
+		return nil, io.EOF
+	}
+	if count <= 0 || count > len(h.pending) {
+		count = len(h.pending)
+	}
+	d := h.pending[:count]
+	h.pending = h.pending[count:]
+	return d, nil
+}
+
+// httpFile implements http.File for a file (not directory) in a FileSystem.
+type httpFile struct {
+	fs vfs.FileSystem
+	vfs.ReadSeekCloser
+	name string
+}
+
+func (h *httpFile) Stat() (os.FileInfo, error) { return h.fs.Stat(h.name) }
+func (h *httpFile) Readdir(int) ([]os.FileInfo, error) {
+	return nil, fmt.Errorf("cannot Readdir from file %s", h.name)
+}
internal/godoc/vfs/mapfs/mapfs.go
@@ -0,0 +1,169 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package mapfs file provides an implementation of the FileSystem
+// interface based on the contents of a map[string]string.
+package mapfs // import "golang.org/x/tools/godoc/vfs/mapfs"
+
+import (
+	"fmt"
+	"io"
+	"os"
+	pathpkg "path"
+	"sort"
+	"strings"
+	"time"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+// New returns a new FileSystem from the provided map.
+// Map keys must be forward slash-separated paths with
+// no leading slash, such as "file1.txt" or "dir/file2.txt".
+// New panics if any of the paths contain a leading slash.
+func New(m map[string]string) vfs.FileSystem {
+	// Verify all provided paths are relative before proceeding.
+	var pathsWithLeadingSlash []string
+	for p := range m {
+		if strings.HasPrefix(p, "/") {
+			pathsWithLeadingSlash = append(pathsWithLeadingSlash, p)
+		}
+	}
+	if len(pathsWithLeadingSlash) > 0 {
+		panic(fmt.Errorf("mapfs.New: invalid paths with a leading slash: %q", pathsWithLeadingSlash))
+	}
+
+	return mapFS(m)
+}
+
+// mapFS is the map based implementation of FileSystem
+type mapFS map[string]string
+
+func (fs mapFS) String() string { return "mapfs" }
+
+func (fs mapFS) RootType(p string) vfs.RootType {
+	return ""
+}
+
+func (fs mapFS) Close() error { return nil }
+
+func filename(p string) string {
+	return strings.TrimPrefix(p, "/")
+}
+
+func (fs mapFS) Open(p string) (vfs.ReadSeekCloser, error) {
+	b, ok := fs[filename(p)]
+	if !ok {
+		return nil, os.ErrNotExist
+	}
+	return nopCloser{strings.NewReader(b)}, nil
+}
+
+func fileInfo(name, contents string) os.FileInfo {
+	return mapFI{name: pathpkg.Base(name), size: len(contents)}
+}
+
+func dirInfo(name string) os.FileInfo {
+	return mapFI{name: pathpkg.Base(name), dir: true}
+}
+
+func (fs mapFS) Lstat(p string) (os.FileInfo, error) {
+	b, ok := fs[filename(p)]
+	if ok {
+		return fileInfo(p, b), nil
+	}
+	ents, _ := fs.ReadDir(p)
+	if len(ents) > 0 {
+		return dirInfo(p), nil
+	}
+	return nil, os.ErrNotExist
+}
+
+func (fs mapFS) Stat(p string) (os.FileInfo, error) {
+	return fs.Lstat(p)
+}
+
+// slashdir returns path.Dir(p), but special-cases paths not beginning
+// with a slash to be in the root.
+func slashdir(p string) string {
+	d := pathpkg.Dir(p)
+	if d == "." {
+		return "/"
+	}
+	if strings.HasPrefix(p, "/") {
+		return d
+	}
+	return "/" + d
+}
+
+func (fs mapFS) ReadDir(p string) ([]os.FileInfo, error) {
+	p = pathpkg.Clean(p)
+	var ents []string
+	fim := make(map[string]os.FileInfo) // base -> fi
+	for fn, b := range fs {
+		dir := slashdir(fn)
+		isFile := true
+		var lastBase string
+		for {
+			if dir == p {
+				base := lastBase
+				if isFile {
+					base = pathpkg.Base(fn)
+				}
+				if fim[base] == nil {
+					var fi os.FileInfo
+					if isFile {
+						fi = fileInfo(fn, b)
+					} else {
+						fi = dirInfo(base)
+					}
+					ents = append(ents, base)
+					fim[base] = fi
+				}
+			}
+			if dir == "/" {
+				break
+			} else {
+				isFile = false
+				lastBase = pathpkg.Base(dir)
+				dir = pathpkg.Dir(dir)
+			}
+		}
+	}
+	if len(ents) == 0 {
+		return nil, os.ErrNotExist
+	}
+
+	sort.Strings(ents)
+	var list []os.FileInfo
+	for _, dir := range ents {
+		list = append(list, fim[dir])
+	}
+	return list, nil
+}
+
+// mapFI is the map-based implementation of FileInfo.
+type mapFI struct {
+	name string
+	size int
+	dir  bool
+}
+
+func (fi mapFI) IsDir() bool        { return fi.dir }
+func (fi mapFI) ModTime() time.Time { return time.Time{} }
+func (fi mapFI) Mode() os.FileMode {
+	if fi.IsDir() {
+		return 0755 | os.ModeDir
+	}
+	return 0444
+}
+func (fi mapFI) Name() string     { return pathpkg.Base(fi.name) }
+func (fi mapFI) Size() int64      { return int64(fi.size) }
+func (fi mapFI) Sys() interface{} { return nil }
+
+type nopCloser struct {
+	io.ReadSeeker
+}
+
+func (nc nopCloser) Close() error { return nil }
internal/godoc/vfs/mapfs/mapfs_test.go
@@ -0,0 +1,111 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package mapfs
+
+import (
+	"io/ioutil"
+	"os"
+	"reflect"
+	"testing"
+)
+
+func TestOpenRoot(t *testing.T) {
+	fs := New(map[string]string{
+		"foo/bar/three.txt": "a",
+		"foo/bar.txt":       "b",
+		"top.txt":           "c",
+		"other-top.txt":     "d",
+	})
+	tests := []struct {
+		path string
+		want string
+	}{
+		{"/foo/bar/three.txt", "a"},
+		{"foo/bar/three.txt", "a"},
+		{"foo/bar.txt", "b"},
+		{"top.txt", "c"},
+		{"/top.txt", "c"},
+		{"other-top.txt", "d"},
+		{"/other-top.txt", "d"},
+	}
+	for _, tt := range tests {
+		rsc, err := fs.Open(tt.path)
+		if err != nil {
+			t.Errorf("Open(%q) = %v", tt.path, err)
+			continue
+		}
+		slurp, err := ioutil.ReadAll(rsc)
+		if err != nil {
+			t.Error(err)
+		}
+		if string(slurp) != tt.want {
+			t.Errorf("Read(%q) = %q; want %q", tt.path, tt.want, slurp)
+		}
+		rsc.Close()
+	}
+
+	_, err := fs.Open("/xxxx")
+	if !os.IsNotExist(err) {
+		t.Errorf("ReadDir /xxxx = %v; want os.IsNotExist error", err)
+	}
+}
+
+func TestReaddir(t *testing.T) {
+	fs := New(map[string]string{
+		"foo/bar/three.txt": "333",
+		"foo/bar.txt":       "22",
+		"top.txt":           "top.txt file",
+		"other-top.txt":     "other-top.txt file",
+	})
+	tests := []struct {
+		dir  string
+		want []os.FileInfo
+	}{
+		{
+			dir: "/",
+			want: []os.FileInfo{
+				mapFI{name: "foo", dir: true},
+				mapFI{name: "other-top.txt", size: len("other-top.txt file")},
+				mapFI{name: "top.txt", size: len("top.txt file")},
+			},
+		},
+		{
+			dir: "/foo",
+			want: []os.FileInfo{
+				mapFI{name: "bar", dir: true},
+				mapFI{name: "bar.txt", size: 2},
+			},
+		},
+		{
+			dir: "/foo/",
+			want: []os.FileInfo{
+				mapFI{name: "bar", dir: true},
+				mapFI{name: "bar.txt", size: 2},
+			},
+		},
+		{
+			dir: "/foo/bar",
+			want: []os.FileInfo{
+				mapFI{name: "three.txt", size: 3},
+			},
+		},
+	}
+	for _, tt := range tests {
+		fis, err := fs.ReadDir(tt.dir)
+		if err != nil {
+			t.Errorf("ReadDir(%q) = %v", tt.dir, err)
+			continue
+		}
+		if !reflect.DeepEqual(fis, tt.want) {
+			t.Errorf("ReadDir(%q) = %#v; want %#v", tt.dir, fis, tt.want)
+			continue
+		}
+	}
+
+	_, err := fs.ReadDir("/xxxx")
+	if !os.IsNotExist(err) {
+		t.Errorf("ReadDir /xxxx = %v; want os.IsNotExist error", err)
+	}
+}
internal/godoc/vfs/namespace.go
@@ -0,0 +1,389 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package vfs
+
+import (
+	"fmt"
+	"io"
+	"os"
+	pathpkg "path"
+	"sort"
+	"strings"
+	"time"
+)
+
+// Setting debugNS = true will enable debugging prints about
+// name space translations.
+const debugNS = false
+
+// A NameSpace is a file system made up of other file systems
+// mounted at specific locations in the name space.
+//
+// The representation is a map from mount point locations
+// to the list of file systems mounted at that location.  A traditional
+// Unix mount table would use a single file system per mount point,
+// but we want to be able to mount multiple file systems on a single
+// mount point and have the system behave as if the union of those
+// file systems were present at the mount point.
+// For example, if the OS file system has a Go installation in
+// c:\Go and additional Go path trees in d:\Work1 and d:\Work2, then
+// this name space creates the view we want for the godoc server:
+//
+//	NameSpace{
+//		"/": {
+//			{old: "/", fs: OS(`c:\Go`), new: "/"},
+//		},
+//		"/src/pkg": {
+//			{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
+//			{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
+//			{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
+//		},
+//	}
+//
+// This is created by executing:
+//
+//	ns := NameSpace{}
+//	ns.Bind("/", OS(`c:\Go`), "/", BindReplace)
+//	ns.Bind("/src/pkg", OS(`d:\Work1`), "/src", BindAfter)
+//	ns.Bind("/src/pkg", OS(`d:\Work2`), "/src", BindAfter)
+//
+// A particular mount point entry is a triple (old, fs, new), meaning that to
+// operate on a path beginning with old, replace that prefix (old) with new
+// and then pass that path to the FileSystem implementation fs.
+//
+// If you do not explicitly mount a FileSystem at the root mountpoint "/" of the
+// NameSpace like above, Stat("/") will return a "not found" error which could
+// break typical directory traversal routines. In such cases, use NewNameSpace()
+// to get a NameSpace pre-initialized with an emulated empty directory at root.
+//
+// Given this name space, a ReadDir of /src/pkg/code will check each prefix
+// of the path for a mount point (first /src/pkg/code, then /src/pkg, then /src,
+// then /), stopping when it finds one.  For the above example, /src/pkg/code
+// will find the mount point at /src/pkg:
+//
+//	{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
+//	{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
+//	{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
+//
+// ReadDir will when execute these three calls and merge the results:
+//
+//	OS(`c:\Go`).ReadDir("/src/pkg/code")
+//	OS(`d:\Work1').ReadDir("/src/code")
+//	OS(`d:\Work2').ReadDir("/src/code")
+//
+// Note that the "/src/pkg" in "/src/pkg/code" has been replaced by
+// just "/src" in the final two calls.
+//
+// OS is itself an implementation of a file system: it implements
+// OS(`c:\Go`).ReadDir("/src/pkg/code") as ioutil.ReadDir(`c:\Go\src\pkg\code`).
+//
+// Because the new path is evaluated by fs (here OS(root)), another way
+// to read the mount table is to mentally combine fs+new, so that this table:
+//
+//	{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
+//	{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
+//	{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
+//
+// reads as:
+//
+//	"/src/pkg" -> c:\Go\src\pkg
+//	"/src/pkg" -> d:\Work1\src
+//	"/src/pkg" -> d:\Work2\src
+//
+// An invariant (a redundancy) of the name space representation is that
+// ns[mtpt][i].old is always equal to mtpt (in the example, ns["/src/pkg"]'s
+// mount table entries always have old == "/src/pkg").  The 'old' field is
+// useful to callers, because they receive just a []mountedFS and not any
+// other indication of which mount point was found.
+//
+type NameSpace map[string][]mountedFS
+
+// A mountedFS handles requests for path by replacing
+// a prefix 'old' with 'new' and then calling the fs methods.
+type mountedFS struct {
+	old string
+	fs  FileSystem
+	new string
+}
+
+// hasPathPrefix reports whether x == y or x == y + "/" + more.
+func hasPathPrefix(x, y string) bool {
+	return x == y || strings.HasPrefix(x, y) && (strings.HasSuffix(y, "/") || strings.HasPrefix(x[len(y):], "/"))
+}
+
+// translate translates path for use in m, replacing old with new.
+//
+// mountedFS{"/src/pkg", fs, "/src"}.translate("/src/pkg/code") == "/src/code".
+func (m mountedFS) translate(path string) string {
+	path = pathpkg.Clean("/" + path)
+	if !hasPathPrefix(path, m.old) {
+		panic("translate " + path + " but old=" + m.old)
+	}
+	return pathpkg.Join(m.new, path[len(m.old):])
+}
+
+func (NameSpace) String() string {
+	return "ns"
+}
+
+// Fprint writes a text representation of the name space to w.
+func (ns NameSpace) Fprint(w io.Writer) {
+	fmt.Fprint(w, "name space {\n")
+	var all []string
+	for mtpt := range ns {
+		all = append(all, mtpt)
+	}
+	sort.Strings(all)
+	for _, mtpt := range all {
+		fmt.Fprintf(w, "\t%s:\n", mtpt)
+		for _, m := range ns[mtpt] {
+			fmt.Fprintf(w, "\t\t%s %s\n", m.fs, m.new)
+		}
+	}
+	fmt.Fprint(w, "}\n")
+}
+
+// clean returns a cleaned, rooted path for evaluation.
+// It canonicalizes the path so that we can use string operations
+// to analyze it.
+func (NameSpace) clean(path string) string {
+	return pathpkg.Clean("/" + path)
+}
+
+type BindMode int
+
+const (
+	BindReplace BindMode = iota
+	BindBefore
+	BindAfter
+)
+
+// Bind causes references to old to redirect to the path new in newfs.
+// If mode is BindReplace, old redirections are discarded.
+// If mode is BindBefore, this redirection takes priority over existing ones,
+// but earlier ones are still consulted for paths that do not exist in newfs.
+// If mode is BindAfter, this redirection happens only after existing ones
+// have been tried and failed.
+func (ns NameSpace) Bind(old string, newfs FileSystem, new string, mode BindMode) {
+	old = ns.clean(old)
+	new = ns.clean(new)
+	m := mountedFS{old, newfs, new}
+	var mtpt []mountedFS
+	switch mode {
+	case BindReplace:
+		mtpt = append(mtpt, m)
+	case BindAfter:
+		mtpt = append(mtpt, ns.resolve(old)...)
+		mtpt = append(mtpt, m)
+	case BindBefore:
+		mtpt = append(mtpt, m)
+		mtpt = append(mtpt, ns.resolve(old)...)
+	}
+
+	// Extend m.old, m.new in inherited mount point entries.
+	for i := range mtpt {
+		m := &mtpt[i]
+		if m.old != old {
+			if !hasPathPrefix(old, m.old) {
+				// This should not happen.  If it does, panic so
+				// that we can see the call trace that led to it.
+				panic(fmt.Sprintf("invalid Bind: old=%q m={%q, %s, %q}", old, m.old, m.fs.String(), m.new))
+			}
+			suffix := old[len(m.old):]
+			m.old = pathpkg.Join(m.old, suffix)
+			m.new = pathpkg.Join(m.new, suffix)
+		}
+	}
+
+	ns[old] = mtpt
+}
+
+// resolve resolves a path to the list of mountedFS to use for path.
+func (ns NameSpace) resolve(path string) []mountedFS {
+	path = ns.clean(path)
+	for {
+		if m := ns[path]; m != nil {
+			if debugNS {
+				fmt.Printf("resolve %s: %v\n", path, m)
+			}
+			return m
+		}
+		if path == "/" {
+			break
+		}
+		path = pathpkg.Dir(path)
+	}
+	return nil
+}
+
+// Open implements the FileSystem Open method.
+func (ns NameSpace) Open(path string) (ReadSeekCloser, error) {
+	var err error
+	for _, m := range ns.resolve(path) {
+		if debugNS {
+			fmt.Printf("tx %s: %v\n", path, m.translate(path))
+		}
+		tp := m.translate(path)
+		r, err1 := m.fs.Open(tp)
+		if err1 == nil {
+			return r, nil
+		}
+		// IsNotExist errors in overlay FSes can mask real errors in
+		// the underlying FS, so ignore them if there is another error.
+		if err == nil || os.IsNotExist(err) {
+			err = err1
+		}
+	}
+	if err == nil {
+		err = &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
+	}
+	return nil, err
+}
+
+// stat implements the FileSystem Stat and Lstat methods.
+func (ns NameSpace) stat(path string, f func(FileSystem, string) (os.FileInfo, error)) (os.FileInfo, error) {
+	var err error
+	for _, m := range ns.resolve(path) {
+		fi, err1 := f(m.fs, m.translate(path))
+		if err1 == nil {
+			return fi, nil
+		}
+		if err == nil {
+			err = err1
+		}
+	}
+	if err == nil {
+		err = &os.PathError{Op: "stat", Path: path, Err: os.ErrNotExist}
+	}
+	return nil, err
+}
+
+func (ns NameSpace) Stat(path string) (os.FileInfo, error) {
+	return ns.stat(path, FileSystem.Stat)
+}
+
+func (ns NameSpace) Lstat(path string) (os.FileInfo, error) {
+	return ns.stat(path, FileSystem.Lstat)
+}
+
+// dirInfo is a trivial implementation of os.FileInfo for a directory.
+type dirInfo string
+
+func (d dirInfo) Name() string       { return string(d) }
+func (d dirInfo) Size() int64        { return 0 }
+func (d dirInfo) Mode() os.FileMode  { return os.ModeDir | 0555 }
+func (d dirInfo) ModTime() time.Time { return startTime }
+func (d dirInfo) IsDir() bool        { return true }
+func (d dirInfo) Sys() interface{}   { return nil }
+
+var startTime = time.Now()
+
+// ReadDir implements the FileSystem ReadDir method.  It's where most of the magic is.
+// (The rest is in resolve.)
+//
+// Logically, ReadDir must return the union of all the directories that are named
+// by path.  In order to avoid misinterpreting Go packages, of all the directories
+// that contain Go source code, we only include the files from the first,
+// but we include subdirectories from all.
+//
+// ReadDir must also return directory entries needed to reach mount points.
+// If the name space looks like the example in the type NameSpace comment,
+// but c:\Go does not have a src/pkg subdirectory, we still want to be able
+// to find that subdirectory, because we've mounted d:\Work1 and d:\Work2
+// there.  So if we don't see "src" in the directory listing for c:\Go, we add an
+// entry for it before returning.
+//
+func (ns NameSpace) ReadDir(path string) ([]os.FileInfo, error) {
+	path = ns.clean(path)
+
+	// List matching directories and determine whether any of them contain
+	// Go files.
+	var (
+		dirs       [][]os.FileInfo
+		goDirIndex = -1
+		readDirErr error
+	)
+
+	for _, m := range ns.resolve(path) {
+		dir, err := m.fs.ReadDir(m.translate(path))
+		if err != nil {
+			if readDirErr == nil {
+				readDirErr = err
+			}
+			continue
+		}
+
+		dirs = append(dirs, dir)
+
+		if goDirIndex < 0 {
+			for _, f := range dir {
+				if !f.IsDir() && strings.HasSuffix(f.Name(), ".go") {
+					goDirIndex = len(dirs) - 1
+					break
+				}
+			}
+		}
+	}
+
+	// Build a list of files and subdirectories. If a directory contains Go files,
+	// only include files from that directory. Otherwise, include files from
+	// all directories. Include subdirectories from all directories regardless
+	// of whether Go files are present.
+	haveName := make(map[string]bool)
+	var all []os.FileInfo
+	for i, dir := range dirs {
+		for _, f := range dir {
+			name := f.Name()
+			if !haveName[name] && (f.IsDir() || goDirIndex < 0 || goDirIndex == i) {
+				all = append(all, f)
+				haveName[name] = true
+			}
+		}
+	}
+
+	// Add any missing directories needed to reach mount points.
+	for old := range ns {
+		if hasPathPrefix(old, path) && old != path {
+			// Find next element after path in old.
+			elem := old[len(path):]
+			elem = strings.TrimPrefix(elem, "/")
+			if i := strings.Index(elem, "/"); i >= 0 {
+				elem = elem[:i]
+			}
+			if !haveName[elem] {
+				haveName[elem] = true
+				all = append(all, dirInfo(elem))
+			}
+		}
+	}
+
+	if len(all) == 0 {
+		return nil, readDirErr
+	}
+
+	sort.Sort(byName(all))
+	return all, nil
+}
+
+// RootType returns the RootType for the given path in the namespace.
+func (ns NameSpace) RootType(path string) RootType {
+	// We resolve the given path to a list of mountedFS and then return
+	// the root type for the filesystem which contains the path.
+	for _, m := range ns.resolve(path) {
+		_, err := m.fs.ReadDir(m.translate(path))
+		// Found a match, return the filesystem's root type
+		if err == nil {
+			return m.fs.RootType(path)
+		}
+	}
+	return ""
+}
+
+// byName implements sort.Interface.
+type byName []os.FileInfo
+
+func (f byName) Len() int           { return len(f) }
+func (f byName) Less(i, j int) bool { return f[i].Name() < f[j].Name() }
+func (f byName) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
internal/godoc/vfs/namespace_test.go
@@ -0,0 +1,137 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package vfs_test
+
+import (
+	"fmt"
+	"strings"
+	"testing"
+	"time"
+
+	"golang.org/x/website/internal/godoc/vfs"
+	"golang.org/x/website/internal/godoc/vfs/mapfs"
+)
+
+func TestNewNameSpace(t *testing.T) {
+
+	// We will mount this filesystem under /fs1
+	mount := mapfs.New(map[string]string{"fs1file": "abcdefgh"})
+
+	// Existing process. This should give error on Stat("/")
+	t1 := vfs.NameSpace{}
+	t1.Bind("/fs1", mount, "/", vfs.BindReplace)
+
+	// using NewNameSpace. This should work fine.
+	t2 := vfs.NewNameSpace()
+	t2.Bind("/fs1", mount, "/", vfs.BindReplace)
+
+	testcases := map[string][]bool{
+		"/":            {false, true},
+		"/fs1":         {true, true},
+		"/fs1/fs1file": {true, true},
+	}
+
+	fss := []vfs.FileSystem{t1, t2}
+
+	for j, fs := range fss {
+		for k, v := range testcases {
+			_, err := fs.Stat(k)
+			result := err == nil
+			if result != v[j] {
+				t.Errorf("fs: %d, testcase: %s, want: %v, got: %v, err: %s", j, k, v[j], result, err)
+			}
+		}
+	}
+
+	fi, err := t2.Stat("/")
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	if fi.Name() != "/" {
+		t.Errorf("t2.Name() : want:%s got:%s", "/", fi.Name())
+	}
+
+	if !fi.ModTime().IsZero() {
+		t.Errorf("t2.ModTime() : want:%v got:%v", time.Time{}, fi.ModTime())
+	}
+}
+
+func TestReadDirUnion(t *testing.T) {
+	for _, tc := range []struct {
+		desc       string
+		ns         vfs.NameSpace
+		path, want string
+	}{
+		{
+			desc: "no_go_files",
+			ns: func() vfs.NameSpace {
+				rootFs := mapfs.New(map[string]string{
+					"doc/a.txt":       "1",
+					"doc/b.txt":       "1",
+					"doc/dir1/d1.txt": "",
+				})
+				docFs := mapfs.New(map[string]string{
+					"doc/a.txt":       "22",
+					"doc/dir2/d2.txt": "",
+				})
+				ns := vfs.NameSpace{}
+				ns.Bind("/", rootFs, "/", vfs.BindReplace)
+				ns.Bind("/doc", docFs, "/doc", vfs.BindBefore)
+				return ns
+			}(),
+			path: "/doc",
+			want: "a.txt:2,b.txt:1,dir1:0,dir2:0",
+		}, {
+			desc: "have_go_files",
+			ns: func() vfs.NameSpace {
+				a := mapfs.New(map[string]string{
+					"src/x/a.txt":        "",
+					"src/x/suba/sub.txt": "",
+				})
+				b := mapfs.New(map[string]string{
+					"src/x/b.go":         "package b",
+					"src/x/subb/sub.txt": "",
+				})
+				c := mapfs.New(map[string]string{
+					"src/x/c.txt":        "",
+					"src/x/subc/sub.txt": "",
+				})
+				ns := vfs.NameSpace{}
+				ns.Bind("/", a, "/", vfs.BindReplace)
+				ns.Bind("/", b, "/", vfs.BindAfter)
+				ns.Bind("/", c, "/", vfs.BindAfter)
+				return ns
+			}(),
+			path: "/src/x",
+			want: "b.go:9,suba:0,subb:0,subc:0",
+		}, {
+			desc: "empty_mount",
+			ns: func() vfs.NameSpace {
+				ns := vfs.NameSpace{}
+				ns.Bind("/empty", mapfs.New(nil), "/empty", vfs.BindReplace)
+				return ns
+			}(),
+			path: "/",
+			want: "empty:0",
+		},
+	} {
+		t.Run(tc.desc, func(t *testing.T) {
+			fis, err := tc.ns.ReadDir(tc.path)
+			if err != nil {
+				t.Fatal(err)
+			}
+			buf := &strings.Builder{}
+			sep := ""
+			for _, fi := range fis {
+				fmt.Fprintf(buf, "%s%s:%d", sep, fi.Name(), fi.Size())
+				sep = ","
+			}
+			if got := buf.String(); got != tc.want {
+				t.Errorf("got %q; want %q", got, tc.want)
+			}
+		})
+	}
+}
internal/godoc/vfs/os.go
@@ -0,0 +1,105 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package vfs
+
+import (
+	"fmt"
+	"go/build"
+	"io/ioutil"
+	"os"
+	pathpkg "path"
+	"path/filepath"
+	"runtime"
+)
+
+// We expose a new variable because otherwise we need to copy the findGOROOT logic again
+// from cmd/godoc which is already copied twice from the standard library.
+
+// GOROOT is the GOROOT path under which the godoc binary is running.
+// It is needed to check whether a filesystem root is under GOROOT or not.
+// This is set from cmd/godoc/main.go.
+var GOROOT = runtime.GOROOT()
+
+// OS returns an implementation of FileSystem reading from the
+// tree rooted at root.  Recording a root is convenient everywhere
+// but necessary on Windows, because the slash-separated path
+// passed to Open has no way to specify a drive letter.  Using a root
+// lets code refer to OS(`c:\`), OS(`d:\`) and so on.
+func OS(root string) FileSystem {
+	var t RootType
+	switch {
+	case root == GOROOT:
+		t = RootTypeGoRoot
+	case isGoPath(root):
+		t = RootTypeGoPath
+	}
+	return osFS{rootPath: root, rootType: t}
+}
+
+type osFS struct {
+	rootPath string
+	rootType RootType
+}
+
+func isGoPath(path string) bool {
+	for _, bp := range filepath.SplitList(build.Default.GOPATH) {
+		for _, gp := range filepath.SplitList(path) {
+			if bp == gp {
+				return true
+			}
+		}
+	}
+	return false
+}
+
+func (root osFS) String() string { return "os(" + root.rootPath + ")" }
+
+// RootType returns the root type for the filesystem.
+//
+// Note that we ignore the path argument because roottype is a property of
+// this filesystem. But for other filesystems, the roottype might need to be
+// dynamically deduced at call time.
+func (root osFS) RootType(path string) RootType {
+	return root.rootType
+}
+
+func (root osFS) resolve(path string) string {
+	// Clean the path so that it cannot possibly begin with ../.
+	// If it did, the result of filepath.Join would be outside the
+	// tree rooted at root.  We probably won't ever see a path
+	// with .. in it, but be safe anyway.
+	path = pathpkg.Clean("/" + path)
+
+	return filepath.Join(root.rootPath, path)
+}
+
+func (root osFS) Open(path string) (ReadSeekCloser, error) {
+	f, err := os.Open(root.resolve(path))
+	if err != nil {
+		return nil, err
+	}
+	fi, err := f.Stat()
+	if err != nil {
+		f.Close()
+		return nil, err
+	}
+	if fi.IsDir() {
+		f.Close()
+		return nil, fmt.Errorf("Open: %s is a directory", path)
+	}
+	return f, nil
+}
+
+func (root osFS) Lstat(path string) (os.FileInfo, error) {
+	return os.Lstat(root.resolve(path))
+}
+
+func (root osFS) Stat(path string) (os.FileInfo, error) {
+	return os.Stat(root.resolve(path))
+}
+
+func (root osFS) ReadDir(path string) ([]os.FileInfo, error) {
+	return ioutil.ReadDir(root.resolve(path)) // is sorted
+}
internal/godoc/vfs/os_test.go
@@ -0,0 +1,38 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package vfs_test
+
+import (
+	"os"
+	"runtime"
+	"testing"
+
+	"golang.org/x/website/internal/godoc/vfs"
+)
+
+func TestRootType(t *testing.T) {
+	goPath := os.Getenv("GOPATH")
+	var expectedType vfs.RootType
+	if goPath == "" {
+		expectedType = ""
+	} else {
+		expectedType = vfs.RootTypeGoPath
+	}
+	tests := []struct {
+		path   string
+		fsType vfs.RootType
+	}{
+		{runtime.GOROOT(), vfs.RootTypeGoRoot},
+		{goPath, expectedType},
+		{"/tmp/", ""},
+	}
+
+	for _, item := range tests {
+		fs := vfs.OS(item.path)
+		if fs.RootType("path") != item.fsType {
+			t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
+		}
+	}
+}
internal/godoc/vfs/vfs.go
@@ -0,0 +1,58 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package vfs defines types for abstract file system access and provides an
+// implementation accessing the file system of the underlying OS.
+package vfs // import "golang.org/x/website/internal/godoc/vfs"
+
+import (
+	"io"
+	"io/ioutil"
+	"os"
+)
+
+// RootType indicates the type of files contained within a directory.
+//
+// It is used to indicate whether a directory is the root
+// of a GOROOT, a GOPATH, or neither.
+// An empty string represents the case when a directory is neither.
+type RootType string
+
+const (
+	RootTypeGoRoot RootType = "GOROOT"
+	RootTypeGoPath RootType = "GOPATH"
+)
+
+// The FileSystem interface specifies the methods godoc is using
+// to access the file system for which it serves documentation.
+type FileSystem interface {
+	Opener
+	Lstat(path string) (os.FileInfo, error)
+	Stat(path string) (os.FileInfo, error)
+	ReadDir(path string) ([]os.FileInfo, error)
+	RootType(path string) RootType
+	String() string
+}
+
+// Opener is a minimal virtual filesystem that can only open regular files.
+type Opener interface {
+	Open(name string) (ReadSeekCloser, error)
+}
+
+// A ReadSeekCloser can Read, Seek, and Close.
+type ReadSeekCloser interface {
+	io.Reader
+	io.Seeker
+	io.Closer
+}
+
+// ReadFile reads the file named by path from fs and returns the contents.
+func ReadFile(fs Opener, path string) ([]byte, error) {
+	rc, err := fs.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer rc.Close()
+	return ioutil.ReadAll(rc)
+}
cmd/golangorg: change imports to use internal/godoc
rsc committed 4 days ago commit 3d1331b45ffa98d4700e3805a23e12cca389ee9b
cmd/golangorg/codewalk.go
@@ -29,8 +29,8 @@
 	"text/template"
 	"unicode/utf8"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
 )

 var codewalkHTML, codewalkdirHTML *template.Template
cmd/golangorg/godoc.go
@@ -10,8 +10,8 @@
 	"net/http"
 	"strings"

-	"golang.org/x/tools/godoc"
 	"golang.org/x/website/internal/env"
+	"golang.org/x/website/internal/godoc"
 )

 // This file holds common code from the x/tools/godoc serving engine.
cmd/golangorg/handlers.go
@@ -12,9 +12,9 @@
 	"strings"
 	"text/template"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
 	"golang.org/x/website/internal/env"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 	"golang.org/x/website/internal/redirect"
 )
cmd/golangorg/main.go
@@ -29,10 +29,10 @@
 	"regexp"
 	"runtime"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
-	"golang.org/x/tools/godoc/vfs/gatefs"
 	"golang.org/x/website"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
+	"golang.org/x/website/internal/godoc/vfs/gatefs"
 )

 var (
cmd/golangorg/project.go
@@ -12,8 +12,8 @@
 	"net/http"
 	"sort"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 )

cmd/golangorg/release.go
@@ -14,8 +14,8 @@
 	"sort"
 	"strings"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 )

cmd/golangorg/release_test.go
@@ -13,9 +13,9 @@
 	"strings"
 	"testing"

-	"golang.org/x/tools/godoc"
-	"golang.org/x/tools/godoc/vfs"
 	"golang.org/x/website"
+	"golang.org/x/website/internal/godoc"
+	"golang.org/x/website/internal/godoc/vfs"
 )

 // Test that the release history page includes expected entries.
internal/env/env.go
@@ -11,7 +11,7 @@
 	"os"
 	"strconv"

-	"golang.org/x/tools/godoc/golangorgenv"
+	"golang.org/x/website/internal/godoc/golangorgenv"
 )

 var (
@@ -31,8 +31,8 @@
 // that golangorgenv uses.
 //
 // TODO(dmitshur): When the golang.org/x/tools/playground package becomes unused,
-// and golang.org/x/tools/godoc is modified to accept configuration explicitly,
-// the golang.org/x/tools/godoc/golangorgenv package can be deleted.
+// and golang.org/x/website/internal/godoc is modified to accept configuration explicitly,
+// the golang.org/x/website/internal/godoc/golangorgenv package can be deleted.
 // At that time, its implementation can be inlined into this package, as needed.

 // CheckCountry reports whether country restrictions should be enforced.
internal/godoc/README.md
@@ -10,7 +10,7 @@
 flag to load CSS/JS/templates from disk every time a page loads:

 ```
-godoc -templates=$GOPATH/src/golang.org/x/tools/godoc/static -http=:6060
+godoc -templates=$GOPATH/src/golang.org/x/website/internal/godoc/static -http=:6060
 ```

 ## Recompiling static assets
@@ -21,7 +21,7 @@

 1) Make changes to e.g. `static/style.css`.

-2) Run `go generate golang.org/x/tools/godoc/static` so `static/static.go` picks
+2) Run `go generate golang.org/x/website/internal/godoc/static` so `static/static.go` picks
 up the change.

 3) Run `go install golang.org/x/tools/cmd/godoc` so the compiled `godoc` binary
internal/godoc/vfs/httpfs/httpfs.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.

 // Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
-package httpfs // import "golang.org/x/tools/godoc/vfs/httpfs"
+package httpfs // import "golang.org/x/website/internal/godoc/vfs/httpfs"

 import (
 	"fmt"
internal/godoc/vfs/mapfs/mapfs.go
@@ -4,7 +4,7 @@

 // Package mapfs file provides an implementation of the FileSystem
 // interface based on the contents of a map[string]string.
-package mapfs // import "golang.org/x/tools/godoc/vfs/mapfs"
+package mapfs // import "golang.org/x/website/internal/godoc/vfs/mapfs"

 import (
 	"fmt"
internal/godoc/static: delete unused package
rsc committed 4 days ago commit 9fd9bb3c2ef801fc2536a210673b7744b184f4f4
internal/godoc/static/analysis/call-eg.png

	
internal/godoc/static/analysis/call3.png

	
internal/godoc/static/analysis/callers1.png

	
internal/godoc/static/analysis/callers2.png

	
internal/godoc/static/analysis/chan1.png

	
internal/godoc/static/analysis/chan2a.png

	
internal/godoc/static/analysis/chan2b.png

	
internal/godoc/static/analysis/error1.png

	
internal/godoc/static/analysis/help.html
@@ -1,254 +0,0 @@
-<!--{
-        "Title": "Static analysis features of godoc"
-}-->
-
-<style>
-  span.err { 'font-size:120%; color:darkred; background-color: yellow; }
-  img.ss { margin-left: 1in; } /* screenshot */
-  img.dotted { border: thin dotted; }
-</style>
-
-<!-- Images were grabbed from Chrome/Linux at 150% zoom, and are
-     displayed at 66% of natural size.  This allows users to zoom a
-     little before seeing pixels. -->
-
-<p>
-  When invoked with the <code>-analysis</code> flag, godoc performs
-  static analysis on the Go packages it indexes and displays the
-  results in the source and package views.  This document provides a
-  brief tour of these features.
-</p>
-
-<h2>Type analysis features</h2>
-<p>
-  <code>godoc -analysis=type</code> performs static checking similar
-  to that done by a compiler: it detects ill-formed programs, resolves
-  each identifier to the entity it denotes, computes the type of each
-  expression and the method set of each type, and determines which
-  types are assignable to each interface type.
-
-  <b>Type analysis</b> is relatively quick, requiring about 10 seconds for
-  the &gt;200 packages of the standard library, for example.
-</p>
-
-<h3>Compiler errors</h3>
-<p>
-  If any source file contains a compilation error, the source view
-  will highlight the errant location in red.  Hovering over it
-  displays the error message.
-</p>
-<img class="ss" width='811' src='error1.png'><br/>
-
-<h3>Identifier resolution</h3>
-<p>
-  In the source view, every referring identifier is annotated with
-  information about the language entity it refers to: a package,
-  constant, variable, type, function or statement label.
-
-  Hovering over the identifier reveals the entity's kind and type
-  (e.g. <code>var x int</code> or <code>func f
-  func(int) string</code>).
-</p>
-<img class="ss" width='652' src='ident-field.png'><br/>
-<br/>
-<img class="ss" width='652' src='ident-func.png'>
-<p>
-  Clicking the link takes you to the entity's definition.
-</p>
-<img class="ss" width='652' src='ident-def.png'><br/>
-
-<h3>Type information: size/alignment, method set, interfaces</h3>
-<p>
-  Clicking on the identifier that defines a named type causes a panel
-  to appear, displaying information about the named type, including
-  its size and alignment in bytes, its
-  <a href='http://golang.org/ref/spec#Method_sets'>method set</a>, and its
-  <i>implements</i> relation: the set of types T that are assignable to
-  or from this type U where at least one of T or U is an interface.
-
-  This example shows information about <code>net/rpc.methodType</code>.
-</p>
-<img class="ss" width='470' src='typeinfo-src.png'>
-<p>
-  The method set includes not only the declared methods of the type,
-  but also any methods "promoted" from anonymous fields of structs,
-  such as <code>sync.Mutex</code> in this example.
-
-  In addition, the receiver type is displayed as <code>*T</code> or
-  <code>T</code> depending on whether it requires the address or just
-  a copy of the receiver value.
-</p>
-<p>
-  The method set and <i>implements</i> relation are also available
-  via the package view.
-</p>
-<img class="ss dotted" width='716' src='typeinfo-pkg.png'>
-
-<h2>Pointer analysis features</h2>
-<p>
-  <code>godoc -analysis=pointer</code> additionally performs a precise
-  whole-program <b>pointer analysis</b>.  In other words, it
-  approximates the set of memory locations to which each
-  reference&mdash;not just vars of kind <code>*T</code>, but also
-  <code>[]T</code>, <code>func</code>, <code>map</code>,
-  <code>chan</code>, and <code>interface</code>&mdash;may refer.  This
-  information reveals the possible destinations of each dynamic call
-  (via a <code>func</code> variable or interface method), and the
-  relationship between send and receive operations on the same
-  channel.
-</p>
-<p>
-  Compared to type analysis, pointer analysis requires more time and
-  memory, and is impractical for code bases exceeding a million lines.
-</p>
-
-<h3>Call graph navigation</h3>
-<p>
-  When pointer analysis is complete, the source view annotates the
-  code with <b>callers</b> and <b>callees</b> information: callers
-  information is associated with the <code>func</code> keyword that
-  declares a function, and callees information is associated with the
-  open paren '<span style="color: dark-blue"><code>(</code></span>' of
-  a function call.
-</p>
-<p>
-  In this example, hovering over the declaration of the
-  <code>rot13</code> function (defined in strings/strings_test.go)
-  reveals that it is called in exactly one place.
-</p>
-<img class="ss" width='612' src='callers1.png'>
-<p>
-  Clicking the link navigates to the sole caller.  (If there were
-  multiple callers, a list of choices would be displayed first.)
-</p>
-<img class="ss" width='680' src='callers2.png'>
-<p>
-  Notice that hovering over this call reveals that there are 19
-  possible callees at this site, of which our <code>rot13</code>
-  function was just one: this is a dynamic call through a variable of
-  type <code>func(rune) rune</code>.
-
-  Clicking on the call brings up the list of all 19 potential callees,
-  shown truncated.  Many of them are anonymous functions.
-</p>
-<img class="ss" width='564' src='call3.png'>
-<p>
-  Pointer analysis gives a very precise approximation of the call
-  graph compared to type-based techniques.
-
-  As a case in point, the next example shows the dynamic call inside
-  the <code>testing</code> package responsible for calling all
-  user-defined functions named <code>Example<i>XYZ</i></code>.
-</p>
-<img class="ss" width='361' src='call-eg.png'>
-<p>
-  Recall that all such functions have type <code>func()</code>,
-  i.e. no arguments and no results.  A type-based approximation could
-  only conclude that this call might dispatch to any function matching
-  that type&mdash;and these are very numerous in most
-  programs&mdash;but pointer analysis can track the flow of specific
-  <code>func</code> values through the testing package.
-
-  As an indication of its precision, the result contains only
-  functions whose name starts with <code>Example</code>.
-</p>
-
-<h3>Intra-package call graph</h3>
-<p>
-  The same call graph information is presented in a very different way
-  in the package view.  For each package, an interactive tree view
-  allows exploration of the call graph as it relates to just that
-  package; all functions from other packages are elided.
-
-  The roots of the tree are the external entry points of the package:
-  not only its exported functions, but also any unexported or
-  anonymous functions that are called (dynamically) from outside the
-  package.
-</p>
-<p>
-  This example shows the entry points of the
-  <code>path/filepath</code> package, with the call graph for
-  <code>Glob</code> expanded several levels
-</p>
-<img class="ss dotted" width='501' src='ipcg-pkg.png'>
-<p>
-  Notice that the nodes for Glob and Join appear multiple times: the
-  tree is a partial unrolling of a cyclic graph; the full unrolling
-  is in general infinite.
-</p>
-<p>
-  For each function documented in the package view, another
-  interactive tree view allows exploration of the same graph starting
-  at that function.
-
-  This is a portion of the internal graph of
-  <code>net/http.ListenAndServe</code>.
-</p>
-<img class="ss dotted" width='455' src='ipcg-func.png'>
-
-<h3>Channel peers (send ↔ receive)</h3>
-<p>
-  Because concurrent Go programs use channels to pass not just values
-  but also control between different goroutines, it is natural when
-  reading Go code to want to navigate from a channel send to the
-  corresponding receive so as to understand the sequence of events.
-</p>
-<p>
-  Godoc annotates every channel operation&mdash;make, send, range,
-  receive, close&mdash;with a link to a panel displaying information
-  about other operations that might alias the same channel.
-</p>
-<p>
-  This example, from the tests of <code>net/http</code>, shows a send
-  operation on a <code>chan bool</code>.
-</p>
-<img class="ss" width='811' src='chan1.png'>
-<p>
-  Clicking on the <code>&lt;-</code> send operator reveals that this
-  channel is made at a unique location (line 332) and that there are
-  three receive operations that might read this value.
-
-  It hardly needs pointing out that some channel element types are
-  very widely used (e.g. struct{}, bool, int, interface{}) and that a
-  typical Go program might contain dozens of receive operations on a
-  value of type <code>chan bool</code>; yet the pointer analysis is
-  able to distinguish operations on channels at a much finer precision
-  than based on their type alone.
-</p>
-<p>
-  Notice also that the send occurs in a different (anonymous) function
-  from the outer one containing the <code>make</code> and the receive
-  operations.
-</p>
-<p>
-  Here's another example of send on a different <code>chan
-  bool</code>, also in package <code>net/http</code>:
-</p>
-<img class="ss" width='774' src='chan2a.png'>
-<p>
-  The analysis finds just one receive operation that might receive
-  from this channel, in the test for this feature.
-</p>
-<img class="ss" width='737' src='chan2b.png'>
-
-<h2>Known issues</h2>
-<p>
-  All analysis results pertain to exactly
-  one configuration (e.g. amd64 linux).  Files that are conditionally
-  compiled based on different platforms or build tags are not visible
-  to the analysis.
-</p>
-<p>
-  Files that <code>import "C"</code> require
-  preprocessing by the cgo tool.  The file offsets after preprocessing
-  do not align with the unpreprocessed file, so markup is misaligned.
-</p>
-<p>
-  Files are not periodically re-analyzed.
-  If the files change underneath the running server, the displayed
-  markup is misaligned.
-</p>
-<p>
-  Additional issues are listed at
-  <a href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.
-</p>
internal/godoc/static/analysis/ident-def.png

	
internal/godoc/static/analysis/ident-field.png

	
internal/godoc/static/analysis/ident-func.png

	
internal/godoc/static/analysis/ipcg-func.png

	
internal/godoc/static/analysis/ipcg-pkg.png

	
internal/godoc/static/analysis/typeinfo-pkg.png

	
internal/godoc/static/analysis/typeinfo-src.png

	
internal/godoc/static/callgraph.html
@@ -1,15 +0,0 @@
-<div class="toggle" style="display: none">
-	<div class="collapsed">
-		<p class="exampleHeading toggleButton">▹ <span class="text">Internal call graph</span></p>
-	</div>
-	<div class="expanded">
-		<p class="exampleHeading toggleButton">▾ <span class="text">Internal call graph</span></p>
-		<p>
-		  This viewer shows the portion of the internal call
-		  graph of this package that is reachable from this function.
-		  See the <a href='#pkg-callgraph'>package's call
-		  graph</a> for more information.
-		</p>
-		<ul style="margin-left: 0.5in" id="callgraph-{{.Index}}" class="treeview"></ul>
-	</div>
-</div>
internal/godoc/static/dirlist.html
@@ -1,31 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<p>
-<table class="layout">
-<tr>
-	<th align="left">File</th>
-	<td width="25">&nbsp;</td>
-	<th align="right">Bytes</th>
-	<td width="25">&nbsp;</td>
-	<th align="left">Modified</th>
-</tr>
-<tr>
-	<td><a href="..">..</a></td>
-</tr>
-{{range .}}
-<tr>
-	{{$name_html := fileInfoName . | html}}
-	<td align="left"><a href="{{$name_html}}">{{$name_html}}</a></td>
-	<td></td>
-	<td align="right">{{html .Size}}</td>
-	<td></td>
-	<td align="left">{{fileInfoTime . | html}}</td>
-</tr>
-{{end}}
-
-</table>
-</p>
internal/godoc/static/doc.go
@@ -1,8 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package static exports a map of static file content that supports the godoc
-// user interface. The map should be used with the mapfs package, see
-// golang.org/x/website/internal/godoc/vfs/mapfs.
-package static // import "golang.org/x/website/internal/godoc/static"
internal/godoc/static/error.html
@@ -1,9 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-<p>
-<span class="alert" style="font-size:120%">{{html .}}</span>
-</p>
internal/godoc/static/example.html
@@ -1,30 +0,0 @@
-<div id="example_{{.Name}}" class="toggle">
-	<div class="collapsed">
-		<p class="exampleHeading toggleButton">▹ <span class="text">Example{{example_suffix .Name}}</span></p>
-	</div>
-	<div class="expanded">
-		<p class="exampleHeading toggleButton">▾ <span class="text">Example{{example_suffix .Name}}</span></p>
-		{{with .Doc}}<p>{{html .}}</p>{{end}}
-		{{$output := .Output}}
-		{{with .Play}}
-			<div class="play">
-				<div class="input"><textarea class="code" spellcheck="false">{{html .}}</textarea></div>
-				<div class="output"><pre>{{html $output}}</pre></div>
-				<div class="buttons">
-					<a class="run" title="Run this code [shift-enter]">Run</a>
-					<a class="fmt" title="Format this code">Format</a>
-					{{if not $.GoogleCN}}
-					<a class="share" title="Share this code">Share</a>
-					{{end}}
-				</div>
-			</div>
-		{{else}}
-			<p>Code:</p>
-			<pre class="code">{{.Code}}</pre>
-			{{with .Output}}
-			<p>Output:</p>
-			<pre class="output">{{html .}}</pre>
-			{{end}}
-		{{end}}
-	</div>
-</div>
internal/godoc/static/gen.go
@@ -1,105 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package static
-
-//go:generate go run makestatic.go
-
-import (
-	"bytes"
-	"fmt"
-	"go/format"
-	"io/ioutil"
-	"unicode"
-)
-
-var files = []string{
-	"analysis/call3.png",
-	"analysis/call-eg.png",
-	"analysis/callers1.png",
-	"analysis/callers2.png",
-	"analysis/chan1.png",
-	"analysis/chan2a.png",
-	"analysis/chan2b.png",
-	"analysis/error1.png",
-	"analysis/help.html",
-	"analysis/ident-def.png",
-	"analysis/ident-field.png",
-	"analysis/ident-func.png",
-	"analysis/ipcg-func.png",
-	"analysis/ipcg-pkg.png",
-	"analysis/typeinfo-pkg.png",
-	"analysis/typeinfo-src.png",
-	"callgraph.html",
-	"dirlist.html",
-	"error.html",
-	"example.html",
-	"godoc.html",
-	"godocs.js",
-	"images/minus.gif",
-	"images/plus.gif",
-	"images/treeview-black-line.gif",
-	"images/treeview-black.gif",
-	"images/treeview-default-line.gif",
-	"images/treeview-default.gif",
-	"images/treeview-gray-line.gif",
-	"images/treeview-gray.gif",
-	"implements.html",
-	"jquery.js",
-	"jquery.treeview.css",
-	"jquery.treeview.edit.js",
-	"jquery.treeview.js",
-	"methodset.html",
-	"package.html",
-	"packageroot.html",
-	"play.js",
-	"playground.js",
-	"search.html",
-	"searchcode.html",
-	"searchdoc.html",
-	"searchtxt.html",
-	"style.css",
-}
-
-// Generate reads a set of files and returns a file buffer that declares
-// a map of string constants containing contents of the input files.
-func Generate() ([]byte, error) {
-	buf := new(bytes.Buffer)
-	fmt.Fprintf(buf, "%v\n\n%v\n\npackage static\n\n", license, warning)
-	fmt.Fprintf(buf, "var Files = map[string]string{\n")
-	for _, fn := range files {
-		b, err := ioutil.ReadFile(fn)
-		if err != nil {
-			return b, err
-		}
-		fmt.Fprintf(buf, "\t%q: ", fn)
-		appendQuote(buf, b)
-		fmt.Fprintf(buf, ",\n\n")
-	}
-	fmt.Fprintln(buf, "}")
-	return format.Source(buf.Bytes())
-}
-
-// appendQuote is like strconv.AppendQuote, but we avoid the latter
-// because it changes when Unicode evolves, breaking gen_test.go.
-func appendQuote(out *bytes.Buffer, data []byte) {
-	out.WriteByte('"')
-	for _, b := range data {
-		if b == '\\' || b == '"' {
-			out.WriteByte('\\')
-			out.WriteByte(b)
-		} else if b <= unicode.MaxASCII && unicode.IsPrint(rune(b)) && !unicode.IsSpace(rune(b)) {
-			out.WriteByte(b)
-		} else {
-			fmt.Fprintf(out, "\\x%02x", b)
-		}
-	}
-	out.WriteByte('"')
-}
-
-const warning = `// Code generated by "makestatic"; DO NOT EDIT.`
-
-const license = `// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.`
internal/godoc/static/gen_test.go
@@ -1,53 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package static
-
-import (
-	"bytes"
-	"io/ioutil"
-	"runtime"
-	"strconv"
-	"testing"
-	"unicode"
-)
-
-func TestStaticIsUpToDate(t *testing.T) {
-	if runtime.GOOS == "android" {
-		t.Skip("files not available on android")
-	}
-	oldBuf, err := ioutil.ReadFile("static.go")
-	if err != nil {
-		t.Errorf("error while reading static.go: %v\n", err)
-	}
-
-	newBuf, err := Generate()
-	if err != nil {
-		t.Errorf("error while generating static.go: %v\n", err)
-	}
-
-	if !bytes.Equal(oldBuf, newBuf) {
-		t.Error(`static.go is stale.  Run:
-  $ go generate golang.org/x/website/internal/godoc/static
-  $ git diff
-to see the differences.`)
-
-	}
-}
-
-// TestAppendQuote ensures that AppendQuote produces a valid literal.
-func TestAppendQuote(t *testing.T) {
-	var in, out bytes.Buffer
-	for r := rune(0); r < unicode.MaxRune; r++ {
-		in.WriteRune(r)
-	}
-	appendQuote(&out, in.Bytes())
-	in2, err := strconv.Unquote(out.String())
-	if err != nil {
-		t.Fatalf("AppendQuote produced invalid string literal: %v", err)
-	}
-	if got, want := in2, in.String(); got != want {
-		t.Fatal("AppendQuote modified string") // no point printing got/want: huge
-	}
-}
internal/godoc/static/godoc.html
@@ -1,110 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta name="theme-color" content="#375EAB">
-{{with .Tabtitle}}
-  <title>{{html .}} - Go Documentation Server</title>
-{{else}}
-  <title>Go Documentation Server</title>
-{{end}}
-<link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
-{{if .TreeView}}
-<link rel="stylesheet" href="/lib/godoc/jquery.treeview.css">
-{{end}}
-<script>window.initFuncs = [];</script>
-<script src="/lib/godoc/jquery.js" defer></script>
-{{if .TreeView}}
-<script src="/lib/godoc/jquery.treeview.js" defer></script>
-<script src="/lib/godoc/jquery.treeview.edit.js" defer></script>
-{{end}}
-
-{{if .Playground}}
-<script src="/lib/godoc/playground.js" defer></script>
-{{end}}
-{{with .Version}}<script>var goVersion = {{printf "%q" .}};</script>{{end}}
-<script src="/lib/godoc/godocs.js" defer></script>
-</head>
-<body>
-
-<div id='lowframe' style="position: fixed; bottom: 0; left: 0; height: 0; width: 100%; border-top: thin solid grey; background-color: white; overflow: auto;">
-...
-</div><!-- #lowframe -->
-
-<div id="topbar"{{if .Title}} class="wide"{{end}}><div class="container">
-<div class="top-heading" id="heading-wide"><a href="/pkg/">Go Documentation Server</a></div>
-<div class="top-heading" id="heading-narrow"><a href="/pkg/">GoDoc</a></div>
-<a href="#" id="menu-button"><span id="menu-button-arrow">&#9661;</span></a>
-<form method="GET" action="/search">
-<div id="menu">
-{{if (and .Playground .Title)}}
-<a id="playgroundButton" href="http://play.golang.org/" title="Show Go Playground">Play</a>
-{{end}}
-<span class="search-box"><input type="search" id="search" name="q" placeholder="Search" aria-label="Search" required><button type="submit"><span><!-- magnifying glass: --><svg width="24" height="24" viewBox="0 0 24 24"><title>submit search</title><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg></span></button></span>
-</div>
-</form>
-
-</div></div>
-
-{{if .Playground}}
-<div id="playground" class="play">
-	<div class="input"><textarea class="code" spellcheck="false">package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界")
-}</textarea></div>
-	<div class="output"></div>
-	<div class="buttons">
-		<a class="run" title="Run this code [shift-enter]">Run</a>
-		<a class="fmt" title="Format this code">Format</a>
-		{{if not $.GoogleCN}}
-		<a class="share" title="Share this code">Share</a>
-		{{end}}
-	</div>
-</div>
-{{end}}
-
-<div id="page"{{if .Title}} class="wide"{{end}}>
-<div class="container">
-
-{{if or .Title .SrcPath}}
-  <h1>
-    {{html .Title}}
-    {{html .SrcPath | srcBreadcrumb}}
-  </h1>
-{{end}}
-
-{{with .Subtitle}}
-  <h2>{{html .}}</h2>
-{{end}}
-
-{{with .SrcPath}}
-  <h2>
-    Documentation: {{html . | srcToPkgLink}}
-  </h2>
-{{end}}
-
-{{/* The Table of Contents is automatically inserted in this <div>.
-     Do not delete this <div>. */}}
-<div id="nav"></div>
-
-{{/* Body is HTML-escaped elsewhere */}}
-{{printf "%s" .Body}}
-
-<div id="footer">
-Build version {{html .Version}}.<br>
-Except as <a href="https://developers.google.com/site-policies#restrictions">noted</a>,
-the content of this page is licensed under the
-Creative Commons Attribution 3.0 License,
-and code is licensed under a <a href="/LICENSE">BSD license</a>.<br>
-<a href="/doc/tos.html">Terms of Service</a> |
-<a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a>
-</div>
-
-</div><!-- .container -->
-</div><!-- #page -->
-</body>
-</html>
internal/godoc/static/godocs.js
@@ -1,688 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/* A little code to ease navigation of these documents.
- *
- * On window load we:
- *  + Generate a table of contents (generateTOC)
- *  + Bind foldable sections (bindToggles)
- *  + Bind links to foldable sections (bindToggleLinks)
- */
-
-(function() {
-  'use strict';
-
-  // Mobile-friendly topbar menu
-  $(function() {
-    var menu = $('#menu');
-    var menuButton = $('#menu-button');
-    var menuButtonArrow = $('#menu-button-arrow');
-    menuButton.click(function(event) {
-      menu.toggleClass('menu-visible');
-      menuButtonArrow.toggleClass('vertical-flip');
-      event.preventDefault();
-      return false;
-    });
-  });
-
-  /* Generates a table of contents: looks for h2 and h3 elements and generates
-   * links. "Decorates" the element with id=="nav" with this table of contents.
-   */
-  function generateTOC() {
-    if ($('#manual-nav').length > 0) {
-      return;
-    }
-
-    // For search, we send the toc precomputed from server-side.
-    // TODO: Ideally, this should always be precomputed for all pages, but then
-    // we need to do HTML parsing on the server-side.
-    if (location.pathname === '/search') {
-      return;
-    }
-
-    var nav = $('#nav');
-    if (nav.length === 0) {
-      return;
-    }
-
-    var toc_items = [];
-    $(nav)
-      .nextAll('h2, h3')
-      .each(function() {
-        var node = this;
-        if (node.id == '') node.id = 'tmp_' + toc_items.length;
-        var link = $('<a/>')
-          .attr('href', '#' + node.id)
-          .text($(node).text());
-        var item;
-        if ($(node).is('h2')) {
-          item = $('<dt/>');
-        } else {
-          // h3
-          item = $('<dd class="indent"/>');
-        }
-        item.append(link);
-        toc_items.push(item);
-      });
-    if (toc_items.length <= 1) {
-      return;
-    }
-    var dl1 = $('<dl/>');
-    var dl2 = $('<dl/>');
-
-    var split_index = toc_items.length / 2 + 1;
-    if (split_index < 8) {
-      split_index = toc_items.length;
-    }
-    for (var i = 0; i < split_index; i++) {
-      dl1.append(toc_items[i]);
-    }
-    for (; /* keep using i */ i < toc_items.length; i++) {
-      dl2.append(toc_items[i]);
-    }
-
-    var tocTable = $('<table class="unruled"/>').appendTo(nav);
-    var tocBody = $('<tbody/>').appendTo(tocTable);
-    var tocRow = $('<tr/>').appendTo(tocBody);
-
-    // 1st column
-    $('<td class="first"/>')
-      .appendTo(tocRow)
-      .append(dl1);
-    // 2nd column
-    $('<td/>')
-      .appendTo(tocRow)
-      .append(dl2);
-  }
-
-  function bindToggle(el) {
-    $('.toggleButton', el).click(function() {
-      if ($(this).closest('.toggle, .toggleVisible')[0] != el) {
-        // Only trigger the closest toggle header.
-        return;
-      }
-
-      if ($(el).is('.toggle')) {
-        $(el)
-          .addClass('toggleVisible')
-          .removeClass('toggle');
-      } else {
-        $(el)
-          .addClass('toggle')
-          .removeClass('toggleVisible');
-      }
-    });
-  }
-
-  function bindToggles(selector) {
-    $(selector).each(function(i, el) {
-      bindToggle(el);
-    });
-  }
-
-  function bindToggleLink(el, prefix) {
-    $(el).click(function() {
-      var href = $(el).attr('href');
-      var i = href.indexOf('#' + prefix);
-      if (i < 0) {
-        return;
-      }
-      var id = '#' + prefix + href.slice(i + 1 + prefix.length);
-      if ($(id).is('.toggle')) {
-        $(id)
-          .find('.toggleButton')
-          .first()
-          .click();
-      }
-    });
-  }
-  function bindToggleLinks(selector, prefix) {
-    $(selector).each(function(i, el) {
-      bindToggleLink(el, prefix);
-    });
-  }
-
-  function setupDropdownPlayground() {
-    if (!$('#page').is('.wide')) {
-      return; // don't show on front page
-    }
-    var button = $('#playgroundButton');
-    var div = $('#playground');
-    var setup = false;
-    button.toggle(
-      function() {
-        button.addClass('active');
-        div.show();
-        if (setup) {
-          return;
-        }
-        setup = true;
-        playground({
-          codeEl: $('.code', div),
-          outputEl: $('.output', div),
-          runEl: $('.run', div),
-          fmtEl: $('.fmt', div),
-          shareEl: $('.share', div),
-          shareRedirect: '//play.golang.org/p/',
-        });
-      },
-      function() {
-        button.removeClass('active');
-        div.hide();
-      }
-    );
-    $('#menu').css('min-width', '+=60');
-
-    // Hide inline playground if we click somewhere on the page.
-    // This is needed in mobile devices, where the "Play" button
-    // is not clickable once the playground opens up.
-    $('#page').click(function() {
-      if (button.hasClass('active')) {
-        button.click();
-      }
-    });
-  }
-
-  function setupInlinePlayground() {
-    'use strict';
-    // Set up playground when each element is toggled.
-    $('div.play').each(function(i, el) {
-      // Set up playground for this example.
-      var setup = function() {
-        var code = $('.code', el);
-        playground({
-          codeEl: code,
-          outputEl: $('.output', el),
-          runEl: $('.run', el),
-          fmtEl: $('.fmt', el),
-          shareEl: $('.share', el),
-          shareRedirect: '//play.golang.org/p/',
-        });
-
-        // Make the code textarea resize to fit content.
-        var resize = function() {
-          code.height(0);
-          var h = code[0].scrollHeight;
-          code.height(h + 20); // minimize bouncing.
-          code.closest('.input').height(h);
-        };
-        code.on('keydown', resize);
-        code.on('keyup', resize);
-        code.keyup(); // resize now.
-      };
-
-      // If example already visible, set up playground now.
-      if ($(el).is(':visible')) {
-        setup();
-        return;
-      }
-
-      // Otherwise, set up playground when example is expanded.
-      var built = false;
-      $(el)
-        .closest('.toggle')
-        .click(function() {
-          // Only set up once.
-          if (!built) {
-            setup();
-            built = true;
-          }
-        });
-    });
-  }
-
-  // fixFocus tries to put focus to div#page so that keyboard navigation works.
-  function fixFocus() {
-    var page = $('div#page');
-    var topbar = $('div#topbar');
-    page.css('outline', 0); // disable outline when focused
-    page.attr('tabindex', -1); // and set tabindex so that it is focusable
-    $(window)
-      .resize(function(evt) {
-        // only focus page when the topbar is at fixed position (that is, it's in
-        // front of page, and keyboard event will go to the former by default.)
-        // by focusing page, keyboard event will go to page so that up/down arrow,
-        // space, etc. will work as expected.
-        if (topbar.css('position') == 'fixed') page.focus();
-      })
-      .resize();
-  }
-
-  function toggleHash() {
-    var id = window.location.hash.substring(1);
-    // Open all of the toggles for a particular hash.
-    var els = $(
-      document.getElementById(id),
-      $('a[name]').filter(function() {
-        return $(this).attr('name') == id;
-      })
-    );
-
-    while (els.length) {
-      for (var i = 0; i < els.length; i++) {
-        var el = $(els[i]);
-        if (el.is('.toggle')) {
-          el.find('.toggleButton')
-            .first()
-            .click();
-        }
-      }
-      els = el.parent();
-    }
-  }
-
-  function personalizeInstallInstructions() {
-    var prefix = '?download=';
-    var s = window.location.search;
-    if (s.indexOf(prefix) != 0) {
-      // No 'download' query string; detect "test" instructions from User Agent.
-      if (navigator.platform.indexOf('Win') != -1) {
-        $('.testUnix').hide();
-        $('.testWindows').show();
-      } else {
-        $('.testUnix').show();
-        $('.testWindows').hide();
-      }
-      return;
-    }
-
-    var filename = s.substr(prefix.length);
-    var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/;
-    var m = filenameRE.exec(filename);
-    if (!m) {
-      // Can't interpret file name; bail.
-      return;
-    }
-    $('.downloadFilename').text(filename);
-    $('.hideFromDownload').hide();
-
-    var os = m[3];
-    var ext = m[6];
-    if (ext != 'tar.gz') {
-      $('#tarballInstructions').hide();
-    }
-    if (os != 'darwin' || ext != 'pkg') {
-      $('#darwinPackageInstructions').hide();
-    }
-    if (os != 'windows') {
-      $('#windowsInstructions').hide();
-      $('.testUnix').show();
-      $('.testWindows').hide();
-    } else {
-      if (ext != 'msi') {
-        $('#windowsInstallerInstructions').hide();
-      }
-      if (ext != 'zip') {
-        $('#windowsZipInstructions').hide();
-      }
-      $('.testUnix').hide();
-      $('.testWindows').show();
-    }
-
-    var download = 'https://dl.google.com/go/' + filename;
-
-    var message = $(
-      '<p class="downloading">' +
-        'Your download should begin shortly. ' +
-        'If it does not, click <a>this link</a>.</p>'
-    );
-    message.find('a').attr('href', download);
-    message.insertAfter('#nav');
-
-    window.location = download;
-  }
-
-  function updateVersionTags() {
-    var v = window.goVersion;
-    if (/^go[0-9.]+$/.test(v)) {
-      $('.versionTag')
-        .empty()
-        .text(v);
-      $('.whereTag').hide();
-    }
-  }
-
-  function addPermalinks() {
-    function addPermalink(source, parent) {
-      var id = source.attr('id');
-      if (id == '' || id.indexOf('tmp_') === 0) {
-        // Auto-generated permalink.
-        return;
-      }
-      if (parent.find('> .permalink').length) {
-        // Already attached.
-        return;
-      }
-      parent
-        .append(' ')
-        .append($("<a class='permalink'>&#xb6;</a>").attr('href', '#' + id));
-    }
-
-    $('#page .container')
-      .find('h2[id], h3[id]')
-      .each(function() {
-        var el = $(this);
-        addPermalink(el, el);
-      });
-
-    $('#page .container')
-      .find('dl[id]')
-      .each(function() {
-        var el = $(this);
-        // Add the anchor to the "dt" element.
-        addPermalink(el, el.find('> dt').first());
-      });
-  }
-
-  $('.js-expandAll').click(function() {
-    if ($(this).hasClass('collapsed')) {
-      toggleExamples('toggle');
-      $(this).text('(Collapse All)');
-    } else {
-      toggleExamples('toggleVisible');
-      $(this).text('(Expand All)');
-    }
-    $(this).toggleClass('collapsed');
-  });
-
-  function toggleExamples(className) {
-    // We need to explicitly iterate through divs starting with "example_"
-    // to avoid toggling Overview and Index collapsibles.
-    $("[id^='example_']").each(function() {
-      // Check for state and click it only if required.
-      if ($(this).hasClass(className)) {
-        $(this)
-          .find('.toggleButton')
-          .first()
-          .click();
-      }
-    });
-  }
-
-  $(document).ready(function() {
-    generateTOC();
-    addPermalinks();
-    bindToggles('.toggle');
-    bindToggles('.toggleVisible');
-    bindToggleLinks('.exampleLink', 'example_');
-    bindToggleLinks('.overviewLink', '');
-    bindToggleLinks('.examplesLink', '');
-    bindToggleLinks('.indexLink', '');
-    setupDropdownPlayground();
-    setupInlinePlayground();
-    fixFocus();
-    setupTypeInfo();
-    setupCallgraphs();
-    toggleHash();
-    personalizeInstallInstructions();
-    updateVersionTags();
-
-    // godoc.html defines window.initFuncs in the <head> tag, and root.html and
-    // codewalk.js push their on-page-ready functions to the list.
-    // We execute those functions here, to avoid loading jQuery until the page
-    // content is loaded.
-    for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i]();
-  });
-
-  // -- analysis ---------------------------------------------------------
-
-  // escapeHTML returns HTML for s, with metacharacters quoted.
-  // It is safe for use in both elements and attributes
-  // (unlike the "set innerText, read innerHTML" trick).
-  function escapeHTML(s) {
-    return s
-      .replace(/&/g, '&amp;')
-      .replace(/\"/g, '&quot;')
-      .replace(/\'/g, '&#39;')
-      .replace(/</g, '&lt;')
-      .replace(/>/g, '&gt;');
-  }
-
-  // makeAnchor returns HTML for an <a> element, given an anchorJSON object.
-  function makeAnchor(json) {
-    var html = escapeHTML(json.Text);
-    if (json.Href != '') {
-      html = "<a href='" + escapeHTML(json.Href) + "'>" + html + '</a>';
-    }
-    return html;
-  }
-
-  function showLowFrame(html) {
-    var lowframe = document.getElementById('lowframe');
-    lowframe.style.height = '200px';
-    lowframe.innerHTML =
-      "<p style='text-align: left;'>" +
-      html +
-      '</p>\n' +
-      "<div onclick='hideLowFrame()' style='position: absolute; top: 0; right: 0; cursor: pointer;'>✘</div>";
-  }
-
-  document.hideLowFrame = function() {
-    var lowframe = document.getElementById('lowframe');
-    lowframe.style.height = '0px';
-  };
-
-  // onClickCallers is the onclick action for the 'func' tokens of a
-  // function declaration.
-  document.onClickCallers = function(index) {
-    var data = document.ANALYSIS_DATA[index];
-    if (data.Callers.length == 1 && data.Callers[0].Sites.length == 1) {
-      document.location = data.Callers[0].Sites[0].Href; // jump to sole caller
-      return;
-    }
-
-    var html =
-      'Callers of <code>' + escapeHTML(data.Callee) + '</code>:<br/>\n';
-    for (var i = 0; i < data.Callers.length; i++) {
-      var caller = data.Callers[i];
-      html += '<code>' + escapeHTML(caller.Func) + '</code>';
-      var sites = caller.Sites;
-      if (sites != null && sites.length > 0) {
-        html += ' at line ';
-        for (var j = 0; j < sites.length; j++) {
-          if (j > 0) {
-            html += ', ';
-          }
-          html += '<code>' + makeAnchor(sites[j]) + '</code>';
-        }
-      }
-      html += '<br/>\n';
-    }
-    showLowFrame(html);
-  };
-
-  // onClickCallees is the onclick action for the '(' token of a function call.
-  document.onClickCallees = function(index) {
-    var data = document.ANALYSIS_DATA[index];
-    if (data.Callees.length == 1) {
-      document.location = data.Callees[0].Href; // jump to sole callee
-      return;
-    }
-
-    var html = 'Callees of this ' + escapeHTML(data.Descr) + ':<br/>\n';
-    for (var i = 0; i < data.Callees.length; i++) {
-      html += '<code>' + makeAnchor(data.Callees[i]) + '</code><br/>\n';
-    }
-    showLowFrame(html);
-  };
-
-  // onClickTypeInfo is the onclick action for identifiers declaring a named type.
-  document.onClickTypeInfo = function(index) {
-    var data = document.ANALYSIS_DATA[index];
-    var html =
-      'Type <code>' +
-      data.Name +
-      '</code>: ' +
-      '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>(size=' +
-      data.Size +
-      ', align=' +
-      data.Align +
-      ')</small><br/>\n';
-    html += implementsHTML(data);
-    html += methodsetHTML(data);
-    showLowFrame(html);
-  };
-
-  // implementsHTML returns HTML for the implements relation of the
-  // specified TypeInfoJSON value.
-  function implementsHTML(info) {
-    var html = '';
-    if (info.ImplGroups != null) {
-      for (var i = 0; i < info.ImplGroups.length; i++) {
-        var group = info.ImplGroups[i];
-        var x = '<code>' + escapeHTML(group.Descr) + '</code> ';
-        for (var j = 0; j < group.Facts.length; j++) {
-          var fact = group.Facts[j];
-          var y = '<code>' + makeAnchor(fact.Other) + '</code>';
-          if (fact.ByKind != null) {
-            html += escapeHTML(fact.ByKind) + ' type ' + y + ' implements ' + x;
-          } else {
-            html += x + ' implements ' + y;
-          }
-          html += '<br/>\n';
-        }
-      }
-    }
-    return html;
-  }
-
-  // methodsetHTML returns HTML for the methodset of the specified
-  // TypeInfoJSON value.
-  function methodsetHTML(info) {
-    var html = '';
-    if (info.Methods != null) {
-      for (var i = 0; i < info.Methods.length; i++) {
-        html += '<code>' + makeAnchor(info.Methods[i]) + '</code><br/>\n';
-      }
-    }
-    return html;
-  }
-
-  // onClickComm is the onclick action for channel "make" and "<-"
-  // send/receive tokens.
-  document.onClickComm = function(index) {
-    var ops = document.ANALYSIS_DATA[index].Ops;
-    if (ops.length == 1) {
-      document.location = ops[0].Op.Href; // jump to sole element
-      return;
-    }
-
-    var html = 'Operations on this channel:<br/>\n';
-    for (var i = 0; i < ops.length; i++) {
-      html +=
-        makeAnchor(ops[i].Op) +
-        ' by <code>' +
-        escapeHTML(ops[i].Fn) +
-        '</code><br/>\n';
-    }
-    if (ops.length == 0) {
-      html += '(none)<br/>\n';
-    }
-    showLowFrame(html);
-  };
-
-  $(window).load(function() {
-    // Scroll window so that first selection is visible.
-    // (This means we don't need to emit id='L%d' spans for each line.)
-    // TODO(adonovan): ideally, scroll it so that it's under the pointer,
-    // but I don't know how to get the pointer y coordinate.
-    var elts = document.getElementsByClassName('selection');
-    if (elts.length > 0) {
-      elts[0].scrollIntoView();
-    }
-  });
-
-  // setupTypeInfo populates the "Implements" and "Method set" toggle for
-  // each type in the package doc.
-  function setupTypeInfo() {
-    for (var i in document.ANALYSIS_DATA) {
-      var data = document.ANALYSIS_DATA[i];
-
-      var el = document.getElementById('implements-' + i);
-      if (el != null) {
-        // el != null => data is TypeInfoJSON.
-        if (data.ImplGroups != null) {
-          el.innerHTML = implementsHTML(data);
-          el.parentNode.parentNode.style.display = 'block';
-        }
-      }
-
-      var el = document.getElementById('methodset-' + i);
-      if (el != null) {
-        // el != null => data is TypeInfoJSON.
-        if (data.Methods != null) {
-          el.innerHTML = methodsetHTML(data);
-          el.parentNode.parentNode.style.display = 'block';
-        }
-      }
-    }
-  }
-
-  function setupCallgraphs() {
-    if (document.CALLGRAPH == null) {
-      return;
-    }
-    document.getElementById('pkg-callgraph').style.display = 'block';
-
-    var treeviews = document.getElementsByClassName('treeview');
-    for (var i = 0; i < treeviews.length; i++) {
-      var tree = treeviews[i];
-      if (tree.id == null || tree.id.indexOf('callgraph-') != 0) {
-        continue;
-      }
-      var id = tree.id.substring('callgraph-'.length);
-      $(tree).treeview({ collapsed: true, animated: 'fast' });
-      document.cgAddChildren(tree, tree, [id]);
-      tree.parentNode.parentNode.style.display = 'block';
-    }
-  }
-
-  document.cgAddChildren = function(tree, ul, indices) {
-    if (indices != null) {
-      for (var i = 0; i < indices.length; i++) {
-        var li = cgAddChild(tree, ul, document.CALLGRAPH[indices[i]]);
-        if (i == indices.length - 1) {
-          $(li).addClass('last');
-        }
-      }
-    }
-    $(tree).treeview({ animated: 'fast', add: ul });
-  };
-
-  // cgAddChild adds an <li> element for document.CALLGRAPH node cgn to
-  // the parent <ul> element ul. tree is the tree's root <ul> element.
-  function cgAddChild(tree, ul, cgn) {
-    var li = document.createElement('li');
-    ul.appendChild(li);
-    li.className = 'closed';
-
-    var code = document.createElement('code');
-
-    if (cgn.Callees != null) {
-      $(li).addClass('expandable');
-
-      // Event handlers and innerHTML updates don't play nicely together,
-      // hence all this explicit DOM manipulation.
-      var hitarea = document.createElement('div');
-      hitarea.className = 'hitarea expandable-hitarea';
-      li.appendChild(hitarea);
-
-      li.appendChild(code);
-
-      var childUL = document.createElement('ul');
-      li.appendChild(childUL);
-      childUL.setAttribute('style', 'display: none;');
-
-      var onClick = function() {
-        document.cgAddChildren(tree, childUL, cgn.Callees);
-        hitarea.removeEventListener('click', onClick);
-      };
-      hitarea.addEventListener('click', onClick);
-    } else {
-      li.appendChild(code);
-    }
-    code.innerHTML += '&nbsp;' + makeAnchor(cgn.Func);
-    return li;
-  }
-})();
internal/godoc/static/images/minus.gif

	
internal/godoc/static/images/plus.gif

	
internal/godoc/static/images/treeview-black-line.gif

	
internal/godoc/static/images/treeview-black.gif

	
internal/godoc/static/images/treeview-default-line.gif

	
internal/godoc/static/images/treeview-default.gif

	
internal/godoc/static/images/treeview-gray-line.gif

	
internal/godoc/static/images/treeview-gray.gif

	
internal/godoc/static/implements.html
@@ -1,9 +0,0 @@
-<div class="toggle" style="display: none">
-	<div class="collapsed">
-		<p class="exampleHeading toggleButton">▹ <span class="text">Implements</span></p>
-	</div>
-	<div class="expanded">
-		<p class="exampleHeading toggleButton">▾ <span class="text">Implements</span></p>
-		<div style="margin-left: 1in" id='implements-{{.Index}}'>...</div>
-	</div>
-</div>
internal/godoc/static/jquery.js
@@ -1,2 +0,0 @@
-/*! jQuery v1.8.2 jquery.com | jquery.org/license */
-(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
\ No newline at end of file
internal/godoc/static/jquery.treeview.css
@@ -1,76 +0,0 @@
-/* https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.css */
-/* License: MIT. */
-.treeview, .treeview ul {
-	padding: 0;
-	margin: 0;
-	list-style: none;
-}
-
-.treeview ul {
-	background-color: white;
-	margin-top: 4px;
-}
-
-.treeview .hitarea {
-	background: url(images/treeview-default.gif) -64px -25px no-repeat;
-	height: 16px;
-	width: 16px;
-	margin-left: -16px;
-	float: left;
-	cursor: pointer;
-}
-/* fix for IE6 */
-* html .hitarea {
-	display: inline;
-	float:none;
-}
-
-.treeview li {
-	margin: 0;
-	padding: 3px 0pt 3px 16px;
-}
-
-.treeview a.selected {
-	background-color: #eee;
-}
-
-#treecontrol { margin: 1em 0; display: none; }
-
-.treeview .hover { color: red; cursor: pointer; }
-
-.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
-.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
-
-.treeview .expandable-hitarea { background-position: -80px -3px; }
-
-.treeview li.last { background-position: 0 -1766px }
-.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
-.treeview li.lastCollapsable { background-position: 0 -111px }
-.treeview li.lastExpandable { background-position: -32px -67px }
-
-.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
-
-.treeview-red li { background-image: url(images/treeview-red-line.gif); }
-.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
-
-.treeview-black li { background-image: url(images/treeview-black-line.gif); }
-.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
-
-.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
-.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
-
-.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
-.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
-
-.treeview .placeholder {
-	background: url(images/ajax-loader.gif) 0 0 no-repeat;
-	height: 16px;
-	width: 16px;
-	display: block;
-}
-
-.filetree li { padding: 3px 0 2px 16px; }
-.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
-.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
-.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
-.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }
internal/godoc/static/jquery.treeview.edit.js
@@ -1,39 +0,0 @@
-/* https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.edit.js */
-/* License: MIT. */
-(function($) {
-	var CLASSES = $.treeview.classes;
-	var proxied = $.fn.treeview;
-	$.fn.treeview = function(settings) {
-		settings = $.extend({}, settings);
-		if (settings.add) {
-			return this.trigger("add", [settings.add]);
-		}
-		if (settings.remove) {
-			return this.trigger("remove", [settings.remove]);
-		}
-		return proxied.apply(this, arguments).bind("add", function(event, branches) {
-			$(branches).prev()
-				.removeClass(CLASSES.last)
-				.removeClass(CLASSES.lastCollapsable)
-				.removeClass(CLASSES.lastExpandable)
-			.find(">.hitarea")
-				.removeClass(CLASSES.lastCollapsableHitarea)
-				.removeClass(CLASSES.lastExpandableHitarea);
-			$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, $(this).data("toggler"));
-		}).bind("remove", function(event, branches) {
-			var prev = $(branches).prev();
-			var parent = $(branches).parent();
-			$(branches).remove();
-			prev.filter(":last-child").addClass(CLASSES.last)
-				.filter("." + CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable).end()
-				.find(">.hitarea").replaceClass(CLASSES.expandableHitarea, CLASSES.lastExpandableHitarea).end()
-				.filter("." + CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable).end()
-				.find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.lastCollapsableHitarea);
-			if (parent.is(":not(:has(>))") && parent[0] != this) {
-				parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable)
-				parent.siblings(".hitarea").andSelf().remove();
-			}
-		});
-	};
-
-})(jQuery);
internal/godoc/static/jquery.treeview.js
@@ -1,250 +0,0 @@
-/*
- * Treeview 1.4.2 - jQuery plugin to hide and show branches of a tree
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- *
- * Copyright Jörn Zaefferer
- * Released under the MIT license:
- *   http://www.opensource.org/licenses/mit-license.php
- */
-
-;(function($) {
-
-	// TODO rewrite as a widget, removing all the extra plugins
-	$.extend($.fn, {
-		swapClass: function(c1, c2) {
-			var c1Elements = this.filter('.' + c1);
-			this.filter('.' + c2).removeClass(c2).addClass(c1);
-			c1Elements.removeClass(c1).addClass(c2);
-			return this;
-		},
-		replaceClass: function(c1, c2) {
-			return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
-		},
-		hoverClass: function(className) {
-			className = className || "hover";
-			return this.hover(function() {
-				$(this).addClass(className);
-			}, function() {
-				$(this).removeClass(className);
-			});
-		},
-		heightToggle: function(animated, callback) {
-			animated ?
-				this.animate({ height: "toggle" }, animated, callback) :
-				this.each(function(){
-					jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
-					if(callback)
-						callback.apply(this, arguments);
-				});
-		},
-		heightHide: function(animated, callback) {
-			if (animated) {
-				this.animate({ height: "hide" }, animated, callback);
-			} else {
-				this.hide();
-				if (callback)
-					this.each(callback);
-			}
-		},
-		prepareBranches: function(settings) {
-			if (!settings.prerendered) {
-				// mark last tree items
-				this.filter(":last-child:not(ul)").addClass(CLASSES.last);
-				// collapse whole tree, or only those marked as closed, anyway except those marked as open
-				this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
-			}
-			// return all items with sublists
-			return this.filter(":has(>ul)");
-		},
-		applyClasses: function(settings, toggler) {
-			// TODO use event delegation
-			this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview", function(event) {
-				// don't handle click events on children, eg. checkboxes
-				if ( this == event.target )
-					toggler.apply($(this).next());
-			}).add( $("a", this) ).hoverClass();
-
-			if (!settings.prerendered) {
-				// handle closed ones first
-				this.filter(":has(>ul:hidden)")
-						.addClass(CLASSES.expandable)
-						.replaceClass(CLASSES.last, CLASSES.lastExpandable);
-
-				// handle open ones
-				this.not(":has(>ul:hidden)")
-						.addClass(CLASSES.collapsable)
-						.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
-
-	            // create hitarea if not present
-				var hitarea = this.find("div." + CLASSES.hitarea);
-				if (!hitarea.length)
-					hitarea = this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea);
-				hitarea.removeClass().addClass(CLASSES.hitarea).each(function() {
-					var classes = "";
-					$.each($(this).parent().attr("class").split(" "), function() {
-						classes += this + "-hitarea ";
-					});
-					$(this).addClass( classes );
-				})
-			}
-
-			// apply event to hitarea
-			this.find("div." + CLASSES.hitarea).click( toggler );
-		},
-		treeview: function(settings) {
-
-			settings = $.extend({
-				cookieId: "treeview"
-			}, settings);
-
-			if ( settings.toggle ) {
-				var callback = settings.toggle;
-				settings.toggle = function() {
-					return callback.apply($(this).parent()[0], arguments);
-				};
-			}
-
-			// factory for treecontroller
-			function treeController(tree, control) {
-				// factory for click handlers
-				function handler(filter) {
-					return function() {
-						// reuse toggle event handler, applying the elements to toggle
-						// start searching for all hitareas
-						toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
-							// for plain toggle, no filter is provided, otherwise we need to check the parent element
-							return filter ? $(this).parent("." + filter).length : true;
-						}) );
-						return false;
-					};
-				}
-				// click on first element to collapse tree
-				$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
-				// click on second to expand tree
-				$("a:eq(1)", control).click( handler(CLASSES.expandable) );
-				// click on third to toggle tree
-				$("a:eq(2)", control).click( handler() );
-			}
-
-			// handle toggle event
-			function toggler() {
-				$(this)
-					.parent()
-					// swap classes for hitarea
-					.find(">.hitarea")
-						.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
-						.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
-					.end()
-					// swap classes for parent li
-					.swapClass( CLASSES.collapsable, CLASSES.expandable )
-					.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
-					// find child lists
-					.find( ">ul" )
-					// toggle them
-					.heightToggle( settings.animated, settings.toggle );
-				if ( settings.unique ) {
-					$(this).parent()
-						.siblings()
-						// swap classes for hitarea
-						.find(">.hitarea")
-							.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
-							.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
-						.end()
-						.replaceClass( CLASSES.collapsable, CLASSES.expandable )
-						.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
-						.find( ">ul" )
-						.heightHide( settings.animated, settings.toggle );
-				}
-			}
-			this.data("toggler", toggler);
-
-			function serialize() {
-				function binary(arg) {
-					return arg ? 1 : 0;
-				}
-				var data = [];
-				branches.each(function(i, e) {
-					data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
-				});
-				$.cookie(settings.cookieId, data.join(""), settings.cookieOptions );
-			}
-
-			function deserialize() {
-				var stored = $.cookie(settings.cookieId);
-				if ( stored ) {
-					var data = stored.split("");
-					branches.each(function(i, e) {
-						$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
-					});
-				}
-			}
-
-			// add treeview class to activate styles
-			this.addClass("treeview");
-
-			// prepare branches and find all tree items with child lists
-			var branches = this.find("li").prepareBranches(settings);
-
-			switch(settings.persist) {
-			case "cookie":
-				var toggleCallback = settings.toggle;
-				settings.toggle = function() {
-					serialize();
-					if (toggleCallback) {
-						toggleCallback.apply(this, arguments);
-					}
-				};
-				deserialize();
-				break;
-			case "location":
-				var current = this.find("a").filter(function() {
-					return location.href.toLowerCase().indexOf(this.href.toLowerCase()) == 0;
-				});
-				if ( current.length ) {
-					// TODO update the open/closed classes
-					var items = current.addClass("selected").parents("ul, li").add( current.next() ).show();
-					if (settings.prerendered) {
-						// if prerendered is on, replicate the basic class swapping
-						items.filter("li")
-							.swapClass( CLASSES.collapsable, CLASSES.expandable )
-							.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
-							.find(">.hitarea")
-								.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
-								.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );
-					}
-				}
-				break;
-			}
-
-			branches.applyClasses(settings, toggler);
-
-			// if control option is set, create the treecontroller and show it
-			if ( settings.control ) {
-				treeController(this, settings.control);
-				$(settings.control).show();
-			}
-
-			return this;
-		}
-	});
-
-	// classes used by the plugin
-	// need to be styled via external stylesheet, see first example
-	$.treeview = {};
-	var CLASSES = ($.treeview.classes = {
-		open: "open",
-		closed: "closed",
-		expandable: "expandable",
-		expandableHitarea: "expandable-hitarea",
-		lastExpandableHitarea: "lastExpandable-hitarea",
-		collapsable: "collapsable",
-		collapsableHitarea: "collapsable-hitarea",
-		lastCollapsableHitarea: "lastCollapsable-hitarea",
-		lastCollapsable: "lastCollapsable",
-		lastExpandable: "lastExpandable",
-		last: "last",
-		hitarea: "hitarea"
-	});
-
-})(jQuery);
internal/godoc/static/makestatic.go
@@ -1,37 +0,0 @@
-//go:build ignore
-// +build ignore
-
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Command makestatic writes the generated file buffer to "static.go".
-// It is intended to be invoked via "go generate" (directive in "gen.go").
-package main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"os"
-
-	"golang.org/x/website/internal/godoc/static"
-)
-
-func main() {
-	if err := makestatic(); err != nil {
-		fmt.Fprintln(os.Stderr, err)
-		os.Exit(1)
-	}
-}
-
-func makestatic() error {
-	buf, err := static.Generate()
-	if err != nil {
-		return fmt.Errorf("error while generating static.go: %v\n", err)
-	}
-	err = ioutil.WriteFile("static.go", buf, 0666)
-	if err != nil {
-		return fmt.Errorf("error while writing static.go: %v\n", err)
-	}
-	return nil
-}
internal/godoc/static/methodset.html
@@ -1,9 +0,0 @@
-<div class="toggle" style="display: none">
-	<div class="collapsed">
-		<p class="exampleHeading toggleButton">▹ <span class="text">Method set</span></p>
-	</div>
-	<div class="expanded">
-		<p class="exampleHeading toggleButton">▾ <span class="text">Method set</span></p>
-		<div style="margin-left: 1in" id='methodset-{{.Index}}'>...</div>
-	</div>
-</div>
internal/godoc/static/package.html
@@ -1,292 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PDoc}}
-	<script>
-	document.ANALYSIS_DATA = {{$.AnalysisData}};
-	document.CALLGRAPH = {{$.CallGraph}};
-	</script>
-
-	{{if $.IsMain}}
-		{{/* command documentation */}}
-		{{comment_html .Doc}}
-	{{else}}
-		{{/* package documentation */}}
-		<div id="short-nav">
-			<dl>
-			<dd><code>import "{{html .ImportPath}}"</code></dd>
-			</dl>
-			<dl>
-			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
-			<dd><a href="#pkg-index" class="indexLink">Index</a></dd>
-			{{if $.Examples}}
-				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
-			{{end}}
-			{{if $.Dirs}}
-				<dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		<!-- The package's Name is printed as title by the top-level template -->
-		<div id="pkg-overview" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
-				{{comment_html .Doc}}
-				{{example_html $ ""}}
-			</div>
-		</div>
-
-		<div id="pkg-index" class="toggleVisible">
-		<div class="collapsed">
-			<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
-		</div>
-		<div class="expanded">
-			<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
-
-		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
-			<div id="manual-nav">
-			<dl>
-			{{if .Consts}}
-				<dd><a href="#pkg-constants">Constants</a></dd>
-			{{end}}
-			{{if .Vars}}
-				<dd><a href="#pkg-variables">Variables</a></dd>
-			{{end}}
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-			{{end}}
-			{{range .Types}}
-				{{$tname_html := html .Name}}
-				<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
-				{{range .Funcs}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-				{{range .Methods}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-			{{end}}
-			{{if $.Notes}}
-				{{range $marker, $item := $.Notes}}
-				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
-				{{end}}
-			{{end}}
-			</dl>
-			</div><!-- #manual-nav -->
-
-		{{if $.Examples}}
-		<div id="pkg-examples">
-			<h3>Examples</h3>
-			<div class="js-expandAll expandAll collapsed">(Expand All)</div>
-			<dl>
-			{{range $.Examples}}
-			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		{{end}}
-
-		{{with .Filenames}}
-			<h3>Package files</h3>
-			<p>
-			<span style="font-size:90%">
-			{{range .}}
-				<a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
-			{{end}}
-			</span>
-			</p>
-		{{end}}
-		</div><!-- .expanded -->
-		</div><!-- #pkg-index -->
-
-		{{if ne $.CallGraph "null"}}
-		<div id="pkg-callgraph" class="toggle" style="display: none">
-		<div class="collapsed">
-			<h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
-		</div> <!-- .expanded -->
-		<div class="expanded">
-			<h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
-			<p>
-			  In the call graph viewer below, each node
-			  is a function belonging to this package
-			  and its children are the functions it
-			  calls&mdash;perhaps dynamically.
-			</p>
-			<p>
-			  The root nodes are the entry points of the
-			  package: functions that may be called from
-			  outside the package.
-			  There may be non-exported or anonymous
-			  functions among them if they are called
-			  dynamically from another package.
-			</p>
-			<p>
-			  Click a node to visit that function's source code.
-			  From there you can visit its callers by
-			  clicking its declaring <code>func</code>
-			  token.
-			</p>
-			<p>
-			  Functions may be omitted if they were
-			  determined to be unreachable in the
-			  particular programs or tests that were
-			  analyzed.
-			</p>
-			<!-- Zero means show all package entry points. -->
-			<ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
-		</div>
-		</div> <!-- #pkg-callgraph -->
-		{{end}}
-
-		{{with .Consts}}
-			<h2 id="pkg-constants">Constants</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{with .Vars}}
-			<h2 id="pkg-variables">Variables</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{range .Funcs}}
-			{{/* Name is a string - no need for FSet */}}
-			{{$name_html := html .Name}}
-			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-				<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-				{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			<pre>{{node_html $ .Decl true}}</pre>
-			{{comment_html .Doc}}
-			{{example_html $ .Name}}
-			{{callgraph_html $ "" .Name}}
-
-		{{end}}
-		{{range .Types}}
-			{{$tname := .Name}}
-			{{$tname_html := html .Name}}
-			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
-				<a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
-				{{$since := since "type" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			{{comment_html .Doc}}
-			<pre>{{node_html $ .Decl true}}</pre>
-
-			{{range .Consts}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{range .Vars}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{example_html $ $tname}}
-			{{implements_html $ $tname}}
-			{{methodset_html $ $tname}}
-
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-					{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{example_html $ .Name}}
-				{{callgraph_html $ "" .Name}}
-			{{end}}
-
-			{{range .Methods}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
-					{{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{$name := printf "%s_%s" $tname .Name}}
-				{{example_html $ $name}}
-				{{callgraph_html $ .Recv .Name}}
-			{{end}}
-		{{end}}
-	{{end}}
-
-	{{with $.Notes}}
-		{{range $marker, $content := .}}
-			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
-			<ul style="list-style: none; padding: 0;">
-			{{range .}}
-			<li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html .Body}}</li>
-			{{end}}
-			</ul>
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-	<div class="pkg-dir">
-		<table>
-			<tr>
-				<th class="pkg-name">Name</th>
-				<th class="pkg-synopsis">Synopsis</th>
-			</tr>
-
-			{{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
-			<tr>
-				<td colspan="2"><a href="..">..</a></td>
-			</tr>
-			{{end}}
-
-			{{range .List}}
-				<tr>
-				{{if $.DirFlat}}
-					{{if .HasPkg}}
-						<td class="pkg-name">
-							<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-						</td>
-					{{end}}
-				{{else}}
-					<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-						<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-					</td>
-				{{end}}
-					<td class="pkg-synopsis">
-						{{html .Synopsis}}
-					</td>
-				</tr>
-			{{end}}
-		</table>
-	</div>
-{{end}}
internal/godoc/static/packageroot.html
@@ -1,150 +0,0 @@
-<!--
-	Copyright 2018 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-		<div id="manual-nav">
-			<dl>
-				<dt><a href="#stdlib">Standard library</a></dt>
-				{{if hasThirdParty .List }}
-					<dt><a href="#thirdparty">Third party</a></dt>
-				{{end}}
-				<dt><a href="#other">Other packages</a></dt>
-				<dd><a href="#subrepo">Sub-repositories</a></dd>
-				<dd><a href="#community">Community</a></dd>
-			</dl>
-		</div>
-
-		<div id="stdlib" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
-				<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-							{{if eq .RootType "GOROOT"}}
-							{{if $.DirFlat}}
-								{{if .HasPkg}}
-										<td class="pkg-name">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-										</td>
-								{{end}}
-							{{else}}
-									<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-										<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-									</td>
-							{{end}}
-								<td class="pkg-synopsis">
-									{{html .Synopsis}}
-								</td>
-							{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-
-	{{if hasThirdParty .List }}
-		<div id="thirdparty" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Third party section">Third party ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Third party section">Third party ▾</h2>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-								{{if eq .RootType "GOPATH"}}
-								{{if $.DirFlat}}
-									{{if .HasPkg}}
-											<td class="pkg-name">
-												<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-											</td>
-									{{end}}
-								{{else}}
-										<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-										</td>
-								{{end}}
-									<td class="pkg-synopsis">
-										{{html .Synopsis}}
-									</td>
-								{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-	{{end}}
-
-	<h2 id="other">Other packages</h2>
-	<h3 id="subrepo">Sub-repositories</h3>
-	<p>
-	These packages are part of the Go Project but outside the main Go tree.
-	They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
-	Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
-	</ul>
-
-	<h3 id="community">Community</h3>
-	<p>
-	These services can help you find Open Source packages provided by the community.
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
-		<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
-	</ul>
-{{end}}
internal/godoc/static/play.js
@@ -1,114 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-function initPlayground(transport) {
-  'use strict';
-
-  function text(node) {
-    var s = '';
-    for (var i = 0; i < node.childNodes.length; i++) {
-      var n = node.childNodes[i];
-      if (n.nodeType === 1) {
-        if (n.tagName === 'BUTTON') continue;
-        if (n.tagName === 'SPAN' && n.className === 'number') continue;
-        if (n.tagName === 'DIV' || n.tagName === 'BR' || n.tagName === 'PRE') {
-          s += '\n';
-        }
-        s += text(n);
-        continue;
-      }
-      if (n.nodeType === 3) {
-        s += n.nodeValue;
-      }
-    }
-    return s.replace('\xA0', ' '); // replace non-breaking spaces
-  }
-
-  // When presenter notes are enabled, the index passed
-  // here will identify the playground to be synced
-  function init(code, index) {
-    var output = document.createElement('div');
-    var outpre = document.createElement('pre');
-    var running;
-
-    if ($ && $(output).resizable) {
-      $(output).resizable({
-        handles: 'n,w,nw',
-        minHeight: 27,
-        minWidth: 135,
-        maxHeight: 608,
-        maxWidth: 990,
-      });
-    }
-
-    function onKill() {
-      if (running) running.Kill();
-      if (window.notesEnabled) updatePlayStorage('onKill', index);
-    }
-
-    function onRun(e) {
-      var sk = e.shiftKey || localStorage.getItem('play-shiftKey') === 'true';
-      if (running) running.Kill();
-      output.style.display = 'block';
-      outpre.textContent = '';
-      run1.style.display = 'none';
-      var options = { Race: sk };
-      running = transport.Run(text(code), PlaygroundOutput(outpre), options);
-      if (window.notesEnabled) updatePlayStorage('onRun', index, e);
-    }
-
-    function onClose() {
-      if (running) running.Kill();
-      output.style.display = 'none';
-      run1.style.display = 'inline-block';
-      if (window.notesEnabled) updatePlayStorage('onClose', index);
-    }
-
-    if (window.notesEnabled) {
-      playgroundHandlers.onRun.push(onRun);
-      playgroundHandlers.onClose.push(onClose);
-      playgroundHandlers.onKill.push(onKill);
-    }
-
-    var run1 = document.createElement('button');
-    run1.textContent = 'Run';
-    run1.className = 'run';
-    run1.addEventListener('click', onRun, false);
-    var run2 = document.createElement('button');
-    run2.className = 'run';
-    run2.textContent = 'Run';
-    run2.addEventListener('click', onRun, false);
-    var kill = document.createElement('button');
-    kill.className = 'kill';
-    kill.textContent = 'Kill';
-    kill.addEventListener('click', onKill, false);
-    var close = document.createElement('button');
-    close.className = 'close';
-    close.textContent = 'Close';
-    close.addEventListener('click', onClose, false);
-
-    var button = document.createElement('div');
-    button.classList.add('buttons');
-    button.appendChild(run1);
-    // Hack to simulate insertAfter
-    code.parentNode.insertBefore(button, code.nextSibling);
-
-    var buttons = document.createElement('div');
-    buttons.classList.add('buttons');
-    buttons.appendChild(run2);
-    buttons.appendChild(kill);
-    buttons.appendChild(close);
-
-    output.classList.add('output');
-    output.appendChild(buttons);
-    output.appendChild(outpre);
-    output.style.display = 'none';
-    code.parentNode.insertBefore(output, button.nextSibling);
-  }
-
-  var play = document.querySelectorAll('div.playground');
-  for (var i = 0; i < play.length; i++) {
-    init(play[i], i);
-  }
-}
internal/godoc/static/playground.js
@@ -1,593 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-In the absence of any formal way to specify interfaces in JavaScript,
-here's a skeleton implementation of a playground transport.
-
-        function Transport() {
-                // Set up any transport state (eg, make a websocket connection).
-                return {
-                        Run: function(body, output, options) {
-                                // Compile and run the program 'body' with 'options'.
-				// Call the 'output' callback to display program output.
-                                return {
-                                        Kill: function() {
-                                                // Kill the running program.
-                                        }
-                                };
-                        }
-                };
-        }
-
-	// The output callback is called multiple times, and each time it is
-	// passed an object of this form.
-        var write = {
-                Kind: 'string', // 'start', 'stdout', 'stderr', 'end'
-                Body: 'string'  // content of write or end status message
-        }
-
-	// The first call must be of Kind 'start' with no body.
-	// Subsequent calls may be of Kind 'stdout' or 'stderr'
-	// and must have a non-null Body string.
-	// The final call should be of Kind 'end' with an optional
-	// Body string, signifying a failure ("killed", for example).
-
-	// The output callback must be of this form.
-	// See PlaygroundOutput (below) for an implementation.
-        function outputCallback(write) {
-        }
-*/
-
-// HTTPTransport is the default transport.
-// enableVet enables running vet if a program was compiled and ran successfully.
-// If vet returned any errors, display them before the output of a program.
-function HTTPTransport(enableVet) {
-  'use strict';
-
-  function playback(output, data) {
-    // Backwards compatibility: default values do not affect the output.
-    var events = data.Events || [];
-    var errors = data.Errors || '';
-    var status = data.Status || 0;
-    var isTest = data.IsTest || false;
-    var testsFailed = data.TestsFailed || 0;
-
-    var timeout;
-    output({ Kind: 'start' });
-    function next() {
-      if (!events || events.length === 0) {
-        if (isTest) {
-          if (testsFailed > 0) {
-            output({
-              Kind: 'system',
-              Body:
-                '\n' +
-                testsFailed +
-                ' test' +
-                (testsFailed > 1 ? 's' : '') +
-                ' failed.',
-            });
-          } else {
-            output({ Kind: 'system', Body: '\nAll tests passed.' });
-          }
-        } else {
-          if (status > 0) {
-            output({ Kind: 'end', Body: 'status ' + status + '.' });
-          } else {
-            if (errors !== '') {
-              // errors are displayed only in the case of timeout.
-              output({ Kind: 'end', Body: errors + '.' });
-            } else {
-              output({ Kind: 'end' });
-            }
-          }
-        }
-        return;
-      }
-      var e = events.shift();
-      if (e.Delay === 0) {
-        output({ Kind: e.Kind, Body: e.Message });
-        next();
-        return;
-      }
-      timeout = setTimeout(function() {
-        output({ Kind: e.Kind, Body: e.Message });
-        next();
-      }, e.Delay / 1000000);
-    }
-    next();
-    return {
-      Stop: function() {
-        clearTimeout(timeout);
-      },
-    };
-  }
-
-  function error(output, msg) {
-    output({ Kind: 'start' });
-    output({ Kind: 'stderr', Body: msg });
-    output({ Kind: 'end' });
-  }
-
-  function buildFailed(output, msg) {
-    output({ Kind: 'start' });
-    output({ Kind: 'stderr', Body: msg });
-    output({ Kind: 'system', Body: '\nGo build failed.' });
-  }
-
-  var seq = 0;
-  return {
-    Run: function(body, output, options) {
-      seq++;
-      var cur = seq;
-      var playing;
-      $.ajax('/compile', {
-        type: 'POST',
-        data: { version: 2, body: body, withVet: enableVet },
-        dataType: 'json',
-        success: function(data) {
-          if (seq != cur) return;
-          if (!data) return;
-          if (playing != null) playing.Stop();
-          if (data.Errors) {
-            if (data.Errors === 'process took too long') {
-              // Playback the output that was captured before the timeout.
-              playing = playback(output, data);
-            } else {
-              buildFailed(output, data.Errors);
-            }
-            return;
-          }
-          if (!data.Events) {
-            data.Events = [];
-          }
-          if (data.VetErrors) {
-            // Inject errors from the vet as the first events in the output.
-            data.Events.unshift({
-              Message: 'Go vet exited.\n\n',
-              Kind: 'system',
-              Delay: 0,
-            });
-            data.Events.unshift({
-              Message: data.VetErrors,
-              Kind: 'stderr',
-              Delay: 0,
-            });
-          }
-
-          if (!enableVet || data.VetOK || data.VetErrors) {
-            playing = playback(output, data);
-            return;
-          }
-
-          // In case the server support doesn't support
-          // compile+vet in same request signaled by the
-          // 'withVet' parameter above, also try the old way.
-          // TODO: remove this when it falls out of use.
-          // It is 2019-05-13 now.
-          $.ajax('/vet', {
-            data: { body: body },
-            type: 'POST',
-            dataType: 'json',
-            success: function(dataVet) {
-              if (dataVet.Errors) {
-                // inject errors from the vet as the first events in the output
-                data.Events.unshift({
-                  Message: 'Go vet exited.\n\n',
-                  Kind: 'system',
-                  Delay: 0,
-                });
-                data.Events.unshift({
-                  Message: dataVet.Errors,
-                  Kind: 'stderr',
-                  Delay: 0,
-                });
-              }
-              playing = playback(output, data);
-            },
-            error: function() {
-              playing = playback(output, data);
-            },
-          });
-        },
-        error: function() {
-          error(output, 'Error communicating with remote server.');
-        },
-      });
-      return {
-        Kill: function() {
-          if (playing != null) playing.Stop();
-          output({ Kind: 'end', Body: 'killed' });
-        },
-      };
-    },
-  };
-}
-
-function SocketTransport() {
-  'use strict';
-
-  var id = 0;
-  var outputs = {};
-  var started = {};
-  var websocket;
-  if (window.location.protocol == 'http:') {
-    websocket = new WebSocket('ws://' + window.location.host + '/socket');
-  } else if (window.location.protocol == 'https:') {
-    websocket = new WebSocket('wss://' + window.location.host + '/socket');
-  }
-
-  websocket.onclose = function() {
-    console.log('websocket connection closed');
-  };
-
-  websocket.onmessage = function(e) {
-    var m = JSON.parse(e.data);
-    var output = outputs[m.Id];
-    if (output === null) return;
-    if (!started[m.Id]) {
-      output({ Kind: 'start' });
-      started[m.Id] = true;
-    }
-    output({ Kind: m.Kind, Body: m.Body });
-  };
-
-  function send(m) {
-    websocket.send(JSON.stringify(m));
-  }
-
-  return {
-    Run: function(body, output, options) {
-      var thisID = id + '';
-      id++;
-      outputs[thisID] = output;
-      send({ Id: thisID, Kind: 'run', Body: body, Options: options });
-      return {
-        Kill: function() {
-          send({ Id: thisID, Kind: 'kill' });
-        },
-      };
-    },
-  };
-}
-
-function PlaygroundOutput(el) {
-  'use strict';
-
-  return function(write) {
-    if (write.Kind == 'start') {
-      el.innerHTML = '';
-      return;
-    }
-
-    var cl = 'system';
-    if (write.Kind == 'stdout' || write.Kind == 'stderr') cl = write.Kind;
-
-    var m = write.Body;
-    if (write.Kind == 'end') {
-      m = '\nProgram exited' + (m ? ': ' + m : '.');
-    }
-
-    if (m.indexOf('IMAGE:') === 0) {
-      // TODO(adg): buffer all writes before creating image
-      var url = 'data:image/png;base64,' + m.substr(6);
-      var img = document.createElement('img');
-      img.src = url;
-      el.appendChild(img);
-      return;
-    }
-
-    // ^L clears the screen.
-    var s = m.split('\x0c');
-    if (s.length > 1) {
-      el.innerHTML = '';
-      m = s.pop();
-    }
-
-    m = m.replace(/&/g, '&amp;');
-    m = m.replace(/</g, '&lt;');
-    m = m.replace(/>/g, '&gt;');
-
-    var needScroll = el.scrollTop + el.offsetHeight == el.scrollHeight;
-
-    var span = document.createElement('span');
-    span.className = cl;
-    span.innerHTML = m;
-    el.appendChild(span);
-
-    if (needScroll) el.scrollTop = el.scrollHeight - el.offsetHeight;
-  };
-}
-
-(function() {
-  function lineHighlight(error) {
-    var regex = /prog.go:([0-9]+)/g;
-    var r = regex.exec(error);
-    while (r) {
-      $('.lines div')
-        .eq(r[1] - 1)
-        .addClass('lineerror');
-      r = regex.exec(error);
-    }
-  }
-  function highlightOutput(wrappedOutput) {
-    return function(write) {
-      if (write.Body) lineHighlight(write.Body);
-      wrappedOutput(write);
-    };
-  }
-  function lineClear() {
-    $('.lineerror').removeClass('lineerror');
-  }
-
-  // opts is an object with these keys
-  //  codeEl - code editor element
-  //  outputEl - program output element
-  //  runEl - run button element
-  //  fmtEl - fmt button element (optional)
-  //  fmtImportEl - fmt "imports" checkbox element (optional)
-  //  shareEl - share button element (optional)
-  //  shareURLEl - share URL text input element (optional)
-  //  shareRedirect - base URL to redirect to on share (optional)
-  //  toysEl - toys select element (optional)
-  //  enableHistory - enable using HTML5 history API (optional)
-  //  transport - playground transport to use (default is HTTPTransport)
-  //  enableShortcuts - whether to enable shortcuts (Ctrl+S/Cmd+S to save) (default is false)
-  //  enableVet - enable running vet and displaying its errors
-  function playground(opts) {
-    var code = $(opts.codeEl);
-    var transport = opts['transport'] || new HTTPTransport(opts['enableVet']);
-    var running;
-
-    // autoindent helpers.
-    function insertTabs(n) {
-      // find the selection start and end
-      var start = code[0].selectionStart;
-      var end = code[0].selectionEnd;
-      // split the textarea content into two, and insert n tabs
-      var v = code[0].value;
-      var u = v.substr(0, start);
-      for (var i = 0; i < n; i++) {
-        u += '\t';
-      }
-      u += v.substr(end);
-      // set revised content
-      code[0].value = u;
-      // reset caret position after inserted tabs
-      code[0].selectionStart = start + n;
-      code[0].selectionEnd = start + n;
-    }
-    function autoindent(el) {
-      var curpos = el.selectionStart;
-      var tabs = 0;
-      while (curpos > 0) {
-        curpos--;
-        if (el.value[curpos] == '\t') {
-          tabs++;
-        } else if (tabs > 0 || el.value[curpos] == '\n') {
-          break;
-        }
-      }
-      setTimeout(function() {
-        insertTabs(tabs);
-      }, 1);
-    }
-
-    // NOTE(cbro): e is a jQuery event, not a DOM event.
-    function handleSaveShortcut(e) {
-      if (e.isDefaultPrevented()) return false;
-      if (!e.metaKey && !e.ctrlKey) return false;
-      if (e.key != 'S' && e.key != 's') return false;
-
-      e.preventDefault();
-
-      // Share and save
-      share(function(url) {
-        window.location.href = url + '.go?download=true';
-      });
-
-      return true;
-    }
-
-    function keyHandler(e) {
-      if (opts.enableShortcuts && handleSaveShortcut(e)) return;
-
-      if (e.keyCode == 9 && !e.ctrlKey) {
-        // tab (but not ctrl-tab)
-        insertTabs(1);
-        e.preventDefault();
-        return false;
-      }
-      if (e.keyCode == 13) {
-        // enter
-        if (e.shiftKey) {
-          // +shift
-          run();
-          e.preventDefault();
-          return false;
-        }
-        if (e.ctrlKey) {
-          // +control
-          fmt();
-          e.preventDefault();
-        } else {
-          autoindent(e.target);
-        }
-      }
-      return true;
-    }
-    code.unbind('keydown').bind('keydown', keyHandler);
-    var outdiv = $(opts.outputEl).empty();
-    var output = $('<pre/>').appendTo(outdiv);
-
-    function body() {
-      return $(opts.codeEl).val();
-    }
-    function setBody(text) {
-      $(opts.codeEl).val(text);
-    }
-    function origin(href) {
-      return ('' + href)
-        .split('/')
-        .slice(0, 3)
-        .join('/');
-    }
-
-    var pushedEmpty = window.location.pathname == '/';
-    function inputChanged() {
-      if (pushedEmpty) {
-        return;
-      }
-      pushedEmpty = true;
-      $(opts.shareURLEl).hide();
-      window.history.pushState(null, '', '/');
-    }
-    function popState(e) {
-      if (e === null) {
-        return;
-      }
-      if (e && e.state && e.state.code) {
-        setBody(e.state.code);
-      }
-    }
-    var rewriteHistory = false;
-    if (
-      window.history &&
-      window.history.pushState &&
-      window.addEventListener &&
-      opts.enableHistory
-    ) {
-      rewriteHistory = true;
-      code[0].addEventListener('input', inputChanged);
-      window.addEventListener('popstate', popState);
-    }
-
-    function setError(error) {
-      if (running) running.Kill();
-      lineClear();
-      lineHighlight(error);
-      output
-        .empty()
-        .addClass('error')
-        .text(error);
-    }
-    function loading() {
-      lineClear();
-      if (running) running.Kill();
-      output.removeClass('error').text('Waiting for remote server...');
-    }
-    function run() {
-      loading();
-      running = transport.Run(
-        body(),
-        highlightOutput(PlaygroundOutput(output[0]))
-      );
-    }
-
-    function fmt() {
-      loading();
-      var data = { body: body() };
-      if ($(opts.fmtImportEl).is(':checked')) {
-        data['imports'] = 'true';
-      }
-      $.ajax('/fmt', {
-        data: data,
-        type: 'POST',
-        dataType: 'json',
-        success: function(data) {
-          if (data.Error) {
-            setError(data.Error);
-          } else {
-            setBody(data.Body);
-            setError('');
-          }
-        },
-      });
-    }
-
-    var shareURL; // jQuery element to show the shared URL.
-    var sharing = false; // true if there is a pending request.
-    var shareCallbacks = [];
-    function share(opt_callback) {
-      if (opt_callback) shareCallbacks.push(opt_callback);
-
-      if (sharing) return;
-      sharing = true;
-
-      var sharingData = body();
-      $.ajax('/share', {
-        processData: false,
-        data: sharingData,
-        type: 'POST',
-        contentType: 'text/plain; charset=utf-8',
-        complete: function(xhr) {
-          sharing = false;
-          if (xhr.status != 200) {
-            alert('Server error; try again.');
-            return;
-          }
-          if (opts.shareRedirect) {
-            window.location = opts.shareRedirect + xhr.responseText;
-          }
-          var path = '/p/' + xhr.responseText;
-          var url = origin(window.location) + path;
-
-          for (var i = 0; i < shareCallbacks.length; i++) {
-            shareCallbacks[i](url);
-          }
-          shareCallbacks = [];
-
-          if (shareURL) {
-            shareURL
-              .show()
-              .val(url)
-              .focus()
-              .select();
-
-            if (rewriteHistory) {
-              var historyData = { code: sharingData };
-              window.history.pushState(historyData, '', path);
-              pushedEmpty = false;
-            }
-          }
-        },
-      });
-    }
-
-    $(opts.runEl).click(run);
-    $(opts.fmtEl).click(fmt);
-
-    if (
-      opts.shareEl !== null &&
-      (opts.shareURLEl !== null || opts.shareRedirect !== null)
-    ) {
-      if (opts.shareURLEl) {
-        shareURL = $(opts.shareURLEl).hide();
-      }
-      $(opts.shareEl).click(function() {
-        share();
-      });
-    }
-
-    if (opts.toysEl !== null) {
-      $(opts.toysEl).bind('change', function() {
-        var toy = $(this).val();
-        $.ajax('/doc/play/' + toy, {
-          processData: false,
-          type: 'GET',
-          complete: function(xhr) {
-            if (xhr.status != 200) {
-              alert('Server error; try again.');
-              return;
-            }
-            setBody(xhr.responseText);
-          },
-        });
-      });
-    }
-  }
-
-  window.playground = playground;
-})();
internal/godoc/static/search.html
@@ -1,66 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-{{ $colCount := tocColCount .}}
-{{/* Generate the TOC */}}
-<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<a href="#{{$key.Name}}">{{$key.Name}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{if not .Idents}}
-	{{with .Pak}}
-		<a href="#Packages">Package {{html $.Query}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{with .Hit}}
-	{{with .Decls}}
-		<a href="#Global">Package-level declarations</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<a href="#Local">Local declarations and uses</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .Textual}}
-	{{if $.Complete}}
-		<a href="#Textual">{{html $.Found}} textual occurrences</a>
-	{{else}}
-		<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
-	{{end}}
-{{end}}
-</nav>
-
-{{with .Alert}}
-	<p>
-	<span class="alert" style="font-size:120%">{{html .}}</span>
-	</p>
-{{end}}
-{{with .Alt}}
-	<p>
-	<span class="alert" style="font-size:120%">Did you mean: </span>
-	{{range .Alts}}
-		<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
-	{{end}}
-	</p>
-{{end}}
internal/godoc/static/searchcode.html
@@ -1,64 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{if not .Idents}}
-	{{with .Pak}}
-		<h2 id="Packages">Package {{html $.Query}}</h2>
-		<p>
-		<table class="layout">
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<tr><td><a href="/{{$pkg_html}}">{{$pkg_html}}</a></td></tr>
-		{{end}}
-		</table>
-		</p>
-	{{end}}
-{{end}}
-{{with .Hit}}
-	{{with .Decls}}
-		<h2 id="Global">Package-level declarations</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Global_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				{{range .Groups}}
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$file}}:{{$line}}</a>
-						{{infoSnippet_html .}}
-					{{end}}
-				{{end}}
-			{{end}}
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<h2 id="Local">Local declarations and uses</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Local_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				<a href="{{queryLink $file $query_url 0 | html}}">{{$file}}</a>
-				<table class="layout">
-				{{range .Groups}}
-					<tr>
-					<td width="25"></td>
-					<th align="left" valign="top">{{index . 0 | infoKind_html}}</th>
-					<td align="left" width="4"></td>
-					<td>
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$line}}</a>
-					{{end}}
-					</td>
-					</tr>
-				{{end}}
-				</table>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
internal/godoc/static/searchdoc.html
@@ -1,24 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<h2 id="{{$key.Name}}">{{$key.Name}}</h2>
-		{{range $val}}
-			{{$pkg_html := pkgLink .Path | html}}
-			{{if eq "Packages" $key.Name}}
-				<a href="/{{$pkg_html}}">{{html .Path}}</a>
-			{{else}}
-				{{$doc_html := docLink .Path .Name| html}}
-				<a href="/{{$pkg_html}}">{{html .Package}}</a>.<a href="{{$doc_html}}">{{.Name}}</a>
-			{{end}}
-			{{if .Doc}}
-				<p>{{comment_html .Doc}}</p>
-			{{else}}
-				<p><em>No documentation available</em></p>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
internal/godoc/static/searchtxt.html
@@ -1,42 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{with .Textual}}
-	{{if $.Complete}}
-		<h2 id="Textual">{{html $.Found}} textual occurrences</h2>
-	{{else}}
-		<h2 id="Textual">More than {{html $.Found}} textual occurrences</h2>
-		<p>
-		<span class="alert" style="font-size:120%">Not all files or lines containing "{{html $.Query}}" are shown.</span>
-		</p>
-	{{end}}
-	<p>
-	<table class="layout">
-	{{range .}}
-		{{$file := .Filename}}
-		<tr>
-		<td align="left" valign="top">
-		<a href="{{queryLink $file $query_url 0}}">{{$file}}</a>:
-		</td>
-		<td align="left" width="4"></td>
-		<th align="left" valign="top">{{len .Lines}}</th>
-		<td align="left" width="4"></td>
-		<td align="left">
-		{{range .Lines}}
-			<a href="{{queryLink $file $query_url .}}">{{html .}}</a>
-		{{end}}
-		{{if not $.Complete}}
-			...
-		{{end}}
-		</td>
-		</tr>
-	{{end}}
-	{{if not $.Complete}}
-		<tr><td align="left">...</td></tr>
-	{{end}}
-	</table>
-	</p>
-{{end}}
internal/godoc/static/static.go
@@ -1,99 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by "makestatic"; DO NOT EDIT.
-
-package static
-
-var Files = map[string]string{
-	"analysis/call3.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03N\x00\x00\x01\xea\x08\x03\x00\x00\x00\x04l\xeeb\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x06\x03\x06\x09\x05\x0e\x10\x0d\x16\x17\x15$\x18\x0f\x1e\x1d\x17!#\x20#$\"$%#&(%)(\"()'-+\x1f*+),-+-/,41&J-\x1202/241S/\x0e564,7M796<:.:<9!?p=?<B@4@B?DECLH9?JVHIGvD\x13JLIMOLVQ@QRPUWT_ZHY[X,`\xae7]\xaduWG8`\xaa\\^[A`\xa5:b\xab;b\xac<c\xad_a^=d\xae@f\xb0bdaRe\x99lfP\x90^8Ci\xb4egdMj\xafhjgFm\xb1Ol\xb2fj\x90Ip\xb4\xa7c\"}iflnkKr\xb7oqnNu\xba\xb3h\"{s[Xv\xb6tvs\x7fr\x7fZx\xb8ry\x81]{\xbb\\}\xb6y{x_}\xbeX\x80\xbf`\x80\xba\x96xpb\x80\xc0}\x7f|\x89\x80eb\x83\xbd\x7f\x81~\x9a{oe\x85\xc0\x82\x83\x81k\x85\xbb\xa7}fh\x88\xc3m\x88\xbdj\x8a\xc4\xbe~G\x87\x89\x86q\x8c\xc1\x8a\x8c\x89\xbe\x82Y\x96\x8cnt\x8e\xc4z\x8f\xc0\x8f\x91\x8ex\x92\xc8~\x93\xc3x\x95\xc4z\x94\xca\x92\x94\x91\x80\x95\xc5\xd3\x8aJz\x98\xc7\x82\x96\xc7\xa0\x96w|\x99\xc8\x95\x97\x94\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96\x86\x9a\xcc\xe4\x8dA\x80\x9d\xcc\x85\x9d\xc7\x9a\x9c\x98\x83\xa0\xcf\x9c\x9e\x9b\xa8\x9e\x7f\x88\xa0\xcb\xf3\x915\x8a\xa2\xcc\x99\xa0\xb5\x9f\xa1\x9e\x8e\xa2\xc7\x8b\xa3\xce\xa1\xa3\xa0\xfa\x95/\xa2\xa4\xa1\x8e\xa6\xd0\xff\x952\x92\xa6\xcb\xb3\xa6\x82\xa5\xa7\xa4\x91\xa9\xd4\xa7\xa9\xa6\x94\xac\xd6\x99\xac\xd2\xaa\xac\xa8\xb9\xac\x88\x9e\xae\xce\x9b\xaf\xd4\xad\xaf\xac\x9d\xb1\xd6\xa2\xb1\xd1\xaf\xb1\xae\xa1\xb5\xda\xa5\xb5\xd5\xb3\xb5\xb2\xc2\xb5\x90\xa3\xb7\xdd\xb5\xb7\xb4\xac\xb7\xd2\xaa\xb9\xd9\xb7\xb9\xb6\xac\xbc\xdc\xba\xbc\xb9\xb1\xbd\xd7\xaf\xbe\xdf\xcb\xbe\x98\xbd\xbf\xbc\xb1\xc0\xe0\xba\xc1\xd6\xc0\xc2\xbe\xb7\xc2\xdd\xc2\xc4\xc1\xb9\xc5\xe0\xbd\xc5\xda\xc4\xc6\xc3\xbb\xc7\xe2\xd6\xc7\x9d\xbc\xc8\xe3\xbb\xca\xde\xc7\xc9\xc6\xbf\xca\xe5\xc6\xca\xda\xc0\xcc\xda\xca\xcc\xc8\xc1\xcc\xe7\xbf\xcf\xe2\xc2\xce\xe9\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd0\xe5\xcf\xd1\xce\xdf\xd1\xa5\xca\xd1\xe7\xcc\xd3\xe9\xd2\xd4\xd1\xcc\xd5\xdd\xd3\xd3\xde\xce\xd6\xeb\xd6\xd8\xd5\xd0\xd8\xed\xe7\xd8\xac\xd2\xda\xe2\xcb\xdb\xee\xd5\xd9\xe9\xd9\xd9\xe4\xd7\xdb\xeb\xda\xdc\xd9\xd8\xdc\xec\xd2\xde\xec\xd9\xdd\xed\xdc\xdd\xe7\xdd\xdf\xdc\xd4\xe0\xef\xdb\xdf\xef\xf0\xe0\xb3\xdc\xe1\xe4\xdd\xe1\xf1\xe0\xe2\xdf\xd9\xe5\xf4\xe0\xe5\xe8\xe0\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe7\xe5\xe9\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe4\xe9\xeb\xe7\xe9\xe6\xe3\xec\xf4\xeb\xed\xea\xe6\xee\xf7\xec\xed\xf7\xe8\xf0\xf9\xf0\xf0\xfb\xf0\xf3\xef\xf4\xf2\xf6\xee\xf4\xf6\xf0\xf6\xf8\xf4\xf7\xf3\xf2\xf7\xfa\xf5\xfa\xfd\xf8\xfa\xf7\xfd\xfb\xff\xf7\xfd\xff\xf9\xff\xff\xfe\xff\xfc\x9cx\xeb\xab\x00\x00\x20\x00IDATx^\xed\x9d\x0fp\x14\xd7\x81\xa7C\x9c\xf3\x83\x89-\x94\x95V\xa7\xb0\x04r\xac8\x14\xd37l\x09F\\N\xa0\xd1\xe9N\xb27\xd2q\x0e\x845\xc1+\xbc\xb6N\xb0\x11\xb2\x1d\xd8(K!\x8e\x15\x0a\xa9S\x20\"\x18\x08Z\x82\x10QJ\x12\x08,\x84A\x90\x0a\x10\xe1\"\xe0\x80b\xc9v\xe2\x12Nd\x1bk\x89\xd6\xc4j;\x80\x8d\x8d\xf0\xd4\xd4\xbd\xd7\xdd3\xf3\xba\xa7{zz\xd4j\x8dF\xbf\xaf\xa8\xa1\xe7\xe9\xbd\xd7\x7f\xa6\xbf\xe9\xee7=\xbf\xf9\x8c?fD\x00\x80\x8a\xcf\x98Ic\x8cY\xd7\x00L4\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:%27\xcc*\x00{\x81N\x09KwA\x1aYhV\x09\xd8\x0atJXf\xce\xacj|\xc9\xac\x12\xb0\x15Gu\xea\xde_[]w\xa8\x9fM\xde8\xb1\xa7z\xd7\x19m\xa9\xd3\xf4\x15\xa7%\xcd\x8b\xf2\x8c\xa81\xb5\xde\xacJ\\q\x82\xec7\xab\x02\xec\xc6I\x9dz\xab\xea\xcft\x9f\xd9U;@\xa7\xebk\x8e_h\xafn\xd7\x94:Mf\xda\x86\x82\xa4>\xb3Z2\xf5Sw\x99U\x89+\xdaI\xb3Y\x15`7N\xea\xd4U\xd5M\x1f\x07\xaa\xe8A\xe9x5\xdb\x89\xbb\xaa\xfbU\xa5N\xd3G\xd6\x89\xe2\x98\x1c\x16\x1d\xa0\x8d\xb4\x99U\x01v\xe3\xa4N\xa2t\x00\xeae\xfa\xd4\xcb'\"\xb5\xed\xaaR\xa7\xe9\"\xe3\xeb\xfc\xcd\x12\xd0i\x0cpT'\xca@w\x1d\xdb\x85w\xc9'\"{\xeaU\xa5\x8e2\x98J$\x96J\xcf6d$el\xa0\xff\x9f\x98B\xc8\xaa\xae\xdc\xe9I\xf3\x06\xf9\xca}I\x84L\xae\xd5\xeb&H\xd7\xc2TW\xda\xbc\xb07\x85\x9a\xb4*\xf6_w\xb2<7\x92\xcc\xd7\xe0\xe7\xd6\xbf(\xdd5m\xc1\x09ZZL\\UKg$=$\xd5\xec\xcdMM_\xba4uj\x1d\x9d\xae\x9d3u\xc6R\xed\xd1\xb4\xf3\x89|\xf7\xe2\xa7\xf2\x874\xc5b\x13tr\x1egu\xea\xad\xaa\xaa\xaaa\xfb\xc3\xa1Z\xb6\xb7\x0e\xd4\xecR\x95:\xcb\xf1\xe6\xed\xa4\xac\xb9Y\xdai\x0b\\\xab\xeaW\xb9r\xe9\"\xd5\xd5N\x9b\x91<mi.Q\x0f\x8a\xb577\xbb\xcat\xbbQh\x9a\x9aQ\xd1XF*\xb4\xe5\x0b\xc9<\xf6\xdf`\xcd:\x99\x1a^S~n\xf5\xe4\xe1\xa6\xba\x05\x93\xa9\x03gj\xa7\x90\xd4\xb2\x8ad6\xca=83}C\x99+\xa9\xfa!\xdaq\xc1\xe4\xe2\xfau\xa9\x19\xea\xa1\x93_\xce}\xa6\xa5\xe3\xc0b\xe1]U\xe9`o\xd3\xec\x14\xe77\xe9\x84\xc7Y\x9d\xc4\xde\xeeSu\xb5\xf4e\xee\xaf\xa9\xef\x1d\xe8\xdeSU\xa7*u\x9a\xe0\xc9\xde~i\x14L~\x143Hf\xbf\xde%UR$\x9d\x06\xa6\xcd\xa3'\xad\x83ua\xe3\x1a\x17\xd6\\\x90\xfe\xef\xbd\x20\xd3\xab\xf9{pn\x03ul\x96\xb3\xa4O\x8a\\)T\xf2\xdcT:\xb5\x9d\xd0\xe3\xd5\x06r\x8aN\xd6\x93\x1a\x91\x9d\xc3mW\xb5?\xe0e\"\xed\xcbQ\x1f\x9d\x16\xd2\xe3\xa0\xe3\xc7{\xe0\xb4N\"\xdb\xe5\x1a\xe9c_==$\xb5\xd5\xefQ\x97:LP\xa7\x82Y\xd2\x7f3\x0b\xd8c\x86K\xff\xd3\x9a\x88:\xd5\x93\xe3\x11\xfeJ\xad\"\x01.\xa8\xff\x10\x9a[\xef\x86y\xd3\x93\x89\xb4$.\xb6\x20e.\xfa\xb0\"Ed\xcb\xc9\xb6\xd3\xa2\xe9\x83\x8c\xf4\x02U\xfb\xd7\xbc\x85\x1b\x0f\xfcjHs\xae\xf7\xd2\xfe\xaa\x998:9\x8f\x93:)C\xe1'\xaa\xe4g}7\xc4\xdaC\xdaRG\x09\xea4g\x81\xf4\xdf\xbc\xd9\xec1c\xb6~\xed\x88:\xad#&\x03\xfd\xcd\xf52\xda\xd1\xeb\xe0\xdc\xda\xd2\xa6\xad\xd8\xd5\x9c)\xeb\xc4f%\xe9TAz\xd9a\x93\x1d\x9d2\x14\x1f5w:\\;P^$\xe4\xed\x0d\xbbvj\xc6\xb5\x93\xf38\xa9Sm\x93\xf4\xdf\xf1j\xfa\x20]AHc\xe4|\xa9\xc3\x84\x8eN\xd3\xa5\xff\xa6\xcbG'\x83;s\"\xea\xd4hrt2$8\xb7\x99s\x98\x90\x0b5:\xbd4y\xdeK'f\xcca\x85\xb9\xd3\xdb%\xd4\xa7\x8b\xe7\xb6R\x91\xae\xb5\xcc?\x20j\xc0\xc8\xde\x18\xe0\xa8N\xd2\xa5\x89tZw\xa6\x8a\xee\x14\xfd\x92I\\\xa9\xd3\x04u\xaa\x97.H\xb6\xcbO3\x16\xe9\xd7\x0e\xe9t\xa1,\xcc\x9d\xfe\xf4L\xf6\x0eQ\xbcT\xfb\x87\xc0\xb5\x93\x11\xc1\xb9Mc^\xdd\xc8\xd0\xe8\xd4N\xd2\x08\xc9\x94\x86K\xf6\x13\xe9J\xf3\xf15\xaa\xf6;\x85\x0e\xf6\xdf\xcagE\x0d\xd0i\x0cpR\xa7\xae\xaa\xc63\xddg\xea\xd8\xfd\x0f]U\xed\xdd\xc7k\xeb\x07\xd4\xa5\xce\"\x8f\xec\xc9\xfb\\\xee\xe4\x15\xf5+&\xe7R\xad\xdb\x9agd67k\x15\xa0\xc5\xcd\xae\x82\xe6f\xf9rd\x01\x99\x1a6\xe4\xd0\xf4\xc0\xcc\x0d\xf5\xc5$\xec\x18\xbb@\x1e\xd9\xd3\x87\x9f[\x19Y\xb4aM\x06I\xadh\xeb\xa6\xb3j\x13\xdb\x0b\\\xcd\xdd\xe2qWc}\xb32\xb6\xbe\x82,\xaa\xdbS@\xd4\xe3\xf5;\x05\xcf\x0f\x8e\x1cyF\x96\x8a\xa7\x9d\x1c\xd2\x16\x81\xd1\xc6I\x9d\xc4\xee\xa6\xba\xea]m\x927\xc7\xebj\xea\x8f\x87\x95:\xc9@\x8at%2E\xbe\x1bc\xdd\xac\xa4Y\xd2\xe7N\x93\xa5R\xad\x02\xedr1\x91/\xf0\xaa\xa7\xea\xbc\xf3w-JO\x9e\x1d~\x1fRMj\x84\x8bB~n7*f\xb8R\x17\xd5Lwe\x16\xd3\"\xd7\xa9\xa9\xf4\xb1X<\xe4b\x15\\\x99\xec\xe2I\xdc\x9f\x99\x9a2Gs'\xdeO\x97\xef\xccw{W\x86\xd9$\xf6NYt\xa27\xca\xfb\x11\x81M8\xaaS\xc2\xb0\x8784j\xd6;\xb5\xb8wp\xb0\xaf}a\x0c\xc3t{f\x86\x0d[\x80Q\x06:\xc5@M\xca\xc3fUlbO\x8a2\x11\xd3\xed\xec\xbd'\xc6\xe0\xce\xad\x09\x0dt\xb2Nw\xeaR\xa7NM\xdb'Kgy\xe2\xa9\xc91\x0e\x1c\x02G\x81N\xf1MA\xd2\xc3\xdb\x9b\xb6?\x9c\xe4\xd4\xe1\x10\x8c\x08\xe8\x14\xe7\xd4?\x94\xeeJ\x9f\x17\xcb\xa9\x1ep\x1e\xe8\x04\x80m@\xa7D\xe4G!\xcc\xaa\x02;\x81N\x89\x08t\x1a#\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88@\xa71\x02:%\"\xd0i\x8c\x80N\x89\x08t\x1a#\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88(*\xfd\xe3\x7f\xff\xbeJ\xa7\xbe9{D0\x9a8\xaa\x93~\xa82\xe5T\x15>\xf6\xb7H\x87\xf7\x88\xf1\x1fe\x9b\xfeA\xf8{\xcd\xd1\xa9b\xb2\xfa\xbb\x87\xc0f\x9c\xd4I?T\x99\xd2W}(r\x86\x1d\x08\xe3\x88\xa7\xc5\xf8\x8f\xb2M\xee\x7f\x0c;\xd9\xab\x9f\xb2N\xbf\x05\xb0\x05'u\xd2\x0fU\xa6\xd47vC'\xab\x84e\xadp0\x9b\xfe\xaf\xfb\xeft\xae\x9dV\xb9\xf0\x9d\x8dQ\xc4I\x9d\x0cB\x95\xc5S5\x03\xd0\xc9V\x98G\xff\xeb\xbf~\xffG?\xfc\xd1\x8fn\x0c\xaa\xbe\x91\xdb\xaf\xc9\x15\x03\xb6\xe2\xa8N\xa2n\xa8r\x7fu\x97\x98@:\x19\xc42\x8b\x91\xf3\x95\xdf\xcdso\xf5z;6\xe6\xac\xbc&\x8a\xd7\xca\xbd\xee\xfc\xa7.\xd2\xe2\x7f\x16\xdc\xfb\xd6{s\x9e\xfa\x8djR\xbc\xe6\x11\x04A:\xd9\xa3\xa5\x076\x16y\x9ex\x9d=\xb9\xb6v\xb1\xf7_\xfee\xb1\xa7\x85\xda\xf4\xc3\xbf\xf9\x9f\x7f\xf9\x17\x7f\xf1\xd7\x7f9s\xe6\xd2\xdf\xac^\xec\xf6>\xf5\xba<\xa3UIN}Wk\"\xe2\xacN\xba\xa1\xca\xf5\x8db\"\xe9d\x14\xcbl\x92\xaf\xdc\x91-l,\x11\x16\xef\xcc\xdbG\xaf\x8b\x84\xf5\x1d-O\x09\xe7D\xf1b\x8b[\xc8\xdf\xb93\xdfs\x91\x9f\x14\xc5s\x9d\x9d\xf3w\xb2f\xac\xd4\xbbso\xf6j:=T\xe4\xdd\xf7\x83\xf9\x9e\x03O\xec\xa3:\xfd\x93\xfb?L\xce\xcc\x9c\x94\x949{\xd2_}}o\xc7Na\x9f<\x9fC\x088\x1aE\x9c\xd5I/T\xf9\x0c\xf3+\x81t\x12\x0dc\x99#\xe7+{\xd7\x8a\x1d\xc2\x11\xf1\x99\xf5\xa2x\xbd\x85\x1e\xa2\x86\x960E\xc4\xacBv\xb8\xca_\xae\x9e\xa4\xc8:\xd1\xd2\x1cz\xdcY\xeb\xa5S-\x025m\x1f{`\x83\xe4\xee\xfb\xd6\xf8\xfdg>\xf4\xdf\xbb\xef?\xd2\x19\x0d\xb1.\x19\xddd|\xfdL\xd5\xf8\xc2a\x9d\xc4\xb0P\xe5\xfe\xea37n\xdcx\xa96\x912w\x8cb\x99e\x0c\xf2\x95\xbd-\xe29\xe1\x9a\xb8u\xad\xc8\x92]\x9f(\xcc\x16\x96\xb0\xe2\xac\xad\xecq\x1f\xfd\x0b?)r:=C\x1fvf\xd1\x87\xad9\xf4\xe1e\xaa\xa4\xac\xd3_L\x9a4I\\4i\xd2g\xfe7\x9fb\xd6\xad\xc98\x07v\xe2\xa4N\xba\xa1\xca\x17\xaa\x02$\xce\x90\x93Q,\xb3\x82~\xbe\xb2\xb7C<\xe7\x16%\x9d\xcey\xf3\xb7\x1e\xe9,\x91u\x92\xac\xe9dg~\xdc\xa4\xc8\xe9\xc4\xfe\x97t\xda7\x97\x8a\xd6\xa1\x1c\x9d\xfeI\xf8?\x7f\xfd\x97T\xa7\xcf\xfd\xa7\xbf:\xc5\x9fT\xb6!~o\x14qR'\xfdP\xe5^\xc6\xa9\x9a^\xedOK\x8cc\x8cb\x99#\xc2t\xca\x92u*Z~\x9d\x16\x94\xcb:md\x8f\x07\xa4\xa3ShR\xd4\xd3\xe95\xe1\x89\xd7.\x16-\x1f\x92t\xfa\xbe\xfb\xef\xbf\xff?\xa8NS\xfe\x9f\xfb\x1c?\x9b2\x97\xf5\x881\x10-\x8e\xea\xa4\x1b\xaa,\x91`\xd7N\xfa\xb1\xcc\x91\xf3\x959\x9d\xf2\xcb\xe9\xf3\xa1Ge\x9d\xf2\xd8\x05S\xe1J\xf5\xa4\xa8\xa7\xd39!O\x10J\xd8\x08\x9e<P\xfe\xc3\xbfe:\x9d\xf2\xaed\x1fQm\x94\\\x14o\xcc\x8c\x10J\x0bF\x8a\x93:\xe9\x87*Snt\x9f\xaa\xe9\x8e\xf2\x17\x9f\xe3\x1e\x83Xf\xd1$_\xf9b\xce\xbe\xeb-\xee\x8b\xd7\xd7R\x1fv\x0a\xe5\x07v>*,\xde\xdbIm\x11\xbe\xder\xa0(\xe7e\x91\x9f\x1c\xea\xec\xec\x9c\xfflg\xe75\xf1\xb5N\xf7\xb3\x9dC\xbf|\xd6\xdd\xf9\x9axn~GG\xe7\xeb\xcc\x1d\xf9c\xdc\x7f\x90t\xea\xea\x98_t\xa0c\xa3\x20\xff&@\x05i7^\x060R\x9c\xd4\xc9\x20T\x99\x96\xb3K\xa7D9>\x19\xc42\x8b\x91\xf3\x95\x87\xe8\x81\xa5%[\xf0\xb4\x08\xc2jqh_Q\x96w\xed\x81\"\xf7Jv\x86\xf7L\xb6w\xedk\xacNh\xf2\x97\x82\xcc\x01\xf1;\xf4\xd1\xfd+\xf61\xd4w\xc4N7+s/\xbf(\xdfd\xf4\xf7\x7f\xf3\xdf$\x9d\x06_.\xf7f/\x97\xef\xf0kN\x0a\xfbM\x02`#\x8e\xea\x04\xac\x93\xb5SoR\x8f?x\x9e\xfd\xc3\xbb\xef^\xfb\xe5\xea\x9ck\xf2-\xb0\x7f\xf7W\xb2N\xa1*\xdb]\x05\xda\xcf\x96\x81\x9d@\xa78'z\x9d\x8e(?\xe89\xb4\xb8C\xd6\xe9G\xffE\xa3S_:n(\x1f]\xa0S\x9c\x13\xbdN\xe7\xd8\x109\xe5\xa2\xf0+\xe5\\0\xec\xe8\x04F\x19\xe8\x14\xd7\xbc.\x8d4h'\xf5\x19z\xc6\xf3lKG\xcb\xb3\x9e\xf5C\xd0i\x8c\x80Nq\x8d4\xd2\xf0\x9av\xd2\x80\xa1#Ox\xdd\xde'\x8e\x0c\x05\xbe\x8d\xfb\xb7\xd0\xc9a\xa0S\"\x02\x9d\xc6\x08\xe8\x94\x88@\xa71\x02:%0u\xd0\xc9a\xa0S\xc22\xb8a!\xbb\x05v\xc5!\xf8\xe4\x18\xd0)a\x99\xa3|A\xe3\xb3\xbb\xe0\x93S@\xa7De\x80}}\xf0C\xbf\xff\xde}\x0b\x13\xe5v\xc8\xf8\x07:%*\x03\x84df\xde\x97\x969{\xd2\xc3\xd0\xc9)\xa0S\xa22\xb8\xe7s\x9f\x9dt\x7fJJJf;\xc2V\x9c\x02:%,3\xa6\x97U\x1f\xba\xd0\xd5\xf5\x12\xbe/\xe8\x18\x8e\xea\xa4\x1b\xaa<P#}\xb5\xbd&\x91\xae\x97\x1bS\x83!\xd1}\xc5iI\xf3TA\x18\xdfQ2\xbdFF`\x16\x05\x84\x90\xa4.\x9d\x0a'\xc8~\x96\xb1\xa7\xc9\xd9\x03\xa3\x8a\x93:\xe9\x87*\xf7U\x1d\xef\xa6$\xd0w\xdb\xe9\xdaM\x0d\xc6\x05e\xa6m(HR]\xbc\xbc\xde\xe9\x8e|/kT\x04f\xd1\xdd\xdc\xbcA7\xeb\xab\x9d\xa8\xb3(\x80\x038\xa9\x93~\xa8r_U\xa4\xd8\x9f\xf1N\x1fY\x17\x1e\x11frk\xb8U\xdatu\xd2/\x05\xa3\x8a\x93:\xe9\x87*'\xb6N]D\xe7\xb7A\xa0S\xa2\xe2\xa8N\xa2^\xa8r\xc2\xe9\xd4\x97D\xc8d\xe9\xab\xfa\x83\xa9r\x9e\x9e\xf6\x0b\xe5Y\x1b\x9fQ\xd2\x91CpQ\xcb\xba\xa9\xcbb1qU-\x9d\x91\xf4\x10+\x0b\xcd\x82\xa1/N\x13tr\x1egu\xd2\x0bU\xee\xabj\xdcUU\xdb\x9c@\x83\xb9\xed\xcd\xcd\xae2i\xeax\xf3vR\xd6\xdc\xacM\x10d\x19*-K<\x17\xf92.jY?u\xf9L\xed\x14\x92ZV\x91,\x85\x8e\x85f!\xea\xea4\xd8\xdb4;EgDo\x92m\x84\xf7\x0d\x9c\xd6I/T\xb9\xbf\xaa\xf6D\xf7\x99\xba\xed\x09\xe4\x93(&\x05\xf6u\xfd\x93\xbd\xa2\xeb\xa2x\xbdh\xb9\xaa\x90\x8bZ\xd6O]\x16])\xd4\xcb\xdcT\xe5YR$\x9d\x16\xd2c\x9b\xde/\xd0Mz\xdb&\xa0\x93.\x0e\xeb$\x86\x85*\x8b\xe2)&\xd2@MB\x9d\x9a\x98\xe8$\xa5#\x07\xf2'e\xb8\xa8e\x83\xd4e\xd1\xc5~K\xa6\xcc\xa5<\x8b\xa8\xd3K\xfb\xabf\xea\x1e\x9d\xcc4\x89\x16\xe8\xa4\x8b\x93:\xe9\x86*\x07hN\xa8$z\x13\x9dT\xe9\xc8\x0a\\\xd4\xb2~\xea\xb2(\x9d\xdeE\xa7\x13\xa5Y\xaf\x14:\x8d.N\xea\xa4\x1f\xaa\xdc(\xefoM\x09\xf5\xeb\xb8&:\xa9\xd2\x91\xa3\xc6\x9aN\xba\xa5\xd0itqT'\xddP\xe5z\xe9\xb0\xd4W\x13\x0c\xb1L\x04Lt\xf2^g\xbf\xc6\xb42\xfc/\x11qR\xa7I\xd2\xbf\x08\x7f\x0f\xef\x1b8\xab\x93~\xa8rw\xd5\xfe\xae\x97\xda\xab\x13\xe7\xe04\xd8\xd6\xdc\xec*hn\xee\x0f\x8c\xec\x85\xed\xd6Y\xc2\x13\xbf\xe8X.\x05%GO7\xed\xb4Ml/p5w\xf3\xb3\x90\xee\x8aX\xd7\xdc\x1c\xf6iC\xbb\xdeOe0E\x9e\xfb\x82,\xca\xab_\xbb\x7f\xd2\x83\xdf3\xd2\x05:\xc5\x82\x93:\x19\x84*\xf76\xd6\xd6\xd4\x9f\x8a\xd4n|\xd1.\xa7*\x93*q\x20E\x9a\x98rFS\xa3hgy\x20(9z\x8aiO\xaeSS\xe9c17\x0b\xe9\x9e=F\xd8\xaf\x0c\xf4NYt\xa2W{\xbf\x1eS\xe4\x8b\xcf\xc9\xa2|\xf5\x8b\xcf\xbf\xfa\xfc\x97~f\xa0\x0bt\x8a\x05Gu\x02N\xb2g&!\xda_\xc6\x99\x14p\x85\xf2\xb9\x9f\xd3\x87\x9f\xffg\xc5\x8f\xef=8\xe9\xfeo\xbd\xfd\xf6\xf3_\xbe\xef\xbe/\xff:\xa8\xd3\xf7>?\xe9\xfe\xaf\xbd\xcdM<\xff\xe5\xcfMz\xf0\xbb\xd0\xc9\x00\xe8\x94\xc0\xf4\x9e\xd0~\x80\x1c\xae\xd3\xfd\x8aM\x9f\xfb\xde\xab\xcfS\xb5\x1e|\xee\xd5_\x7f\xe5+\x01\x9d\xfe\xf5\xc1\x7f\xa5\x07\xb0\xafq\x13\x0f~\xf3\xd7\xaf\xfe\xec\xcb\xd0\xc9\x00\xe84\xa1\xe0u\x92O\xf6\x94S\xba/|\xf7\xed\x20\xbf\xbe?\xa0\xd3\x17\x7f\xa6\x18\x17\x9c\xf8\xec\xcf\xe5:\xd0I\x17\xe84\xa1\xe0ubC\x11\xf7\x7fK\xd1i\xd2\xaf\xe5\xff\x7fNO\xe6&M\x0a\xe8t\x9f|C\x117\xf1\xd5\xfb\xbe\xf2\xad\x9fC'#\xa0\xd3\x84\x82\xd7I\xe2\xb9\xcf\xcb\xff\xdf\xa7\xe8\xf4\xc5\xaf\xfe\xfc\xedW\x83:MR\x8eE\xa1\x89\xb7\x7f\xf6\xb5/\xdf\xf7M\xe8d\x00t\x9aP\x84\xe9\xf4\xe5\xaf)\x1a)'{\x9f}\x95^(\x05u\xfa\xc27\x95j\xc1\x09\xc6\xf3\xf7A'\x03\xa0\xd3\x84\x82\xd7\xe9K?{\xf5\xf9\xaf|\xe1UY\x91\xe7\xeeW\x86\"\xbe\xf9\xea\xcf>\x1f\xd4\xe9\xb9\xfb\xbe\xf5\xebW\x9f\xfb\x127\xf1\xa5\xef\xbd\xfa\xea7\x1f\x84N\x06@\xa7\x09\x05\x13I\xb9\x0az\xfb\xbb\x9f\xff\xcc\xfd_}5p\xc8\xf9\xee\xe7\xa5\x81\xf2\x9f=8\xe9\xfeo\x06uz\xfb\xb9/~v\xd2\x17\x9f\xe3&\xbe\xf7\xc5I\xf7}\xf9y\xe8d\x00t\x9aPp\xa7y#\x03:\xe9\x02\x9d&\x14\xd0it\x81N\x13\x0a\xe84\xba@\xa7\x09\x05t\x1a]\xa0\xd3\x84\x02:\x8d.\xd0iB\xa1\x1f\xa3\x12\x0bfs\x9a\x988\xaa\x93n\xa82\xe5\xcc\xfe\x9a\xba\xf6\x08\xed\x80B\xc4\xb0f\xdb9A\xf6\x9bU\x01j\x9c\xd4I?TY\x1cl\xacj\xbb\xd0^\xa5\x97\xb3\x0d\xd4D\x0ck\xb6\x1d\xc42[\xc6I\x9d\xf4C\x95\xc5\xc6\xean\xa6\x9a\xf6;v\x20\x12\xbaa\xcd6\x83\x1cY\xcb8\xa9\x93~\xa8rw\x95\xf4\xad\xdcQ\xde5\x12\x0d\xdd\x0c\x0a\x9b\x81N\x96qT'Q/T\xb9\xad:\x91~\x8af\x141\x0bk\xbe\xe8\x16\x84\xad\xbfY[8\xff\x89w\xb9R\xd3\xb0f\xcao\xca\x17\xbb\xbdO\xbd.j@,\xb3e\x9c\xd5I/TyO\xfd\x99]U\xb5\x87\x12*\x04vt0\x09k\xbe\xde\xd2\x92_\x94\xed\xdd\xb8v.\x9fBa\x1a\xd6,\x8a\x1d\x9e\xaf\xef\xed\xd8)\xecS\x15\x1a\xc52\x83H8\xab\x93^\xa8r\x9d\x14\xaa\\[\x87cT\x14D\x0e\x1c\x13\x1f\x15J\xae\x89C\xea\xf8>\xd3\xb0\xe6\xeb\xf9O\xb0\x9c\xb2\x16u3\xa3Xf\x10\x09\x87u\x12\xc3C\x95\xeb\xa5\xf1\x88\xfe\xc4\x0aU\x1e-\xcct\xca\x0a\x8bG2\x0fk\xee\x10~\xa5m$\x1a\xc72\x83H8\xa9\x93~\xa8r\x93<\xf6\xdb\xb4\xc7\xa8\x19\x08a\xa6\xd3\xd7\xc3\xcbL\xc3\x9a\xf7\x09\xd7\xc3[I-q\xedd\x15'u\xd2\x0fUn\xaf\x91>\x8cl\xc4\x99E\x14\x98\xe9T\xaeShF\x87:+=\x04F\xf6,\xe3\xa8N\xba\xa1\xca}\xd2@y\x7f5n\x8b\x88\x82\xd1\xd0\xe9\x9aw\xe5\x10\xfdo\xe3F\xed\x1f\xa0\x93e\x9c\xd4I?TYl\xafn\xef>U\xbb\x0bC\x11&\x98\x855\xbf\xfb\x8b\xce\xa2\x95\x9d\x9d\x16\xc3e)\x1d\xf3\x8b\x0etl\x14\x0eh\xcbuc\x99A$\x9c\xd4\xc9\x20TY\xec\xdaS\xb3\xab\x1d6\x99a\x16\xd6|Q\x90x\xca\xa0y\x04^.\xf7f/?\x12V\xac\x1b\xcb\x0c\"\xe1\xa8N`|\xa1\x17\xcb\x0c\"\x01\x9d@\x04\xc2c\x99A$\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\xc3Q\x9d\xf4B\x95\x07k\xabdjM\x1a\x83\xf8\x80\x0bv\x06Z\x9c\xd4I7Ty\xa0\xaa\xbd\x9b\xd2^u\xc2\xac9\x183\x9a\xb8\xafJs\xc1\xce@\x8b\x93:\xe9\x87*\x9fbv\x0d\xd4\xe2\x8b\x9fq\xcc\xecEf5\x80\x84\x93:\xe9\x87*K\xd4\xe3\xbb\xed\xf1L\x06t\x8a\x0eGu\x12\xf5B\x95\x19R\x12\x0b\x18+\xba\x16\xa6\xba\xd2\xe6I_\x14\xdc\x90\x91\x94\xb1\x81\xfe_L\\UKg$=\xc4\xde\xfa\x94p\xbe\x0c\x91\x0fv\xe6*\x14\xb3\xa2\x0b.2S\xea\xacv\xce\xd4\x19K'j@\x9f\xb3:\xe9\x85*3\xa4$K0F4M\xcd\xa8h,#\x15t\xb2\xc0\xb5\xaa~\x95+\x97\xbe\xc1\xd5N!\xa9e\x15\xc9\x0bE\xb1\xffP\xf3\x8c\xcc\xe6\xe6f)\x99\"\x18\xec\xccU\xe8\x96\x8a\xda\x0a\\\xac\xbc`rq\xfd\xba\xd4\x8c\x09\x1a1\xe1\xacNz\xa1\xca\x94\x0bU\xf8\x0a\xf5\xd810m\xde\x00\xcbk\xa3W\xb3\xfb\xa5\x1fH\x93\x1f])\xf4E\xc9M\x95\xaa\xa8N\xf6\x02\xe1d\\\x05\xc9\xb02\xa6S=\xa9\x11Y\xa4\xd8vqB\xe2\xb0Nbx\xa82\xa5\xb1.r\x130\x9a\xd4\x93@\xa4\x94X0K\xfaof\x01}p\xb1\x07I\x11#\x9dB\x15B:-\x9a>\xc8H/\x10'$N\xea\xa4\x1f\xaaL\xa9Ad\xe5\x18\xb2\x8e\x04\x7f\xbdd\xce\x02\xe9\xbfy\xb3E^\x11#\x9dB\x15B\x93\x19\xca\x85\xd6\x04\x0d@rR'\xfdPe\x96\x03\xab\x8a\xa0\x07\xce\xd2\xc8\x1d\x9d\xa6K\xffM\x97\x8eNZ\x9d\xaa_\x92+\x19\xe9\xb4\x8aM\xe6No\x97\x98\xa0CK\x8e\xea\xa4\x1b\xaa\xcc.\x9dF\xf77^AD\xfa\xd33\xd9\x9b[\xf1Rv\xde\xc7\xaey\xb6K\x81\xcd\xbcN\x99\x99\xf4\xb2\x97(\xa7\xe4::%\xad\x10\xc5\x1b\xb3\xd9\xe4~\xb9\xd6\xe3k\xc4\x09\x89\x93:\x19\x84*S\xb7\xf0[icI\xd3\x0337\xd4\x17\x13v\xd2\x90;yE\xfd\x8a\xc9\xb9\xd2h]A\x9b\xd8^\xe0\x92~\x93\xad\xccU\xb1'sj7\x1f\xec\xac\xaa0'u\xcd\x9a9dJ\xcd\x19Q\\A\x16\xd5\xed)\x20\x13\xf4\x961'u2\x0aU\xbe\x80\xbbV\xc6\x96\xaeE\xe9\xc9\xb3\xe5\x17a\xdd\xac\xa4Y\xf2\xe7N\x84\xb8NM\xa5\x8f\xc5\xf4\xd9@qJR&\x8bD\x0f\x05;\xab*te&%?\xf4\xb8\\w\x7ffj\xca\x9c\xfdF\xb3Jp\x1c\xd5\x09\x80\xc4\x06:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x1a7,\"\xa9\xb9g\xcc*\x811\x05:\x8d\x1b\xba\x9bjf\xa6N\xd4\x88\xa0q\x82\xa3:\xe9\x85*\xb3\xa4\x9c]\xd5\xbb\x0ea?\x89\x82&\x82\xac\xdc\xb8\xc6I\x9dtC\x95\xc5\xbe\xda]R)\xbe\x91kN\x1bi3\xab\x02\xc6\x12'u\xd2\x0fUn\xaec_\xad\x1e\xack6i\x0d\xa0S\xdc\xe3\xa4N\xfa\xa1\xca\x8dr8\xd8\x1e$W\x9a\x03\x9d\xe2\x1cGu\x12\xf5B\x95\xfbj\x9b\xfa\x06\xfb\x9aq\xb2\x17\x05'H\x93Y\x150\x968\xab\x93n\xa8\xf2@#-\xdd\x8f\xf4\x95(\x18L\x9d}\xa8{\x82\xe6\x15\x8f\x0b\x9c\xd5I/Ty\xb0\xb1\x8e\xe5\x1b5\xe2'4\xa2`?!d\x81Y%0f8\xac\x93\x18\x1e\xaa\xdc\\7\x20\x95\xe2\x07\x9e\xcc\xe9O\x9d\xbe\xae\x09\x19\x9f\xf1\x8b\x93:\xe9\x87*W\xcb\xf9`R6,\x88L\x1b\xc1\x80M\\\xe3\xa4N\xfa\xa1\xca\xd0)z0\xb2\x17\xe78\xaa\x93n\xa8r\x93t\xb27P\x871+s\xa0S\x9c\xe3\xa4N\xfa\xa1\xca\x03\xdb\xebNu\x9f\xaa\xdb\x8e\xa1=s\xa0S\x9c\xe3\xa4N\x06\xa1\xca\x83m\xbbjv\xb5a`\xcf\x8c\xc1\xee\xf6E.\xfc\xae\\\\\xe3\xa8N`$,$d\xda\x1e\xb3J`L\x81N\xe3\x86\xee\xe384\xc5;\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N@\xcd\xe0\xc0\xc0\xc0`\xf0?`\x09\xe8\x04T\x1c\x9aL\x08I\xea\xefO\xa2\xffMFX\x9bE\xa0\x13\x90\xd83\xa7W\xfa\xbf\x8e\xd4\xb7\xb5\x9d\x12\xc5Smm\xf5\xa4\xce\xa4\xd1X\xd37'\xce\xee\x09vT'\xfdPen\x12\x18\xf3\x1dAh1\xab\x13\x99\x0dd\xf2v\xa3\xbfU\x902y\xa2\x8e\x04o\xb4\xed\x96u*&\x93G[\xab\x98\xd7\xadb\xf2\x1a\xb3*\x8e\xe2\xa4N\xfa\xa1\xca\xfc$0\xe6\xf5N\xf7N\xb3:\x91\xe9k\x9e]f\xf0\xa7u\x93k\x94\xa9p\x9d\xba\x9b]\xfa\xcd\x9al{\xcd\x0c\xd7\xad\xe3\x9cnq\x88\xfa)\xebLj8\x8a\x93:\xe9\x87*s\x93\x20\"Y#\xd4I\x14\x17\x18\xe8t\xc1\xb5\"0\x19\xae\x93(\x1a\xe84{\x91nqL\x18\xac\xdb\xf2r\xddb\x8eUq\xf5\x8dJ'u\xd2\x0fU\xe6&ADFO\xa7\x82\xf4\xe0\x9b\x99\x05\x9d2F_\xa7GMu\xeaO/0\xab\xe2\x20\x8e\xea$\xea\x85*s\x93\x20\"Y\x1b\x9f\xf1\xe6<\xf5\x1bUYw2\x91I\xe6\xde\xa4\x07\xd3\\\x8f\xa7\xa77\x15\xa7d\xb2\x84\xd0E\xe9\xaei\x0b\xe4\x1f\xb2\xa1:\x15\xd3\xba\x0f\xb0Q\x87\xda9Sg,\x95-\x1aL\x0e\x1e\x9c\xf4u*~8=eA\x17}\xeb\xa3\x8d\x1f\x17\xcb\xe8c]\xbd2\xdf\x0c\xa9\x06\xd7Y8\xef\xe6\xb9\xb7z\xbd\x1d\x1bsV^\x13\xc5k\xe5^w\xfeS\x17i\xf1E\xb7\x20<5\xe4\x15\x84\x9c\xeb\xdc\xba\x1d\x11\x04a\xab\xb8\x93>\xb6\xb0I\xc6\xd7Y'C?]\xee)\xdax\x9dMv>\x91\xef^\xfcT\xfe\x90\xdc\xfb\xaa\xa48J\x19qV'\xbdPe>_\x19D\"K\xf8zK\xcb\x12\xcfE\xbel\xb0f\x9dL\x0d\xff!QS2Y\x9aIR\xd7\xa4U0\x05\x1en\xaa[0Y\xcal\xa1:u\xe7N^\xc7\xa6\x0b&\x17\xd7\xafK\xcd\x90\x12\x9a\xdb\xb9\xe8s]\x9dH\xc6\xf6\xed\x19I\xa7\xc4\xfeC\xd3\x8a{\xc5\xde\xb2\xe4\xe6\xfe\xfeC\xcd32\x9b\x9b\x9b\xa51$\xbe3\x1d:\xb2\x85\x8d%\xc2\xe2\x9dy\xfb\x98.\xeb;Z\x9e\x12\xe85\xd1\xd0/v\x0a\xbf\x10\x7f:\xf7\xa7\xbf\x12\xb9u\xbb\xde\x99\xff\xec\x1f\xc4?\xfc\x20\xbb\xf3\xda\xb5\xce\xce\xa2\x95\x9d\x9d\x9d/\xb3>\x9e\x116v\xec\xf3>J\x1d\xfa\xe5\xdcgZ:\x0e,\x16\xde\x95;?\x14Oq4\xce\xea\xa4\x17\xaa\xccM\x82\x88d\x15\xd17\xe7\xebE\xcbU\x85\xbd\x17dzU\xa5\xe9\xb9T\xa3z\xb1\xe0a\x16\xb9\xc6\xde\xbff-d\xc5T\xa7\x0a\x97t\x1aPO\xd8\xd8C\x1b\xd9.?\x09%\xcb\xea\xea4\x93\x1e\x00\x06f\xcc\xa1\x93e\xechT\x20\x9f_\x05O\xf6T\x9d\xe9\xe1]+v\x08G\xc4g\xd6\xd3\xe5o\xa1\x87\xa8\xa1%\xabY\xf1\xd03\xcb\xafy\xe5\xb3<n\xddv\xb2\xa3\xd13\xcfH\xc5\xc1\x93\xbd#\xc2\x01\xfax\x8e\x0d\x00\x1e\xf02\x91\xf6\xe5(G\xa7n\x12Go\xc4\x0e\xeb$\x86\x87*\xf3\x93\x20\x12Y[\xd9\xe3\x01\xe1\x1aWv\x81\x04Pe-\xa7o\xa7{w\xbf\xb8\x82\xed\xf0\xbd\x1b\xe6MO&\xb3X\xf1\x82\xb2UD>\xa9^4}\x90!_x\xec1\xd3\xe9q\xf6\xb8\x81\xf4\xb1\xb2S\xe2@\xb2\x9cE\x1b\xd4I\xd5\x99\x1e\xde\x16j\xc25q\xebZ:}\xed\xc0\x13\x85\xd9\xc2\x12\xa9\xfc\xfa\xa3yO\xc9Vp\xeb\xf6\xfa\xdc_\x89\xd7\xb3;\xa4\xe2\xa0Nk\x0b\x87\xde\xa5x\xa9e\xafy\x0b7\x1e\xf8\xd5\x90b\x13]\"C\x8b\x9d\xc7I\x9d\xf4C\x95\xd5\x93\xc0\x18\xf9r\xbdSP\x0d\x1e7\xd7\xcb\xa8o`H\xdf/\xb6\xb9DI\xa7\xb6\xb4i+v5g\xca:\xa5%\xcf\x94\x0eSb\x86\"\xa1\xf4\x8c\x8f\xef3\x1e\x8ah&l\xb4h\xdeRq\x7f\x8a|b\x19\xd4I\xd5\x99\x1e\xde\x0e\xf1\x9c[\x94t:\xe7\xcd\xdfz\xa4\xb3D\xd6Il\x11:\xe5\x09~\xdd\x9e\xf8\x17\xb1C9\xf6\x04uZ\xa2\\G=%2!\xcb\x8b\x84\xbc\xbd\x8aOm$\x8e\xf6\x1c'u\xd2\x0fU\xe6'A$\xb26\xb2G\xf5\xd1\xc9\x00N\xa7\x99s\xd8\xdb\xd8BY\xa7\xd4S\x17\x92+\xd8T\xee\xf4v\x09\xe9\x1c\xb1\x9f\x1b\xba\xd3\xd5i){\xac&\xec\xac\xb1>uP9\xd7\x93u\xaa~I\xd3\x99\x1eL\xa7,Y\xa7\xa2\xe5l8\xa1\\\xd6\xe9u\xef\xd6|\xf9\x12\x88_\xb7#9C\xca\xb9\x9e\xac\xd3\x81\xd7\xd8\xd1\xe9\x9c\x04\xfd\xfb\xb9\xadT\xa4k-\xf3\x0f\xc8U\xca\\q\xf4\x11\x8b\xa3:\xe9\x86*s\x93\x20\"Y^\xba'\x0e\x15\xad4\xab'\xaat\x9a\xc6\x8e\x1972\x94\x93=Q\xdc\xefb\x87\xa2\xfd\xb2*\x8f\xcb7\x15,\x9a\x1e\x1cE\xd0\xd5)\x9d\x1a983\x93M\x0f\xa6\xd6\xa7(\xafU&-\xe8eu\xd4\x9d](;.j\xe0t\xcag\x82\x0c=*\xe94\xb4\xfc\x07\xe2\xb3%\xd2Q\x86_\xb7\xa1\xc5Gr\xe4s=q%-\xf8\x03\xbb`\xea\x90o\x9b\xd8J\x0fb;\x05\xe9\x8f+\x9f\x95j\xdc\x989O;\xb71\xc4I\x9d\xf4C\x95\xb9I\x10\x91,\xe1\x89_t,\xcfy\xd9\xac\x1e}\x8bJ\xa9\xe8\xdf\xee:\xd1\x9f\x9b\xd9-\x96\x91E\x1b\xd6d\x90\xd4\x8a\xb6\xfe\xe6\xd9\x05m\x83\xfd\xf3\xd2\x9b\xe8\x1b\xd8\x0a\xb2\xa8nO\x01\xa9\x95\xeawM\xae\x084\xd5\x1f\xd9\x9b\xd7\xd64'E\xbe\xc0Z1]9\xd7\xa3\xc7\x85\x8a=\x99SYuUg\x0b\xc8T\xcd/I^\xcc\xd9w\xbd\xc5}\xf1\xfa\xda\x92\xd7\xa9\x0c\xe5\x07v>*,\xde\xdby\xbd\xf3;\xde\xd7\xc5\xdfdo\xec\xbc\xaeY\xb7\xad\x859\xca\xb0\xdd\xce\xac}GJ<\xaf\xb1\xb2\xb9k[\x8e<\xc3\xa4\xda)x~p\x84N\xca\xc6U\x90x\xfa\xc0\xd2I\x9d\x0cB\x95\xb9I\x10\x89\xa2\x9d\xe5\xd9\xde\xb5\xaf\x99U\xa3\xef\xd8i\x84\xd4&\x93\xa9u\xecr\xe6F\xc5\x0cW\xea\xa2\x9a\xe9\xae\xcc\x0d\xec&\xf1\xf6Z\xfa\xb8\x8aV\xda\x9f\x99\x9a2g\xbf\xd2b\xd5\x03\x81\x0b\x90:\xd2\x15\xf8\x82FW@\xa7\x99e\x8b\x92\xd3s\x15\xcd\xba\xc8\xc3J\xd5\x81\xe2\x94\xa4L\xf9\xaa\x8b\xef\xacz\xaaf\xe8z(O\x10Z\xb2\x05O\x8b\x20\xac\x16\x87\xf6\x15ey\xd7\x1e(r\xaf\xec\xa0\x97B\x1b\xc5\x8d\x820\xb7C\xb3n/\x0b\xeb\x95\xa6\xd77\xe6\xcc_)_+v\x94,\xceY\xce\x14\xfa\xe9\xf2\x9d\xf9n\xefJ\xd9\xa6\xe6\xa4\xa5b\x1c\xe1\xa8N\x20nY\xeaR\xd4\x91>\x9eU\xbe\xa0A\xf4>Z\xefw\x99\x9d\x97\xef!#\xbc\x9a\xb9\x96\xd5aVEa\xbb\xab\x20\xae\xbe\x94\x05\x9d\x80DE\xba<\x900x\xa2-\xf0\x05\x8d\xb6\x13z\xbbj]\xaa\xc9\x0e\\\x93\xf2\xb082Z\x16\xbfkVE\xa6/=\xben(\x87N\xc0\x0aeMb\xa6\xd1]\xe9\x0a\xdd\xa9KGt\x1d\xbc\xb3c\xa8\xe4\x07f\x95\xe2\x15\xe8\x04\xa2g\x80d\x14\xa7k\xc6\x19l\xe6\xba\xf0\xf5\x7f\xf6F\xf1Q@|\x02\x9d\x80\x05\xca\xa6f\x8e\xf6\x17=\x7f\xe0)y\xd9\xacN\xdc\x02\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\x8e\x131\xb0y\\\xa79C'\xe04Jn\xb3\xfe\x1f\xc7w\x9a3t\x02#!\x90\xc5l\x85@n\xb3>\\\x9as\xdce&\x9b\xe2\xb4N\xa7\xaa\x94\xbb\x94\xbb\xf7\xd4\xec\xef\x0e\x9b\x04\xd1\x10s\x06\xb1\xedHY\xccV\x17\x87\xfbJ\x15G\x87\xf7H`2\xf8E\xabx\xcbL6\xc5a\x9d\xfa\xaa\x0f\xc9\xdf1\xeb\xaen\xeej\xae\xee\xd6L\x82\xa8\x88=\x83\xd8f\xe4,f\xabq\xcf\xfa:\x1d\xf1\x04\x9d\x0c\xea\x14o\x99\xc9\xa68\xacS}c\xb7\xa4\xd3\x0d)i\xe5P\xed\x0d\xd5$\x88\x96\x983\x88m%\x98\xc5l-\x9fV_'q(8\x15\xd2)\xce2\x93MqV\xa7S5\x03\xb2Ng\xaa\xd9M\xfc\x03\xd5gT\x93\x20Zb\xce\x20\xb6\x95`\x16\xb3-:\x85\xe0t\x8a\xaf\xccdS\x1c\xd5\xa9\xbf\xbaK\x94uj\x94\xbf\x08]\xdf\xa4\x9a\x04\x11\xf8g\xc1}`c\x91\xe7\x89\xd7\xd9\x93\xd83\x88et\xb3\x98\x19]\x0bS]i\xf3\xa4\xc2\x0d\x19I\x19\x1bD\xf6\x834S\xd6\x85\x87*\x8b|\x16\xb3^\xdc\xb3\x0a\xd52p:\xd5\xa4\xc9)q\xd7<\x02w\x01\xc6\xe9\x14_\x99\xc9\xa68\xaaS}\xa3\xa8\xe8\xb4K\x8e&8\xb4G5\x09\"p\xb1\xc5-xw\xee\xcd\x96\xf2Sc\xcf\x20\x96\xd1\xcfb\x16\xc5\xa6\xa9\x19\x15\x8de\xa4\x82N\x16\xb8V\xd5\xafr\xe5\xd2\xd3\x87\xda)d\xda\x9a\xb2i\xeaPe\x91\xcfb\xd6\x8b{\xe6Q/\x03\xa7\xd3B\xa2\xe4\x10\x9d\xeb\xec\x9c\x1f<\xc4\xf1:\xc5Uf\xb2)\x9fy\x1c\x00`\x13#8:\x01\x00\xd4@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\x98\xeb4\xb0f\xf6TW\xfa\xc2C\xe1\x7f\xd9@\x1eV\x1eF\xc0\xbd\x8ai\xae\xf4\xc6\xe0\xd3\x81{\xf4\xa1\x96,\x0aU\xa8#\x0b\xc3\x1a\xf1\xac#\xc5\x11\xffn\x82a\xf7\x9a\x053AZn\xb3E5\xc1\x96\xed\x09\xc6\x12S\x9dj\\\xca\x8f\x12\xcf\xfbP\xfb'[^\xfe\x0a\xd6w{\xe0\xd9\x86$6\x97\xb8\xd0I\xbd`&\xc8\xcbm\xb6\xa8&\xd8\xb2=\xc1Xb\xa6\xd3RB\x16\x9e\x10?\xe9]\xe5\"\x99\xf74\x7f\xb3\xe5\xe5\x9fE\x96~r/\xd0\xf3=B\xc2t\xea\xde\xd0\xac\xd7.\xc8\x08u2\xec^\xb5`&(\xcbm\xb6\xa8&\xd8\xb2=\xc1Xb\xa2S\x13!\xdb\xe5\xa9\xe3\x84\xd4h\xfeh\xcb\xcb\x9fN\xbaBO\xf4t2c\x84:\x19\xa2Z0\x13\x94\xe5\x1e!\xb6lO0\x96D\xd6\xe9^Zh_-&\xd35\x7f\xb5\xe5\xe5O#\xdd\xa1'\xf1\xa4\x93j\xc1L\x80N@\"\xb2Nm\x84\x0c\x04\xa6\xfb6tIE\x8b\xd2]I3W\x89~\xf5\xcb?\xb0t\xba+e\xe1q\xb9*\xff\xa4\xbfx\x9a+yN\x8d\xea\xac\xa9\x97\x96\xa5,d\xd7%s\xa4\xcb\xb2\x80\x0f+\xa4g\xddL'qi\xbakzY\xe8\x82D\xaf\x9bS\x0bR\xa7\xce\xbb\xc0t\xaa%\xb3\xe4\xa2\x0a\xe9\xc9\xba\x0fX\xebU\x1fHE\xdc\x02\xd7\x92\x0d\x83\xc5i\x0fd4\xd2\xc9Y\xae\xb4\x9b\xacD(\x00\x00\x1e\xe5IDAT\xa5\xdc\xf5N\xff\x0a\xb6\xc8g\x82}\x07\x16,\xb0wK\xd2jz\x0e\xb6\x09,\xb7\xd2Wh\xf5\xb4-\x14\xf8\x99\xe9o\xcfYd\x85\x1f\x8c?\"\xeb\xb4\x8a\xcc\xd0\x94\x14\x13\x92\x9e\x91F\x1f>P\xbd\xfc\xc7\xa7\x12\xd7\xac\xe9\x84\xac\xf1k\x9e\xf4&\x93\x94\xd93\x08y\x88\xeb\xa3\xdeE\xa6\xb2>\xe8\x1e\xb3&\xd7E\xe6\xe5\xd6)\x7f\xd8\xb3\x88^\xa9\xe5\x0e0;\xd2HZ\x0a!\xb3\xee)\xfb\xbb^7U\x84\xa4\xcdrM\xc9\xa4;\xfa\x07.\xd2+\x95\xcd\x20gh\xeb\xa5\xe9$\x99\xb6\x9e\xf9\x89f\x81kIq*Is\x11\xd2XL\x1e\xa0e\x99\xfe\x80N\x87\x92\xc8\xd4\xd9\xb4$x\xed\x13X0\x8dN|\xcf\xa16\x81\xe5\x96\xfb\xe2VO\xd3B\x81\x9f\x99\xc1\xf6\x84N\xe3\x93\xc8:-\x20\x05\xea\x826\x92\xc4\x0e:\xa7\xa6\x92\x0d\xfc\xcb?\x90LV\xd0\xfd\xe5T\x0ai\xd4<YHVQ%^J&\x87\x82}\xbc4\x99\xac\xa1e\xfb]\xa4\xd6ot\xb2G\xa6w\xd1\x99\xb9\xc8\x1ee\x7f\xd7\xeb\x86\x10\xaa\xe1\x07\xf3\xa4\x83\xdbBY\xe4\x97\xc84\xa9\xf5\x0c\xfa\xce\xdf\xec\"\xbb4\x0bL\xff2\xb3\xd7\x7f/\x97\xb8\x1e\xa8\xbf\xc7\xae\x0b/(\xdd\x0fNe\xfd\xdf\xab\x20\x0f\x84\x8e\"\xf2\x82it\xe2z\xe6\xdb(\xcb-\xf5\xa5Z=U\x0b\x05\xbe\xa1\xc1\xf6\xf4\xd7W\x9d\xf2\x83\xf1Gd\x9d\xe6h\xdf$W\x902\xe5\xffb\xfe\xe5_A\x16H\xc5\xfb\xd9\xd1L\xf5d\x9alKun[\xb0\x8f\x85\xca\x1eZGR\xef\x19\xea$\x1dl\x8a\xd9\\\xa4}T\xa7\x9b\\y\xd9>Le\x95\x9a\xe5\x0b\xbb\xc7\x99U\xb4u_\xb0\xb5j\x81\x95~{\x09\xa9`e\xb3\xd9>.u_F\xe6I\xb52I\xe0@i\xa4S\xa8g\xbe\x0d\xaf\x93j\xf5T-\x14\xf8\x86\x06\xdb\x13\x8cS\"\xeb\xf4\x10Y\xaa)Q\x86\x8e+\xd8a+\xf4\xf2O#MR\xf1'\x93I\xbf\xfa\xc9Cd\xce\x19\xf5h\xf3\xbd$e\xc8\xec\xdeTzff\xa0\x93|)T\xcd\x86$\xa4}4\xbc\x1b\x7f2;\xb6\xf8\x95=\xf1^\x0a\xeb\xf4^\x1a\xdbyk\xc9\xccPk\xd5\x02\xd7\xca\xe7\xae\x9f\x10y\x9e\xb9\xa4Z\xe9~\xa6\xb2\xc8\x83\x83\xa1\xfeuu\xe2z\xe6\xdbp:\xa9WO\xbd,2\xaa\x99\xe9oO0N\x89\xac\xd3\xc3$W[t\xef\xcc\xae\xb2E\xd3\x88\xea\xe5\xff\x90^\xe5\xcc\x91p\x91v\xd5\x13\xff\x19z\xa5\x92\x9c\xbb\x87\xbb\x12\x1f\x20D\xb9\x8e\x98\xc3\xce\xe5\xf4u\x92\x8fo{\xd8\xff\xd2\xfe\x1e\xde\xcd\x07\x81n\xf6Ho\xfcK\xd9\xb1\xaa\x9d\xcc\xe6Z+\x03\x03\xdc\x02\xd7\xca\xc7\x05:\x17v\xe5\xef/\x20UJ\xad\xc0\xa5\x17\x8f\xaeN\\\xcf|\x1bN'\xf5\xeai\x96EB=3\xbd\xed\x09\xc6+\x91u\xaa\xe0\x87\"\x8e\xb3=\xa6:\x8d\x0dbe\xccQ\xbd\xfc\"\x09\xd1\xa8zB\xcf\xac\x0a\x92\xe8\xc4\x94\xe2\xe0\xa5x7\x99\xa2L-`\x9fdE\x1a(\x0f\xe9\x14\xdeM?!\xf2D\xb3\xa4S\x17I\xbbG\xed\xaf\xe5Z\xcb\x0d\xf9\x05V\xfe\x12\xa6\x13=\\q\x87%\x05]\x9dB=\xab\xdap:\xa9WO\xbd,\x12\xea\x99\xe9nO0^\x89\xacS7\xf7\xd2\xf7\x93\xc9]\xec\xce\x9b\xe2\xfa\x0b\x1fjNN>T\xae\x10$TO\x18\xf7N\xad\x99EB;I\x7f4G\xa70\x9d\xc2\xba\xf9\x20\xf0Q\xcf~\xf9\xb2d\x069q/i\xca\x07~\x8dN\xaa\x056\xd2\xc9\xaf]d\x86Z\xa75Z\x9dTm8\x9d\xfa5G\xa70\x9dT\x0d\xf5\xb7'\x18\xaf\x98\xdc\x151-t\xf1\xb4\x82^Z\xd3\xeb\x01\xf9Z}\xa9\xfa\xe5Oe\xc7!\xc6\xa9\xfe{\xea'\x03\xf2\xa7+\xb5dJ\xf0F\xa2\x07\xa2\xb8v\xd2\xea\x14\xde\x8d?E\xe9f\x8d\xacS\x05Y\xd1.\xef\xb3\xfc.\xac^`C\x9df(#\xe4M\x0fU\x07\xbaW\x16\xacJ\xe9\xec\xe10\x9d\xf86\xfc\xb5\x93j\xf5\xf4t\xe2\x1a\x1amO0N1\xd1i\x17!\xf5\xf2\xd4!B6\xb0\xb3:\xe9\xbc\xff\xc3tvQ\x15z\xf9\x8b\xc9li7o#\xae\x0fTODe\xcf\xed#\x93\x83\x1e\x04\x86\xbev\x91\xe4O\xa2\xd4I\xaf\x9bb\xb9\x9b{\xd3e\x9d\x06\xc8\xb4\x15\xf25>\xbf\x0b\xab\x17\xd8P\xa7\x15\xca\xde\xbe@\x1e\xf2\x93\x90\x17\xac^>\xdd\xfd0-L'\xbe\x8d\xde\xc8\x9e\xb4zz:q\x0d\x8d\xb6'\x18\xa7\x98\xdd\x02\xbb\x90^$\x9f\xf9\xf0^\xef\xe3\x84\xcc\xb9\xe7\xbf\x97,\x8dN\xdf\x98G\xd8\x8e\x1ez\xf9\xfb\\\xa4\x98\xeeO])\xec`\xa6z\xf2\x10y\x88\xee\xba\x1f.R\x06\x87\x19\x17\xa6\x90\x0a*ES\x12\x1bX\xd3\xdc\xcb\xe3\"\x8d\x9f\xdc\xd39:\xe9t\xd3\xef\"\x1b\xee\xf9?\xcc\x0d\xdcT\x91I\x92\x92\xa5\xd3,\xd5\xd1I\xb5\xc0\x86:\xf5'\xb1E\xba\xb7\x8eL\x15\x83\xfd\xcb\x0bF\xcf\xdd\xe8_\xfa3I\x98N\xaa6\xf2rK\xe5\xaa\xd5\xd3\xd3\x89kh\xb4=\xf1\xb9\xd38\xc5L\xa7O\x0a\x02\xc3\x0a\x0b\xa4\x91\x08B\xa6-\x98=9\xa5\x8c\x0des/\x7f\x93\x8b<0{:\x91\xef:\xe7\x9f\x0c\xa4\x10\xd7\xccYI$\xad?\xd4g\xfd\x14\x92<;\x9d\xc8\xe7\x91j\x9df\x13\xf6\xa5\x08\x9d\x93=\x9dn\x1a]$mv\x12Y\xa8\xe8\xb4'\xe0\x95j\x17V-\xb0\xa1N\xecs\xd6\x94\xd9t\x1e\xdc\x1d\xe1\xca\x82\x15\x13\x92\x9cN\x92*\xc2tR\xb5\x91\x97[.\xe7WOO'\xbe\xa1\xd1\xf6\xc4]\x11\xe3\x133\x9d\xfc\xfe3\xc53\x1ep\xa5/R>?m\xcbLu\xcd,\xfb\xe0C\x17\x19T\x9d\x9c\xf4/\x9d\xeeJ\x9a]-\x9f\x8a\xf1O\x06\x96\xcep=@[\xf0]v?\x9c\xeeJ\x97oj\xd3\xe8\xd4\x97\xf9@\xf2~\xbd\xa1\x08\xddnr\xd3\x92\xe6\xb45*\x16\xd1E\x0a\\`\xf1\xbb0\xbf\xc0\xc6:\xf9\xfb\x8a\xd3\xa7\xa4\xe6\xf2\x8b\xa2,\xd8\xbd\xdaY\xae\x94\xdc\xbe\x13\xe1:\xf1m\xe4\xe5V\xca\xb9\xd5\xd3\xd5\x89oh\xb0=\xa1\xd3\xf8\xc4\\\xa7\xf1\xc2\x00\xbb\xc1\x08\x80\xb1$qt\xaa\xe0\x86\x11\x00\x18\x13\x12D\xa7\xbe\xc1\xc6\x07\\\xa1a\x04\x00\xc6\x84\x04\xd1)\x97\x10\x1c\x9c\xc0\x98\x93\x20:U'\xa5\xc1&0\xe6$\x88N\x00\xc4\x03\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1bv\xebt\xb6\xe4\xb6Y\x95h\xb8Sr\xd6\xac\x0a\x00q\x87\xa9N\x1fm\xc9\xf3\x94\xfb\xccj\x058(4D]7\x12\xbe\x83\xc2A\xb3:V\xb8\xec=oV\xc5\x84\x91\xf7\x10-\x97\xe6\x0a2^k\x9br3m\xe2yOS\xd8\x20\xb8\xd9\x1b\xd3\x8b\x1e\xa1A\xaf\x0d\xb0\x17S\x9dJ\xbdG7y>6\xab\xa5\xd0*\xbc`V%Z^t\xb7\x9aU\xb1\xc0\xf9\xec\xa8\x8fvW~\xaf[l\xa1\x07\x0e\x83\xce\"V\x18~\xc5\xbd\xb9\x87\xb2[\xb0v\xa0\xbf\xd9\xd3sX\xf8\x9d\xa6\xf0N\xa5\xa7\x94\xfeW\xea\xa9\xbc\xa3\xd7\x06\xd8\x8b\x99Nw\x84V\xbf\xef\xaeI\xa5\x00\xef\xbbw\x9bU\x89\x9e\xbdY7\xcd\xaaX\x20\xfa7\xfa\x95\xeb\xf5\xcb\xa3\xef\x81\xc3\xa8\xb3\xc8\x15\xb2\xa4#\xc9\x0b\x82e\x03\xae\x86\xe9\xe4\xdf]N\xdf\x0c\xefx\xcam|e\x80!f:\xbd'X8\xc7\xd9\xec\x1d6\xab\x12=\xc3\xde\xcdfUF\x85\xc7\xcc\x0c\xb0\x82ig\xba\x15d\x9d\xde\xdba\xd9`=\x9d*KO\xfb_X]\x09\x9d\x9c\x20\xa2N\xbe\xc5\xf2I\xfc\x0e\xbf\x7f\xab@\xcf\xe3\xdew\x0bK\xd8\xa4\xfb\xd8\x8e%\x9e\xd5\xf2\xc1\xe3\xbdo\xe7\xb9\xbd\xe5\xd2\xb4/[~\xcd\xder\x0b\xc2\xde\xf7*\x0b=\xab?\xe5:\xe3J\x8d:\xf3\xbdP\x92\xbddG@\xc9\xbd\x1e\x8d\x9c\x96{P\xf8\xd8C\xd7\xe1$\x9bR/z\x88\x9e\xd5\x85\xee\xbc\xf2B\x9f\xff\xbcr\xd9\xb2\\\xbd\x16\x06=\xdc\xa9\\\\\xb8c\xc7\xe2\xec\xd3\\\x0f\x1c\\g\xaa%\xd3\x9b\x9b\x8a\xac\xc0u\xce\x1f\xe92\x94\xfb\x0a\x05!\xc7\xe7\xbf\xbb>\xdf]X\xfe\x96\xdf\xffi\x9e\xfb\xc7\x85\xf9W\xb6\xe5\x94\xdee\x8b\xd3\xba%?\xa7\\\xb9d\x0a\xea\x14\x9a\xdb\xee\xca\xc3O\xfb\xcb\x8f2\x9d\x82=h\x9b\x01\xbb\x88|tz\xb3\xe7\xa4\xd0\xd0\xd3s\x8b\x9d\x98\xbb\x1b\xfc\xbe\xab\x9b\xb3\xe8k|\xd2-x\x1b\x0e\xe6<\xcdj\\\xc9^~\xf0r\x83\x20]\xe7\xbc)\xf4H\xad\x86O\x9f,,\xca.\xdcQ9\xf7\xcf\\_\\\xa9Qg\x9b\x85m/\xb6z\x1fS\xf6\xc9W\x84\xdf\xfaUX\xee!\xc0\xd5\x9e\x9e\xf9\xd2\x1e\xaa\xaa\x1b\xe2\x8d\xb9\x9b\xce^>\x96'|J\xaf[z\x8a\x9e\xa4\xd7-\xff\xaeY\x0b\xdd\x1e|\x8fz\x0f7\xcc\xf7\x1c[\xdd\xca\xf5\xc0\xc1u\xc6/\x99\xee\xdcTd\xed\x1d\x1e^\xbf\x83\xcd\xe1\xb7\x0dt#\xbc0\xf7\x857\x99\x9c[\xae\x9c.\x17\xae\xd2m\x9e#\xec(\x15\x16\x1f\xcck\x95\x16\xa7\xb0\xa1\xa1\xd0\xf3\x8e\xd40\xa8Shn\xbb+of\x7f4\xff\x16\xd3)\xd4\x83\xa6\x19\xb0\x8b\xe8O\xf6\xa4\xb7\xcc\x86,i2\x87\xbe9Wz\xe9\xd4p\xe1j\xfa\x92\xf9NKg\xf9/\x0a\x7f\x0a4{L\xa0o\x9da\xd7\\\xa1R\xdd\xce\xceK\x03\x19W\xe5\xc3\x005X\x08\xbf\xf8\xb7\xd6\x03\x87Gy\xc3\x0f\xd5\xe58\xece\x1a\x1c\xce\x91,\xe4N\xbfTk\x11\xde\xc3i\x81\xbe\xd3\x1f\x16\xde\xd1\xf6\xc0\x11\xec\x8c[2\xa3\xb9\x85\xc8b\x87\xacri\xd2\xb7\xa9\xe4N\xa14\xc89|\x92.\x88o\x19\xf3\xd8[I\xb7\xf5y\xff\xa6-\xacn!-\xfe\xb8\xb0D\xaa\x1d\xd0\x89\x9b\xdb\xeeJ\xff\xb2-+\xfdL'\xae\x07u3`\x17\xb1\xe9\xb4)0yIx3T\xf7\xac\xf0~`\xf2\xb1,\xfe\xc0\x14^\xaa\xdb\xd9\xfaG|\x9fR\x0a7\xcbun\x0a\xa7G\xd8\x03GP\x86`]\x8e?\xe7\x17n;\xf6\xa6Ov\x81\xd7\x89_\x8b\xf0\x1ev\xe7\xd0\x87?I\xd2\xabz\xe0\x08v\xc6-\x99\xd1\xdcBdm\xb9zu\x99\xac\x93\x7f\xf8\x1by\xca\xe7\x14w\x0e\xaf~$GXF\xa7\xbc'\xa9*\xc3\xcc\x14ZW:\xc1>,\x0f[\x04t\xe2\xe6F+\xb1\x0f\x1d\xa4k\xa7P\x0f\xeaf\xc0.b\xd3)8\xd9*p\xd7)\xdc\x85\xf0c\xda\xcb\x01M\xa9ng\xcb\x94K\x09\xe5T\xec\xaa\xf0\xca\x08{\xe0\x08\xca\x10j\xc6\xf1\xf1\xd1\xf5K\x84\xbc\x83aG'~-\xc2{h\x9d{\x87\xbd\xa1\xbc\xa3\xed\x81#\xd8\x19\xbfd\x06s\x0b\xc1fq\xe9\xb2\xf2\xe4\xac\xb2\x19\xaez\x0bw\x9f\xed)\x95t\xba\xe4\xbf\xea\xf6+:I\x8b\xd5#H\x03\xee\x81W\x80\x9b\x1b\xadtg\xc7mI'\xae\x07u3`\x17\x16u\xda\xab\xd9\x7f/\xf3\xaf\xc7p\xf0\x12\xda\xff\xd8\xb7\xfd:\x84Ju;\xab|\xe4\xf7\x12\xca;f\x83;|\x80\xdeZ\x0f\x1c\x11u\xba\xba\x9b\xee\xda\x1f\x9f\xf4\x1cfO\xa4\x1d\xfc\x98tXR\xadEx\x0f\x7f\x16\xca\xff\xfcVQ\x89O\xdb\x03G\xb03n\xc9\x8c\xe6\x16B\xd9\x8eo\xb1\xd5\xb8\xe9\xdd[\xf8\x11{\xb6\xa4\x84\xbds};\xa0SV@\xa7m\xec\x8f\xc7\x04i[\x05t\xe2\xe6&U\xf2K:q=\xa8\x9b\x01\xbb\x88^'\x0f}A|+5\xfb\xef]o)\xdb\x9b\xb6I/\x8e\xff\xdbE\x81wg\xfd\x01\xe2P\xa9ng\x97\xe4k\x9e\xbd\xf2\xfd\x10\xbe%\xe5#\xec\x81'\xa2N\x0d\xc2%\xf6_\xe9\x16\xe9\xb1\xd4\xef\xbf-\xf7\xa3Z\x8b\xf0\x1e~/\xe4\x09B\xe9\xcd\xb0\x1e8\x82\x9dqKf47\xff\xfb\x07\xdf\xe7fA\xada\xabX\xb2\xd7\xbfE\xda\xc6\x85\xccm\xdf7\xc2t\xca\xa3F\x0c?R*\xb5\x08\xe8\xc4\xcd\x8d\xd3\x89\xebA\xdd\x0c\xd8E4#{W%IJ\xbc\x07\x1bJ\x04\xf7\x0b\x7f\xbc\xd5\xe3\xde|\xd5\xf7\xe6f7\x1b\xf1\xbb2\xff\xd1\xa3\x97\xb6\x09\xc7\xa4\xea\xef\xc9w\x06}\xfa[i\xc0*x!%\xa3*\xd5\xefl\xf7\xdc\xca\xb3g7+wV\xb4\x86\x9d\x88X\xed!\x80\xefw==\xf37\xf7\xf4\xdc\xf5\xab\xea\x86h\x10\xb2\x7fr\x9e6\xbb\"=\xc9j=[\x9a\xfdg\xd5\xdc\xf4{\xf8\xfd\xfc\xcb/\xf6\xdc\xf4\x85\xf5\xc0\xf7\xact\xc6/\x99\xee\xdc\x18O\xcb\xc3\x0f\x81\xbb\"zrv\x0c\xbf\xb2\xd5{\xd3\xff~\xce\xb6W|\xb4\xd9\xfa\xc3\x0d\x8f\xd1\x93\xc4\xab\x7f\xcci\x1d>\xe9~k\xb8\x92\xa9\x9c%,?y\xac(\xe7O\xf4`\xc9\xee\x8ah\xed\xe9Q\xcd\xed\xa3\xcaR\xb6\xaa\xb7J+?\xe2z\xe0\x9b\x01\x1b\x89\xfc\xb9S\x8et\x06\xee\x96\x06r\xdf+\xf5d\xaf\xfe\xb1\x20l\xdd\xca\x8a\xfe-\x9b>n\xa5\xc5\x7fZ_\x98\x1d\xbc_u\xef|v\x9e\xff\x96|\xe2\xae9\xb8\xa8J\x0d:\xbbT\xba8\xe7I\xe9\xbd\xdb\xdf\xe3\xd9\xe1\xd7`\xb1\x87\x20o(W\x12G\xfd\xea\xbaA^x\xb2\xa1\xd0\xed-\x95]\xf0m\xcb\xf1<yU=7\xfd\x1e^q\xb32\xf7\x93\xefhz\xe0\x08t\xe6\xe7\x96Lwn\x8cc\xde\xa3RE!@+\x9b\xdc\xe6\xdf&\x08s\xaf\xf8}\xadEY\xde\xf5\xc7\x8a\xdcO\xd2c\xe2\xc9l!\xfb\xa4tm\x94\xb5csN~%Sf\x93\xd2j=?\xb7\x06A\xd8D\x9fn\x11\x84\x86P\x0f\xa5|3`#f'{\xd6\xf0ms\x9f4\xab\x13\x1d\xa7\xdd\x9bU\x9f\xe1\xc4!\xb7\xb3\xb7\xdc\xfe\xf4\xd3\x8f\xdfx:'\xda[\x1aG\x83\xd0\xf5\xaa%bl\x06\"c\xafN\xf4\x0d\xb0\xd0\x96\xa1\xd7;\xde\xb0A\xb2\xb8\xe3\xac\xf2)\x93/Ou4\x1c~_\xc6\xc6\xfb\xad\"\x11\xa3\x1716\x03\x91\xb1Y\xa7\x89\xc4\xef\xe5!r\xff;\xfcgo~\xff\x93\xca9\xd7\x93\xba\x8dl'F/bl\x06\"\x03\x9db\xc6\xb7\xd9\xb3\xe5\xf4\x95\xd3[<[T\x07\xd2?\x9d\x97q\xe4*\xff\xa642bV+\x8c\x18\x9b\x013\xa0S\xec\xf8\xce\xaf\xcew\xe7\xaf>?\x86\xfb\xa542\xa2\x19B\x8d\x82\x18\x9b\x013\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6a\xb7N\xc8(\x07\x13\x18S\x9d\x90Q.3\xf2\x1e\xa2\xe5\xa4t\x07\xed\xe2\xa7\xa3\xb9\x09h\xab\xa0\x93\xdad\xc0\xd1P]+\xb3\xb0Rw\xc2'\xa2\x9b\xea\x84\x8cr\x19\x0b=p\xc4\x92Q~\xf7\xbc\xf0\xe3\x9e\x9e\x17\x96\xe5}\xa4S_\x83\x947\x18%\x1f\xf7\x94\x04\xea\x1a\xce\xc2\xca\xe2\xe8\xd4\x9d\xf0\x89\xe8f:!\xa3<@\xf4=p\xc4\x94Q~K:\x8a\xdc\xf1D%\x8a\x95oZ\x94\x07\xeb\x1a\xcd\xc2\xca\xe2\xe8\xd5\x9d\xe8\x89\xe8f:!\xa3|D\x98v\xa6WA\xde\x7f\xfd\xcb\xcc\xdaJ\x8cD\xa7\xf0YXY\x1c\xbd\xba\x13=\x11=rV\x042\xca\xc7\"\xa3\\\xde\x7foK)\xce\xc1fF[=k\x87\\\xca'\x97si\xe4\xaa\xd7\x82\xea\xb4\x8d\xcen\xfe\x1dn\x16l\x19~\xcc\"%\x84\xd3\x06\xcbk\xa5\xeeDOD\x8f&\xc9\x08\x19\xe5\xcef\x94\xdf\x12\x8e\x0d\xdf\xfd\xdd\xb2%w\xf9fF[=KXr\xf2l\xde\xd3\xaa\xe4r.\x8d\\\xb5\x16T\xa7\x9b\x95B\xebU~\x16\xc3\xaf\x14n\xb9\xed\xbf\xfd\x93\x9c\x9e\xbb\x06\xcbk\xa5\xeeDOD\x8f\xfed\x8f\x8f]EF\xf9hf\x94\xdf\x92\xde\xf7\x8bn\xaa\x9b\x19l\xf5,\xefG\xec,\xdb\xafJ.\xe7\xd3\xc8\xb9\xb5\xa0:\xb5f\x9d\xd7\xcc\xc2\xdf\xc0\x8e0\x9b6\xcbuu\x96\xd7J\xdd\x89\x9e\x88\x1e\x9bN\x9b\x02\x93\xc8(\x1f\x85\x8c\xf2[\xc2O\xae^\xbd\xb4i\xf1\x1b\xea\x15\xd2\xdf\xeaY[\x02\xa5|r9\x97F\xce\xadEy\xc3^\xe5\xe5\xe4f\xe1\xbf9\xf7\xdf\xfc\xbe\x1c9\xc3Yoy\xad\xd4\x9d\xe8\x89\xe8\xb1\xe9\x14\x9cDF\xf9(d\x94+\xd7\xfe\xeb\x8b|\xaaf\xfa[=T\xca%\x97\xf3i\xe4\xdcZ\x94{s\x96<\xed\xd3\xcc\x82\x16\xef\xf0_\xca\xd1\xd8\xcd\xcd\xd8J\xdd\x89\x9e\x88nQ'd\x94s=\x8cVF\xb9\xb2\xff\x1e\xa3o\xe6\xfc\x0a\xe9ou\xb5NY\xb2N|\x1a9\xb7\x16\xe5\xdew\xde\xcfi\xd5\xcc\x82\x9e\xac\xe5\xf9\x94\xf37\xdd\xe5\xb5Rw\xa2'\xa2G\xaf\x132\xca\xb5=\x8cVF\xb9\xb2\xffn\xca\xf6\xa9VH\x7f\xab\xeb\xea\xc4\xa7\x91sk\xc1\x06\xca/\xb9\xaf\xaag\xc1\x82\x02\xcf+\xe7o\xba\xcbk\xa5\xeeDOD\x8ffd\x0f\x19\xe5\x8ef\x94\xcb\xb7!\x9c\xad\x946f\xb0\x99\xfeV\xe7J\xf9\xe4\xf2P\x1a9\xb7\x16\x1f\xf7\x94l\xfe\x9d\xefn\xb9\xf7\xcam\xd5,\xe8L\x1e\xc9\xf9\xd4py\xad\xd4\x9d\xf0\x89\xe8\x91?wBF\xf9\x18d\x94\xcb7\xc9\xb9\x97\x1d\xf3\xf1\xcd\xf4\xb7z\xa8t\x0b\x9f\\\x1eJ#\xe7\xd6\xe2(\x9bx\x83\xf5\xbeW=\x0b\xff\x9f\x84\xc0QUgy\xad\xd4\x9d\xf0\x89\xe8f'{\xd6@F\xf9\xb8\xe4nV\xd8\xfb\x80!V\xea\x06\x09]T'8\xf6\xea\x84\x8cr\xc73\xca\xed\xe0\xf4\xe2\xe8\xdf\xba\xac\xd4\x0d\x02\x9d\x80\x19\xf1\x91Q>b\x1a\xae\xf8J\x7fbVI\xc1J]\x1e\xe8\x04\xcc\x88\x87\x8c\xf2\x913,,\xdf\xea\x8d\xf2l\xd5J]\x8e\x09\x94\x88\x0e\x9db'\x0e2\xcam\xa0!\xbbTs\xcf\xa01V\xea\x86\x98@\x89\xe8\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\xc6\xc8ur.\xbc;:\xd6\x1f\x95\xff\xbf\xb2:\xcf]\xb8yb\xdc\xdb\x02\xe2\x04\x0b:\x8dyx\xb7!|\xdd7\x84\xdd\xd2\xffW\xe7\x96\x1c\xbb|\xb4(o\x02|g\x0d\xc4\x0d\x16t\x1a\xfb\xf0n#Bu}=\xf9\x8aNg\x05\x16ipS\xf9\xda=\x00N`A'\xd3\xbcm+\x98vfZ\x81#Tw\xbd\xb0\xde#\xeb\xe4\x93\x0eKz\xe1b\x00\x8c\x16&:\xc5Ux\xb7*o\xdbwt\xb9\xe7\x1b\x87}\x9a\xcen\xdf\xf2\xe7\xec\x0e\xd4\xf7\xdd\xb9T\xf8\x8d\x98\x8e\x9d\x00\xc4Dd\x9d\xe2+\xbc[5\xe3MY{_\xdc\x9b\xb5\xd9\x1fV7\xa8\xd3\x9b\xd4\xb1l\x0cE\x00\x07\x89\xacS\x9c\x85ws3\xbe$\x85\xd5\xc9\x8f\xea\xbaA\x9d|W\xaf\xb4\x16z\xe1\x13p\x8e\xc8:\xc5Yx77\xe3\xcdr$\xe3\xa3\x9b\xc3\xea\x86N\xf6(\x1f\xe7\xebd_\x020J\x98\\;\xc5Wx77\xe3\x12Y\x93\xf2\x92\xb0\xba\x8aNw\xe496\xb8q\xf1\x04\x1c#\xb2Nq\x16\xde\xcd\xcdx\xf3#\xacw_\xe1\xa6\xb0\xba\xb2N\xbe\x1c\xb9f\x83'\x86\x1c+\x00b#\xb2Nq\x16\xde\xcd\xcd\xf8E\xe9O'\x85\x17\xb5u\x03:\xe5\xb1\x9f@\xf2\x7f\\\x18\xfec\x1a\x00\x8c\x16f:\xc5Sx\xb7*\xa3\xbcR\xd8}~\xb7P\xa9\xe9\xecNOO\xf6z)T\xfd\x05\xa1\xfc\xe8\xe5\xd6\xc2<;\x7f\xaf\x1a\x80\xc8D\xd6)\xbe\xc2\xbbU\x19\xe5\xbe\xd6e\x9ee\x87}\x9a\xba{\xa5\x1an\xf6+\xac\xbf}\xbap\xfe\x92m\xb6d\xd2\x02\x10\x1d\x16\xee\x8a\x88\x9a\xc4\x09\xef\x06\xc0\x12\xa3\xa1S\xe2\x84w\x03`\x89\xd1\xd0)A\xc2\xbb\x01\xb0\xcah\xe8\x94\x18\xe1\xdd\x00Xf4tJ\x90\xf0n\x00\xac2*:\x0101\x81N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\xb0[\xa7\xb3%\xb7\xcd\xaa\xa8\xb9S\x12K\x88,\x00\xf1\x88\xa9N\x1fm\xc9\xf3\x94G}\xb7\xd0A\xa1!\xea\xba2\xbe\x83\xc2A\xb3:V\x18yd\xfa\xc8{\x88\x96\xb3n\xe5\xae`\xb7\xf9[J\x83\\\xe9E\x8f\xd0`V\x15\x8c\x19\xa6:\x95z\x8fn\xf2D\xfb\xbd\xa5V)\xe5\xcb\"/\xba[\xcd\xaaX\xc0Bd\xfa\x98\x87\xae\x1f\x14zz\x0e\x0b\xad==s\x8d\xdfQ\x02\xcd\xeeTzJ\xe9\x7f\xa5\x9eJ|#2~1\xd3\xe9\x8e\xd0\x1a\x0c\xd43\xe5}7\x1f\xca\x155{\xb3\xec\xfc\x06z\xf4G\xc71\x0f]ou\xb3\x84\xc1\xdf\xf9\xfd\x1e\xe37\x94`\xb3\xdd\xe5\xf4]\xed\x8e\xa7<\xa6M\x0c\x9c\xc1L\xa7\xf7\x04\x0bg>\x9b\xbd1}5p\xd8\xbb\xd9\xac\xca\xa8`%\x06\xdd\x14\xd3\xcet*\xf8\xdeStz\xcf\xd8\xe0`\xb3\xdd\x95\xa5\xa7\xfd/\xac\xae\x84NqLD\x9d|\x8b\xe5S\xfb\x1d,\x82\x9c\x9e\xc7\xbd\xef\x16\x96h\xd2\xc8\xfd\xef};\xcf\xed-\x97\xa6}\xd9\xf2K\xcde\x89\x1b5\xe3\x82\xc9){=\x1a\x0d-\xf7\xa0`\x10\x99\xce\x11W\xa1\xeb\x0cI\xa7h\x9a\xed\xae<\xfc\xb4\xbf\xfc(\xd3\xe9\xee\xfa|wa\xf9[~i![\xb7\xe4\xe7\x94\xbf\x17\xd6/\x18\x0b\"\x1f\x9d\xde\xec9)4\xf4\xf4\xdc\xf2\xfbo\xf6\xb8\x1b\xfc\xbe\xab\x9b\xb3\xd4i\xe4\xfe+\xd9\xcb\x0f^n\x10\xa4\x93\x957\x85\x1e\xa9\x15\x97%n\xd4,\x14L\xcexE\xf8\xadz\xbe\x96{\x08\xa0\x1b\x99\xce\x11_\xa1\xeb\x8c\xa0Nf\xcdvW\xde\xcc\xfeh\xfe-\xa6\xd3ya\xcb\x95\xd3\xe5\xc2Uy!\x0b\x1b\x1a\x0a=\xef\x84u\x0c\xc6\x80\xe8O\xf6B1z\\\x1a\xf9p!\x8b\xb3\xf3\x9d\x96.\x8f_\x14\x82_\xb4\x0d\x85\x98\xeb6\xe3\x82\xc9\x197\x85\xf0\x8b\x7fk=p\x84G\xa6s\xc4]\xe8zP'\xd3f\xbb+\xfd\xcb\xb6\xac\xf43\x9d\x86O\xd2%\xf5-\x93\xde*\xb2\x0a\xef\xb28\xc1\x12\xbd\xbe\x81\xd3\xc4\xa6\xd3\xa6\xc0\xe4%>\x0e\xe2\xac\x10\xcc\xd7\x0f\x85\x98\xeb6\xe3\x82\xc9\x197\x85\xd3~-\xd6z\xe0\x08\x8fL\xe7\x88\xbb\xd0\xf5\xa0N\xa6\xcd\xa8N\xec3\x05\xe9\xda\xe9\xce\xe1\xd5\x8f\xe4\x08RL{\x96t\x82}X\xc0x_<\x10\x9bN\xc1\xc9V\x81\xbbz\x09\x9e\xb7\xf0!\xe6\xba\xcd\xf8`r\xbf\xfe\x8f\x9aY\xeb\x81#<\x94\x96'\xdeB\xd7\x83\x1b\xcd\xb4\x19\xd5\xe9\xce\x8e\xdb\x92NW\xbd\x85\xbb\xcf\xf6\x94\xca:I\x0b\xdb#\x98\x8d\xd3\x03'\xb0\xa8\xd3^\xcd^}\x99\x7f\x19\x87\xb3\x1a\x02\x93\xa1\x10s\xddf\\09\xa3\xc1\x1d>\x14o\xad\x07\x8e\x88:\xc5]\xe8zP'\xd3f\xbb\xe5\xc4[\xa6\xd3\x92\x12\xf6&\xf6mY\xa7m\xec\xf1\x98\x10\xed\x87\x19`4\x89^'\xf6#\x99\xbe\x95\x9a\xbd\xfa\xae\xb7\x94\xedc\xdb\xa4\xd7\xd4\xff\xed\xa2\xc0{v\xe8\xadX\xb7\x19\x17LN\xf1-\xd1\xf9\xd5\x18K=\xf0D\xd4)\xeeB\xd7\x83:\x996\xe3t*d\xf2\xfb\xbe!\xeb\x94GE\x1a~\xa4\xd4\x0f\xe2\x80hF\xf6\xaeJ\x92\x94x\x0f6\x94\x08\xee\x17\xfe\xc8\xa7\x91\xfb\xaf\xcc\x7f\xf4\xe8\xa5m\xca\x0f:\xbf'\xdf/\xa4\xca\x12\xd7o\x16\x0a&\xf7\xb33F\xed\x99\x8a\xd5\x1e\x02\xe8G\xa6s\xc4W\xe8:\xe5\xcd\xc3B\xab\x1c\x1dm\xd2\xec\xa3\xcaR\xb6&\xb7J+?\xa2\x15\xd6\x1fnx\x8c\x9e\x0e\xd2\x96Y\xc2\xf2\x93\xc7\x8ar\x90\xb6\x16\x17D\xfe\xdc)G:\x9dwK\xc3\xbb\xef\x95z\xb2W\xffX\x10\xb6\xf2i\xe4\xf4\x02}}av\xf0.\xd6\xbd\xf3\xd9E\x90*K\xdc\xa0Y0\x98\x9c\x9e\xf7{vhgl\xb1\x87\x20\xfa\x91\xe9\x1c\xf1\x15\xbaN\x0f+\xac\x7f\xcf\xdd(\x9a5\x08\xc2&\xfat\x8b\x204\xf8}\xadEY\xde\xf5\xc7\x8a\xdc\xf4\x98\x94\xb5csN~\xa5\xea=\x03\x8c\x19f'{\xd6\xf0ms\x87\x8f\\\x9bp\xda\xbd9\xde\x7f\x82)\x9eC\xd7C\xd7\xab`\xec\xb1W'\xfa\xbeYhq\xc4\xf6\x8e7l\x90,\xee\x88\xe7\xd0u\xe8\x14O\xd8\xacSb\x12\xcf\xa1\xeb\xd0)\x9e\x80NQ\x10\xbf\xa1\xeb7\xa5\xf1\x12\xb3Z\xc0)\xa0S4\xc4m\xe8\xba4^\xf2\xbe\x1f\xc4\x09\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\xb0['d\x94\x83\x09\x8c\xa9N\xc8(\x1f=\x90Q\x9eh\x98\xea\x84\x8c\xf2\xe8@F90\xd7\x09\x19\xe5Q\x82\x8cr`\xae\x132\xca\xa3\xc4\xb43d\x94O\x00\"gE\x20\xa3\x1c\x19\xe5\xc0\x02\xd1$\x19!\xa3\x1c\x19\xe5\x20*\xa2?\xd9CF92\xca\x81\x09\xb1\xe9\xb4)0\x89\x8c\xf2`\x0f\x81\xceL\xc3\xc6\xd5\x20\xa3<\x91\x88M\xa7\xe0$2\xca\x83=\x04:3\x0d\x1bW\x83\x8c\xf2D\xc2\xa2N\xc8(GF90&z\x9d\x90Q\x8e\x8cr`B4#{\xc8(GF9\x88\x8a\xc8\x9f;!\xa3\x1c\x19\xe5\xc0\x02f'{\xd6@F\xb9\xe3\x20\x056\x9e\xb0W'd\x94;\x0et\x8a'l\xd6)1AF9\x88\x0e\xe8\x14\x05\xc8(\x07\xd1\x01\x9d\xa2\x01\x19\xe5\x20*\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6a\xb7N\x963\xca\xf5Ar9\x18\x8f\x98\xea4\xda\x19\xe5\xfa\x20\xb9\\@r\xf98\xc4T\xa7\xd1\xcf(\xd7\x07\xc9\xe5H.\x1f\x7f\x98\xe9\xe4DF\xb9>H.Gr\xf9\xb8\xc3L''2\xca\xf5Ar9\x92\xcb\xc7\x1d\x91\xb3\"F\x9cQ\xceuf9w\x1c\xc9\xe5Q4Cry\\\x11M\x92\xd1\x082\xca\xb9\xbe,\xe7\x8e#\xb9<\x8afH.\x8f+\xa2?\xd9\x8b1\xa3\x9c\xc7Z\xee8\x92\xcb\xa3h\x86\xe4\xf2\xb8\"6\x9d6\x05&\xcd3\xcay\xac\xe5\x8e#\xb9<\x8afH.\x8f+b\xd3)8i\x9eQ\xcec-w\x1c\xc9\xe5Q4Cry\\aQ'\xeb\x19\xe5<\xd6r\xc7\x91\\\x1eE3$\x97\xc7\x15\xd1\xeb\x14cF9\x8f\xa5\xdcq$\x97\xfb\xa3h\x86\xe4\xf2\xb8\"\x9a\x91\xbd\x11e\x94\x07\xb1\x9a;\x8e\xe4r\xbfy3$\x97\xc7\x17\x91?w\xb2!\xa3<\x88\xc5\xdcq$\x97#\xb9|\xfcav\xb2g\x8dX2\xca\xf5Ar\xf9\x88@6\xec\xd8`\xafN1d\x94\xeb\x83\xe4\xf2\x91\x01\x9d\xc6\x06\x9bu\x9aH\x20\xb9\x1ch\x81N1\x83\xe4r\xa0\x05:\xc5\x0e\x92\xcb\x81\x06\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xd8\xad\x132\xca\xc1\x04\xc6T'd\x94\xcb\x8c\xbc\x87hAF\xf9\xf8\xc5T'd\x94\xcbX\xe8\x81\x03\x19\xe5\x13\x0b3\x9d\x90Q\x1e\x20\xfa\x1e8\x90Q>\xb10\xd3\x09\x19\xe5#\xc2\xb43d\x94'\x14\x91\xb3\"\x90Q\x8e\x8cr`\x81h\x92\x8c\x90Q\x8e\x8cr\x10\x15\xd1\x9f\xec!\xa3\\\xdb\x032\xca\x81\x86\xd8t\xda\x14\x98DF92\xcaA\x88\xd8t\x0aN\"\xa3\x1c\x19\xe5\x20\x84E\x9d\x90Q\x8e\x8cr`L\xf4:!\xa3\\\xdb\x032\xca\x81\x86hF\xf6\x90Q\x8e\x8cr\x10\x15\x91?wBF92\xca\x81\x05\xccN\xf6\xac\x81\x8c\xf28\x01)\xb0c\x83\xbd:!\xa3\x1c\x19\xe5\x13\x1a\x9bu\x9aH\x20\xa3\x1ch\x81N1\x83\x8cr\xa0\x05:\xc5\x0e2\xca\x81\x06\xe8\x04\x80m@'\x00l\x03:\x01`\x1b\xd0\x09\x00\xdb\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xd8\xad\x132\xca\xc1\x04\xc6T'd\x94\xcb\x8c\xbc\x87h9)\xddA\xbb\xf8\xe9h\xee\x12\xda*\xe8\xa46\x19p4T\xd74\xda\xbcg\xaeP\xe2\xf3\x9f\x15\x84\xb9\x97\xd5\x7fxgu\xb6\xb7\xf2\x8a\xf7\xb6\x95\x19O\x20LuBF\xb9\x8c\x85\x1e8b\xc9(\xbf{^\xf8qO\xcf\x0b\xcb\xf2>\xd2\xa9\xafA\xca\x1b\x8c\x92\x8f{J\x02uM\xa3\xcd\x87/\x0b\x9e\x1e\xff\xdd\xb3\xc2e\xf5\xf7L.e\xaf<vr\x99\x20\xfc\xbb\x95\x19O\x20\xcctBFy\x80\xe8{\xe0\x88%\xa3\xdc\x7fKz\xe3\xbf\xe3\x89j\x7f\xb5\xf2U\x8c\xf2`]\xd3h\xf3\xbbB\xe5f\xfa\x82j\xb2[\xee\xe4<M7\xc3p\x91\xf0\xef\xd6f<a0\xd3\x09\x19\xe5#\xc2\xb43\xbd\x0a\xb2N\xfeefm%\xac\xec\xd5\x9cNf\xd1\xe6w\x85\xcb\xd9\xc3a:\xed\xf6H\xdf\x97o\x15\xde\xb36\xe3\x09C\xe4\xac\x08d\x94\x8fEF\xb9\xac\xd3m)\xc59\xd8\xcch\xabg\xed\x90K?\xcds\xff\xb80\xff\xca\xb6\x9c\xd2\xbb|\\\xb9\xea\xb5\xa0:m\xa3\xb3\x9b\x7f\xc7<\xda\xfc\xae\xf0\xfecg\x15\x9d|G\x97{\xbeq\x98\xadZ\xd1&i\xeewZ}\xa1\x19kz\xd0\xdd:z+\x9f\x90D\x93d\x84\x8crg3\xcao\x09\xc7\x86\xef\xfen\xd9\x92\xbb|3\xa3\xad\x9e%,9y6\x8f\x96^\xc9\x11v\x94\x0a\x8b\x0f\xe6\xb5\xf2q\xe5\xaa\xb5\xa0:\xdd\xac\x942\x92L\xa3\xcd\xa9N\xad\xe5\x8aN\x9b\xb2\xf6\xbe\xb87k3]a\x81\xbb\x9e\x0d\xceX\xd3\x83\xce\xd6\xd1]\xf9\x84$\xfa\x93=>v\x15\x19\xe5\xa3\x99Q~K:d\x15\xddT73\xd8\xeaY\xde\x8f\xd8Y6\x9d\xf2V\xd2W\xe0\xbc\x7f\xd3\x16u\\9\xb7\x16T\xa7\xd6,\xe9\xf54\x8d6\xa7:\xdd\x99\x7fG\xd2\xe9\x92\x14\xf0\xc7\x1e\xdf\xe7_\x91\xd0\x8cU=\xe8m\x1d\xa3\x95O<b\xd3iS`\x12\x19\xe5\xa3\x90Q~K\xf8\xc9\xd5\xab\x976-~C\xbdB\xfa[=kK\xa0\xd4{\x92\xee\xb1\xc3r\x90%\x17W\xce\xadEy\xc3^\xe5\xe54\x8d6\xa7:\xf9\xcb[%\x9d6\xcb\xdd<\xba\xd9\xef\xe3G[C3V\xf5\xa0\xb7u\x8cV>\xf1\x88M\xa7\xe0$2\xcaG!\xa3\\\x19\x8aX_\xe4S5\xd3\xdf\xea\xa1R\xef%\xffU\xb7\x9c\x0b\xcb\xc7\x95skQ\xee\xcdY\xf2\xb44[\xd3hs\xa6\xd3\xd9oH:\x95\xc8\xc1\x86\xe5%\xc1k'\xdf%\xd5\x8c\xc3z\xd0n\x1d\xa3\x95O<,\xea\x84\x8cr\xae\x87\xd1\xca(Wt:F\x0f\x12\xfc\x0a\xe9ou\xb5NY\xb2N|\\9\xb7\x16\xe5\xdew\xde\xcf\x91\x0e0\xa6\xd1\xe6L\xa7\xe1\xec\xcb\xd2\xd1\xe9\x11\xb6\x86\xbe\xc2MldO\xda\xb2'\x85\xdb\xfc\x8cU=\xe8m\x1d\xa3\x95O<\xa2\xd7\x09\x19\xe5\xda\x1eF+\xa3\\\xd1iS\xb6O\xb5B\xfa[]W'>\xae\x9c[\x0b6P~\xc9\xcd2gM\xa3\xcd\x99N\xfeM\x95L\xa7\x17\xa5e8)\xbc\x18\xf8\xdc\xc9WZ\xa8\x9a\xb1\xaa\x07\xbd\xadc\xb4\xf2\x89G4#{\xc8(w4\xa3\\\xbe+\xe2l\xa5\xb41\x83\xcd\xf4\xb7:W\xfa\xc7\x9c\xd6\xe1\x93\xee\xb7\x86+\xe9.\x1c\x8a+\xe7\xd6\xe2\xe3\x9e\x92\xcd\xbf\xf3\xdd-\xf7^\xb9m\x1am>|Y8{\xd7\xdf\xe3\x91F\xf6*\x85\xdd\xe7w\x0b\x92\x80\x97<%/\x9c]\xed~E\xb58\xa1\x1e\x0c\xb6\x8e\xd1\xca'\x1e\x91?wBF\xf9\x18d\x94\xcb\xf7\xec\xb9\x97\x1d\xf3\xf1\xcd\xf4\xb7z\xa8t\x0b=\x16\x9c\xcc\x16\xb2O\xb2K\x94P\\9\xb7\x16G\xd9\xc4\x1b\xac\xf7\xbd\xa6\xd1\xe6W\xe6\x0a\xc2i\xbf\xaf\xc4+\x9d\xe7\xb5.\xf3,;,\x8b\xf1\xcejO\xde\xd3\xff\xa6^\x9cP\x0f\x06[\xc7h\xe5\x13\x0f\xb3\x93=k\x20\xa3||\x13\xba\xf8\x1d1\x09\xb8u\xa2\xc0^\x9d\x90Q\x1e'\x19\xe51b\xa3N\x06['\xc1\xb1Y\xa7\x89D<g\x94\xc7\x88\x8d:\x19l\x9d\x04\x07:\xc5L\xfcf\x94\xc7\x88\xad\xd1\xe6\x06['\xc1\x81N\xb1\x13\xb7\x19\xe51bo\xb4y\xa2m\x9d\xa8\x80N\x00\xd8\x06t\x02\xc06\xa0\x13\x00\xb6\x01\x9d\x00\xb0\x0d\xe8\x04\x80m\xfc\x7f\xe7\xbd\xe7\x84\xdaB\xea\xf4\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/call-eg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\x1e\x00\x00\x01\xc8\x08\x03\x00\x00\x006\x92\x13\xd7\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x05\x07\x03\x0a\x0d\x09\x0d\x12\x14\x0e\x12\x1d\x11\x13\x10\x1b\x1a\x14\x20\x20\x19\x15\"6\x1f#%!#\x20$%#&(&+)\x1e++$*,*0.\"-/,\x1c0Z120463/6B;8-8:7<>;C@4#Cx@B?AFHDFDKH<MH7\x00f\x00IJH\x00i\x01\x00j\x02LNK8P|0R\x95\x07m\x06PROYTC\x0fp\x0bTVS/Z\xa3\x0es\x18,`\xae7]\xad\x15v\x1c[]Zb]K9a\xab\x19y\x1e;b\xac_a^=d\xae@f\xb0*{!bdaBh\xb3efdDi\xb4fheMj\xaf.\x81.Fm\xb1qjROl\xb2Ho\xb3kmj0\x859Jq\xb5Kr\xb7npmMs\xb8;\x86:cr\x8fNu\xba|t]Xv\xb6sur?\x8a>Zx\xb8vxu]{\xbb_}\xbez|y\x84|dX\x80\xbfL\x91K`\x81\xbbb\x80\xc0}\x7f|\x7f\x81~c\x83\xbdN\x95Ue\x85\xbf\x7f\x83\x92W\x95V\x82\x84\x81\x8d\x84fg\x88\xc2m\x87\xbci\x89\xc3j\x8a\xc4[\x9aZ\x87\x89\x86q\x8c\xc1\x8a\x8b\x88\\\x9dc\x96\x8cnt\x8e\xc4v\x90\xc6g\xa0g}\x91\xc2\x8f\x91\x8ey\x93\xc9\x92\x94\x91\x80\x95\xc6z\x97\xc6\x82\x96\xc7s\xa4l\xa1\x96x\x95\x97\x94\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96\x7f\x9d\xcct\xa9v\x86\x9b\xcc\x81\x9e\xce\x9a\x9c\x99\x82\xa0\xcf\xa8\x9d\x7f\x9c\x9e\x9b\x88\xa0\xca\x7f\xabz\x8a\xa2\xcc\x9f\xa1\x9e\x9e\xa3\xa5\xa1\xa3\xa0\x8d\xa6\xd0\x82\xb1\x85\xa3\xa5\xa2\xb3\xa7\x83\x91\xa9\xd4\xa7\xa9\xa6\x8d\xb5\x8a\x94\xac\xd6\x99\xac\xd1\xaa\xac\xa9\xa4\xac\xc0\x9e\xad\xcd\x8d\xb8\x93\x9b\xaf\xd4\xbb\xae\x89\x9d\xb1\xd6\xaf\xb1\xae\x97\xbb\x97\x9f\xb3\xd8\xa1\xb5\xda\xc2\xb5\x90\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xa9\xb9\xd9\xb7\xb9\xb6\xac\xbc\xdc\xba\xbc\xb9\xa6\xc5\xa8\xb1\xbd\xd7\xaf\xbe\xdf\xbd\xbf\xbc\xcc\xbf\x9a\xb1\xc0\xe1\xb8\xc0\xd5\xb1\xc8\xad\xc0\xc2\xbf\xb7\xc2\xdd\xb9\xc5\xe0\xbd\xc5\xda\xb2\xcd\xb7\xc2\xc6\xd6\xbb\xc7\xe2\xd6\xc7\x9d\xc6\xc8\xc5\xbc\xc8\xe3\xbf\xca\xe5\xbd\xd0\xbc\xc6\xcb\xdb\xca\xcc\xc8\xc1\xcc\xe7\xc2\xcd\xe9\xbf\xcf\xe2\xc7\xce\xe4\xca\xcf\xdf\xce\xd0\xcd\xc8\xd3\xc1\xc8\xd0\xe6\xdf\xd1\xa5\xca\xd1\xe7\xcb\xd3\xe9\xca\xd8\xcc\xd3\xd5\xd1\xce\xd6\xeb\xd3\xd7\xe0\xd6\xd8\xd4\xd0\xd8\xed\xe7\xd8\xac\xd5\xdb\xd0\xcb\xdb\xee\xd5\xd9\xe9\xd9\xdb\xd8\xd7\xdb\xeb\xd8\xdc\xec\xd2\xde\xec\xd5\xdf\xda\xd9\xdd\xed\xdc\xdd\xe7\xdd\xdf\xdc\xd7\xe1\xdb\xdb\xdf\xef\xd5\xe1\xef\xf0\xe0\xb3\xdd\xe1\xf1\xe0\xe2\xdf\xde\xe3\xe6\xd9\xe5\xf4\xe0\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe3\xe9\xeb\xe7\xe9\xe6\xe3\xec\xf4\xeb\xed\xea\xe6\xee\xf7\xec\xed\xf7\xe8\xf0\xf9\xef\xf0\xfb\xf0\xf3\xef\xf4\xf2\xf6\xef\xf4\xf7\xf4\xf7\xf3\xf2\xf7\xfa\xf5\xfa\xfd\xf8\xfa\xf7\xfd\xfb\xff\xf7\xfd\xff\xf9\xfe\xff\xfe\xff\xfcA\x10\x8d\xd1\x00\x00\x20\x00IDATx^\xed\x9d\x0ft\x14U\xbe\xe7\x07wqv+\xfd^\xcc&O\x98\xe51\xd3@va\xc8\x86\x82\x89M\"\x98`^\xc0\x13a}\x20\x08\x0e\x88\x99l\x1c=A\x98\xe1\xafg2\xcf3YI\x8eA\xf2@$\x98\xacsL\x00\xb3J\x88\x12\x91\x80\xae\xe6\x80\xe1\xa8\xbc#\x90LD\x87\x93\x991\x83\xd0\xbe\xc9L\xc4RQD\x12\xfb\xd4\xd9{oUu\xdd[\xa9\xbe71\xe9\xaa\xea\xee\xdf\xe7p\x92\xdb\x95[\xb7nU}\xba\xeaVu\x7f\xa9\xef\xa9#@\x01\xe2\x9c\xef\x89\x14\xe0!j\x1c\x88u@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\xb8\xa7G_kMeM\x9b\xfe\xa2\xad\xaejG\x0b\xaf6\xe0\x0a\xee\xe9QW\xd5z\xaa\xa5\xb2\x05\x17{\x1b\xca\x9bO\xb5\x94\xb7\x0b\xe6\x00\x1c\xc75=Z+\xbb\xd0\xcf\xf6\xca\x1e\xf4\xb3\xa1\xb2CQ\xba\xca\x8dC\x09\xe0\x19\\\xd3\xa3\xae\x81\xfc\xaanQ\x94\x8e\xf2V\\\xec\xe1U\x07\\\xc15=j\x1a\xb5_u\x8a\xd2\\\xd9+\xa8\x0c\xb8\x84kz4Uc'\x82U\xbb\xb0\"m5\xe5\xd5MA\xd1,\x80\xe3\xb8\xa6GOU]W\xb0\xa3\xa6|\x87\xa2\xec(\xafn\xedh\xab\xde\x01\xc7\x10\xcf\xe1\x9a\x1e\xca\xf9\xba\xf2\xf2\xf2\xe6\xba\x1a4\x0c!\xe3\xd3\x9e\xaaf\xd1,\x80\xd3\xb8\xa7\x07:\xb3\x9c\xefS\xaa\x9b\x14\xa5\xb1\x86\xbc\xd4\x7f\x01\x1e\xc2==\xc8\xa9\xa4\xbd\x1c]\xd2\xb6T\xf5\xe1rC\x1d\x7f\x06\xc0y\\\xd3\xa3\xad\xbc\x0b\x9dP\xaa\xf1\xf5\xcbyra\xdb\xa3\xdd\"\x03\xbc\x84kz\xb4\x97\xb7t\xb4V\xd7\x91\xcb\x95\x96\xca\x1644\xad\x81\xa1\xa9\xe7pM\x0f\xa5uWU]\xab^n\xaf\xa9\xda\xd5\x02vx\x0f\xf7\xf4\x00b\x00\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x14e\xcd\x1a\xbb\"\xa0\xb8\xa9G8D\xd9[]\xaeQ-\x9a%:\xfc\x9b\x7f\xa3M\x11\xb3\xc7\x8f\xc8\xbc\xfb\xc4\xe0yF\x8f\x12\xb4\x88\xa9gE\xb5\xdc\xc2==\xc2!\xca`yK\x07\xa2\xa5\xbcUq\x85\x92)\xef\xdb\x141=\xbf\xf5?qd\xcf\"\xff\x8b\x83g\x1a5\xce\x1e9\xb2\xc7\x7fDT\xcb-\\\xd3\x83\x0aQ\xb6\xe1\xaf\x8c\x05\xf1\x97\x92\xdd\xe0\xacy\xc48\xcb\x1e<\x14\xe5\x041c\xd1\xadJTy\x0d\xf4\x18\x04\x15\xa2\xd4^\xefr\xe9\xdbb\x91\x0f\x1e\x86\x1eO\xfa\xa3\x9b\xd0\x02=\x06C\x85(1\xe4\x9b\xc9npv\xf2F\x9b\xa2\x8e\xa6G\xc9LE\xf9\x85\xdf\xbf\x17U\xf0\xdf\x8e\x8b\x93\xf7l\xbcu\xea\xdd\x83\x06\x0c{\x17M\xbdu#2\xe9\xc4d\xbf\x7f\xa52\xd3\xef\x9f\xde\xab\xf4\xac\x9c9y\xe6J4z\xe9\xcb\x9c\xfc\xeb\x993_\xdc8}Q\x10\xb7\xf0\xe4\x9a\x99\xd3W\xea-\x98z\x18-x\x06\xd7\xf4\xa0B\x94\x98]\x0d\xdc\xda\xd1c\xcd\xe4\xb36E\x9d\x13\xfe\x17\x82g7\xfa\x9fP\x94\xf7\x8fL~\x0c\xed\xc8\x92)h\xfc\xbaw\xb2?\xf3\xb1'\xa7\xae\xb4T.\xf1o|\xe1\xc9\xcc\xdb\xfb\x94\xbe\xd7\x1e\xf3\xbf\xa6\xfc\xd6\xbf\x17Y\xf1\x82\x7f\xcd\x8b{W\xa2\x97\xca\x8b\xd3\xfd\x1b\xef\xf6g>\x91\xf9$ia\xe6\x13\x8f\xcd\x9c\xaa\x0dz\xc3z\x84[\xf0\x0c\xae\xe9A\x85(\x11\xa7p\xde\xc5\x0d\xceN^cS48\x81/]\xfc%\xa4<\x05\xe9\xa1<6\x85\x14\xa7#\x8fJ2\xd9\xba/\xf8\x7f\xab\xe0]\xbd\x17\xbf(\xb9\xe3\x8f3\x9f\xc0\x85\xe0^|0\xb8\x1d\xab\x94Y\x82\xea\xfc_\xa5\x04/e\xca-h\xcc\xf5\xe7\x99w\x909\x0d=\x98\x16\xbc\x81kzP!JD\xc3.A\xedh\xf1\x0b\xf3\x88\xf1\x8bA\x07\x0f\xa4\xc7\x93\xaf\xbd\xb0h\x0a\x99N\xebQ\x12.\x9a\xac\xbc\xa5\xb7\x0f1\x93\xc8\x14\xbc=S?\xb8\xfcq\xcf\xdd\xb7L\xc7\xe7$%s/\xda\xf5Ae\xe3\xcfp\x0b\xe44\xb6\xc7\xffg\xfc\xcb\xd0\x83i\xc1\x1b\xb8\xa7\x87\x19\xa2DT\xb5\xf0\xabF\x8b\xf7\xa7\xac\xb1)\x86!c\x8f?\xfb\xf7\xe02\xad\x87Y4\xb9\xdd\xaf\xa1i\xb1W\xdf\xe5\xafe\xce\xdc\xb8\xf7\xc8\xddD\x8f\x17\x95\xd7&+\xba\x1e\xb8\x05\xe5\x88\x9f\x9c]\x0c=\xd8\x16<\x81{z\x98!J\xfc?\x03\x9d\xe2W\x8e\x16\x1b\xfdgm\x8aa\xb4\xa1\xe9t\xb2/Ez\x94\xdcr\x82\xf0G\xfc\xe2\xfd\xcc\xc7f\x92\xc2\xedw\xe0\x93\xcbJC\x8f)\x0a{\xf4\x20\xff\xe5\x8d\xa1\x07\xd3\x827pM\x0f*D\x89\x87\x1e\xe7\x05\xd5\xa3\xc3\xfbSJl\x8a&\x9a\x1e\x99\x1bO\xa0q\xc4T\xb4G\xfb\xee\x88\xac\xc7\x8b\xda\x98\xe11<\xe4\xe8\xbd\xe31e\xcd\xddx\x889\x13\x1f\x0a\xfan\x1f\xa4G&\xb2&x\xcb\"2\xa7\xa1\x07\xdd\x02\x1a\x0a=\xe1\x81{\xa9\xae\xe9A\x87(\x91+\xee\\\xcd\x09\x0e\x1e\xf8\xca\x05\xfd\xbc{e\x09\xda\xbd\x8b2\x9fx\xe2\x0e\xff\xe4\xdf\x9e@\x171%\xaf)'J&\x1fa\xef\x92l\xf4\xffl\xef\xde\x12\xb4\x8b\x83G\xd6d\x9eU\xceN\xdfx\xa4Wy\xcc\xbfr\xcf\x13\xb7\xa3\x0b\x96\xd7NL\x7f2\xb8w\xf2\x89\xe0\xcf\xf0\x15\xf1\x14\xff\xed{\xf7\xdc\x8aG\xb8\xe4\xae\xe9\x93G\x8e\x9c\xa5[\xc0\xac\xf4\xc2I\xc65=\x98\x10\xe5)wF\xa6\xefO-\xb1)\x9a\xecE\x03\x01\xf4V>qk&\xb2\xe4\xec\xa2)S\xef\xfe\xb5\xdf\xbff\x0d\x9a:\xf9\xc4T\xf4\xd32Xy\xf1\xee\xcc\xe9\x8b^\xc0G\x01\xbf\x7f#\xda\xd7~t\xec\xe9{\xf2\xd6)\x99+\xf7\xdc:yQ\xa6\xdf\xbfw\xaa\x7f\xea^2\xb6\x98\xb2\xb1d\xfa\xcc\x12\xacW\x09=\xe00Z\xc0\xec\xc9\xdc\xa3\xb8\x8e{zx\x80_\xfb\xff\xcd\xa6\xe8\x04\xda\xd0\xd4\xfb$\xb4\x1e\xee}\x92\x0fz\x00\x1c@\x0f\x20\"\xda\xe06\x16\x00=\\\x80\x0cn=p\xd9*\x06\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x18\x16/\xad\xfaPQ\xceOK\x98\x87\x03\xb8\xa7\x07\xf5$\xca\x9e\xa6]\x95\xbb\x9a\xbc\xf7\xb0\xb0Wg\xc8\x1a\x81w\xb4\x09\xb5r\xed\xa7\xe8\xd7\xe6\xa4u\xdc\xf9\xe2\x07\xf7\xf40\x9fDy\xbe\xba\xa6\xad\xa3mW\xb5;\xdf\x18\xe3\xf0\xf1\xab\xf9\x0f\xbd\x8a8\x20\xbfB^?#\x1f\xd0\xfeP\x97\xf4\x08g\xb68\xc25=\xa8\x10e#y\x0eT\xef\x0e\x97R\x94<\x0a\x7f\x85\x7f\xfeN\xd3\xe3wY\xbf\xe9\xeb\xeb\xeb\xc5\xdf\x11|\xc0\xe7R\xf0\xc2a\\\xd3\x83\x0aQ6h\xa7\xf2\x1a\xb7\x92P\x1c4=>}\xe6c\xf4\xb3\xfd\x1f\xfe\xd3?\xce\x9a4q\xe2\x0adt\xcf\xb8;\x05s\xc6\x07\xae\xe9A\x85(\xcfW7v\xf5v5V;\x1f\xa3\xfc\xf4\xc0\xaa\xec\xc5\xbf\xc1\xfb^\xf9x\xd3\xbc\xf9\xbf\xf9\xcd\xbc\xec\xe7\x99\x0a\x9a\x1e\x84^\xdf\x7f\xce\xc8\x18\x93\x9c\x91>\xe6\x81\x20:|$\xbb\xf3\xedX\x87qM\x0f:D\x19l(//opa{o\x92\x7f\xf3\xca3\xf9\xf7\xa0\xe1\xe6\xa7\x8b\xf3\x9f\xa9\x0dd?\xf3\xd03L\x85\xc2M\x1f\x7f\xfc\xcc*R\x0c\xfe\x87u\xaa\xdavU\x1d\xb8a6\xf2\xb8IJ\x88'\xdf\xb9\xa6\x07\x15\xa2\xecm\xd8\x81\x86\xa6;\x1a\x1c\x8f\xe8\xbfD\x86\x9ao\xca\xe8\x88\xf1\xbc\xfc\x0e\x1ez\xbec\xa9Q\x88\xaf[\xf2I1\xf8\x0fc\xc6\x8cQ\xf2\xc6\x8c\xb9a\x1d\x1aCwH\xee|{\xdaa\\\xd3\x83\x0aQ6\xed\xc0\x07\x0e\x17\x86\xa6\x9b\x0a?\xfd\x1bb\xfe&E\xd96W\xc1C\xd0\x97,5\x0a\x1fz\xf3\xcdM\x9a\x1e\xca\xff\xf9/\xff\x88\xf4\x18;g]{/\xd6c\x87\xb5\xb5x\xc4==\xcc\x10e\xa5\x96gh\xad\x14\xd4\x1fu\x96\xea\xb75\x1eB\x07\x8e\x19h\x04\xf2\xca\xe0\xa3\x07\x1a{\xbc\xa3\x9fo\xfe\xdf\xff\xf8_H\x8f\xa4\xd6.|\x94k\x96\x1c\x97\xd9\x0d\xdc\xd3\xc3\x0cQ\xba\xa6\xc7\xa6\xc27\x09\x1f\xe3\x03\xc7C\xbf{g\xf1\xaaO-5\xa8\xa1\xa9\xf2q\xe0\x7fb=\xdaI\xc7\xd7\xf9\xbcw\x17/\x0a\xb8\xa6\x07\x15\xa2l\x20'\x97\xe0\x0e\xc7/l_\x91\xc9u\xca\xb6Z<\x00)\x90\xe5\xa2\x0f\xf5?\x9cZ\xd7\xae\x15h=\x94\xf5\xff-\xacG\xdf\xc4YJ\"\xe0\x9a\x1eT\x882\xb8\x83\x0cMw8\x7f\xe9\xb2m\xc6\xa6\xe7_\xda\x84%y3\xf0\xca+\xaf~h\x1c<fKd\xef\x93\xbb\xa6\x1f\x87k\xff\xee\xbf\x86\xf5\xd8,\xb5\x0cn-\x0eqM\x0f:D\xd9\xdb\xbc\xab\xaa\xa6\xd9\xf1\x0b\x17\xc4+E\xf3\xe6\x16\xe1[\xa2\xaff\xe1AHV\x916\xf8\xa8J+\xc7\xbf\xc8g.\xd4\x8d\x90\xf0\xc9\xa5)y\x85]k\xf1\x87{zx\x8a\x0f\xb3\x7f\xf5\xe1\xdf\xfe\xf6\xf1\x9bks\xcd\x83\xc5`\xfeU\xd7c\x87\xefN7\\v\x01\xd0\x83\xf0\xd2\\\xed\xbc\xf2\xe9\xbcW8\xb5vhz\x9c\x1f\x97(\x1f\xd8\x82\x1e\x1ao\xea\x97\xb4\xef\x0c\xba\xb4\xd5!\x17\xc0x\xec\xf1\x1f\xff{\x82\x1c8\x08\xa0\x07\xe1\xd3M\xd9\xbfz\xfe\xd5\xe7\x7f\x95]f\xbd\xb4\xd5\x01=\x86\x8f\xa8\xf1\x18\xe2\xd3\x97\x1e\xca\xcf\xca\x7f\xe8\xa5\x08vh\xec0\xef{$\x08\xa0\xc70\x00=\x86\x85\xa8\xf1x\x03\xf4\x18\x16\xa2\xc6\xe3\x8b\xdeGoCz\xdc\xb8\xba)\x81\xfc\x00=\x86\xcc4\xe3\x03}\xb7\x1e\x0e\xe0\x02\xa0\xc7P\x09\x8e]\xa7\xaaWUu`\xec\x1c\xcf}g:j\x80\x1eC%(I\x19\x19c\xd32\xd2\xc7\xdc\xe9\xfc\xb7\x1e\xdd\x02\xf4\x18*\xbdM\xe3RS'\xa4\xa6\xa6f\xb48\xff\xd9\xa1[\x80\x1eC\xa6\xb7\xa3\xbd\xbd\xfd\x14\xfa\x97\x10\xdf\xf4\xd0\x00=\x86\x01\xce\xb8h9\x97D\xc1==\xa8\x10%U\x04<\x85{z\x98!J\xba\xe8\x09\x1a[D5\x12\x05\xd7\xf4\xa0B\x94T\xd1\x1b\xa4\xe7\x89j\xe8\x8c\x19}D\x8bt\x16\xd7\xf4\xa0B\x94\xd6\x87R\xbaN\xfam\xa2\x1a:c.\x8e6\xa0\x87\x06\x15\xa2\xb4<\x94\xd21Z\x93$\xe9\x81\xf6\x05\xe3\x93g\xe1\xdb\xa0\xd5\xd3\x92'\xe0\xf8l\x9d\xa4\x91\xae(K\xa4\xa4j\xe5\x94O\x9a\xc8\xd4ES\xcb\x97MH\x9e\xd5\x01z\xf0\x115\xce\x83\x0aQZ\x1eJ\xe9\x18\xc1\x1d\xd5\xe3'\xa4\x8c[\x96'\x9dR\x94;\x93\x96\xd5=\x92\x96\xde\xa7\xf445N\xc8hllDC\xe5\x8e\xc6\xa4\x87\x15\xa5y\x81\x8f\xa9\xdbV\x9d$\xa5=\xbc9e\x0e\xe8\xc1G\xd48\x0f*D\xc9>\x94\xd2Q\xd2\xa5\x0c\x9c\xb7\xc7\xc7\x8c*\x05\x87\x9bH\x1f\xcc\x93\x8b\x0f\xe9\xa1<\xecc\xeb*\xbeTt\xe4X\x90\x06z\xf0\x115\xce\x85z\x12%\xf3PJGI\xf7\xe9\x0f\xb1\xcb\x1b\xdf\x8b\xd1\xfe_\x86\x08z\x18u\x15\xdf\x02}\xea\xf0\xf5\x18C\xfeq\xfe\xaex\x0a\xf7\xf4`\x9eDI\x15\x1d%=]/L\xd2G\x1cs\xc8T{=\x8c\xba\xe6T\xbc\xa7\x9f\xbaI\xdb\xdf\xda\x85\xc7X\xaa`\xbb\xfbA\x8f\xa1A=\x89\x92~(\xa5\xb3\x84E\xc8\x1b\xdfB\xe8\x0aO\xad\xc4\xc7\x0a\"\xc2\x03>\xb6.\xab\xc7\xcdOQ\xfb\xfb'\xf7Z\x0b\x16@\x8f\xa1A\x85(\x99\x87R:Kx\x977h\xa3\x8e\xfbID!#CQ\xba\xc8\x84\xe4\xd5\x8a\xd2\x97\xce\xd5\x83\xde\xdf/\xdfx\xceR\xb8\xf8\xf8Mcn\xfc%\x9a\xf0\xa3\xb17\xfc\xe8\xdd\xb0\x1e\x8f\xff\xfd\x98\xef\xff\xf3E\xaa\x80\xfe>\xe6\xa6\x7f\x01=\x0c\xa8\x10%\xf3PJ\x07\xe9m&\xd7(\xda\x88b\xb5\x94\xb7\xab\xe6N\xa9\x1a\x97\x1f\xf6m\xae\xc9H\xc6\x07\xb3ii\xeb\xd6M\x93\x92\xaa\xda\xa8\xba\xe8zfA\xb3\xd2\xb2\x20\xa9\xb1\xc3\xaa\xc7\x8f\xef\xb5\x16\x1e\x1f\xfb\xf8\xb9\x97\x7f|\xf1\xe2\xdf=u\xee\xdd\x9f\xfc\xd8\xd0\xe3\xd9\xbf{\xf6\xdc\xcb?\xf8g\xaap\xd3\xbd\xef\x9e{\xf6\x87\xa0G\x18*DI?\x94\xd2A\xf0\xbd\x0c\x84\x1e\xa6n\xc8HM\xcd\xd0n\xbd\x04\x97\xa5&g\x90\xff\xfd\xa7=#9e\xd6\xfd\x92\xb4\x84\xaa\xbb\x04\xfdNjKF?\x97X\xf4\xb09x\xe0#\x82\xc1\xbb7\x1az\xdc\xfc\x1cz\xf9\xc6\xf7\xa9\xc2\x0dohu@\x8f8\xc2\xa2\xc7\x8f~n-\\\x1c\xf3\xae\xf6\xfb\x8d\x1f\x8eE\xe3UC\x8f\xb1\xda\xf0\x95*\xfc\xd3\xd8\x9f\xfc\xf2\x0d\xd0#\xbe`\xf5x\xce8f\x84\x0bh\xff\xebz\xdc\xfcOo\\<\x17\xd6c\xcc\x1b\x86=F\xe1\xe2s\xf7\xfe\xe8\x86{A\x8f\xb8\x82\xd5\xe3\x07\xbf\xb4\x16\x90\x16\xfa\xc9\xe5\x06$\xcc\xb3a=n6\x8e.\xe1\x02\xe6\xe5\x1b@\x8f\xb8\x82\xd1\xe3\xd9\xef_\xb4\x14\x10O\xdd\xa8\x0dMo\xba\xf7\xdcs\xdf\x0f\xeb\xf1\xd4\xd8_\xbe{\xee\xa9\x1fP\x85\x1f<~\xee\xdc\xcfo\x02=\xe2\x0a,\x86>x@G\x02\xe3\x98q\xb3y\xf0\xb8x\xf1_\xfe\x9e\\\xd8>\x87\xaeo\x7f\x1e\xd6\xe3\xe2S7\xdf0\xe6\xe6\xa7\xa8\xc2\xe37\x8f\x19\xfb\xc3\x97A\x8f\xb8\"<(\x1d5@\x8f8\x02\xf4\xe0!j<\xee\x01=x\x88\x1a\x8f{@\x0f\x1e\xa2\xc6\xe3\x1e\xd0\x83\x87\xa8\xf1\xb8g\xcc\xe8#Z\xa4\xb3\x80\x1e\x00\x87\x98\xd0#OJ]\x00))7\x88\x09=:\x1a\xab&\xa6z&\x05\x93H8\xafG\xa3q\x1c\xe8\xa8\xa9j\xe8\x18T\x8c@\xa3\xe4\xc2'\xfe\x80\xe3zt\x95\xb7h\x85\x8e\xca\xc6\xf6\xc6\xca\x0eK1\x12\xcd\x89\xf1\xf4%\xaf\xe1\xb4\x1e\x1d;t=\xfa\xc87\x8f\x9b\xaa\xfb\x98bD@\x0fWpX\x8f\xc6\xf2F=j\xddVI\x1e\xc6P\xd9\xc6\x14#\x02z\xb8\x82\xc3z\x04\x83F\x94\xb6A\xfb\xde^]#S\x8cH\xab\xe4\xc67\x95\x13\x1e\x87\xf5P\xc2I\xeb\x1a-\xd5\xd2T\xc3\x14#\xd2\x9b:\xad\xa9#\x91\xfe\xe3\x15o\xe0\x9a\x1e\xfa\xaf\x96j\xa6\x18\x19\x9c\x8c\x9e\xcd\xab\x00D\x01\xd7\xf4\xd0c\xf9\x8d5L1\"=i\xe3\x1fi8\xa5\x00\xce\xe2\x9a\x1e\xfa\x80\x03?\x19\x9d*F\xa4Yr\xfcIs\x80\x8bz\xb4\x95\xe3\xdb\xa0=\xe5mL1\"p\xe5\xe2\x0a\xae\xe9\xd1GB\x93\x8d\xda}\x8fp1\"\xa0\x87+8\xacG\xb0\xa3\xa3\xaa\xb1\x83\xe4\x9c\xe1\xaei\x0c\xe0\xb0\x1e-\xe5\x04\xf2\xf1ZGCe\x8d\xf1\x99\x8bY\xb4\xa3\xb7\xa3%\xcf\xe7B~\x1fpX\x8f\xef\xc6\x1cI\x1a\xef\xc2\xff\x0d\x03\xc4\x86\x1e\x1d\xadp\xe8p\x87\x98\xd0\x03p\x0b\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x83\xf3z\xd8\x85(\xa9\xa9\x80\x97p\\\x0f\xbb\x10%5\x15\xf0\x14N\xeba\x17\xa2\xa4\xa6\x02\xde\xc2a=lC\x94\xd4T\xc0[8\xac\x87m\x88\x92\x9a\x0ax\x0b\x87\xf5P\xecB\x94\xd4T\xc0[\xb8\xa6\x87%9\x09zx\x12\xd7\xf4\xb0$'A\x0fO\xe2\x9a\x1e\x96\xe4$\xe8\xe1I\\\xd3\xc3\x92\x9c\x04=<\x89kzX\x92\x93\xa0\x87'qX\x0f\xfb\x10%5\x15\xf0\x14\x0e\xeba\x1f\xa2\xa4\xa7\x02^\xc2a=\x80\xd8\x02\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\xc3\xf7\xee\x07\x80\x88\x8c\xe8\xe8\x01\xc4;\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0eC\xd1#\xb8.=%)\xed\xb6\xa6\xc1\x7fyT\xbaS\xff1\x02\x066\x8f\xf7\x8dk\x08\xbf\x0c\x0e\xa0\x1f\xd5\xd2mf\x85]\xd2\x9c\xc1sQ<\"-\xe3\xfe]@\xc4\xe6-\x1d\x13@\xfa-\xea\xaa\x80Q\xd9\x9e\xa3\xc9\x10\xf4\xa8J\x924f]\xb5\xfeiTVg3n\xbb\xc5x\xf5h2^\x8a'\xf4`;&@\xeb\xb7\xa8\xab\x02Fe{\x8e&b=VH\xd2\x9cV\xe5\x9b\xae\x07|R\xc6\x80\xe5o\xa3\xb2:\x93\xa4\x15\xdf\x0c\x18-\x0fH\xd2\x20=:\x1em\xb4\x9b/\xcc\x08\xf5\x88\xd8<\xd31\x01z\xbfE]\x150*\xdbs4\x11\xea\xd1(I;\xb4R\xab$UY\xfe8*\xab3Nj7_\xd8\xe9!b\x84zD\x84\xe9\x98\x00\xbd\xdf#dT\xb6\xe7h\"\xd2c\x20\xcd\xdc\xf6\xcb\xa4\xf1\x96\xbf\x8e\xca\xea\xa4I\x1d\xe6\x0b/\xe9\xc1tL@\x82\xea\xd1,IA\xa3|\xfeQ\xf2nj\xce\x1b\xe7K\x9e\xf8\x80\xa2\xb2\xab\x13\\1\xde\x97:\xa7U\xabJ\xbf\xe8Y2>)eZ\x15s\x94\xeeZ2.)u\x0e>\xafO#\xc3\x1ac\xff\xae&\xaf:\xb0\x1e\xca\x8aq\xbe\xf1\x0f\x98't\xbbf\xdaf\xa7\xa6\xccj\xc7zTK\x13\xb5I\x9b\xc9\x8bG>'s\x7fN&Q\x1d\xae\x96\x1e\xed]\x92\xe6\x9b\x84\x06\x9c\xd5\x13}i+\xa8\xf1B\xcfj\xdc\xe5\xb6p\xdbF\xc7\x8c\xbd\xf5\x88\xb4D\xb5\xb6\x1c\x9e\xc7\xe8\xb7\xde\x96\xb9z\xd69t\xe8\x85\xd9o\xcf\x89\xd2j\xd5}Dz<\x20M\xb0LY&I\xe3&\xa5\xa1\x1f\x9f3\xab\xd3\x9a,\xf9&\x8d\x97\xa4u\xaa\xe5EW\x8a\x94\x9a>\x01\x0dl\xa96\xea\x92\xa4\x94t\xd4\x06\xda\x02\xeb\xf2|\xd2\xac\xbc]\xfa\x1fj\xf2$\xe9\xb6\xbc\x20\xda\xa8h\x11i\xa9\x924q@\xdf\x7fv\xcd\x94KR\xda$_R\x06\xda\x89\x9f'I]d\xda\x04\xa9\x0d\xcd\xbdb\x9c\x94\x82\xe7\xfe\xc6\xd2\xe1jiY\xaa\x94\xe6\x93\xa4\x86%\x92\x0fM\xcbP\x0d=\x9a\x92\xb5.\x85\xaf\xcf\x8c\x8eY\xf4\xa0[6\xe71\xfa\xad\xb5E\xad\x9ee\x0e\x1dza\x11\xb6gl\xe81[Z\xc0Nh\x96\x92\xf1A\xa1-Ez\x94^\x9d`\x8a\xb4\x1a\xad\x7f[\xaa\xd4`y1Gz\x00\xed\xe2S)\xe6\x86WO%I\xeb\xd0\xb4\x06\x9fT\xadF:\xb9H\xe3\xd1\xa1\xaa9I\xaa\xd1\xf7\x9f]3\x92\x84\xb4\xfa|\x169\xf8\xdc\xa6\x89y\x0a\x9f\x00\xd1\xdc\x13\xd0;\xb3\xc9\x87\xff\xcet\x18\xfdeb\x97:\x90'\xf9|u\x03j\x83$\x9d\xd2\x9b\xefM\xc1\xed\x0fl\x96|\xe6\xbb\\\xeb\x98E\x0f\xaaez\x1e\xbd\xdf\xa4-f\xf5\x989t\xe8\x19#lO\xb5\xae\xdc<\x90\xb9\x87H\x8fiV\x89WK\x0f\xeb\xbf\x97\xd1\xab\xb3Z\x9aM&\xd7\xe1\xa3\x0d\xf3b\xbc\xb6\xf7+\xf3\x9a\xc3m\xdc\xa6o\xf1]R\xea@D=\xc8\xc1`\x09^\x0a\xd9\xe66\xcd,\xd0\xfav\x95\x0c\x8f\x9a\xb4\x81\xd1\xfd\xd8\x124\xf7ym\xee%\x96\x0e\xeb\xedvI\xd2f<m\x1a\xdeg\xa4\xf9\x87\xf5\xc3R\x06\xb5\x17\xed\xf50[\xa6\xe7\xa1\xf5`V\x8f\x99C\x87\x9e1\xc2\xf6\xf4\x08\"=fI+,S\xf4K\xbd\xcd\xe15!?\xc6I\xda\x15\xdd7IR\x0f\xfbb\x964\xad\x8d\xbd:\x1cH\xd6/\x09\x06R\xd0\x99\x20\x82\x1e\xdaP\xa2\x12\x0fQ\xc96\x1f\xdc\x8c\x9a\x82\xdf\xfb\xaa\xbeeQ[\xedd$}\x9e\x9e;Oe;\\\xad\x9d+\xbf\x91\xb4e\xe6I\x95z\xf3\x13%\xed\xfeWo\xaf\xd9\xbe\xad\x1eT\xcb\xf4<\x94\x1e\xec\xea\xb1}\xd1`\x16f\xbf==\x82H\x8f;\xa9\xb5\xd2\x19h\xdb\xb5.\x0f\x0d,\x16P\xabsU\x92&M#$I-\xcc\x0b\xb5\x0d\x9d\xe9S\xf2j\xa8\x91YP\x92\xf4\xf3p\x06>w\xd8\xeb\xa1\x1d\x7fj\xf0o\xb2\xff\x067\xf3\xb9\xd1L\x0d\x19\xd9\xae\xc0\xc7\x92\x16)\x9d\x9a[\x1f(R\x1d\xae\xd6\xde\xb7h)x$\x88\x8e?\xe5z-\x9f>t\xa1\xb1\xd5\x83j\x99\x9e\x87\xd2\x83]=K_\x08\xec\xc2\xec\xb6\xa7W\x10\xe9\xb1\x99\x1e\x9a\xb6\xe2-P\x99\x86\x07\xe9\x93\xa61\xab\xa3H&\x0d\xcc\x0bt$_\x90\x8c\x0aI\xcb\xc2C\xb3\x0e)I/\xcd\xc6wRx\x17\xb6\xa6\x1e\x83\x9b\xe9\x91$\xad\xd0H\xf4h\x97\xd2\x06\x90\xcd\xd5\xd4\xdc\xda\x8ct\x87\xf5\xbf\x0c\xd2\x03\x1dN\xa8\xc3\x86\x8e\xad\x1ef\xcb\xcc<\x94\x1e\xec\xea\xb1}!\xb0\x0b\xb3\xdd\x9e^A\xa4G\x07\xb5*=RR;\xbe\xd3\xbc\xa4\xee\xd4U\xf4\xdbr\xf48\x1f\x9e\x87y\x81\x19h[7I2W\xba'\xfc\xf6\x9a\x16\xf9\xe81H\x8fA\xcd|n\xdcj\xa8\xd3\xae\x8b'H\xad\x03\xc9I\x9f\xab\x16=\x98\x0eG\xd2C\x95\x84G\x8fuV=\x98y(=\xd8\xd5\xb3\xd1\x83\x99\xd1~{z\x05\x91\x1ehH\x18\xbe\xe7\xb4\x1a\x0d\xb5\xd0\xf9T\x1b\xbb\xad`W'M?\x9d\xaam=\x03\xec\x8b\xa06\x02\xaf\x96\x92\x8c\xa1\xc3\x80o\x08c\x0f\xab\x1e\x83\x9bQS\xf5f\xd6i]\xdc,\xadn\xd1\xf6\x01\xbdK\xd8\x0eG\xd4c\x82>\\j\x98Ui4\xafw\xac\\?\xbd.\x19\xa4\x07=\x0f\xa5\x07\xbbzvzP3F\xda\x9e\x1eA\xa8G\x8d$\xd5i\xa5&\x09]{)\xba\xf9W\xc7\xe1\xadf\xae\xce\x12)\x9d\xec\xb6f|\xb1F\xbfP\xf4=\xd1E\xedWch_#\xa5|3D=\xec\x9a\xd1/\x06\x06t\x83\x83\xd2\xf8\xd5\x9a\x97\xf4.a;\x1cQ\x8f\xd5\xfa\xde\x9b\xad]\xd2\x10\xb4\x8e\xd5i\xa7Wt}d\xd5\x83\x9e\x87\xd2\x83]=;=\xa8\x19#mO\x8f\x20\xd4C\x9d\x83\x06MmW\x07\xba\xee\x97\xf0Gr\xc8v|5\xd97K\xc2;\xce\\\x9d.\x9f\xb4\x0cm\x9f\xf6T|\xa5\xc3\xbc\x98%\xcdB\xbb\xe2j\x1euC\xebT\x92\xb4\x19\xed\xe4\xc6d|\xe1`\xb9w\x9d$5|3`s\xf4\xb0i\xa6\xc7'=:\x80'\xe9\x07\xb8\x0c)9\x85\x1c\xd6-G\x0f\xaa\xc3\x11\xf5\xe8I\xc6]\x1axDJV\xc2\xedk\x1dC\xe7\x0a\xf4\x97\x9e\x0ci\x90\x1e\xcc<Z\xbf\xc9tf\xf5\xec\xf4\xa0f\x8c\xb4=c\xe4\xbe\x07\x1aH-0\x86\x99\xb3\xc9\xc8T\x92\xc6\xcfNOJyX\x9a\xc4\xacN\xa3O\xf2\xe1\xbb\x9a\xe4S]\xfaE0U\xf2M\x9c\x94,\xa5\xf5\x98m\x92\xdb\x8a\xe3$\xed\xa2\x99\xd5#]\xc2\x1f\xa2\xdb\x9c\\l\x9aiH\x92\xd2\xd2\x93\xa5\xdbt=j\x0cO\x98]\xc2t8\xa2\x1e\xf8\xbeUJz\xaa\x94D}\xabE\xef\xd8\x12t\xc94NJ\xde<H\x0ff\x1e\xad\xdf\xdatz\xf5\xec\xf4\xa0g\x8c\xb4=c\xe3\xae)\xa6m\xc9\x04_\xd28\xe3~TsF\x9ao\xe2\xc3\x9f_\xf5\xa11+}0\xecY6\xde\x97\x9c^\xa9\x1d\xfa\xe9\x17\xc1\x15\x13|x\x0e\xba\xc9\x8e;\xc7\xf9\xd2n\xd3\xbeK\xc1\xea\xd1\x95\xe1K\xa9\xb3\xd1\xc3\xbe\x99\xbc\xb4\xe4i\xcd\x0d\xba\x15\xa8K\xda;\x8e\xdd%t\x87#\xebA>'I[@wE\xef\xd8@\xf5$_j\xde\xf9\xd6\xc1z\xd0\xf3h\xfd\xd6\xa7S\xabg\xab\x07=c\x84\xed\x19;z\xc4\x0a\xc1A\x9f(\x03#$\x9e\xf4\xd8L\x0d+\x81Q!n\xf48\xdf\xdb\xe0\xf3\x99\xc3J`T\x88\x1b=\xf0\x00\x1a\x0e\x1e\xa3M\xdc\xe8Q\x99\x9c\x06v\x8c:q\xa3\x07\x10\x0d@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\xdc\xd0\xa3\xa2BT\x03\xf0\x08#\xd5c\x9b,\x1f\xa3^\x9e\xce?\x19\xb1\xaa\xc1_\xe5\xdd\xa2*\xa3\xc1\xdb3d\x8d\xfc\x90\xa8*C\x05\x9a%\xfb\xb2\xa8V\x820R=\xaetf\xd5S/O\xe6\x1c\x8fX\xd5\xa0,p\x05\xff:\xf3'QE\x13a]\x9b\x0a\xfd\xefeUt\"v\xcb_\xd9\xcc\x10\x99+\x9d\x9d\x07\xe5\xdf\x8bj%\x08#\xd5CU\x03\xb4\x1e\xaa\xf8\x9dzy\xc6N\xf2\xbb\xa8LP\x91BX\xd7\xb6\x82\xd6\xb3\xa3\xf25\x9b\xbfq\xe9\x06=tF[\x0f1[\x03_\x92\xdf\xf7\x89v9\x85\xb0\xaem\x05\xadg\x97w\x8a\x95\xb5\x00z\x18\x88\xf4\xb8^V\x98U\xb8\xe1\x02*]\xc8\x92\xe5\xda\xcbe\x0b\xb3\xd7~\x8b^]\xdeR\x90\x95\xbf\x1e\x9f%\x02\xbbw.\xcd^\x8bK\xd7\xb2e}$\xf2:*\xd4\xab\xf5\xe8\xe7\xeb\xe8\x80r\xb48g\xe9\xce~\xbd\xc1\xcf\xb2\xb6\xa3\x9f'\xf5q\xc1*\xce\"\x0c\xe8\xbatc\x9dk\x0b\xb3\x0a\xd6/\x0c\xb1\x15(\xc2\xe2\xfe\x05\xb5\xbb!T(\xcb\xb9!si\xdf\x16d=]Xxf{n\xe9u4\x82\xca:XQ\x98\xbbA\x1fr\x84\xf5`\xbb\x9e\x80\x88\xf48)W\x9cy}\x83\xdc\x8d\xce\xe5\xaf\x1f[\xb88\xa7pg\xd9\x8c/\xd0\xb9>g\xd5\xfe\xd3\xf5\xf2\x01T#\x20/=v\xbc`\x0b\xae\xdc\xdd\xd9\xa9\xed\x92\xeb\x9dsk\xbfR\xbf\xaa\xcd\xed\xbc\x8e\xc7z\xdb\xdf:\x98\x7f\x9f\xfe\x1e\xae\xc8\xc2&\xf5\xbf\xd7\xb9\xf8A40\xf8k\xe4E\x84\xa1\xebR\x8d\xfda\xc6\xd6\xe3\xa7\x0f\x15\xc8\xdf\xb2\x15(\x02\xb5\xfd\xfde\xf8L\x16\xfa\xa0^\xfe@=:\xe3\xe8G\xf4\xd2\xce\xcc\x95w\x96\xca\xf3\xf6\x15\x1cP\xffr,K^\xb8\xaf~a\xf6%2cX\x0f\xb6\xeb\x09\x88H\x8f\xfech\x07\x87\x96o\x20/\xee\x93\xd1;-\x84&\xf4\x17\xaeE\x9b,\xf4:>\xab\x07\xf2\xbfF\xdb1_\xaf\x9f\xad\xbfc+\xf0\xd1\xbel\xab\x8a\xf7\xc7Q\x15oq\xed\x02\xe7\xb3\xacmz\xcd\xf0\xf9\xc0~\x11\x0c\xe1\xbaTc\x07\xf3\xf1!\xe6`n\x88\xa9@\x13\xc0\x87\x94\xf5\xa4\x18\xdaZt\xadp\x1f.QK\x9b_\xa6\xbe%\x9fT\xb7\xe2\xeb\xec\xc0B4\xf9Za\x11\xa9m\xe8\xc1v=\x11\x11\xe9\xa1^;\xb8\xf6\xae\xb9\xf2rR\xbe/\xa0\xbf\xab\xdf\x96?\x0aW\x08\xe0\xad[\x1f\xd0_\x19z\x9c\xc9\xeeW\xfb\xb3;Q\xa9\xec\xae\xd0\xb7\x88B\xedf\xc7\xb6\xac\xcf\xf4\x9a\xe6\x1e\xb5]\x04C\xb8.\xd5\xd8\x17\x85\x0b\xb7\x1f\xfa(\x14b+\xd0\x04*\xba\xbbu\xeb\xd4\xfe\x9f\x16\xac\xd7\xaa\x9aK\x9b\x7f\x0c\xed\xfa~u7\x9e7@.\xb6\x0fj\xc3XC\x0f\xb6\xeb\x89\x88H\x8f\xee\xfc\xc2\xdd\xc7;K\xf5}W\xa4O=\x20\x9b\xe7cr:\x19\xa4\xc7\xb7\x05\xc7\xd5\xe3\x05x\x87,\xd7G\x06d?]\x09l5\xe6\x0b\xefQ\xfbE0\x84\xeb\xd2\x8d];T\xb6T.\xd8\xcf9z\xa0\xbe\xbc}Z\x7fq\\~\x8f\xfc\xa6\x966\xff\xb4\xda\x9d\xa5\xeaz\x90~w\xca\xe4\x02\xd9\xd0\x83\xe9zB\"\xd2ci\x11\x16a\x8b\xbe\xef\xb6\xe8SO\xcb\xe6}\x06{=\xd4\xed\x1b\xd4-x\x10\x8a\xde\x82\x7f\"\x90\xf7\xe5N\xd98xh{\xf4\xf0\x17\x91\x16\xc1\x10\xaeK5\xd6\xbd\x1b\x89q\xedX\xf6A\xa6\x02\x8d>4\xbd\x80\x97|e~\xed\xc2\xaf\xf1+jiX\x8f\x80\xa1\x07\xb9\xda>$\x93\xd3\x9ay\xf4\xa0\xba\x9e\x90\x88\xf4(\xc4\xbb+\xf4S}\xdf\x19\xef\xd1\xeb\xf3K\xf1\x9bv;\xde\xa6\x11\xf4\xf8\x20\xf0e\xe0\x03\\8\xad\x9d\xbak\xf1\x99\xffK\xf3\xe0\xa1\x96\x96\xa2\x9d\x86\xfff\xbf\x08\x86p]\xaa\xb1z\x99\x1c\x18J+\x98\x0a\x88\xcf\xf6\xe9\x0a\xeaz\xccG\xe7\x8dPQ\xadZA\xfaL-\x8d\xd1\xa3\x00\x0f\xa9\xee*%s\x18z\xd0]OLDz\xd4\xcbe\x07\xf7\xdd\x87\x8e\xe1\xdd\xdf~@\xae\x0f\xb4M\x7f&p\xcf\xa1\xb7\xb7\xcb\x87\xd5/;\xb3*\xbaC\x1fUdu~\xa9\x86~\x8f\xae\\*:;\xc9;0T\xb8\xb6P;\xd9\xef\x9eQv\xfcx\x05\x19\xe5\xed\x9ca\xde\xad\xae\x0f\x1c8^\x9a\xf3E\xc4E0\xbd0\xeaR\x8d\xd5\xcb9\xb5'Q\xf1\x0c[AU7h\xc3Q\xe3\xaei\xe7\xdc\x9d\xfd\xefm\xcb\xbf\xa2~6w\xfb{!ji\x7f\xc9=\xd0\x7f,\xebB\x7fY\xe9\x15<\x8c]u\xec\xf0\xe2\xdcO\xd0\x98\x06\xdf5=\xd0\xd9\xc9.-A\x11\xe9\x11:\xb08\x90_vxqV\xe9\x05\xed<\xac]\x09\xa8\x9f\x94\x15\xe6\x14\x1d'\x9f\xb9\xc8Y\xff\x9e\x83~nS\xff\xa0\x9f\xaa\x0f\x91\x1a\x07\x02\x07\xf46N\x97\xce\xcb-~[\xc57F\xa8cCh{n\xf6\x83\xdd\x9cEP\x84\xebR\x8d\x1d}\xb0\xbe0k~\xe9\x19k\x05\xf5p>\xe9\xc0\xdb\xb2\xc1\x81\xd3\xe8\xc7Nu\xbb,\xcf8c.\xad\xb8@\x96\x8f\xe5\xc89\xc7\xc8\xd8\"\xb0\xb3bna\x19\xbea\xb7U\x9f\xab\x8cYZ\x82\"\xd2cTyZ\xb6\xde\x9a\xf0\x0c\xc3\xbd\xf7\x9b\x208\xaa\xc7\xd6a\\!\xf6\x7f\xa6\xe1\xd0-K\xd0\xc3\x16G\xf5\x18\x0e\x0f\xea\xc7\xf8\x07E\x15G\x07\xd0\xc3\x16\xcf\xea\xf1\xc9I\x8dOD\x15G\x83+d\x80-\xaa\x95\x80xV\x0fG!\x03\xec\xc1\x17L\x00\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01ppC\x0f\xc8\xd8\xc6\x0c#\xd5ct2\xb6C\x99m\xb8\x8cj\xc6\x16M\xc4\xdf^9\x20\xcbV\xb5\xa3\xd1u\xef0R=\xbe{\xc6\x96F4\x9b\xeb\x19\xdb/r\xf6\xe3/\x9c^\xdb\x9fc\xfd\"\xbd\xd9ua'c\x90\x91\xea\xf1\xdd3\xb6\x0c\x82\xd9\xdc\xcf\xd8.?L~\x1d^>\xa8r\xb8\xeb\xc2N\xc6\x20\xa3\xad\x87\x18#c;\x1c\xdc\xcf\xd8n\xa9%\xbfjm\xbfH\xaf!\xecd\x0c\"\xd2#J\x19[u\xa9>0(\xa6g\xb3D]u<\x91\xb1\xdd\xad\xed\xfb\xb2\xdd\xccv0\xbbn\xdfI\xfb\xd0p\x0c!\xd2#J\x19[5@\xc6\x05E\xf2~z6K\xd4U\xc7\x13\x19\xdb\xc3Ejw\xe1\xef\xd5\xfb\x0e\xb1\xdb!\xdcu\xfbN\xda\x87\x86c\x08\x91\x1e\xd1\xca\xd8\xd6\xa3q\\\xa8B>h\x99\x8d\x89\xba\x9a\xb8\x9f\xb1\xed,Pwg\xedV\x0bp,\x94\x0d\x02\x87\x93=v\x9d\x8c\x14\x1a\x8e\x15DzD/c\xab\x86\xcaf\x84\x03$a=\xe8\xa8\xab\x89\xfb\x19\xdb/\xe4\xfe\x07\xb7\x16_\xd7B~L\x10x\xb0\x1e\xcc\x1a\xdb\x87\x86c\x05\x91\x1e\xd1\xcb\xd8\xf6\xaf\xcf2\xaff\xc3z\x90\xdf\x9d\xb2\xe5\x1a\xd1\xfd\x8cm(p)\xe7O9\x97\xb2\xb4\xa5\x15QK\x19\xac\x07\xb3\xc6L\xdd\x98C\xa4G\xd42\xb6\xd7\x1f\x0cP\xf1\xa2\xb0\x1et\xd4\xd5\xc4\x03\x19\xdb\xc5\xfb\x0b\xd5\xc2\x03\x8b\xc9t&\x08\xcc\xeaa\xe9d\xa4\xd0p\xac\x20\xd2#Z\x19\xdbkE\xe4\xccs\xb2\x94\x9d\x8d\x89\xba\x9ax\x20c\xbb\xbex\x8b\xba\xa5x-\x99\xce\x1c\xab\xc2kl\xd7\xc9X\xbf\xdc\x15\xe9\x11\xa5\x8c\xed\xb5\xe5\xf2>|\xe9\xb2\x15\xed\x1ez63\xea\xca\xf6\xc2\xfd\x8c\xed\xce\x19\xfb\xd5\xfd3\xd0\xf1\x90\xde\x0e\xcc\x1a\xdbt2bh8V\x10\xe9\x11\xa5\x8c\xedGYz\xdd\x85*3\x9b\x19ue\xf0@\xc6\xf6\xad\xec\x0b\xea%|\x03\x9d\xde\x0e\xcc\x1a\xdbt2bh8V\x10\xe91\xaa\x883\xb6\xc3\xbd\x05;j\xb8\xb6`o\xe3\xa8\x1e\xe2\x8c\xad\xb9\x97\x20c\xeb\x05\x1c\xd5C\x8c\xb9\x97\x20c\xeb\x05<\xa5\x07\x1du\x85\x8c\xad\x17\xf0\x94\x1e\xaeE]][\xb0\xd7\xf1\x94\x1e\x80\xd7\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01ppC\x0f\xc8\xd8\xc6\x0c#\xd5#A2\xb6\x87qC\x05k\xcd/`\xdb\xf2Y\x96\xbc\x94_#\xd6\x18\xa9\x1e\x09\x92\xb1\xbd~T\xde\xd7y\xb8x\xc6\x19\xdbY\x0cB\xdd\x15\x015\xae\x18\xa9\x1e\xd6\x8f\xc2\xc5\xef\xd4\xd8\xcc\xd8^\xc2\xdfl\x0d\x15/\xb6\xabNQ\x0fzX\x18\xee7%b3cK\xf4P\x0f\xca\x82o'%\x9a\x1e\x90\xb1\xd5\x96\xa6\xe9QV\xc8N5\xb7\x0e:)\x95\x15\xe6n\xd1N.\x90\xb1M\xb4\x8c\xed%\xf9\xad\xfe\xbf\xee\x96\xf7\xb1S\xcd\xc6\xd4\xcbs\x97\x1e>\xbeV\x0e0\x15\x20c\x9b\x20\x19\xdbK\xe4\xf8T\x16b\xa7R\x8d\x15/\xee\xc7\xc5\x80jYc\xc8\xd8\xaa\x09\x90\xb1\xbd$\xef\xef>Y\x9c\xfd\x19;\xd5l\xec\x9a\x16f\xa8\x0dX*@\xc6\x16\xef\xd9\xb8\xcf\xd8\x92\xb1\x87\xe6\x005\xd5l\xac[&\xd9}\xb2\x1d\x20c\x9bp\x19[mh:\xb7\x96\x9dj6\xf6\xb5v\x9e\xdc\x1aP-k\x0c\x19[5\x012\xb6\x9a\x1e\xf9;/\xec\xa3\xa7R\x8d\x15\x15\"\x1b>\x09\x04\xd8\xd9\x86pM\xeeiDz@\xc6V[\xda\x05\x19\x1f\xebJ\xd7W,g\xfb`4\xa6^\xca.\xac\xaf\xcd\x95\xb3\x8e\xfe\x052\xb6\x09\x97\xb1E\x95\xf05\xf8\x85\xc5\x05'\xe9>\x98[\x07]\xd9n\xc8]\xb8\xfbh\x96\xbc\x8d\xaa\x00\x19\xdb\xe1\x00\x19\xdbX\xc3Q=\x20c\x1bk8\xaa>o5\x06\x00\x00\x09\x1cIDAT\x87\x18\xc8\xd8z\x0bO\xe9\x01\x19[\xaf\xe1)=\\\x8b\xba\xba\xb6`\xaf\xe3)=\x00\xaf\x01z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\x04zX\"\xb4\x14_W\x14d\xeb_\xee\xf5|B6Q\x9fB;r\x04zX\"\xb4\x14\xa5\xf9\x87\xb6fk_(\xf7|B6Q\x9fB;r\x84'\x97\x08\x9ft_\x93\x0f\x9a\xe9\x0d\xc1\x1b\xdc\xfd\x84l\x82>\x85v\xe4|W=.\xcbC?*\x0b\xbf\x8d\x1b\xf5\x84l\x82>\x85v\xe4\x88\xf5\xd8\xbeU\x0b\x9f\xa2a\xc8Q\xfd\x7f\xb0\x08\xcd\xd3\xc6\x05\xf8\x8b\xeafB\x16M?\xb4*\xfb\xa7\x07\xd9\xfd\xe9\x89\x84l\x82>\x85v\xe4\x88\xf5\x90W\xbd~ly\xf6%m\x18\xa2\xff\x0f\x16\x1fu\x1e\x93\xeb;;\xc9W\x86\xc3\x09Y\x9c\xf2\xa8}\xab6\xf0\xbf\x99\xf9=\x91\x90M\xd0\xa7\xd0\x8e\x1c\xb1\x1eK\xd1\xfb\xa8\x7fq\x91\xca&Z\x98\x93\x8b\x9eR9M\xb2\x20\xa7e*\xdeDp?!\x9b\xa0O\xa1\x1d9b=\x9e\xc6?\x0f\xe1\x11\xa2H\x8f\x0am\xe4w\x8f\xf5\xea\xd1\xfd\x84l\x82>\x85v\xe4\x88\xf5\x20\xdb\x8f\x84OEz\x14k\xef\xf5\xf5E*\x8b\xfb\x09\xd9\x04}\x0a\xed\xc8\x11\xebA\xc2\xa7\x87q\xf8\x94\xec\x84Z\xce\xd1\xe3.\xbc\xf9C\x0b\xc3)k\x1d\xf7\x13\xb2\x09\xfa\x14\xda\x91#\xd6\x03G!C\xf7\xe0\xf0i6\x09\xabF\xd6\xe3-r\xbe>&\xbfei\xc2\xfd\x84l\x82>\x85v\xe4\x88\xf5\x90\xd7~p\xba\x98\xa4^\x8b\xf3\xf7\xef+\")R\xed\xca\x85|\xf5\x9fN\xc8\x96\xc9\xbbO\xee\x96\x07mQ\xf7\x13\xb2\x09\xfa\x14\xda\x91#\xd4\xe3\x9e\xfa\xb2\x1c=\xf5z\xb94;g\xed\xd3\xb2\xbc-\x94K\xce\xceY\xf8:\x90N\xc8\x86\x0e.\xcf^n\xb9\xef\xa1z\x20!\x9b\xa8O\xa1\x1d9B=b\x02\xc8\xb8E\x89(\xe9\x01\x09\xd9\xf8\x20Jz@B6>\x88\x92\x1e\x90\x90\x8d\x0f\xa2\xa4\x87\xa3@B6j\xc4\x83\x1e@\xd4\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\x02=\xe2#c\xab\xaa\x17\xd6\x17\xcc}\xf0\xcc\xf2\xf7l\xe6\x18\x09\xec\xd2\xa2\xb1\x1d\\F\xa0G|dl\xd5?e\xad?~t\x0by\xf0\xe1\xa8\xc2.M\xb4\x1db\x10\xe1\xc9%.2\xb6k\xf1\x17UC\x15\xa3\xae\x87\xca.mx\x07\xbaX\xe0\xbb\xea\x11[\x19\xdb\x85$c{A\x8e\xc2\xbb\xdbfiq\x84X\x8fx\xc8\xd8\x96\xcd\xc7\xf9\xca\xd0[\xe4p\x17~\x04\xaf\xf9\x14Z\xd4\xc2!\xfdi\xbcTqHq[ci\xcc\xd3xmZ\xa0\xd68\x86\x10\xeb\x11\x0f\x19\xdb\xcf\x0a\xe5\xb5\xf5\x1fh;\xc6|\x04\xaf\xd9\x18n!\xbf~\xff\xdc-LqHq\xdb\xf0\xd2\x98\xa7\xf1\x0en\x81Z\xe3\x18B\xacG<dl\xd5k\xfb\x8a\xb2\xe4\\\\\xa2\x1e\xc1K?\xa37\x90\x8b\xde\xece\xf9lq(q[\xfa\xe4\x12~\"\x9e]\x0b\xcc\x1a\xc7\x0ab=\x9e\xc6?c<c\x8b\x09\x9d^\x8f\x03Z\xf4#x\xa9g\xf4\x92g\x20j\xebf\x16\x87\x12\xb7\xb5\xd5\xc3\xae\x05f\x8dc\x05\xb1\x1ed\x95c<c\xdb\xad\x8d\x03\x8a70\x8f\xe0\xa5\x9f\xd1K\xad\x9bY\x1cJ\xdc\xd6V\x0f\xdb\x16\xe85\x8e\x15\xc4z\xc4C\xc6v>y\xa2\xaeZ\xbb\x98y\x04/\xfd\x8c^[=\x86\x12\xb7\xe5\xeb\x11i\x8dc\x05\xb1\x1e\xf1\x90\xb1-\xc0\x0f\x99UCx\x0fS\x8f\xe0\xa5\x9f\xd1k\xab\xc7P\xe2\xb6|=\"\xadq\xac\x20\xd6#\x1e2\xb6\x05\xf2\xfc\xfa\xd3\xc7K\xb3\xf1Z\x84\x1f\xc1K5F=\x8d\x97~0\xaf0nK-\xcd\xdc\x0e\xf6-\xb0k\x1c+\x08\xf5\x88\x8b\x8cm\xd1\xe1\xda\xa59\xf9\x1b\xb4\xd4\x8d\xf1\x08^\xea)\xb4\xd4\xd3x\xe9\x07\xf3\x0a\xe3\xb6\xd4\xd2\xcc\xed`\xdf\x02\xbb\xc6\xb1\x82P\x8f\x98\x00RrQ\"Jz\xc4s\xc6\xd6\xe1us\x95(\xe9\x11\xcf\x19[\x87\xd7\xcdU\xa2\xa4G<gl\x1d]7\x97\x89\x92\x1e\x8e\x02\x19\xdb\xa8\x11\x0fz\x00Q\x03\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x08\xf4\x80\x8c\xed\xc8\xd1\xb2A\xb1\x89@\x0f\xc8\xd8\x8e\x1c=\x1b\x14\x93\x08O.\x90\xb1\x1d9\xf5\x09\xa7\x07dl\x87A<\xeb\x01\x19\xdb\x88\x19\xdbZ\xb2\xea\xc7\xd0\xcfZj\xe5\x99\xbaW\xca\x0as\xb7h'\x17\xc8\xd8&X\xc6\xf6\xab\xb2\xe2\xce\xeb\xea\xf5\xf7\x8a\xcb\xaeQ+O\xd7\xbd<w\xe9\xe1\xe3ke\xbc\xcd\x20c\x9bp\x19\xdb\xa3\xda%\xc9\xf2\xa3\x96\x95\x0f\xd7-^\xdc\x8f\x17\x81\xb7\x19dlI\xa0(\x912\xb6\x17\xe4P\xff\xd1k\xdf\x06.XV\xde\xa8{M{\x10\x19I\x16B\xc66\xe12\xb6\xa1\xac\x0b\x07\xe4\xda\xbf\xca!\xcb\xca\x1bu\xbbe\xf2\xdcm\xad]\xc8\xd8\xe2UO\xa8\x8c\xed\xd2c\xa5\xc5K\x8f\xe3S\x0c\xb3\xf2F\xdd\xafe\xb2~[qc\x90\xb1M\xbc\x8cm\xd9\xf6\xac\xd3\xf26\xfc\x17f\xe5\xc3u\x8b\xf0\x82?\x09\xe0\xc6\x20c\x9bp\x19[u_\xf6\xdc\xd0\xe2l\xa2Ox\xe5\xe9\xba\x97\xb2\x0b\xebks\xc96\x83\x8cm\xc2el\xd5\xee\xdcZu\x7f\x0e\xe9zx\xe5\x99\xba\x977\xe4.\xdc}4\x0b5\x06\x19[\xd7p4%\x97HDI\x0f\x87s\xa8\x8e\xea\xe1\xf0\xba\xb9J\x94\xf4p8\x87\xea\xa8\x1e\x0e\xaf\x9b\xabDI\x0fGs\xa8\x90\xb1\x8d\x1aQ\xd2\xc3Q\x20c\x1b5\xe2A\x0f\x20j\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\x81\x1e\x90\xb1Ml\x04z@\xc6v\xa4\x08W\xde\xd3\x08O.\x90\xb1\x1d\x19\xc2\x95\xf74\xdfU\x0f\xc8\xd8\x0e\x11\xe1\xca{\x1a\xb1\x1e\x90\xb1\xe5=\xc7\xd6h\x8c\xda:\x91\xd6\xcd\xd8:t\xd7\xbd\x8eX\x0f\xc8\xd8r\x9ec\x1bn\x8c\xde:\x11\xd6-\xbcu\xa8\xae{\x1d\xb1\x1e\x90\xb1\x8d\x9c\xb1\xa5\x1a\xa3\xb6\x8e\xfd\xbaQ[\x87\xee\xba\xb7\x11\xeb\x01\x19\xdb\xc8\x19[\xba1s\xeb\xd8\xaf\x1b\xb5u\xe8\xae{\x1b\xb1\x1ed\xd7C\xc6\xd66cK5F\xb7`\xbbn\xd4\xd6\xa1\xbb\xeem\xc4z@\xc66r\xc6\x96j\x8c\xda:\xf6\xebFm\x1d\xba\xeb\xdeF\xac\x07dl#gl\xa9\xc6\xa8\xadc\xbfn\xd4\xd6\x89'=\x20c\xcb\xc9\xd8\x9a\x8dQ['\xc2\xba\x85\xb7\x0e\xd3uo#\xd4\x032\xb6\xbc\x8c\xad\xd9\x98\xb9u\"\xad\x9b\xb1uBL\xd7\xbd\x8dP\x8f\x98\xc0\xd1\x94\\\"\x11%=\x1c\xce\xa1:\xaa\x87\xc3\xeb\xe6*Q\xd2\xc3\xe1\x1c\xaa\xa3z8\xbcn\xae\x12%=\x1c\xcd\xa1B\xc66jDI\x0fG\x81\x8cm\xd4\x88\x07=\x80\xa8\x01z\x00\x1c@\x0f\x80\x03\xe8\x01p\x00=\x00\x0e\xa0\x07\xc0\x01\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c\x04zD\xce\xd8F\x99Q\xcd\xd8\x1e#-\xcd\xdb0\xf8\xc6;\x95\x14\xa6\x8a\x80\x81@\x8f\x88\x19\xdb\xe1DG\x85u\xa3\x9d\xb1\xbd~R~\xba\xb3\xf3\xe8\xf2\x82\xaf\xad\xd5\xa9\xa40U\x04\x0c\x84'\x97\x08\x9f\x95\x0f':*\xac\x1b\xf5\x8c\xed\x97Z\xd8%\xdb\xba.TR\x98\x09\x0d\x03:\xdfU\x8f\xe1DG\x85u\xa3\x9e\xb1\xd5\xf4P\x97[\x97C}\xa1z8\xa1\xe1\xc4A\xac\x87\x91\xb1\xc5y\xd1\xa7\xd5z\xf4\xf3uan\x96BX\xd7\x89\x8c\xad\xa6\xc7\x95\xc0\xbe\x08Ia:4<\x84`m\xe2\x20\xd6\xc3\xc8\xd8\xf6\xbfWXqE\xfd\xaavn\xe7uan\x96BX\xd7\x89\x8c\xed\x97\xf2\xe1\xfe\xeb\xbf_\xbe\xf4z\xa4\xa40\x1d\x1a\x16\x06k\x13\x08\xb1\x1ef\xc6\xb6\x1e\xbf\xc1\xf5`\xa807K!\xac\x1b\xf5\x8c\xed\x97\xe4\xd8\xb0\x98\xe4\x06\"d\xfd\xc2Ea\xb06\x91\x10\xebafl\xaf\xcc\xf8w54W\xcb5\x0as\xb3\x14\xc2\xbaQ\xcf\xd8~)\xd7vw\x9f\xde:\xef\x0f\xaaX\x0fa\xb06\x91\x10\xebA\x86\x00Z|u\xfdN\xf5t\xaee\x8fF\xca\xcdR\x08\xebF=c\xab\x0fM\xcb\x16\x87\xc4z\x08\x83\xb5\x89\x84X\x0f3c\xab\x9e,\x08\x19\xff\xe9\x8007K!\xac\x1b\xf5\x8c\xad\xae\xc7\xe1\xf0\xff308)L\x1d=D\x0f\xafM\x20\xc4z\x98\x19[5Tp2W\x7f?\x0bs\xb3\x14\xc2\xbaQ\xcf\xd8\xeazl\xcd\x09EL\x0a\x87\x8b\xc2`m\"!\xd6\xc3\xcc\xd8\xa2}qW\xae~Y\"\xcc\xcdR\x08\xebF;c\xab\xdd5=^&\xefW#$\x85\xa9\xa28X\x9b@\x08\xf5\xa02\xb6\xaa\xfa\x89l\x1c\x19\x84\xb9Y\x0aa\xddhgl\xb5\xcf\\\xb2\x96\x1f\xc2\xbb\xdf.)L\x87\x86\x87\x10\xacM\x1c\x84z0\\\x0fx\xf3)\xbd\x8e\xa6\xe4\x12\x89\xe1\xe9\xf1\xfa\xbc!\xde?t8\x87\x0azD\x89a\xe8Q\x7f&TZ+\xaa\xa4\xe3p\x0e\x15\xf4\x88\x12C\xd7\xa3_^\xb5m\xfeP?>u4\x87\xeap\xc66\x91\x18\xba\x1ej}N\xa9\xf5s\x11o\x00\x19\xdb\xa81\x0c=\x80\xc4\x03\xf4\x008\x80\x1e\x00\x07\xd0\x03\xe0\x00z\x00\x1c@\x0f\x80\xc3\xff\x07'\xa7c\x12\x8d\x96\x0dF\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/callers1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xa2\x00\x00\x01.\x08\x03\x00\x00\x00\xa3\xcb_?\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x07\x03\x06\x0c\x0f\x0a\x0d\x09\x10\x12\x0f\x17\x17\x13\x1a\x1a\x14\x20\x1f\x19!#\x20#$\"%$\x1d$%#&'%'(&+)\x1e()'++$*+)+-*/-!,-+-.,02/52'241574796<9-9;8:;C;=:=?<B@4?@>#CxAB@CDBDFCKH<MH7HIG\x00f\x00\x00h\x00\x00i\x01JLI\x00j\x02MOL\x05m\x05PRO\x0co\x09\x0fq\x0bTVSZVD\x0cr\x17WXV\x11t\x19,`\xae7]\xad\x15v\x1c[]Z\x19y\x1e]_\\d_M:b\xac_`^<c\xad>e\xafac`*{!Ag\xb2ceb)|*dfcfgeghfLi\xafDl\xb0hjgqjR\\k\x88/\x82/jkiHo\xb3/\x858Jq\xb5mol;\x86:pqoUt\xb4>\x89=|t]tvs@\x8b?swzB\x8c@vxu@\x8dG\\{\xbbxzw]~\xb7K\x8fJ{}z\x85}d}\x7f|O\x93N\x7f\x81~c\x83\xbdN\x95Uu\x84\x96\x81\x83\x80W\x95V\x8e\x85gm\x87\xbcZ\x98Y\x87\x89\x86]\x9c\\\x89\x8b\x88\x95\x8bm\\\x9dcs\x8d\xc3d\x9dd\x8c\x8e\x8bf\x9fg{\x90\xc0\x8e\x90\x8d\x90\x92\x8f\x7f\x93\xc4j\xa3jz\x97\xc6\x93\x95\x92s\xa4l\xa1\x96xq\xa5s\x81\x9a\xc3\x97\x99\x96\x84\x9c\xc6\x99\x9b\x98u\xaaw\x9b\x9d\x99~\xaay\x9c\x9e\x9b\xa8\x9e\x7f\x88\xa0\xcb\x9e\xa0\x9d\x80\xad|\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\xae\xa4\x85\x82\xb1\x86\xa4\xa6\xa3\xa5\xa7\xa4\xb4\xa7\x82\xa6\xa8\xa5\x8b\xb3\x88\x95\xa9\xce\xa8\xaa\xa7\x8d\xb5\x8a\x98\xab\xd1\xa9\xab\xa8\x8e\xb6\x8c\x8d\xb8\x93\xab\xad\xaa\xb9\xad\x88\x9f\xae\xce\xad\xaf\xac\x96\xba\x96\xaf\xb1\xae\xa3\xb2\xd2\x98\xbc\x98\xb1\xb3\xaf\xb2\xb4\xb1\x9b\xbe\x9b\xc2\xb5\x90\xb4\xb6\xb3\xb5\xb7\xb4\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xb7\xb9\xb6\xb8\xba\xb7\xb9\xbb\xb8\xa5\xc4\xa7\xb1\xbc\xd7\xbb\xbd\xba\xbc\xbe\xbb\xbd\xbf\xbc\xaf\xc6\xab\xa9\xc8\xab\xb8\xc0\xd5\xbf\xc1\xbe\xce\xc1\x9b\xc1\xc3\xbf\xb2\xca\xae\xc2\xc4\xc1\xbc\xc4\xd9\xb2\xcc\xb7\xc4\xc6\xc3\xba\xcd\xb9\xd7\xc8\x9c\xc1\xc8\xde\xbb\xca\xde\xc7\xc9\xc6\xbc\xcf\xbb\xc9\xcb\xc8\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xcc\xce\xcb\xc4\xcf\xdd\xca\xce\xde\xce\xd0\xcc\xc8\xd3\xc1\xe0\xd0\xa4\xcf\xd2\xce\xc8\xd6\xc9\xd1\xd3\xd0\xd1\xd2\xdc\xd2\xd4\xd1\xde\xd5\xa7\xca\xd8\xcc\xd3\xd5\xd2\xcd\xd6\xde\xcc\xda\xce\xd5\xd7\xd4\xe7\xd7\xab\xd6\xd8\xd5\xd1\xd9\xe1\xd5\xdb\xd1\xd8\xda\xd6\xd8\xd9\xe3\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd5\xdf\xda\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xf0\xe0\xb3\xdc\xe1\xe4\xdf\xe1\xde\xe1\xe3\xe0\xe3\xe5\xe1\xe1\xe6\xe8\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xef\xf2\xee\xf7\xf9\xf6\xfe\xff\xfc\xbd\x08i5\x00\x00\x20\x00IDATx^\xed\x9d\x0fp\x13\xd7\xbd\xef\xe1%\xb7\xf7\xf8Y\xba\xbdvjW&\xbevs=n\xb1\xc7\xf6\x98\xa8@\x84\xc3s\x80\x90\xe0\x10\xee\x03'J\xe19\xaf\xb9\x81\xa4\x80\xfb\x9cb\x87\xdb\x84\xbf\xc1m\xd0\x00Uq\xc1<BL\x9d\xa7)\xc5@\xf0\xad\x15p\x9c8&\xb8\xd4\x8ei\xeb\xe4\xc6!\xb85\x93\xb9Q\xe2LP:\xb7\xca\x84\x99e2\xe2\xdc\x9by{\xce\xae\xa4]\xedY\xadd\xec\xa3\x95\xfc\xfb\x0c#\xfdt\xf6\xec\xd9\xb3F\xdf=\x7fvu\xbe3\xbe\x9a8\x18\x00\x80\xa9f\x86\x91\x0ec`T6\x00\x007\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00LM\x0aI\xb4\xb1\x91\x15\x02@z\xc3]\xa2C.\x8f\x14\xf8\xda\xdd\x1d\xbePj\xd7\xb0^\xfe0\x7f*y\x8e\x11\x12\x1e)))9\x81O\x88\xaf\x8fhw3\xe0\xc3\xd2\x92\xfb5\x89\x7f}zn\xf9?\x07i\xf8\xda\xdcW4\x9b\xd50K`\xd0(\xd6\xaf\xfcJ\xe8\x93\xe2\x10\x0a\x8c\x8f6\xf5$R\x07\xf6Y\x18\x92\xc8!\x00\xde\x12\x0d\xecy\xb5\x85\x06c\xfb\xbc\x97\xbc\xfb\xc6\xa4\xd4q\xd7\x1b1\xf6\x91x\xaa\xfc*#$\\\xd9Z\xf2\xa6\x80\x85s%[\xaf\xe0\x84y\xab\xb1\\\x93\xb6f\xee\xd1\xc6\xf2\xcfix\xb6\xfce\xcd\xe6(X%0\xf8\xf8\xdc\xb9\xa3%\xbf\x0b}R\x1cBA\x1cG\x9br\x12\xa9\x03\xfb,\x98\xbcy1\x12'r\x08\x80\xb7D=\xa7\xc7\xa8D\x83\x07^\x15__=@/\xc1\xbeVc\x89^)\xdd\xca\x08%\x0e\x97\x08\xe2k\xb0\xe40\x9e\x00{5\x02\xfb\\,((\xc8\x1f\xe2h#\xb4%\xe8\xf0VX\xa2\xaaC(\x88\xe3hSN\xfcu\xd0;\x0b\x16+7(>\xc4\x7f\x08\x80\xb7D\x87\xdc\x01\x1f\x95\xe8\xf0\x1e\xf2_\x1b\xd8C:\xb8]\xae\xae}\x86\x12m\x8c\xb4\x9c\x8d\xeaFt\xd2%z\xa5$\xb1~\xd8\x04$\x9a\xe8!\xccI\"g\xa1\x92(\x90\x00|%\x1a\xd87\x82%\x89\x9e>F\x13\x8eu\x8a/B\x00\xb7\x18I\xf4\xc3\xd2g\x19\xa1\x8cR\xa2\xe7\x1e]P:\xf7\x9f\x17\xd0\xf4\x13\x8f\x94\xdf\xbbU\xdc\xf4viI\xc9\xf3W\x9e\xba\xbb\xfc\xfb\xea\xcb\xf7\xd5\xa7\xe6\xcf\xd9\x20wSCy\x85\xb9%\x14\xd2P\x7f^^RRz\x82l\xfdqI\xe9K[\xef-\x7f\xf4cU^u\x09\x11Xu\x20\xc8\x12U\x1eB\x01\xf3hd\x84\xbd\x17\xef\xa5\xa3m\x9d\x13\xd2;\x9aDpn\xe9O\x16\xcc\x7f\xf3\xd99k\x02\xe2\xdf\x7f\xc3\xfc\xd2\x05O\xbc-\x1d\xe2p\xe3\x82;\x9f\xb8\xa2\x0a\xf5\xce\xf8\xafO\xcd]\xb0u\xeb\xdc9'\x14\x05+\xce\xe2\xc7d\x1fiL\xae\xfeC]\xd90W\xac\xdaU\xfc\x8a\x94\xb5d\xa5\xea\x10\"GW\x96\xaf<\x1a}4@\x05_\x89zNbY\xa2m\xaf\xd2\x84\xee6i\x83\xa1D\x1bK?f\x842\x0a\x89^,}\xea\xe5\xd7^\x9a[\x12\xa4\x19\x9f={x\xee\xca\x20\x16N\x9cXp\xef\x9c\x05[\x9f*\xfd\x10\x0b\x1fJ\x88{\\\x99s\xefK\xaf<ZR\x8e\x95y\xf1\xdb\xe7N\x94\xec=w\x8e6\xd4\x17\xcf\x9d+\xdfK\x82?\x9d(-\x99\xbb\xf7\xf0\x9c\x0d\xea\xbc\xca\x12\"0\xeb@\x08\xb5\xa2\x8aC(\xaa\xc3<\x9apn\xce\xf3W\xf1\xd5\xe7\xe7\x9c\x13tNH\xf7h2o\xce)\xd9\xba\xa6d\xee\xcf\xe6\x8a\x7f\x9d\xb3%\x8do\x9ex\xa2\xf4-\xe9\x10\x0b~\xb6wA\xf9{\xcaP\xe7\x8c\x85\xfb\xe7\x1f}\xbe\xbc\xfc\xa5GU\xdd\x94\xc8Y\\=W\xbaW\x1e\x93\xab\xfePo\xceY\xf9\x8b\xd7\xf6\x8a\xff-\x81\xdf\x9d\xbbw\xcd\xb9s\xe7\xe8\\A\xf8\x10\xa4?\xf4\xfc\xd9\xe7\xcb\x9f\x8a\xda\x0dP\xc1U\xa2\xc3\xee@H\xa2\xb2&\xdf\x90\xe6\x8e\x0c%\xfaa\xe9\xd3\x8c0\x84B\xa2G\xe7\x92\xef\xe7\xd19A\xf2}\xfc\x15&\xb2\xa0W\xec\x95%\xb4\x15\xc1x\x8d|A\x7f\x04\xe3G\xee\x15w\x0b\xae$\x02S\xe5U\xf5\xdfB\xdf\xa6\xf29\xe2\x85\xe1\xa9\xb9\xea\xbc\x8a\x12\x14\xe8\xd5\x81\xd5\xd1UT\x87\x1eEs4\xdcH\xbe\xb6?$w\x99\xd8'\xa4{\xb4\x10\xf3\x9f\x127\xbcBoT\x09'\xc8\x1fj\xe5\x13\xf4\x10w\x8b;\x7f\xbe\xe0!u\xc8\xac\xc3\x89\x12\xb1\xe1=Z\xf2\x1e\x8e\"\xf2\x87\xa2\xfbH\x1d\xfe\xc8n\xc2\x82\xef\x93n\xc9\x09:\x9f\xa4\xea\xe8\xca\x87x\xad\xe45\xfazV\xb5\x1b\xa0\x86\xa7D\x03\xfb\x86\x83\xc1\xe0XKP\xfc6\xb5yiRW\x9c\xad\xe8\x8f\xc5\xe6B\x1b\x86PH\xf4\xe3\xf9w\xff\xf8\xa5\xb7\xe9\x1c\xc6\x86\xbb\x05\xf1p\xc1\x05\xf4\x1e\xea\xcary\xaf+\xafH\\\xc1\x9f\x97\xbcD\x12\x9e/\x8f\xce\xcb\x96(\xd9\xb4W\x9dWY\x82\x02\xbd:\xb0$\x1a\xa9\x0eE{4\xfcf\xb9\x80\x85\xf2s\xd1\x85\x85OH\xf7h!\xe6\x9f\x10\x0f\x1c\xc0\xcf\xfdP\x8c\xffz\xf4\xfbw\xcf\xa1\xfdM\\No\\\x1d-\xf9\\\x15bV\x1d\x9e\x9b\x83I\x95\xff\x15G\xc1\x96hx\xb7\xb3D\xd9!X\x12m\x94\xeeV\xdd\xdf\xa8\xda\x0dP\xc3S\xa2\xa3\xae\x10>|Z\xba;\xda\xde)m2\x90\xe8\xd5\xf2FF\x18F\xfar\x09%G\xc5\xd7\xcf_\xdap\x7f\xc9\xdc_`\xd2\xceH\xd06c\xe5J\xcd^\x17K\xc8\xf7^\xfaZ\xa8\xf2\xb2%\x1a\xfe\x12F\xf2*KP\xa2S\x878\xa6\x8b\xb4G\x13\x07\x93/\xe3\x97iK\xa9sBzG\x0b1\xff5\xfcV)\xa6\x12}k\xee\x82\xe7^>\xb7fe\xe4P\xe7J.\xaaB\xcc\xaa\xc3\xe1\xd2\xbf\x92\xc6.\xceV4\xb2[\x89bT\xcc\x92\xe8#RE\x9fxH]\x02\xa0\x82\xa7D\x83~\xc2\x90\xdb\xef\x0f\xe2a\x97\xd8\xb7\xc2\x01\x97\xfc\xc8\x82\x81D\x9f-\xbd\xc2\x08\xc3H_.*\x98\x8b\xa4A\xf8\xfcD\xf9Q\xb1\xd7t\xf7E\xca_I\x16\xc6\x84\xe2_\xa9\xa41\x9d\xecQ\xe55\x90h$\xaf\xb2\x04\x05zu\x98\x98D\xf1\xb3O\xe0'\xe8\x04\x19\xfb\x84t\x8f\x16\x82H\xb4\\\x92\xe8\xfd\x0f\xd1\xc6V\x92(-\xf3%\xb1}U\x86\x98U\x87\x0fK\xbf\xff\xe1\xdb\xf7>\xa2\xb9U\x12%\xd1\xe7\xa3$\xfa\x9a\xa6\x15}\xe9CEv\xf1\x0fw7}\xbb\xbb\x11\xab\xcf\x18P\xc2S\xa2\x12>\xf9\xbeh\x97\xf8\xday@\xfeo\x8f-Q\x83F\x14\x07\xee$\x89\x8dw\x8a_\xb1\xbdtx\x83\xd7<M\xbe!tL\xf6\xfc\xcf\xc8+k\xce\xff\xa1\x05b\xe3{\xa5\\\xfa6)\xf2\x1aHT\x91WQ\x82\x02\xbd:LP\xa2o\x95_-\x7f\x8b\x04\xec\x13\xd2=Z\x08\x85D\x17\x90\x9d\x82R\x03\\>W\x94k\xe0\xee5\xea\x10\xb3\xeap\xb1dnI\xc9\x9a\xa8;]X%Q\xf1:\x11|(J\xa2\xc2\xfc5\xe4\x8a\xf0,\xbd\x00\xac\x11K\xbf\x1a\x1a%\xcb\x878+MSKcQ\x90\xa8\x0e\xbc%\x1a\xf4\x0d\xb9}~1\x18\xdb\xd3y\xa9Kz\xbaH\xf0\xf9\xdc\x9d\xbeq\xfd\x9d\xb6FZ\xce\xad\x8cF\x94\xfc/?}\xf6i\xfa\xff\xbd\xb7d\xce\xf3g_n,yS\x8c\x9f+\xfd\xe1\xcb\xff\xda(&\x07\xdf\xa2\x13\x8a\xd1c\xd8\xf7\xca\x17\xec}\xfe\xce\xd2\xd2_\xbd\xa7\xc8+OT\xbeE\xae\x1d\xc2\xef\xce\x9d+o<w.@\xe6,\x1b\xdf\xc2\x17\x1bK\xc9\x04f$\xaf\xb2\x84\x08\xcc:HO\x17\x1d\xa6\xb5P\x1cB\x81\xce\xd1pp\xfe\xa3\xf3\xa5\xac\xcc\x13b\x1f-\xc2{w\x1e\x16N\x94\xbe'\xfcp\xcd\xc7b\xde\x0dG\x7f\xb6R\xec\x15\x8b\x92//Yy\xe2\xa5{\xe7\x90?g$d\xd7\xe1\xed\xf2\xd7\xce\x9e\xbb\x1a\xdd\x88*\xcf\xe2\x91\xb9\xbf\xf8\xd9C%\xe2\xdfAU\xf57\xcb\xef?z\xf6Yi\xc0\xbe\xb7\xfc\xf0\xcbk\xca?V\x1eBl\xf6K\x9f;\xfb\\\xe9S8\xea\x8c\x01%\xbc%\xea#C\xd1\x034\xea\xd8\xd7.=\xa3\xdb'\x0dP\x03z\xfb\\%\xd3\xf2\x9aP\xc5\xd9\x95\xe5+\xc9\xb5\x18\x9fxd\xef\x82\xd2\xf9k\xde\xa4\xa9\xaf\xad\x99;\xe7\x91\xb3\xd2mD\xcd\x10M\xe4\xca\x13w\xde\xbd\xf5W\xa5%O+\xf2\x0ash^z%\xb8(\xed'~\xc7\x9e&I\xef\x95\x8b\xaf\xca\xbc\xea\x12\xc20\xeb@\x9f\xd1%lP\x1dB\x81\xde\xd1\xf0\xe1\xf2\xd0\xcd\x0e\xd6\x09\xb1\x8f\x16&(6\x80'\xe6\x94\x94\x9f\x20\xd9\x83\x87\xef-\x9f\xbb\xe1\xa5{K\xc5&\xad|k\xe3\x9c\xf9OQEDBv\x1d~GSK\x1fQ]\x88TgqeM\xf9\x9cG\x7f\"\xe6UW\xfd\xca\x86\x05s\x1e\x92\x1e\xf6\x13\x9e\xbd\xb3|\xcd[\xaaC\x88\x95;L\xee\x8b\x8a\"\x8f:c@\x01o\x89N\x84\x9f\x94\xfc\x89\x11\x027G\xa8?\xab\x0eY\\\x9d\xf3\xf4\xd5`\xf0\xf3\x8b\x1b\xee\x8c\xefq\\`RI\x05\x89\xc2\xaf\xd0\xa6\x82\xf8%\xfa\xf2\x1c\xa9\x8f\x1b\x9c\xabj\x9f\x01>\xa4\x82D\x81\xa9\x20~\x89^,\x95z\xb8\xef\x95*fh\x01^\x80D\xa7'\xd2\xfcLt\xc8&\xd8X\xdex\xe2\xcd\x13\x8d\xac\xc9t`\xca\x01\x89NO\xe8\xfc\xcc\x87\xd1\xa1\x1e\xaf<:\xbft\xfe\xf7\xa1\x9b\x9b\x14@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2)\x87\xe67a@Z\x03\x12M-|\xce<\xb4\xc4(\x13\x90N\x80D\xd9\xb4W\xfa\x8d\xb2\xc4\x83\xbf\xb2\xdd(KB\x04\x8b\x8b]\xa7\xc7\x8cr\x01\xe9\x04w\x892\x0c#\x02\xde\xd6}\xed\x031\x97L\xfer\xd7\xf2E\x9bn\xc4\xca1A\x965K\xef\x9dUy\x96\x02\xe7h(y\x0bj\xd2\xdb#1\xb6dl1\xca\x92\x08\x03\xa8\xc3(\x0b\x90f\xf0\x96(\xc30\"\xe0n\x1f\x1a\xeds\xb7\xc5\xd2h\xfd\x83\xc7w.\xba\x16#\x83H0H\x16\xd7\x12\x0c\x87j\x9d\xfd\x91\xf8\x0d\xb4\x9e\xbe\xf7\xa2J\xf7IWQ\x9el2\xd3\x9c\xe1f\xec8!<\x99\xcdFY\x12\xe0\x0d\xe45\xca\x02\xa4\x19\xbc%\xca0\x8c\xe8l%\xaa\xf2\xef\xeb\xd3\xdf\xeb\x9a\xe38\xbea\xa0\xd0w*\x8a\x8b\x17\xce..^\xab\xfb\xd3p\x99\x8a\x9ap\xe8\xcd\x97%\xfa\x02:)\xbe\xfa\x90\x8b~\xbadY\xcf\xdaqb4X'\xb1c\xda\x8bz\x8c\xb2\x00i\x06g\x89\xb2\x0c#\xdaZ\xe9\xa6N\x8f\xfen\x1f9^\xd7\xdf(!X\x90\xdd>3\xdb^1\xa3\xc1\xc0e\xa4lY(Z\x86\x1e\xc8\x96\xc5H\x97e\xe9C\xdd\xf4\x83s\x96\x91\xcc\x13\x200\xcbi\x94%~@\xa2\xd3\x0f\xbe\x12e\x1aF\xf8\xa4V\xa6\xfb\x05\x9d\x9d\xae/wPvc\xbc\xcb\xe18\x83?\xadv\xac&a\xf5\xa9\xdd\xab\x17m\xfa\x8c\xe6\xf9\xf4\x99\xe5\xffm\xf3W_\x0d\xff\xe7W\xffu\xcb=\xd2D\xcf@&B\x0d#\xab\x0a\xb2\xaa\x88d\x9b\xcb\xb2\xcbH\x8f\xd3\x83$\xcaH\x96q\x1f\xce\x0d\xb7\x97A\x7fGA\x19U\xb7\x90\xf3$\xa3\x84\x10\x8a\xd4:\x94\xd1\x82G-\xa8\x18\xe3:dq\xad-\xca\xae\x92\xce\xa5\xa52\xbb(\xdc\x9a7dE]3\x12.!B\x17Ht\xda\xc1W\xa2\xba\x86\x11\xa4\xe7\xab;\xcaz\x7f\xf0\x8c\xe3\xd0\xe0\xe0_0\xfel\xb0\xfa\x10\xbe\xf1\x87]\xd5\x18_>S\xedx\xf0\xd0\xff[\xfa\x0c\xc91\xb8x\xdd\xa1\x7f\x981cF\xb0f\xc6\x8c[\x9a\xa4o\xb6\xd0z\xa0\xa0('\x7f\xed\x0a$~\xe9\x9d\xd6\x06O\x83u\x95x\x91\xe8\xf6\x16\xd9\xbd^o\xc8\xcf4,\xd1\x0b\xa2n\xbfq\x89\x86\xfd\xa8K[B\x18E\xaa\xcfki\xc2\xb8\xc7i\x15{\x05\x072\x91\xadi{\xce}$\x8b3\xa3\xce\xd3l+\x93G\xc5\xdd\xd1\xb2J\xb8\x84\xd0~\xe3]\x15\xb9\x93\xd8\xbe\x03)\x01W\x89\xea\x1bF\x88_dw\x8c\xbb\x1c\x91\x8e\xae(Q\x8c\x0fU\xd3p\xa9\xd8\x82n{P\x8c\xae\xd7n\xba\x1e\xf4\xfd\xef\x7f\x10%\xfa7K\xb6\xbc\x13n\xb4\xca\xd0\xbc\x005U\xe8\xa0\x13\xa1\x1d\x886\xdd\x91\x8e.VH4\xd8\xdb\xb5=?\x8fj\xd4\x83.iJP\x11I\xb5\x92\x89\xdf&+I\xb4\xe6\x8aB^e\xa3\xfb\x93\xc9\xa6^tP\xca=\x86\xb4\xfd\x83\xc4J\x90Y\"^Eb\x8c\x06\x80\xf4\x84\xa7Dc\x18F\xe0\x1eW\xf8\x86\x07\x03\xb6Dw\x86\xc2\xf3\x8e\xf7E\x8d\x05\\\xa2D3\xfb\xfd\x91neYh\xa6\xc6YL\xdf\x8a\xe9\xa8\x90-QB\x20\xbf\x8a\xbc\xb5\xa1p]\xca\x98s=\x91T\xa5\xc0\x9c\xa1\xf0\x81B\x81\x90/\x8fA\xc7\xa2\x94\x96x\x092c\x1d\xaebhE\xa7\x1d<%\xaao\x18!t\x86\x96\xa5g\xc3\x96h8<\xee\xb8N\x12Z\x89DG\x14\x03\xbf\xb2\x0a9\xa8\xbc\x87\xbe-\xac\xa4\xa9\x0c\x89\xca\xban\xca$\xef=\x91\x9ei\xb8\x04\x15\x91T\xa5\xc0\xc2a\x99<\xde\x95\x9f\x02\xea\x95'\xa1&^B\x04/\xea\x8dN\x02\xd2\x1c\x9e\x12\xd55\x8c\x08xZ|1\xf7\x8c\x92\xe8\xfe(\x89\x9ew\xbcK\x12\xb4\x12\x0d\x89\xd1YH\xdf\x0a#\xad\xe8>\xb9\x15\x93$*\xe4J9\x9b\xe8\xccN\xc0\x1a~nA%\xe70\x91T\x9a\xb3!J`+\x0a\xfb)r\xcf\xbd\xc9\xa2m\xf9\x12+!\x02\xcc\xe8N?xJTBk\x18\xe1?xD\xfc\x12\xc7rd\x8fHt\xd1~\x8co\xd4GI\xf4\xda\x83\xf5\xa4\x19\xfd\x9f\xba\x12\xf5\xd0\xbe\xe6Ai$g\xb7c<\x8e\xa4;=\xa1V4\xaf\x8a\xbc\x06\xf2\xa5f\xab\xe6\x8e\xd0<\x8d\x91D\xb3\x9f\x14+^\x11%\xb0\x0e\xa9\xf0\x8d\x9bi\x96`\xf1\xc2\x9b,A\x01Ht\xfa\xc1[\xa2\x0c\xc3\x88\xb1}\x07G}>_w\xab\xde>\xd2\x8c\xee\x1f\xe8\xf3\x7f\xf5\x0f\xfe\xf2\xd0:G\xf5\xa9\xcb\x7f\x19\xac\xde\xf5\x87\x1b\xef\xef\xaa&3\xbd\x83\x8bV\x1f?\xbf\xfb\x1fU\x12\x15z\xe8\xdc\xad4\xac\\\x91\xb1\xde\xb3>c\x05\x8d\x9b\xac\xdb\xdb\xe6e\x93#\x8f{\xbd\xdf\xa8\xf1\xf6\x88zlAU\xae\x93\xcd\xf9\xf2\xd3E\xefdl\xd7\x94\x10F\x95Zi\xdb\xb2\xb9\x12e\xba\x87}^\x8b\xb3\x07\xf7;-^\xb1\x88\xf5\xe8\x81\xd6v'\x92\xa6\xc2v\x20\xc5\xd3L\x13*AA\x1f\xa3\xd3\x0c\xa47\xbc%\xca0\x8c8&\x0fP\xf5&+\xaf/\xa5\xb7E\xab?\x20\x1f>\xaa_\xb4x\xd3~\x87c\xd7.\x92\xf4\xfeb\xf1u\x97\x98\xfc\xc13\xb5\x8b\xd7\xfd\x1f\x95D\x072\xe8pNj\xc2\x82\xcd\xb3\xb3g7Km\xa3P\x97\x9be\xa7C\xba\x06\x9a#sD\x0c{\x96\xe4[\x8b\x1f\x0bu,\x1b\xbe\xde\x1d]B\x18U\xea\x88=+\xa7j#Buub\x92e([|\xad\x13\x93;\xec\xb6\\\xbbt\xe7\xd7\x9b\xf5$\x8e\"\xc1\x12\x94\x8cg.\x1b\x187|\xc4\x11H'xKt*\xd1\x8cE'\xcec\x16\xdd6=1\x0eZ\x9c\x93R\xa1\x10m\xc5\x8cI$\x20\x9d\x01\x89\xb2\xd9\x91\x1f\xc3\xa9-~\xfc\xb3&\xf5\x87.\x84\xf1\x81\xd8Sk@\x9a\x91\x02\x12u\xc4\xcb?N\xa2D\x01\xc0$\x80D\x01\xc0\xd4\xa4\x80D\xe3f2;\xba\x00`\x12@\xa2\x00`j\xd2G\xa2B\xf32\xf2\x18\xfd\xfan\xd0(\x90N\xa4\x8dD\x83\x95\xa1\x1f\xa3\x1d\x01\x8d\x02iD\xdaHT\xb8u\xf3W_\xfd\xe7W_\xfd\xd7\xadK\xe0\xc7\x20@\x1a\x916\x12\x0d\x20d\xb7\xdf\x9ag\xaf\x98\xe1\x9c\x94\xe55\x01\xc0\x1c\xa4\x8dD\x05o~n\xee\x1d\xb9\xb9\xb9\xf3\xde\x80\x8e.\x90F\xa4\x8dD\xb1\xe0\xbbt\xe9\xd2\xe8\xa5Kc\xd0\xcf\x05\xd2\x89\xf4\x91h\xdc\xeb\xe8\x02@*\x91F\x12Mab\xd8SL\xb6\xe5\x04\x90jp\x97(\xc30\xc2\xd7q`Ok\xf74\xee\x9fF\xec)\x18\xfe\x15\x93l9\x01\xa4\x1a\xbc%\xca0\x8c\x18wy\x86\xc7\x86\x8f\x1c\x98|\x8d\xce\xb8\x19\x8c\x0a\x9f<\"\xf6\x14L\xff\x8a\xc9\xb5\x9c\x00R\x0d\xde\x12e\x18F\\rQg\x97\xd8\x0b\x8cM\x88\x19_L\x1c~\x12\x8d\xd8S\xe8\xf8WL\xaa\xe5\x04\x90jp\x96(\xcb0BZ\xa6\xd6\xef\x9a\xfc\x9fA\xa6\x86D\xc3\xf6\x14z\xfe\x15\x93j9\x01\xa4\x1a|%\xca4\x8c\x20\x08c\xad\x9e\xc9\x9f\x8a\xbdI\x89\xd6\xa1\xcc\xe6\xef\xe5\xe7\xde3\xa2)\xd8\x9dG\xdb\xb7\xb1\x1cy1\xcd\x1ce3\x97\xa0\x1fD\xc8\x9eB\xd7\xbf\x82a9\x01L#\xf8JT\xc70\xc2\xefr\xb9\xdc\x93?\x14\xbd9\x89\x06\xa9\x85C\xc1\xe6\xa6\x82\xec\xa1\xe8\x82\x97\xa0*\xf2&\xb8\x9b%\xdcJ\x09%\xe8\x07\x11\xb2\xa7\xa0\xb0\xfc+\x18\x96\x13\xc04\x82\xabDu\x0d#\xfc\xbe\xa1\xd6\xa9\x98.2\x92!\xfd\xa7\xb3\x8d,\xebi-\x08\x90\xa5;+\xa3\x0b\x1e\xdd,\xa9g|T\"z\x11\x95D\xfc\x20\x14\xf6\x14l\xff\x0a\xb6\xe5\x040]\xe0)\xd1X\x86\x11b\xdbsRw\xc7\x89B\xf4\xf7\xe27\xf5\x85\x1aS\xa2d\xfcg\xddH\x8aiF:w-GQ\x88\xa8\x85<\x13\xf1\x83hS\xee\xcc\xf2\xaf`[N\x00\xd3\x05\x9e\x12\xd51\x8c\x90\x9f\x07\x1apM\xfa`\x94\xe8\xef\xf6\x17'(Q\xb2\xce\x9e\xb4,}\x97f%\xdc\x10^\x8fD\xb4\xa9[\"~\x10=\xca^,\xcb\xbf\x82m9\x01L\x17xJ\x94m\x18\x11l\x91\xa6\x8c.\xec\x9b\x12\x89\xaaT\xf8\xf3\xdbf~\xed_\xbe\xf8\xe2\xb7\xdf\xb9\xf5\x96\xef\xfc9,\xd1\x9f\xff\xfd\xcc\xbf\xfd_$\xe3\x0f\xbe6\x93l\x9by\xdbO\xc5\x0f\xa4\xe5\xb4>F\x8aq\xa1D\xfb\xe0\x89\xf8A(\xec)\xd8\xfe\x15l\xcb\x09`\xba\xc0S\xa2\x12\x1a\xc3\x88\x03\xc4XP\xec\xe8\x9e\x8e\xb9\xdbD\x88\x96\xe8\xcf\xff\xe6\xe7\x9f\xfc\xf6\xbb_|\xf1w/~\xf2\xef\xff\xe3\xbb!\x89\xfe\xfa\xef~\xfd\xc9o\xbf%jt\xc6\xed\xbf\xff\xe2\x8b\xdb~\xf0\xe7\xff\xf8\xf5\xb7\xc5\x0f\xc4\xac\xc1\x9aG\x86\x94\x85\xf6\xe8\x82G\xb7(\xc6\x8f\x0c\x12\xf2\x83\x88\xd8S\xe8\xf8W0-'\x80\xe9\x02o\x892\x0c#\xdeq\x9d\x1c\x1e\x1b\x9e\xba\xe9\xa2\x88D\xbf\xf9\xd3H\x83\xfa\xef_\x0bI\xf4\xf6\xdf\x88\x1f\x7f\xff\xb7bL\x82[~/m\x9fA\xae$VT\xd6\xba\xe7\x8e\\\x8d\x1e\xe5\x19]6\x89\xfaA\xc8\xf6\x14\xfa\xfe\x15Z\xcb\x09`\x1a\xc1[\xa2\x0c\xc3\x08\xec\xebl\xdd\xd7\xd63\x05\xb7\xfe\xa2%:\xf3\xcf\xd2\xfb\xef\xbf}\xeb\x8c\x193C\x12\xbdu\xa6\x08\xfd\xf8\x1f\xe2\xb6\x7f\xba\xf5\xbb\xffBTJ\x1f]\xb0\xaeu\xe6\xccZ\xa5}\xa6\xc2msi\xd2\xc2$\xec\x07!\xd9S\xe8\xfaW0,'\x80i\x04o\x89r%Z\xa2\xb7\xca\x12\xbd\xfd\x9f~\xff\xc5'3B\x12\x9d)\xb7\x9br\xc6\xdf\xfc\xe0;\xb7\xfc\x20$Q\xc50q\x0a\x89iO1\xd9\x96\x13@\x8a1\xad$z\xbb\xdc\xd1\xbd\xe5\x93/\xbex1,\xd1o\xfeH%Q\x91\xdf\xde\xc2W\xa2\xb1\xec)\xa6\xc0r\x02H)\xa6\x95D_\xfc\x9a4]t\xdb\x0f>\xf9\xcd\x7f\x0fK\xf4\xc5[\xff\xe5\xcf\x9f\xbc\xf8-9\xe3\xb7\xfe\xef'\x9f\xfc\xe86\xce\x12\x05\x00]\xd2^\xa2\xf4\x87e!\x8d\xfe\xf4\xef\xe9M\x97\xdf\xdc6\xf3k?\x0aK\xf4\x8b\x17o\xbfe\xe6\xed/\xca\x12\xfd\xf9\xed3o\xfd\xf6o\xa9D\xa5\x19\x1e\x00H*i/\xd1\x89B\x1f\xa3G\xc8\x12\xf5\xdc\x10\x00p\x06$\xaa\x03\xbf\x1f\xa3\x01@,@\xa2:\x80D\x01s\x00\x12\xd5\x01$\x0a\x98\x03\x90\xa8\x0e\x20Q\xc0\x1c\xa4\xb7Do\x06\xa3\xc2\x01\x80\x0bi-Q\x00H}@\xa2\x80\xcc\xa4\xff\x16\x10\x98\x14@\xa2\x00\xc1\xe7\xcc\x93~a\x0e\x98\x0d\x90(\x80\xc9OR\x8b]\xa7a\xb5^S\xc2]\xa2\x0c\xc3\x08e*gN\xda\xc2\xc7\xf5\xd7\xe5eUMVg\xefU[_\x9c\xa9\xfey\xb9[\xb4\xe1d\x10\x7f\x1d0\x1e@\x1d\x8cT\xc0\x0c\xf0\x96(\xc30B\x99\xca\x1bOvxm\xbdyy.gV<?+\xf7\xc5\x91\xc9\x85X?(e\xa5>Y\xb8%\xc3\xaf\x09\xe3$\x10ky\xf0\xf8\xeb@\x9c*\xa2\x97_\x02\xcc\x02o\x892\x0c#\x14\xa9\xfc\x097\x9b~\xd4\x8c\x83q\x88O\xd4r\xae\xf1Bh/0\x97\xd5d\xa5Vl\xc6\xd9^M\x18\x17AW\xee\xbc\x18\x9b\xe3\xaf\x03Y\xc0\x0c~/`V8K\x94i\x18\x11IM\"#(\xde\xae\xf6\xd8\x12T1`\x90\xa7\x13u\xc6\x99:\xdb=\x86F4a<\x0cT\xa0{b\x0d\x1f\xe3\xaf\x03H\xd4\xcc\xf0\x95(\xdb0\"\x92\xca\x97@\x16B\x19t\x91\x16\xc1&\xad\x9a\xb9V\xb5\xfdr\xb5\xc3\xb1\xff\xa3m\x0f/\xda\xf4\xa5z\xc7c\xf9\x19\xd4\xed\x81m\x18A\xe8C}\xf4=\xb0l\x96%\xff\x9e\x90\xa0C\xa9J\xaa\x1a\x96\xcc\x1e\xc8D\x99\xc3\xaa0\x8cn\x1d\x02k3\xf2\xc9E\xc5\xb8\x0e\xc5r\x06\xbb*UM\x17H\xd4\xb4\xf0\x95(\xdb0\"\x92\xca\x99>\xafW\xfe\xd1\xf6\x05\xefA\xd4\xe4\xf5\xaa\x87v\xd7\xcf\x9c\xa9]\xbd\xb8v\xf7\xb6\xbb>\x8d\xda1\xb0>3\xef\x88\x9ea\x04\xc1g\x93\x8a\xf2\xa0\xefu\xb5\xde\x93\xd1\xabNU\xb29\xc7\xda'T\xd9\xc9\xa2b\x8a0\x8c^\x1d\xda\xf22\xd7\xd3n\xb9q\x1d\xacN\xaf\xd7\xdbU\x89\xb6\xa8R\x15\x08\xe3]\x15\xb9q\xf5\xf1\x81$\xc0U\xa2l\xc3\x08E*\x7f\xb2B\xeb*\xb0;\xba\x8f;\xea\xaf\xe1\x1b\xd7\xb4\x1b\x86\xca\xd0c\xfa\x86\x11a\x02\xad\xe4\xab?;\xc6\x1d\xc7-\xc8\x85\x03\xd9\xc7\xa2B%\xac:\xd4\xa1\xb2\x90\xd1\x8ca\x1d\x9a\xfa\xc5a\xab\x13\xe9\x9b\x94.\x11\x9b\xd8x{\xf9\x00wxJ\x94m\x18\xa1L\xe5\x8f\x91D\xab\xa3\x1bP\x19wn\x96K\xdf0\"\x82\xbf\xb9\xaa0\x07\xcd\xd6\xdb\x8c[Q\xeeZ\xbcc\x96\xa0\x0eU\xb0\xea\xe0\xb6\xe6\xca\xb6\xc1q\xd4Al'\x97!7\xd6e\xac\xc3U\x0c\xad\xa8i\xe1)Q\xb6a\x842\x95?F\x12]\xc7H\x14\xdb\xd0J\xb4\x90(B\xcf0\"Lo^\xfe\x93m^\xbb\xaeD\xc7\xb3\xd7v~}\xb4\xb0I\x1d\xaaa\xd6\xe1R\x15\xaa\x94\xdaQ\xc3:\x88\x0a\xad\xb2\x1c\xd1\xdfJ\xf0\xa2\xde\xd8\x19\x80\xa4\xc1S\xa2:\x86\x11\x8aT\xfe\x18I\xf4\x19F\xa28\x12\xcd\x8f\xb3cX\\INs\x99\xaeD\xdb\xc5\xb6\xef\xbe\x82\x9c\x80:T\xc3\xac\x03\x1d\x8d>\x19_\xd3\x17\xb0[5\xbd\xe7(`F\xd7\xbc\xf0\x94\xa8\x84\xc60B\x91\xca\x9f\x09H\xb43?^m`\x9cO\x9c#\x82e\xba\x12mC#\xf8\x02Z\x81\x83\x05\x97\x14\xa1:\x8f\x8eD\xc9\x9c\xee\xacx\xdc\xe4\xfc\x15\xf4n\xabGc{\xa1\x00$j^xK\x94a\x18\xa1L\xe5\x8a\xd0\xe3\xf5\x92\xe9\xce@hF\xb7G\xdd\x8e\x7f\xf9\xc7\xc1\xd5\xf5\x83\x83\xd1#\xc1ev\x8d%\xb0.MhY\xf3\xe62d\xdb\xa2\xa3\x80\xf1\xec\x9a\xb6\x82\"K\xddf\x8b_\x11*2\xe8\xd4Ab\xc8\xbe\x0c\x1b\x12(F[\xbc\"Nk\x8cL}\xe0\xbdfZxK\x94e\x18\xa1L\xe5\xc9\x1b\x92\xb3\x03ra!\x97\x06\xaa;\x92\x18_vP6\xe9\xec\x1e\x0f\xc1\x1dEV\xdb\x03\xee;,zM\xd8\xe9;lu\x81\x93E\xb9\xcd\xaa0\xc2\xcd\xd7\xe1B\xa6<\x9dT\x10#\xd3x\xe6\xb2\x81\xf1d\x0c4\x00CxK\x140'm\xc5\x08~\x8cfN@\xa2\x80\xc4\xf8@2f\xd4\x01C@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00`j@\xa2\x00\x07\\\xd9\x0d\xe2kO.\xf7_3\xa5\x01\x20\xd1\x94\xa0\xbd\xd2\xcf\x08\xcd\x88\xbf\xb2]\x9b\x18\xc8^\x8b\xc60\xbe\xcf\xa6Y\xf5\x85\x01\xb3\x84i\x0cw\x89j\x0d#\x047]\x16E\xb3\x82\x1d\x10f\x0bjb\x84\xf1\x93\x88w\xc4\xcd\xb2%C\xebz\xd1\x9f)\xccj\xc7\xe3\x96\x8dQ\xe9\xa3+\xf2\xb3go\x96\x7f\x1f\xef\xb2\xe7\xe4o$?\x88c\x95\xa0\x0f\xcfsK\x0a\xbc%\xca0\x8c\x08\xb8.\xf8DL\xdd6L\x0a\x9d\xfdF9th\xcep3\xc2\x04H\xc4;\x02\x1b\xac\xb6=\xf8n\xec\xed\xd8\x93\xa9Yl\xb0\xd7\x1a,h\x15\xaf.Q\xebI\x8c|c\xf6v\xcf\xc6\x9c\xd9t\x8d\x9c\x85\x19u\xed\x0d\xa8U\xa7\x04)?+1\xa1sKExK\x94a\x18\x11pM\x13K\xae\x8a\x1a\xa3\x1cl.Y\xd63\xc2DH\xc4;b\x08\xc5^Tb\x9d\xce:-\x11\x1a\xac\xd1\xff\xa1\xfe\xcc=h(X\x18mo\xb1\xa4\x80\xf4\x9c\x86\xb3I\xe3\xba\xc4\xdaM\xd6gi\xd6)\x81\xc0\xaeY\"\xe7\x96\x92p\x96(\xcb0b\xdaH\xb4,\x8eeLX8g\x05\x18a\"$\xe2\x1d\xd1c\xb0\x8c\x91\xdeRJ\x11\x02\xb3\x9c\xd1I\x8f\xa1\x85\xe2\xe1\xa2\xc7\x98\xc5\xd2B\x10\xf7U\x90\xa3\xd2\xfe\xfb\x88\xb4\xf2\x03\xa3\x04\xacW\xb3D\xce-%\xe1+Q\xa6aD\xbaIt\x20\x13\xa1\x86\x91U\x05YU\xe4*\xd4R\x99]D\xdc%<\xf2\xf2$ed\x9d\xea\x8c\x16<jA\xc5\xaa\xbcu\xc8\xe2Z[\x94]\xa5\xf9c\x089OF\x87\xba6\x12:\xc4\xef_\xc1\x16\xc2\xe0\xa6\xda\xea\xe5\x9bjo\xe0\xd7\xa5uZ\x1ct\xdd\xd0\x1b\xa7\xd6-^\xbd\xfb:\xc6\xbb\x1c\xd5\xc7w\xd6.\xdd\xf4\x91\x9c\xbd!+z^!8,\xe0e\x9a\xc9\xa2nIF\xceB\xf1ob\x09`\xc5fm\x09XO\xa2\x89\x9c[J\xc2W\xa2L\xc3\x88\x80\xeb\xe4\x0b\xae\x03\xde\xb4\x99-\x12Z\x0f\x14\x14\xe5\xe4\xaf]A&1\x9d\x19u\x9ef[Y\x10\x07\xba\xbdEv\xaf\xd7+v\x1b|^\x8b\xd8d\xf4\x90\xf5\xbe\x14y\x87\x0fd\"[\xd3\xf6\x9c\xfb\xa2\xcb\xebG]\xd1\xa1\x8e\x8d\x84\x20/L\xaf\xf9S\xc6\xed_\xe1\x1f\x1d=\x82\x8e\x8c\x8e\xaa'\x06\xfe\xed\xae\x9dg\xce\x9fZ\xee\xf8\x12_\x1b\xa4\xab\x9d\x0d~@\x92w:v\x9f?\xfe\xe0\xe37\xf0\xe53\xd5\x8e\xdaC\x87j\x17]\x96\xf2w\xb3\xb4\xa4\x9d,\x92\x11\xf2V\x89=\x8c\x8a=\xc5\x19y\xce\xd0\x92\xfa\xda\x12\xd85\xc3\x09\x9c[\xaa\xc2U\xa2l\xc3\x88\x80\xabe`l\xb8\xf5`\xdahT\xfc\xc2\xa1y\xe2\x99\xd2\xb6\x93\xcc\xee\xf4\xa2\x8345\xdc\xd1\xa5N2MVu^l\xcd\x155\xbd\xca\x16]\x98'2\xcb\xa2\x08Y6\x12v\xb9\xa5\xd6]\x8e\xd3\xc8\xbfBgi\xfb\xe3\x0f\x92\xc6\xfa\xf8\xd2\x1b\xe4C\xb8\xa3\xfb\xba\xe3\x94\xf8\xfa\xae\xe3\x8c\xf8Z\xfd\xb0X\x93k\xb5\xf2\xa2\xdcc\xac\x81\xa0f\xb2H&\xe8\xcc\x12/[\xf9\x19\xb6-\x1d\xcdy\xf9r?^S\x82\xf1\xa2\xfbF\xe7\x96\xb2\xf0\x94(\xdb0\x02\x07\x87\x888\x05w\x1a\xad\xe4Z\x16\x9a\xeex\xa0P\x20\xe4\xd3\xa1\x95\x8eD\xc3S#Vg$UA[\xe4[\xa9\x08Y6\x12#\xf2\xc2\xf4\xfas\xb2\x06\xfe\x15\xc1N\x8f\xa7\x095y<\xea\x81\xdc\xa7\xb5\x0f\xef>\xf5\xfe\x8d\xeb\xf4CX\xa2\xdb\x1e\xbe\xfe\xa5H\xedN1\xae\xdeOR\x8e;\xa4K\xc6\x98tIRS\xa8s\xe1\xa8\xa3\x0b\x18\x97Y\x89\x80\xc7\xb2\xe5>\xbd\xa6\x04\x9d\x9a)1\xf2\xe6HUxJ\x94m\x18\x11\xc2\xdb\xa6\xb7_\xeaQV\x11\x0a\xe4K?\xbd\xb6\xebH4\x94W\x95\xaa@1\x04S\x84:V\x16\xb11\xf2\xaf\x20\xb0F|\xd7N=\xb3\xda\xb1\xfc\x97\xeaV\xf4qGd\x01\xd1\xeaC$e\xd0!\xdd\x90\xe9e\xac\xca\xebEm\x0a\xc3\xe50\x81\x9aLz\x17\xa9\xa6\x98~\\V&%\xb3J0\x98\xc8\x8a\xe7\xdcR\x12\x9e\x12e\x1bF\x84\xd4\xda\x19\xa7\x07C*\x10\x16\xe3\x8a\xc2~\x8a?\x9cJo\x05S16X\xd5y\xf5$\x1a\xb061B\xe3\x89U\x06F\xfe\x15\x04\x86\x10\xde\xdd/\x8a\xf3\xda\x99E\xc7\xc9\x07z\xe0S\x9f\x92V\xf4]\x0ai9\xabw\x93M\xa7\xe4V\xb4\xc9\xa2\x9dw\xae\xb1\x09\xd8\x19\xa9\xbe\x8c\xaf,W\xeaN5\xe4\xd0q\xce\x12\xf9z\xc5*\xc1@\xa2\xf1\x9c[J\xc2S\xa2\x12\x1a\xc3\x08\x0f\xb5\x04\xf2\xbb/\xc4\xdc-\xa5\x08\xcb\xaeC\xba\x17\xbfq3y\xb5\x8b]\xbdq\x9a@\xfas\xc1\x8a8%\x8ak\xee\x08j\xc3\x09I\xd4\xc8\xbf\x82p)G3f<\xe48O\xde\xeaw\xd1\xd7z\x8c?#\x03\xd0\xf3t\x14\x8a\xf7\xffR|\xa9^N\xc6\xa2\x0f\xd7\xd3\xec\xc1\xe2\x85\xd1%`\xbfe=\xeeGM\x19j\x8b\xc5\x81YE\x97\x88\xbf)\xb9\xe7IN\xfe\x12}\x94\x97]\x02\xb3f\x0a\xe29\xb7\x94\x84\xb7D\x19\x86\x11c\xae\x8e\x91\xb1\xbe}\x9etY\x0c]\xe8\xa1s\xb7\xd2\xa8q=z\xa0\xb5\xdd\x89\xe8e\xa9\xc9\xba\xbdm^69\xe5J\xdb\x96\xcd\x95(\xd3=\xac\xc8\xeb\xf3Z\x9c=\xb8\xdfi\xf1F\xcfE\xbe\x93\xb1=*\x8ci#\x11\x03#\xff\x0a\x1d\x0e9\x16\x1fz\xfd\xf5\x9d\x8eA\xfa\xa1\xfa\xf8\xeb\xf5\x8b\xc9\xa1\xf7\xdf\xb5\xed\x8c\x98J\xa7\x8b\x1c\xeb\xce\x9cZ\xbd\xf4\x03\x9a}\x07\xd2>F\xb5\x1d\x8d\xe0\x03\x85A\xab\xea\xc0\xc7\xb2fy\x88\x95E\xbe\x18o\xb44tl\xb7\x15\x07tK0b\x82\xe7f~xK\x94e\x181~\xf2\x80\xdb3\x94.\x0a\xc5\x03\x92\x0f\x85\xdc\x0et\xd8m\xb9v\xe9&\xb0P\x97\x9be\xa77\x05F\xecY9U\x1b\x11\xaaS\xe4\xad\x13\xdf-C\xd9\xe2k]t\x89\x0d_\xefV\x87\x13\xb5\x910\xf4\xaf`s\xaa\xfePm\xf5\x83\xf5T\xa1\xf8\xfa\xee\xa5\x8b\xea\xa51\xe7\xf9\xfa\xe5K\xebi\x03[\xbd{\xe7\xd2\xdam\x7f\xa1\xa9\xde\xac\xf0}\xdc\x08w\x88G\xf4Z<\xea\xf9\xd8\xd0\x0c4\xed\xdd\xb6\xce\xce*j\x08\xe8\x97`\xc4\x04\xcf\xcd\xfc\xf0\x96(0\x11\x1e\xb3\xb42B\x13!M\x17Q\x0eZ\x9c\xda\xdbg\xe3H\x1c\xcd\x04+\xd1\x0a\xcd\x16\x06\xcc\x12\xa6/\x20\xd1\x94`G\xfe8#4\x0f\x11\x89\xfag1\x7f\xa6Bo,\x09\xef\xc4\xd3U\xd2)a\xda\x02\x12\x05&\x01E+\x0aL2\x20Q\xe0\xa6\xf9l\xb0z\xd7\x1fn\x18\xe5\x02&\x06H\x14\xb8iv9\x1c\x0e\xc6\xc3N\xc0\xa4\x00\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S\x03\x12\x05\x00S3\x9d%Z\x83l\xab\x86\x8d2\x01@r\x99\xce\x12\xf5u\xba\x8bm\x13Z\xf4\x12\x00\xb8\xc1]\xa2Z\xc3\x08\x91\xe1c\xee\xd6>\xbd=\xa6\x92.4\x80\x01\xc0\xcc\xf0\x96(\xc30\x02\x0b']=\xa3\xfd\xaeX?\xa9\x9f*z\x0d\xd6u\x06\x80d\xc3[\xa2\x0c\xc3\x08|z\x8f\xd8\x9a\xfa]\xc9\x18\x16\x82D\x01\xb3\xc3Y\xa2,\xc3\x08\x9f\x8b\xaeZ\x94\x94A!H\x140;|%\xca4\x8c\xe8\x11\xd5\x1a\xcfO}\xa7\x82\x81\xc8J\xef\x00`J\xf8J\x94i\x18\xd1\xee\x19ns\x1d\xe8N\xcaZ\x18\x82\xad\xb2{,Y\xd7\x07\x00\x88\x03\xae\x12e\x1bF\xb4R\xc3\x88\x03\xadI\xd1\xe81\x84\xd0=F\x99\x00\x20y\xf0\x94\xa8\x8ea\x84g\x0f]\xf5\xda\xdd\x1b{\xef)!`+\xdc\xd1\xa9\xe7\x12\x02\x00&\x80\xa7Du\x0c#\xba$\xa7\x88\xaeh\xf7I\x1e\xf4\xa2\x93FY\x00\x20\xa9\xf0\x94\xa8\x8eaD\xbf\x9b\x0e\x06O'\xc30\x02ft\x01\xb3\xc3S\xa2\x12\x1a\xc3\x08?\xbd\xe9\x12\xd8\xd7\x17s\xb7\xa9\x01$\x0a\x98\x1d\xde\x12e\x18F\xe0\xbe=}cC-m\xc9\x98.2r\x8d\x07\x80d\xc3[\xa2,\xc3\x08|\xa9\xdd}\xa4\x8f\xbfB\x05_\x7f\x8d5m\xcc\x9c\x814\x85\xb7D\xcd\xc4\x12\x84\x0a\x921G\x05\x00\x090\x9d%\xea\xeb\x1f\xc3\x00`r\xa6\xb3D\x01\x20\x05\x00\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x02\x80\xa9\x01\x89\x022\xb0>\x8c9\x01\x89\x02\x04\x9f3\x0f-1\xca\x04$\x03\x90(\x20\x12,.v\x9d\x86'\x96M\x09w\x89j\x0c#\x84\x16y\xb5\x94\x031\xf7\x9b\x1aN\xda\xc2k=\xf8\xeb\xf2\xb2\xaa&\xab\xb3\xf7\xaa\xad/\x14n\xb7ng\xa4\x86\xf1\xcf\xcb\xdd\xa2\x0d'\x83\xd0\xd1\xbe\x87$\x0aU\xa9j\x06P\x07#\x150\x03\xbc%\xaa5\x8c\x10\\\xfd>\x91>W2\xdcU<\xd9/\x84\xc2yy.gV<\xebm\xfb\xe2\xc8\xe4B\xaePXf\x99\xcdH\x0d\xf3d\xe1\x96\x0c\xbf&\x8c\x93@\xac_\xbb\x86\x8ef\xaf\xf0\x8a\x1c\x94\x17:d\xd5\x01\xe37\x90\x97\x91\x0a\x98\x01\xde\x12e\x18F\xd0\xe3\xf1\xd4\x00\x00\x0f\xb1IDAT\x0c\xd1U\x8cZ\xbac\xef8E\x84\x9bM?j\xc6\xc18\xc4'j9\xd7e\xd8\xd8\xbe\x80B\xd2\x0fd\xac\xc8\x08\x15\x1bI\x8dP\xb1\x19g{5a\\\x04]\xb9\xf3bl\x0e\x1d\xad\x8a\x8e1\xabr\xc6T\xa9j`\x81\x18\xf3\xc2Y\xa2,\xc3\x08\xca\xb1\x17\xf8\xaf\xba\xa0b\x04\xc5\xbb\xbc\xd9\xd8\x12Ta\xd4\xe2w\xa2\xcep\xd4\x1f^\xf1>\x92\x1aa\xb6{\x0c\x8dh\xc2x\x18\xa8@\xf7\xc4\x1a>\x86\x8e6NZf7r\xabS\xd5\x80D\xcd\x0b_\x892\x0d#\x08\xc3\xaeq\xdd\x9d\xa6\x8c@\x16B\x19t\x04,\xd8\xa4\xe1\xdaZ\xd5\xf6\xcb\xd5\x0e\xc7\xfe\x8f\xb6=\xbch\xd3\x97\xea\x1d\x8f\xe5g\xac%-\xe3X\x8e<\xcc\xcb\x89\x96J\x1f\xea\x93\xa3\xa6|\x9c\xdf\xa4I\x8dP\xd5\xb0d\xf6@&\xca\x1cV\x85at\xeb\x10X\x9b\x91O.*\xf1\xd4\x81\xe4\xaab\xa4F\xe8\x02\x89\x9a\x16\xbe\x12e\x1aF\x10ZO\xeb\xee3\x85\xf4y\xbdVI>\x17\xc4\xb1Z\x93\xd7\xab\x1e\xda]?s\xa6v\xf5\xe2\xda\xdd\xdb\xee\xfa4j\xc7\xc0\xfa\xcc\xbc#\xa2\xb2\xdd\xcd\x12\xee\xe8.\x80\xcf\x16*j^\x0d^f\xd7\xa4F\xd8\x9cc\xed\x13\xaa\xec=AU\x18F\xaf\x0emy\x99\xebi\xff9\x9e:D\xba\xb9\xcc:\x08\xe3]\x15\xb9q\xf5\xf1\x81$\xc0U\xa2l\xc3\x08L\x16\xc1N\xd6\x84\x7fV\xa8\x85cwt\x1fw\xd4_\xc37\xaei7\x0c\x95\xa1\xc7\xc4>\xe4\xa8\x84~\x17\x20\x98\xbd\x1d\xef\xc8\x8e1v\xdd\x82\\8\x90},*T\xc2\xaaC\x1d*\x1b\x92C\xe3:(\xba\xb9L\x96\x88mp\xbc\xbd|\x80;<%\xaac\x18!r\xb25\xd6~S\x89\x91D\xab\xa3\x1bP\x19wn\x96\x0b\x8f\xa2\x10\xba\x9e\x13\x03\xa8[\xe8\x8ea\x05\xde\x8ar\xd7\xe2\x1d\xb3\x04u\xa8\x82U\x07\xb75W\x16]\x1cuPts\xd9\x9b;\\\xc5\xd0\x8a\x9a\x16\x9e\x12\xd51\x8c\x10q\xf7\xc5\xd8mJ1\x92\xe8:F\xa2\xd8\x86V\xa2\x85D\x11^\x8f\x84\xfe<l3UO\xb3\xde\xe6\xf1\xec\xb5\x9d_\x1f-lR\x87j\x98u\xb8T\x85*\xa5v\xd4\xb8\x0e\x8an\xae\x1e^\x94\x0cG\x1d\x20\x1exJT\xc70\x82\xacG\x9f4\xe7##\x89>\xc3H\x14G\xa2\xf9\xf1v\x0ck\xcaz{{\xcbj\xf46\xb7\x8bm\xdf}\x059\x01u\xa8\x86Y\x07:\x1a}2\xbe\xa6O\xea\xe6\x8e\xae\x8d1g\x0e3\xba\xe6\x85\xa7D%4\x86\x11\xa4y\x8d\xef\xbb6\x05L@\xa2\x9d\xf9\xf1jCd\x16\x99$^;Kos\x1b\x1a\xc1\x17\xd0\x0a\x1c,\xb8\xa4\x08\xd5yt$J\xe6tg\xc5c\x1a%ws[Q\x8c\xe7\x1c@\xa2\xe6\x85\xb7DY\x86\x11b\x93\x9a\x94\x9b\xa2B\x8f\xd7kuz\xbd\x81\xd0\x8cn\x8fzZ\xe7\xcb?\x0e\xae\xae\x1f\x1c\x8c\x1e\x09.\xb3\x0f\xe18\x11\x8e\xa1\x8d\x01\x1c\xd8\x88\x8e\xe9\x9c\xe0xvM[A\x91\xa5n\xb3\xc5\xaf\x08\x15\x19t\xea\x201d_\xc6LWs\x0f:H\x1e/j\x88%\xd1>\x94\x9c'G\x00cxK\x94i\x181\xcaz\xe0e\xeay#C\x9agqa!\x97\x06\xaa;\x92\x18_vP6\xe9\xec\x1e\x07'\xc5B[\xf1\x11\xf1U\xef\xa6\xd2\xe9;lu\x81\x93E\xb9\xcd\xaa0\xc2\xcd\xd7\x01\x17\xc9\xd3I\xb1f\x84\xc63\x97\x0d\x8c\x1b>3\x05$\x03\xde\x12\x05\xccI[1\x82\x1f\xa3\x99\x13\x90(\x201>\x00\x0eT\xa6\x04$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0a\x00\xa6\x06$\x0ap\xc0\x95\xdd\x20\xbe\xf6\xe4&\xb6L0@\x00\x89\xa6\x04\xed\x95~FhF\xfc\x95\xed\xda\xc4@\xf6Z4\x86\xf1}\xb6x~t\xc8,a\x1a\xc3]\xa2\x1a\xc3\x08\xf1?\xf0\xd5\x17\xf6\xbd\xf0j\xdc\xbf\x92\x9e\x86lAM\x8c0~\xe2\xf7\xaf\xb8y\xb6dh]/\xfa3\x85Y\xedx\xdc\xb21*}tE~\xf6\xec\xcd\xf2\xff\xbc\xcb\x9e\x93\xbf\x91\xfc\x20\x8eU\x82><\xcf-)\xf0\x96\xa8\xd60\x02\x07Z\xda\x86\xc7\x86\x8f\xb4\xa4\xbdF;\xfb\x8dr\xe8\xd0\x9c\xe1f\x84\x09\x10\xbf\x7f\x85\x88\xc1j\xdb\x83\xef\xc6\xde\x8e=\x99\x9a\xa5\x9az\xad\xc1\x82V\xf1\xea\x12\xb5\x9e\xc4\xc87fo\xf7l\xcc\x99M\xd7\xc8Y\x98Q\xd7\xde\x80ZuJ\x90\xf2\xb3\x12\x13:\xb7T\x84\xb7D\x19\x86\x11\xdeV\xd2\xfd\x11Z\x13\xf1JHI*t\x970\x8a\xcd%\xcbzF\x98\x08\xf1\xfbW\x88\xdd\x1c\x14{Q\x89u:\xeb\xb4Dh\xb0F\xaff\xe6\xcf\xdc\x83\x86\x82\x85\xd1\xf6\x16K\x0a\xc8\xff\xfcp6i\\\x97X\xbb\xc9\xfa,\xcd:%\x10\xd85K\xe4\xdcR\x12\xce\x12e\x19F\x9c\x96\x16\xealO\xcaj\xd7<)\x8bg\x19\x13\x06\xceY\x01F\x98\x08\xf1\xfbW`\xdcc\xb0\x8c\x91\xdeRJ\x11\x02\xb3\x9c\xd1I\x8f\xa1\x85\xe2\xe1\xa2\xc7\x98\xc5\x05\xf4\xed\xbe\x0arT\xda\x7f\x1f\x91V~`\x94\x80\xf5j\x96\xc8\xb9\xa5$|%\xca4\x8c\xf0\xb7t\xf9\x05\xbf\xb7\xc5\xd4\xb3\x20\x090\x90\x89P\xc3\xc8\xaa\x82\xac*r\x15j\xa9\xcc.\"\xee\x12\x1eyy\x922\xb2NuF\x0b\x1e\xb5\xa0bU\xde:dq\xad-\xca\xae\xd2\xb4\x1fB\xce\x93\xd1\xa1\xae\x8d\x84\x0e\xf1\xfbW\xb0\x850\xb8\xa9\xb6z\xf9\xa6\xda\x1b\xf8ui\x9d\x16\x07]7\xf4\xc6\xa9u\x8bW\xef\xbe\x8e\xf1.G\xf5\xf1\x9d\xb5K7}$go\xc8\x8a\x9e\x16\x0a\x0e\x0bx\x99f\xb2\xa8[\x92\x91\xb3P\xfc\x9bX\x02X\xb1Y[\x02\xd6\x93h\"\xe7\x96\x92\xf0\x95(\xdb0B8\xe9r\xb9:\xe2\x99\xecK\x09\x84\xd6\x03\x05E9\xf9kW\x90ILgF\x9d\xa7\xd9V\x16\xc4\x81no\x91\xdd\xeb\xf5\x8a\xdd\x06\x9f\xd7\"~\x93z\x9cVU\xde\xe1\x03\x99\xc8\xd6\xb4=\xe7\xbe\xe8\xf2\"MC8\xd4\xb1\x91\x10\xe4\x85\xe95\x7f\xca\xb8\xfd+\xfc\xa3\xa3G\xd0\x91\xd1Q\xf5\xe5\xf2\xdf\xee\xday\xe6\xfc\xa9\xe5\x8e/\xf1\xb5A\xba\xda\xd9\xe0\x07$y\xa7c\xf7\xf9\xe3\x0f>~\x03_>S\xed\xa8=t\xa8v\xd1e)\x7f7KK\xda\xc9\"\x19!o\x95\xd8\xc3\xa8\xd8S\x9c\x91\xe7\x0c-\xa9\xaf-\x81]3\x9c\xc0\xb9\xa5*\\%\xca6\x8c\x10N\xb6\x0e\xfb\x86[O\xa6\x8dF\xc5/\x1c\x9a'\x9e)m;\xc9\xecN/:HS\xc3\x1d]\xea$\xd3dU\xe7\xc5\xd6\\Q\xd3\xabl\xd1\x85y\"\xb3,\x8a\x90e#a\x97[j;\xd6\xc3\xc0\xbfBgi\xfb\xe3\x0f\x92\xc6\xfa\xf8\xd2\x1b\xe4C\xb8\xa3\xfb\xba\xe3\x94\xf8\xfa\xae\xe3\x8c\xf8Z\xfd\xb0X\x93k\xb5\xf2\xa2\xdcc\xac\x81\xa0f\xb2H&\xe8\xcc\x12/[\xf9\x19\xb6-\x1d\xcdy\xf9r?^SB\x1c\x8b\xee\x1bzs\xa4(<%\xaac\x18\x11\x9a.J\xa3e\"\xcbB\xd3\x1d\x0f\x14\x0a\x84|:\xb4\xd2\x91hxj\xc4\xea\x8c\xa4*h\x8b|+\x15!\xcbFbD^\x98^\x7fN\xd6\xc0\xbf\"\xd8\xe9\xf14\xa1&\x8fG=\x90\xfb\xb4\xf6\xe1\xdd\xa7\xde\xbfq\x9d~\x08Kt\xdb\xc3\xd7\xbf\x14\xa9\xdd)\xc6\xd5\xfbI\xcaq\x87t\xc9\x18\x93.Ij\x0au.\x1cut\x01\xe32+\x11\xf0X\xb6\xdc\xa7\xd7\x94\xa0S3%F\xde\x1c\xa9\x0aO\x89\xb2\x0d#\x82{.\xd0\xf0\xc2\xbe\xf4\xb9\x00\x96U\x84\x02\xf9\xd2O\x17\xd7\xd3\x91h(\xaf*U\x81b\x08\xa6\x08u\xac,\x0c0\xf0\xaf\x20\xb0F|\xd7N=\xb3\xda\xb1\xfc\x97\xeaV\xf4qGd\x01\xd1\xeaC$e\xd0!\xdd\x90\xe9e\xac\xca\xebEm\x0a\xc3\xe50\x81\x9aLz\x17\xa9\xa6\x98~\\V&%\xb3J0\x9a\xc8\x8a\xe3\xdcR\x12\x9e\x12e\x1bF\x04\xf7I\x12\xedO'\x89\x86\xc4\xb8\xa2\xb0\x9f\xe2\x0f\xa7\xd2[\xc1T\x8c\x0dVu^=\x89\x06\xacM\x8c\xd0xb\x95\x85\x81\x7f\x05\x81!\x84w\xf7\x8b\xe2\xbcvf\xd1q\xf2\x81\x1e\xf8\xd4\xa7\xa4\x15}\x97BZ\xce\xea\xddd\xd3)\xb9\x15m\xb2h\xe7\x9dkl\x02vF\xaa/\xe3+\xcb\x95\xbaS\x0d9t\x9c\xb3D\xbe^\xb1J0\x92h\x1c\xe7\x96\x92\xf0\x94\xa8\x84\xc60\xa2S\xee\xe8\xa6\xcd,\xb9Bv\x1d\xd2\xbd\xf8\x8d\x9b\xc9\xab]\xec\xea\x8d\xd3\x04\xd2\x9f\x0bV\xc4)Q\\sGP\x1bNL\xa2\x06\xfe\x15\x84K9\x9a1\xe3!\xc7y\xf2V\xbf\x8b\xbe\xd6c\xfc\x19\x19\x80\x9e\xa7\xa3P\xbc\xff\x97\xe2K\xf5r2\x16}\xb8\x9ef\x0f\x16/\x8c.\x01\xfb-\xebq?j\xcaP[,\x0e\xcc*\xbaD\xfcM\xc9=Or\xf2\x97\xe8\xa3\xbc\xec\x12\x985S\x12\xc7\xb9\xa5$\xbc%\xca0\x8c\x10\x0e\xb6\x0e\x8d\x0d\xb5\x1eL\x97\xe9\"\xa1\x87\xce\xddJ\xa3\xc6\xf5\xe8\x81\xd6v'\xa2\x97\xa5&\xeb\xf6\xb6y\xd9\xe4\x94+m[6W\xa2L\xf7\xb0\"\xaf\xcfkq\xf6\xe0~\xa7\xc5\x1b=\x17\xf9N\xc6\xf6\xa80\xa6\x8d\x84>\x86\xfe\x15:\x1cr,>\xf4\xfa\xeb;\x1d\x83\xf4C\xf5\xf1\xd7\xeb\x17\x93C\xef\xbfk\xdb\x191\x95N\x179\xd6\x9d9\xb5z\xe9\x074\xfb\x0e\xa4}\x8cj;\x1a\xc1\x07\x0a\x83VU;x,k\x96\xc7\xeb\xf5:\xf3\xc5x\xa3\xa5\xa1c\xbb\xad8\xa0[\x82\x01\x13=7\xf3\xc3[\xa2,\xc3\x08\xa1\xf7\x88\xbb\xad7m\xfe\xb2\x03\x92\x0f\x85\xdc\x0et\xd8m\xb9v\xe9&\xb0P\x97\x9be\xa7&\x81#\xf6\xac\x9c\xaa\x8d\x08\xd5)\xf2\xd6\x89\xef\x96\xa1l\xf1\xb5.\xba\xc4\x86\xafw\xab\xc3\x09\xdaH\x9cDF\xfe\x15lN\xd5\x1f\xaa\xad~\xb0\x9e*\x14_\xdf\xbdtQ\xbd4\xe6<_\xbf|i=m`\xabw\xef\\Z\xbb\xed/4\xd5\x9b\x15\xbe\x8f\x1b\xe1\x0e\xb1\x07\xe1\xb5x\xd4\xf3\xb1\xa1\x19h\xda\xbbm\x9d\x9dU\xd4\x10\xd0/\xc1\x80\x89\x9e\x9b\xf9\xe1-Q`\"<fie\x84&B\x9a.\xa2\x1c\xb48\xb5W\xdbqtD\xecAU\xa2\x15\x9a-\x0c\x98%L_@\xa2)\xc1\x8e\xfcqFh\x1e\"\x12\xf5\xcfb\xfeL\x85\xdeX\x12\xde\x89gFP\xa7\x84i\x0bH\x14\x98\x04\x14\xad(0\xc9\x80D\x81\x9b\xe6\xb3\xc1\xea]\x7f\xb8a\x94\x0b\x98\x18\x20Q\xe0\xa6\xd9\xe5p8\x18\x0f;\x01\x93\x02H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\xcdt\x96h\x0d\xb2\xad\x1a6\xca\x04\x00\xc9e:K\xd4\xd7\xe9.\xb6Mh\xd1K\x00\xe0\x06w\x892\x0c#\x82\x03m\xfb\xda\x92\xd3\x9cu\xa5\xe1Z7@z\xc1[\xa2\x0c\xc3\x88\xa0\xc7\xdd?\xda\xb7\xa7/\xe6~SD\xaf\xc1\xba\xce\x00\x90lxK\x94a\x18qa\x0fY\x85\xe1\x9d=\xc9\xe8r\x82D\x01\xb3\xc3Y\xa2,\xc3\x08O\x07\xdd\xd4\xd2\x17c\xbf\xa9\x02$\x0a\x98\x1d\xbe\x12e\x1aF\xc8K\xea\xb6\x1f\xd3\xdfo\xca\x18\x88\xac\xf4\x0e\x00\xa6\x84\xafD\x99\x86\x11\xdd-t\x05@\xf7\x91X{N\x11\x82\xad\xb2{,\x9e\xa5\x00\x00\x20Ip\x95(\xdb0\"\xe0\xf6\xf8\x05_\xbb+)k\xf2\x1cC\x08\xddc\x94\x09\x00\x92\x07O\x89\xea\x18F`\xbf\xc7\xe5r\xf5x\x92a\x9f\x1e\xb0\x15\xee\xe8\xd4u\x09\x01\x80\xe4\xc3S\xa2l\xc3\x08\x82\xe0\x0f\xe2\x96Wc\xed;E\xf4\xa2\x93FY\x00\x20\xa9\xf0\x94(\xdb0\x02K\xbe\x92#\xaed\xb8\xcd\xc1\x8c.`vxJTBc\x181\xec\xf2\x8bb=\x90\x94\xa9U\x90(`vxK\x94a\x18\xf1\x8e\xeb\x8d\xb1\x0b-\x9ed<\xb9`\xe4\xe4\x03\x00I\x87\xb7DY\x86\x11\xfd\xadnO\x7f\x12\xee|\x08\xbe\xfe\x1ak2\xba\xd7\x00\x10?\xbc%j&\x96\x20T\x90\x8cid\x00H\x80\xe9,Q_\xff\x18\x06\x00\x933\x9d%\x0a\x00)\x00H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dw\x89\x86\x0d#0\xee\x0a\x99DD\xbc#\x00\x00P\xc3[\xa2a\xc3\x08\x8c\xc7]\xd2*\x80\x0a\xef\x08s\xd0\xd9o\x94\x03\x00\xb8\xc1[\xa2!\xc3\x08\xb1\xe9l\x95%\xaa\xf0\x8e0\x07\x155F9\x00\x80\x1b\x9c%\x1a6\x8c\xc0]\xae\xae}\x92D\x15\xde\x11\xe6\xa0l\x99Q\x0e\x00\xe0\x06_\x89F\x0c#\xb0\x10\x08-w\xad\xf0\x8e\xe0\xca@&B\x0d#\xab\x0a\xb2\xaa\xc8%\xa2\xa52\xbbhm@l\xe6\x91D\x19\xc6u(\xa3\x05\x8fZP\xb1*o\x1d\xb2\xb8\xd6\x16eW\xa9;\xe6\x97\xab\x1d\x8e\xfd\x1fm{x\xd1\xa6/\xd9G\x03\x80\x89\xc1W\xa2\x11\xc3\x08\x82,Q\x85w\x04W\x84\xd6\x03\x05E9\xf9kW\x20Qm\xce\x8c:O\xb3\xad,\x88\x03\xdd\xde\"\xbb\xd7\xeb\x15\xdbt\x9f\xd7\xd2\x84q\x8f\xd3\xaa\xca;|\x20\x13\xd9\x9a\xb6\xe7\xdc\xa7*\xec\xfa\x993\xb5\xab\x17\xd7\xee\xdev\xd7\xa7:\x87\x03\x80\x09\xc1U\xa2\x0a\xc3\x08\x82,Q\x85w\x04o\xca\xd0<\xb1F\xb4\xedtc\xb2d\xe7A\x9a\x1a\xee\xe8ZE\x89\xe2&\xab:/\xb6\xe6\x8a\x9a^e\x8b.\xecqG\xfd5|\xe3Zt2\x00\xdc\x14<%\xaa4\x8c\x20\x84ZQ\x85w\x04g\xca\xacrw\xf5\x81B\x81\x90\xef\xa4\xa9l\x89\x86\xf2b\xab3\x92\xaa\xe0\xf1jh@\x81\xc9\x87\xa7D\x95\x86\x11\x84\xd0XT\xe5\x1d\xc1\x95\xb2\x8aP\x20\x8f@\x97\xd0\x0fl\x89\x86\xf2\xaaR\x15<\xbe.:\x05\x00n\x1e\x9e\x12U\x1aF\x10d\x89*\xbd#8\x13\x16\xe3\x8a\xc2~\x8a?\x9cJ\xef\xd3R16X\xd5yu%\xfaLt\x0a\x00\xdc<<%*\xa1\x19\x8b*\xbc#x\x13\x96]\x07\xa2\xd6\x89\x1b7\x93W\xbb\x1d\xe3q\x9a\x90\xfd\xa4X\xbd\x0a\x90(\x90DxK4l\x18!\xf8|\xeeN\xdf8I\x8bxGpE\xe8\xa1s\xb7\x92u\xe1z\xf4@k\xbb\x13\xd1\xcbG\x93u{\xdb\xbclR\x9fJ\xdb\x96\xcd\x95(\xd3=\xac\xc8\xeb\xf3Z\x9c=\xb8\xdfi\xf1*\x9fY\xfc\xf2\x8f\x83\xab\xeb\x07\x07a4\x0aL6\xbc%\x1a6\x8c\xe8\x93F\xa5\xd4\xc9%\xe2\x1d\xc1\x93\x81\x0c:\xfc\\(}\xea\xb0\xdbr\xed\xd2\x1dZ\xa1.7\xcb\xdeK\xa2\x11{VN\xd5F\x84\xea\x14y\xeb\xc4w\xcbP\xb6\xf8Z\xa7(\xec\xb2\x83\xb2\x09\x03\xc0\xe4\xc2[\xa2\x00\x00$\x04H\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00L\x0dH\x14\x00LM*H\xb4\x06\xd9V%\xe1\xc7\xa4\x00`\x06RA\xa2\xbeNw\xb1-`\x94\x0b\x00\xd2\x12\xee\x12e\x19F\xa8B&]h\x20v\x06\x00HSxK\x94e\x18\xa1\x0a\xd9\xf4\xa2\x9e\xd8\x19\x00\x20M\xe1-Q\x86a\x84*\xd4\x01$\x0aLW8K\x94e\x18\xa1\x0c\xf5\x00\x89\x02\xd3\x15\xbe\x12e\x1aF(C=\x06PW\xec\x0c\x00\x90\xa6\xf0\x95(\xd30\"*d\"\xd8*\xbb\xc7\x92\xb0D\x20\x00$\x1b\xae\x12e\x1bFD\x85l\x8e!\x84\xee1\xc8\x03\x00i\x08O\x89\xea\x18FD\x85L\x02\xb6\xc2\x1d\x9d\xa3\xb1\xf3\x00@:\xc2S\xa2:\x86\x11Q!\x93^t2v\x06\x00HSxJT\xc70\"*d\x023\xba\xc0t\x85\xa7D%&4\x16\x05\x89\x02\xd3\x15\xde\x12e\x19F(B=z@\xa2\xc04\x85\xb7DY\x86\x11J\xef\x08\x16\x82\xaf\xbf\xc6\xca\xdfP\x02\x00\xcc\x00o\x89N\x84%\x08\x15\xb4\x1be\x02\x80\xf4$\x15$\xea\xeb\xe7\xee\x9a\x06\x00f!\x15$\x0a\x00\xd3\x18\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x1a\x90(\x00\x98\x9a\xff\x0f5\x16\x1d\x16\xa8\xc9g\xc2\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/callers2.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xfc\x00\x00\x01\xb0\x08\x03\x00\x00\x00#z\x9e\xf7\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x04\x06\x02\x07\x09\x05\x0a\x0b\x15\x07\x0e\x10\x0f\x11\x0e\x0e\x12\x1d\x15\x16\x15%\x19\x10'\x1a\x0c\x1e\x1d\x17\x16\x1e.!#\x20#$\"$%#%'%'(&)(\"()'-+\x20*+),-+-.,12053'O.\x0f352786<:.9;8=?<B@4#Cxb<\x1aAB@j=\x11DFCLH9\x00f\x00\x00g\x00\x00h\x00\x00i\x01JLI\x00j\x02\x02k\x03\x04l\x050R\x95OPNVQ@\x09n\x07\x0co\x09RTQ\x83L\x1d\x0fq\x0b\x0br\x17UVT\x0fs\x18WYV\x11t\x19_ZH,`\xae\x14v\x1b7]\xad>]\xa1Z\\Y\x16w\x1d\\^[\x19y\x1e:b\xac_a^Ya\x8bac`\x9aZ\x1d*{!@f\xb1Ke\x9e(|*dfclfP+\x7f,fheMj\xaf.\x81.Fm\xb1ikh0\x8301\x841/\x859Jq\xb5mol\x89j_oqn;\x86:>\x88<\xb3h\"{s[Vu\xb5sur?\x8a>@\x8b?uwtB\x8c@@\x8dG\\z\xba\xadq?y{xJ\x8fI^~\xb8L\x90K\x94wq\x85}d~\x80}O\x93Nb\x83\xbdN\x95U\x81\x83\x80W\x95V\xa7|e\x8e\x85gm\x87\xbcZ\x98Y[\x9aZ\x87\x89\x86]\x9b\\^\x9d]\xba\x82Z\\\x9ddr\x8d\xc2\x8a\x8c\x89\x96\x8cnd\x9ddf\x9ff{\x90\xc0\x8f\x91\x8eh\xa1h\xe3\x83+\xd0\x87K\x7f\x93\xc4j\xa3jz\x97\xc6\x93\x95\x92s\xa4l\xa0\x96wq\xa5s\x81\x9a\xc4\x97\x99\x96\xe4\x8b@u\xa9w\x9a\x9c\x99\x86\x9e\xc8\x9c\x9e\x9b\xef\x904~\xaby\xa8\x9e\x7f\x9e\xa0\x9d\x80\xad|\xa0\xa2\x9f\xf9\x94.\xa1\xa3\xa0\xa2\xa4\xa1\x81\xb1\x85\xff\x952\x92\xa6\xcb\xa4\xa6\xa3\xb3\xa6\x82\xa5\xa7\xa4\x8b\xb2\x88\xa7\xa9\xa6\x8d\xb5\x8a\x8e\xb6\x8c\xaa\xac\xa8\xb9\xac\x88\x8d\xb8\x93\x9e\xae\xce\x95\xb8\x95\xad\xaf\xac\x97\xba\x96\xaf\xb1\xae\x98\xbb\x98\xa3\xb2\xd2\x9b\xbe\x9a\xb3\xb5\xb2\xc2\xb5\x90\xb5\xb7\xb4\xa3\xbf\x9d\xac\xb7\xd2\xa2\xc0\xa4\xb7\xb9\xb6\xb9\xbb\xb8\xa5\xc4\xa7\xb1\xbc\xd7\xbb\xbd\xba\xa7\xc6\xa9\xcb\xbe\x98\xbd\xbf\xbc\xa9\xc8\xab\xb8\xc0\xd5\xaf\xc7\xab\xbf\xc1\xbe\xc1\xc3\xbf\xb2\xca\xae\xc2\xc4\xc1\xbd\xc5\xda\xc4\xc6\xc3\xb2\xcd\xb7\xb9\xcc\xb8\xd6\xc7\x9d\xc7\xc9\xc6\xbb\xce\xba\xbc\xcf\xbb\xc4\xca\xd9\xc9\xcc\xc8\xbe\xd1\xbd\xc0\xd3\xbf\xca\xce\xde\xcd\xcf\xcc\xc4\xd0\xde\xc8\xd3\xc1\xcf\xd1\xce\xdf\xd1\xa5\xc7\xd6\xc9\xd1\xd4\xd0\xd2\xd3\xdd\xca\xd8\xcb\xd3\xd5\xd2\xce\xd6\xdf\xcc\xda\xce\xe7\xd7\xab\xd6\xd8\xd4\xd4\xdb\xd0\xd8\xd8\xe3\xd8\xda\xd6\xd3\xdb\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd7\xde\xd3\xd5\xdf\xda\xdd\xdd\xe5\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xf0\xe0\xb3\xdc\xe1\xe4\xdf\xe1\xde\xe1\xe3\xe0\xe3\xe5\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xeb\xe7\xe9\xe6\xef\xf2\xee\xfe\xff\xfc(t:\\\x00\x00\x20\x00IDATx^\xed\xbd\x0fp\x14G\x9e\xe7\xbb\xcc{\xbe}\xcf\xaf\x84zf$\xf5\xae4b\xef8M\xb4BB\xc7\x19\x9e%`\xd7z\x08\x8b\xf3\xc2C\x1b\x02\xc1\x03\x9d\xe1\x16\xc6\xd8\xf3\x08\xb3+0\xecB\x888\x9be,\xeel\xe4\x85~\x92\xb5\x1e\x99\x91X\xd9\x20\xa2\xcf\x8c\xa4\xc0\x9a6\x20,\x06#\xd9H0\xd8\xc6\x0b\xde\x18\xf5\x10\xb6\xc5\xc8\xb1\xf66a\"\xda1\xd1\xe4M\xbc\xca\xaa\xee\xaa\xcc\xea\xcc\xca\xeeVw\xb6\xd4\xf5\xfb\x04!\x15\xa9\xac\xac\xac\xac\xfev\xfd\xe9\xea\xfa\xfc\xc1\xef\x93\x07\x01\x000{\xf9\x03Q\xc2m\x10\xb5\x0d\x00\xc0\x0c\x06\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0fd+aQ\x05\xa7\x03\xe1\x07\xb2\x92@c\xa1\xf2\x84\xa8\x92\xc3\x81\xf0\xf7.\x9e\x14U\x91I\xc2\xdd\x99Z\xdc+\xaa2\xa3\x90\xd3\xdfpI\x89w\x20\x20\xaa\xe5p\xe4\x86?\xd0w\xbc\xbd\xfbB\x10O\x06/\xbc\xd1\xfe\x86>I\x94\xf2\xf8\xd7#kk\xf7=\xb0\xab\x11C\xb3\x92\x8b_e\xbe<\xa5\xd9\xaeZ\x8b\xfd\x9f\xd9\x0c\x14\xfaDU\x0c\xa6\xb6\x15\xe6\xad\x88\xfb\x084\x89\xee\xb4\xe4\x1c\x14U\x91\x8b`t\x92\xeeo\"\xa3~U\xe9\x13U\x01\xa4\x86\x7f\xd2\xeb\xbb\x11\xb8q\xf2\xb8\x9a\xf3`\xe7I<\xd9\x19\xa4J\xb9\xecn8\xfbR\xed}\x9b\x0a\xb1L\xd5\xe7-U\x7f-\xcd\xab\x9f\xb2\xa9\xd5\x9a\xd3a\xf3W\x1e\xbe\xfc7DU\x0c\x96\x16z\x1b\xf3l\xdf\xd9\x08\x92\xea\x8eon\xab\xa8Jz\x18\x1ce\x16\x8bFG\xd8\xdf$\xdb%\x19V\xfc\xa2*\x80\xd4\xf0\xdf\xf6\xe2\x03\xb1\xa0\xf7\x06B\xfe\xee\x90:\x19\xea\xf6S\xa5<\xeeW\x9fA\x0f\x12\xcb>BM+\xd4\xccM\xe5\xadh\xb2\xa9s\xdbe\xf7W>q\xef\xc9\xd1\x94\xd2\x8a\xc2\xf1f?\xc9\xee\xecqe\xe6\x00wa=\xbb\\4:\xa2\xfe&\xdb.\xc1\xb02$\xaa\x02H\x0d?\xd2B0\x89\xc3>\xa0\x9f\xf8\xf5\x0eP\xa5<>\xab~\x97\xffG\x1eM\xf5K\xbbP\xe7\xf2z\xbb<5\x16\xc5\x9b\xcbd\xb9\xa9\xc4\x7f\xac\x9alw\x82E\x8d\xa2*i\xa1\xacNT\x83\x8d\xa8\xbf\xc9\xb6K\x00\xe1\x8f\x03\xb9\xe1W\x09\x05\xba}\xea;\xf8T\xe7\xe0Th\xca\xdf9E\x952\xf9vm\xb5\xc61\x84\x8eTW\x9fC\x9f\xd5Vo\xc5\x93\xb5g\x8fm\xad\xdd\xf7[\xad\xceg/\xac\xadm\x88LGi\xaao\xadC+\xbc8\xfc\xc1\xba\"W\xf1\xca\xabj\xe16en\xeb\x93\xc5\xee\x957\xb5*\xa1\x02\xed\x9d!T\x98\xdbT\\4\xb8\xdd]\x15\xe4\xd4%g\x0b\xe6)J\xceq\xa4U\xc8\xf5\xee\x98\x9f\xb7\\{\xdb\x9aZ\xef.\xde\xb1\xc3\x9d\xdfMt!\xe4V4v\xe0\xba9\x9d\xea\x9e])\xb1\xcc\x86n\xd7\xb9s\x0bW\x04\x88\xee\xa0\xabs\x15e\xcf\xcd\xf5\xf3\xf2\x96\x87\xb8\xb3u.\xce\x9f\xbf#\xfaV\xb1'/\x84(\x12n\x81\x81\x7fyq\xae{E1\xaf\xd4\xa7\xaf\x9aRF--\xbe\xd1\x89\xe9o\x8a\xda5\x19\x84\xf0\x8b\x91\x1c\xfe)\xaf\xd7\xdb\xa1\xbd\xe0B\x03\xead_\xc8R\xca\xe4\xd3\xb1s\xd5=cc_\"\xf4\xdb\xb1\xda\x1e\xf4`\xecH-B\xb7\xce\xd5V7\xf4\xf4\xac~\x01\xd7\x18\xab}\xb6\xe7J\x8fzn@\xd2T\x1f\xc8\x9f\xfa^\x00\x87\xdf\xa7<9\xd8\xbd2g\x18\xa1\x1b\xc7\xe7*\xc5\x07\x9b\x8b\xf3\xc6q\x95QeP\xab:X\xa0\xecX\xaa\xb8\x0f\x16\xb6p\xeaR\xb3]\xf6\xfb]\xdae9\\Z\xd8\xdcR\x80wT\xa1\x92\xa2\xd6fW^\xfb\xf2\x16\xb2\x0f\xef\xfb\xbb\x94f\xbf_}\x9d\x06\xfc\xb9\xea<C\x8d.z64\x98_\xd62\xd0\xac\xb4\x90\xdd\x09u\x1f/\x9e_P\xbcc\xbd\x12\xe0\xcd\xd6\x98\xb3\xdd\xd7ZX\x16y\xc3\xbc`}\xa9'\xdcB,\xc3\xca\xfa7\x06\xbcn\x85\x8e\xa9Y\x1a\xbc\xe0\x9f_\xe5\xf7\xfboPK\x8botb\xfa\x9b\xa2v#\x84&\x07\x17\xba\x93:\x86r\x16\x92\xc3\x8f&\x03\xe3\xdd\xf8\xd2^h\xa0\xfbF\xe0F\xf7@\x88*\xe5a\x1e\xf6\xab\xe1G\xa8\xa7V\x9b\\\xad\xee\xe9_lP\xa7\xbe\xdd\xb4\xef[\xf5\xe79\xfa\xaa@S=*\xdb\xb6\x10i{\xfen\xdcx\x99\xf6\xb9\xafk\x1e\xde\xbd\x17/\xc6\xd3>\xe5\xb6^\xb7h\xbd:\xedC\x8dOr\xeb\x92\xb3!\x94\x17\xb9&\xefr\xab/\xcb\xf5\x85\xeaT\x97\xa2\x1e,\xb4*\xe3\xc8\x82y\xd8\xaf\xbdt\x9b]\xf4l\xa1bu\xaf\xa6\xbe\xca\xb5#\x20\xa3;\xea\xf2\x95\xa5A\xfd\x84\x889\x9bO\xc1\x17\x06\x87\x95.\xbdv@\x89\xbd\x14\x96X\x0b\xb1\xb4\x16\xe2m\xd3\xea\xa6\xdf\x1d\xa8R\xe2\xf0\xdc\\\x1a\x8actb\xfb\x9b\x9av#<\xa1\x1e8$p\xb2\xe5Xd\x87\x1f\xe1W\xfa\x80y\xc1\xef\x02U\xca\x83\x1d\xfe\x97\xa2\x93W\xaa?e\xcc\xa4\x86\xbfE9\xa8\x85\x1fM\xb5.\x9fW\x80\x8f$\xd5W\x8evh\xdd\xaa\xe0\xb8\xf5\x1a\xe1\xefBCJ\x10\xcf\xc2\xabK\xceF\xbc\x0c\xf1\xc9\xab\x96\xab&7\xc2I\x8f\xf9\x0c\x9b\x1d~c6\x9f\xf2\xbeY\xb7\x97\x08\xbfqM\x8c9[\xfd\xbc\x10\xa68r\xee\x1c`d8\xb1\x16b\x09\x14\xcd\xdb\xe6}?l9>\xa7J\xc9\x90\x92\xd7\xf0\x84\xa3\x13\xdb\xdf\xd4\xb4\x1b!\xd0\xe7-\x81=\xbf\x18\xa9\xe1\x0f\xe9{\x91\xab\xdep\xb8]\x7f\xcd\xbf\xdf\x1e&J\xb93\xb2\xc3oL\x9e\xa9\xfe\x961\x93\x9a\xe4\xa9\x1d\x93Z\xf8\x87\x0b\x8b\x9bN\xfa\xab\xf4@k\xaf\xa0A\x05\x7f\x9c4\x14=\xfc,\xeaC\xc3.m\x16^]r6\xe2eh\xe4\xaa\x05\xbf-\xf4\xc5\xbb\xe7'f#\xd2etG}\xd1\x97E\xa7\x98\xb3\x95EN\x8c#\xf7\xb0\x0d+\xc6\x9b\xa8Ab-0\x08z\xebJ\x94B\xeax\xdaRJ\x86\xd4X\x1a\x8act\x18\xfdMI\xbb&~e8\xa6\x0c\xb0\x203\xfc\xe1N\xfd\x94VM|4\xfc\xa3\xea\xa4Y\xca\x9d\xd3\x12\xfeW-\xe1\xbfR}\x8b1S\x93\xfe\x81\x11\x0e\x7f\xc9b\xbc\x1f\xa8\xd3\x03\xbd\x1d\xff\xf4*\xb8$\xe8\x8a\xbc\x9c\x88\xf0s\xea\x92\xb3\xb1^\x86\x81\x9c\x15\x81\xab\xf3\x17\xc7\xac\x83%\xfc{,\x19\x1cP\x88\xcf\xb4\x8d\xee\x90\xaf\x7f\xe6l\xeb\xe7\x8djD\xae\x976\xbbb\xf7s\x89\xb5\x10\xcbe|\xa8\x13\xec\xca\xa3?\x93\xa7J\xb5E\xb4\x07\x8c\xc9(\xc2\xd1\x89\xedoj\xda5\x81\xab\xfdq\x203\xfc\xe8\xb8v\xd7\x95v\x80?\x189\xec\x1f\xa4Jy\x10\xe1\x7f\x15\xa1\x07\xcfZ\xc2\x7f\xbfa7\xde\xf5\x1f;F\xcdD\x84\xbf\x18\xbf\x84\xc2\xfa^\xc4U\x88O\"\xe7U\xe9\x7f\x9c\xa7\xbfn\x88\xf0s\xeaR\xb31^\x86\xa3J\xa1\xa2T\xc5~\\i\x86?O\xedHx\xa1%\x83\xc1\xa2*<\x10\xdb\xb5\xb7\x16\xa3;\xe4\x8b\x9e9[\x9f\xa2]\xde\xde\xa3\xdf+\x17.Y\x81bH\xa8\x85\xdb\xcd1\xf7\xd54\xeb\xf7\xc8Um\xe3\x97V\xa9\xa31\xa9\xb7#\x08)=:\x8c\xfe\xa6\xa4]\x02\x08\x7f\x1cH\x0d\xffM\xef\x00\xbe\xca\xa7]\xf0\xeb\xea\x1e\x0f\x8cww\x85\xa8R6\x91\xab\xfd\xda\xdd\xbd\xbb\x1bzz\x9e\xad\xae={\xeb\xcb\xb1\xda#c\x0f>=R\x8b?\x05\x18\xab\xddz\xf6\xca\xb1\xea\xb3\xe4\\S\xf5\xda\x8b\"PU?\xa5\xbe\xb4\xeaZ\x0f\x96)\xee\x96!\xf5\x95\xa3\x94u\xb7\xcfw\xebg\xd77s\xb4\x03\xcd\x1b\xee\x96`W\xee\xd5\x20\x9e\x85S\xd7\x9c\x0c\x0d\xf9\xfd\xaeF\xbf?\x88\xaf\xe07\x0e\xa1\xd1\xc6\\\x7f\x00\x8d\xba\x06|\xfe\x80u\x17\xa4_\xed\x1f\xd2\x8a\x17\x17\x1e<\xb8X\x99\xdbq\x83\x9c\x0d\x0d~\xaf\xc4\xeb\xdb\xae\xb4\x93\xddQ\x97\x80/x\xeb]d\xcf\xd6\xa4\xd4w\xf76*\x9dZ\x95\x16\xc5\x1a\xddD[X\xa9\xe4[\x87\xbfY\xc9o\xf6\x9dl\x8c|\x00\xc1,mv\xb5\xf4.\xcd\x0fPK\x8bgtb\xfb\x9b\x9av\x09.3N\x84\x00\x0bR\xc3\x8f\x02\x83\xdd\xed'\x87\xb4\xb3\xdc\xd0\xf0\xc9\x8e\x93\xc3!K)\x8boWk\x1f\xf3\xd7\xfe\x06\xff\xe7\xb3\xdd\xb5\xab\xf7\xbdZ]}\xe4\x08.\xfa\xb4V\xfdyD-\xfe\xcd\x0b\x0d\xab\x9f\xa5o\x04jV\x14|]h\x9b\xa24\xa3p\xcb|Wa}\xc7<\x97\xbaKq\xedh,(Z\x1f\xddY\xec\xf9\x9e\xfa\"\x09\xab\xbb\x8f\xe3\x05J~7>\x05\xe6\xd45'\x87s\xf4\xb3e/n[\xc9\x1d\xcfW\x7fnC\x17\\\xb8,\xb7\x8a:\xfd\x8c|\xce?W\xbby\xf1fU^\xc1\xf2&\xb5.9\x9bZ\\W\\\xb0\xf0$\xd9\x1dtU_\x82\xbe{\xe4\xcc\xd6W\xe5v/\xd6\xf6\x96\xc8\x9f\xb7\x03YH\xb0\x05\xd4\x9e\x1fs\x8e\xdcY\xd5\\\x9c[TEg\x9f.\x0dmw\xe7U\x0d\xd3K\x8bct\x18\xfdMI\xbb$\x93s\xeb\xaeN2\xde\x14\x00\x02\xb9\xe1\x9f\x09\x98\xe7\xd5\x1a\xdb]\xd6\xfbC\x08\x88\xba\x96\xd9\xacL\xe6o\x9b\x0c\x85\x82\xc3u\xd3\xbc\xcal\xdb\x1d6]\xaeF\xee\x1bg\xdc\xf4*\xd3\xeb\xb7=\xd4\xe8\xa4\xa4\xbf:6\xa3\xde[bw1\x13\xc08>\xfc\xa8\xa5\x98\xff\x1d\xda\xf8\xc3\xdf\x1b\xf9<<\xec\x9e\xe6\x07\xccv\xdda2U\x94\xe4\x97\xe4\x08\xc2\x1d\xee'Eu\xa6\x039:\xa9\xe8o\x14\xdbQ\x9f\xbc\xca\xb8\x16\x00\x10@\xf8\xed\x88?\xfc\xa39\xfa\x91\xe7x\x0e\xf1\xb9\xfd\xac!\xe0\xde\x91\xaa\x9d1\x93t\x8dN\xba\xdau\x08N\x0b\xbf~\xb5(>\x88\xba\xc2\xd9\xc2\x8dyOv\x0dv=\x99\x97\xd6=\xe8l%]\xa3\x93\xaev\x1d\x82\xd3\xc2\xaf]-\xba\x8d\xe2\x82\xa8\x1b\xc7l\xbe\xe5E\xae\xa2\xe5\xd3<\xe8\xcfZ\xd25:\xe9j\xd7\x118-\xfc\x00\x00D\x80\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\xa3\x03\x07X\x93\x00\x90\xed\xc8\x0d?[\xd7\xa52\xee\xcd\xd8MZ\xff\xecy\x991\xa9\xf1\x91G\xe7z\xccL1\x1c\xf0x\xfaEuf\x12\xa9\xe9\xef\xc5\xcawDU2@j\xd6M\xcc\x9dR\xcf\x1aQ\x1d\x9aSt\xcf2=|R\xc3\xcf\xd6u\xa9\x04\xdb/t\x0a\xe6M\x1b{\x17\xdceLj\x84?\x189\xe591\xf2\x81\xcd\x97^.}\xa8\xff\xbe;R\xda\xc6\xaf\x958\xd1vSM\x92\xfd\xe5t\xe7|\x85\x94\x94%H\x82\xeb\x96<\xd7\xf6\x97\x8b\xaa\xd0\xdc\x1b\xd9H\xf6,\xd3\xc3'5\xfcl]\x97\x8ao\x20\x90\xa9\xf0Ox~\xc2\x984\xb8\xe6\xf9\x20\xa6\x8c\xe4\xff\xd9\x15\x9d*O\xe9\x0b\xcel7\xb5$\xd9_^wf\xe8\xe32\x12Z\xb7i\xd0\x96`\xf8\x11\xdaI\xf5,\xc3\xc3'5\xfc\x1c]\x17\x1a\xef\x08f,\xfc\xfb\xcb\xef2&\x0dD\xe1\xdf\x90\\\x98\x84lHS\xf8\x93\xeco\xba\xba\x93&\x12Z\xb7i0\xdd\xf0g\x18\xb9\xe1Wa\xe8\xba\x82\xed7Q\xa6\xc2\x7f\xa7\xf4\x10c\xd2$\x12\xfe\xe7=\xa5\xa7\x7f\xb2\xaa\xe2\xa9\xcf\xa9?\xbe\x13\xb9&\xb0\x01\xff\xa7\xfc\xb0Y\xe1\xe7\x9b+V\xfd\x84>Yh\xf3\xe0\xf3\xbd~\xf5\xe7Q\xf5\x7f\xa76T\xac;\xa5\xfe\xfe\xa8T\xfd\xff\xc4\xde\x9a\x05O\xabc2\xf2TMi\xe535\x96vI&vU\x96.yF}\x8b\x0a\xeeZVZ\xb3\xf3#\xad\xd0\x98\x0d1\x17L\x90H\x7f\xd9\xdd!\xfb{\xaf\xc2\x139\x85\xa5F\xe7\xeb\xbd\x95\x8f\x1d>\\i=\xa2et\x9d=\xa8D\x0b\xd4\xe8\x18cF\x8fd\x14\xaa\x94\xb5n\xcc\xa5\x85\x97\x94\xbe\xf2\xd8\xb2K\x87\x16m\x09Zzv\xe2\xc0c\x8f\xee\x9c\xa0&\x119Pw\xf7.[\xb4\x8b{\xd8\xcfiW\x0b\xff!\xb5\x8f\x0b\xbeNp\xf8\xd2\x82\xe4\xf03u]>u\xf7\x9f\xa9\xf0\x1f(\xfd\x9c1i\x12\x09\xff?\xf7\x97z*\xdbN<B\xef\x00\x83\x1f\x8c\xac\xda2222\x81\xffS\xeeY\xd3\xff\xce\x12\xad\xc2~\xcf\xa1\xf3'*7P\x07u_=\xb7y$\xa8\xce\xb1\xf9\xb9\xaf\xf01\xc6\xd1\xf3G\xcb\xf7\xaa\xa3\xd0\xdf_\xb3\xea\x91\xc7~\xb2\xd7s\x07]\xf7\xec\xed\xbfx\xba\xd2\x13\xa6\xdb%x\xafb\xc3\xeb\x17\xdb<'\xd4\xb3E\xcf\x81\xf7\xfawz\xae\xa9\x85\xe6l\xec\x05\x13$\xd2_vw\xc8\xfe\xa2\xeb##\xfa.\x96\x1c\x9d\xd0\x9ae\xa7\xda\xca+N?u\x82j\x8d\xd5u\xf6\xa0\x12-PK3\xc6\x8c\x1aI\x03\xaa\x94\xb5n\xec\xa5\xbd\xb7\xc8\xf3\x93\x1fy*_[\x12\xd3\xb3\x9a\xd7\xdaj*>!'\xc9\x81\x9aX\xb4\xea\xf4;Oy\xb8{~v\xbbZ\xf8\xef\xee\xf5\x9c\xd06\\\x02\xc3\x97\x1e$\x87\x9f\xa5\xeb\xba\x81\xdf\x0d2\x14\xfe;\xa5\x07\x18\x93\x04\xc6a\x7f\xf9\"\xf5\xadao\xa5\xf5\xef\xc4a\xf4\x92\xaf\xd5W\x07\xaep\xde\xf3\x966'\xfd\xe6\xfd\x96~ex\xdd\xcf\x11\xba\xe8\xb9\x88\xf0\xcf\xf3Z\x0b\x9e\x1f\x05\xb5\x13\xa2S\x95\xda\xfemQ\x98n\xd7$T\xf3t\x08\xe7\xef\x1e\xfe\x81\xdf6\xd7\xedD\xd4l\xec\x05S\xc4\xdf_^w\x8c\xfeb\x16D\x8eb\xcd\xd1\xe9\xf7|\x84\xafj\x7fB\xb5\xc5\xe9:{P\xa9\x16\x8c\xa5\x11cF\x8c$\x01Y\xca^7\xe6\xd2\x96\xedU\xeb\xbc\x83\xf6\x1f\xb0\xf4\xacF]\xe6\xbd\x9a\x8d\xd4$\xd1\xd8\xe6Uj\xdd\xf0:\xfea?\xa7]5\xfc'\xca\xcfG+\xc5;|iBv\xf8\x11\xb2\xea\xba\x82\xed7\xc2\xe1p\xa03\x9c\x89\xab\x1f\xcf\x97\xdeaL\x12\x98\xe1\xdf\x8fX\xe7xD\x98\x0eD+\xecz<\xa4\xaeQ\xf8\xb1\xfdT\xcd\x8f<\xa1\xd0[\xf7\xc2\xe5\xea\xc6\xdd\xbfN+Y\xa3U\xd8P\x1eY\xee\xe7\xcbj\x9e?\xfdQ\xc4X\xc5\x0a\xffy\xcfG\xc6\xf4\xd7\xa7\x9e~|\x91g\x1d=\x1b{\xc1\x14\xf1\xf7\x97\xd7\x1d\xa3\xbf\x18\xe3\xd5k\x8c\xce\xcb\x8b\x10\xbet\xfa6\xa2`w\x9d=\xa8T\x0b\xc6\xd2\x881#F\x92\x80,e\xaf\x1bsi\xcb\xfa\xd5m\x1cD\x87\x9fCt\xcf\xb4\x0f}Oy\xee\x91\x93fc\xf7<\xa7q\xe1Q\x9b\xf0\xb3\xdb\xdd\xd9v\xd4c~\xbe\x17\xef\xf0\xa5\x09\xa9\xe1g\xea\xban{\xa3\xc8\x7f\xde\xe2\xdd\xf2\x03\x8cI\x123\xfcx;\xd9\x86\xdf\xa8\xb0.r\x8e\xbc\x93\xaa\x19*\xfd\xe4\x84z\x06\xebQ\xd3\xb4Y\xff\xcb\xce\x8dZ\x0b\xc6\x99\xfd\xbd\xd3\xbb\xd6x\x96\xbc\xaeM\xb3\xc2\x7f\xc2c\x9c\x96_[Rs\xf8\xed\x91-\xeb\xe8\xd9\xd8\x0b\xa6\x88\xbf\xbf\xbc\xee\x98\xfdE\xc4\xab\xd7h\xec\x84\xe7k\xbc\x83\xb6\xec\xba8]g\x0e*\xd5\x82\xb14b\xcc\x88\x91$\x20K\xd9\xeb\xc6\\\xda\xb2\x8b\xe8Z\xa9\x1a\xba\xe7\x18=C#\x9e\x0f\xc9I\xb3\xb1\xeb\x9e\x11\xc4hL\xdc\xee\xce%\x8f\xac1\xc72\xde\xe1K\x132\xc3\xcf\xd1uMM\xaa\x8cwLf\xe01\xeb\x87<\x13\x8cI\x92\xb8\xc2\x7f\xfa\x0eUa\xef\xe3\x1fj|MW]\xd3\xbfe\xf3\x9a\xb7\xf1\xc1\xe9\xfe\xc7\xb5\x82\x9a\xfdF\x0b\x98\xebx\x0fs\xaf\x7f\xc1)\xba]\x93K\xe6\xees\xcdFmO\xbf\x8e\x9e\x8d\xb3`\x92\xf8\xfb\xcb\xeb\x0e\xf5\xb6\x14\xfb\xea\xbd\xe3y\xfa\xceG\xab6[\xb6%\xbb\xeb\xecA\xa5Z0\x96F\x8e\x999\x92$D){\xdd\xb8\xe1/\xd7CJ\xf5L\xbb\xf8{Z\xddw\x13\x93fc_{\xb4a\xb1\xf9\x9c\x9f\xd3\xee\xce\xcaO\xee,2\xce\xe7\xe3\x1d\xbe4!3\xfc\x1c]\x97FF\xce\xf9\xef\x96\xefgLR\x88\xc2\xbfe\x8b:\xaf~FiT\xb8\xa8\x9f=\x1f}\x8d\xae\xfa\xdc\xf3\xa5\x17=\x07\xf0\x8b\xf9\xbcV\xa1?r\xce\x1f}y\xb7ig\xb5h\xcb\x01\xba]\x93\xd0\xb2-x\xd0\x0e\xa9/\xc6\x1a<Sx\xdd:z6z\xc1w\xda\xe8\xe3b\x8d\xf8\xfb\xcb\xeb\x8e\x20\xfc\x1fz\x96x<[\xac\x9f\x99\xb2\xbb\xce\x1eT\xaa\x05ci\xe4\x98\x99#IB\x94\xb2\xd7M\x14~\xaagK\xd4\xfe\x06\x1f\xdfBM\x12\x8dm\xacQO\x08&\x16D\x1ac\x0c5\xa7]\xfcQ\xdf\xf9\xd2k\x91J\xf1\x0e_\x9a\x90\x1a~\xb6\xaeK%\x1c\x18\xef\x08p\x95\x91i\xe3\xb0\xb9\xb7?\xcc\xda\xf1G\xee\xf0\xbb\x16\xc27\x8d\xed\xbf\x86>\xdc_:b\xd9.m\xe5'\xde\xfeQ\xc5\xe7t\x85\x97=\xcf\xf5\xbf\xbd\xdfC_\x90B\xafU,\x0a\xafZ\xa0%l\xaf\xe7\xe5\xf3/{\xf6\xaaK\xb8\xa6]H\xd7v\xa9m\x9e\x8a\xb6\xf3\xeal\xef\x91\xedR\\Z\xb0\xe6\xd4\xf9C\xf8t\xb3\xcd\xb3\xeb\xd4k\x1b<\x95\xaf_\xa3f\xa3\x16\xbc\xd3Sq\x0fY\x89\xbf\xbf\xcc\xee\x90\xfd\x0d}02R\xbe\x7fd$H5\xf6Q\xf9\xa5\xf3#wc\xf6\\\xac\xaes\x06\xd5l\x81\\\x9a9f\xd4H\x12\x18\xa5\xecuc/\xed\x9f\x1e=\x11\xea/\xfd$\xf4\xdc\x96\xcf\xc9AE\xe5\x9e\x0d\xfd\xa7W-\x9a@\xd4\xa49P\x9fT<\xd6v\xf4QO\xe9[\xff\x84[\x89\x1djv\xbb\xf7F6\xee\xff\x20\x14\xda\xb9\xec\xd2W\x89\x0d_z\x90\x1a~\x8e\xaeK-\xc7\xa7\xfc\xc7mfL\x0b_U\xeceL\x12\x98\xf7\xf6\x1fP\x7f\x96~\x82?\x99\xb5\\\x19\x08\x1dzt\xc1\x96k\xc8R\xe1\xe2\x96\xcaE\x9b\x8dk\xba\x11\xae/:\x8a^\xaf\xd0\xde\xf4\xc3'\xd6U\xac;\x156\x96\xa0\x9d\xcf\xfe|s[M\xe9\xb2-\xefQ\xed\xd2L\xecz\xec\x91\x8dok\x0d\xac*\xaf\xdcuzU\xe9\x16z6r\xc1\xa7+<1\x0d$\xd0_fw\xc8\xfe^\x8f\x8c\xcei\xaa\xb1\x0fJqY\xe9f\xebY+\xa3\xeb\x9cA5[\x20\x97f\x8e\x195\x92\x04F){\xdd\x98K\x0b\xab\xfb\xd9\xfeG<\x15\xfdx)\xc4\xa0\xa2\xf2\x9f\xec_\xb4l\xaf\xf66AL\x12\x035\xb1\xf3\xd1\x9a\xc3o\x95\xea\x8d\xc5\x0c5\xa7\xddSxu\xae\xeb7#$6|iAn\xf8g\x16\xafx\xfe\x991\x99=\xbc\xed\x89\xdd\xf3\xa7\x9b\xaf*\x0e|\x15\x0e\xdf\xbb\xbe\xeb\xd1d\x97=\xfd\x16R\x01q\x8f`<\xb7\x0b\xa6j\xa8\xe5\xae\xbc\x93\xc3\x9f\xdd\xdf\xe5\x0d\xbf\xb5(\x03+\xf5\xb6~_\x00\x0aWZ\x0f|\xe2e\xfa-\xa4\x82\x84\xc2\x9f\xba\xa1\x96\xbb\xf2N\x0e\x7fvs\xb7\x92\x7f\x9fo\xfa\xf80\xf2)\xd5'\x1e\xc6\xd5\xc6\xb8\x98~\x0b\xa9\x20\xa1\xf0\xa7n\xa8\xe5\xae<\x84\x1fH%\xe1\xfd\x15\x07\xfa\xdf\xeb?P\x91\xf4\xaep\xfa-L\x1f\xfd\x12\x9cuR\x02rW\x1e\xc2\x0f\xa4\x96w\x9eZV\xba\xec\xe9\xe9\x1c\xb5N\xbf\x85\xe9\xa2]\x82\xbbc\x9d\x94\x82\xcc\x95\x87\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0\x03\x80C\x81\xf0g\xf9-\xfe\x00\xc0Cn\xf8\x99\xba\xaeP\x87\xf6\x10\xaf\x8e\x14\xdd\x1e\x9d(6\xba.\x93\x03\x12<K\xfb=\x1eO\xc5\x84\xa8V\x8a\xe8\xd7\xbeNZ\xb93\xde{\xd7\xd8k\xfcAe\x1c&3\xe9\xa4F\xd7\x95\x96m\x8c\x12k7\xcd\xa3.5\xfcl]W\xd0\xfb~@eR4w\x9a\xb0\xd1uq\xedVi\xf1,}>2rJ\xa0\x08\x11\x12\xb7\xe5+\xf8\x8e\xe7\x95\x91\x91\x9f\xaf\xab\xb4>\xf2K(\xe6\"+\x9c\xd6\x9fc9\xc3H\x8d\xae+-\xdb\x18%\xd6n\x9aG]j\xf8\xd9\xba\xae`\x06\x9e\xdcib\xaf\xeb\xe2\xd9\xad\xd2\xf4\xa8\x15\x91\x1fHH\xfc\x96/\xfd\xa1\\_WXc\"\x14s\x91\x15\xfaS\xb1\x8bM\x03\xe2/\xe2\xc5A\x9a\xb6qB\xed\xa6w\xd4\xa5\x86\x9f\xad\xeb\xcal\xf8\xedu]I\xda\xad\x92e\xda\xe1\x8f_\xab\x15y\"\xdf:\xeb\x0c\xc2\x16\xc8\x0a\x97<\x97\xf8\x153\x88\x94\x8d%\x95\xb4\x8c\xba\xdc\xf0\xab\xc4\xea\xba2\x1a~;]\x17\xc7n%\xf6,\x91\x02\xad(\xcf{<?\x8fH\x9d\x89\xd9h\x19\x14\x11~\xc3\x0b\xc5\x16s1\x9dW\\\xcb\x17\x0b=\xfcw\x17\xbcF\xf6\x8c\xd3\x82\xb9\xc6\x96\x0a\xd7\xa3\xf6r\xd6\x1a\xd3\xa5Q\xd9\x16\x01i\xe32W\x88vt\x09\xc5gL\xd3X\xf9\xa1\x03\xcb\xf4A\xe5\xb4KJ\xb1X-p\xb6\xb1\x09\xc7\x97fL\x9a\x83J\x99\xbb\xc4\xaf\x1d\x93dG=~$\x87\x9f\xa5\xeb\x0az\x07\xde\xf0\x1e\xf7g\xe6z\x9f\x9d\xae\x8bg\xb7\x12y\x96H\x81\x96\x81~\"\xaaI\x9d\x89\xd9(\x19\x14\x11~\xd3\x0b\xc5\x16s1\x9dW<\xcb\x17\x93\xbb\x9e\xd3\xa1\xe0\x07\xeb\xd6\x04\xc9\x9e\xf1Z0\xd6\xd8R\xe1n\xa5~\xac\xc4\\cZ$\x16\x95m\x11\x906.s\x85hG\x97P|\xc6\x14\x94\xe1gn\xf6\xaf\xc3\x83\xcan\x97\x94b\xb1[`nc\x02\xf6f1'\x89A%\xcd]\xc2\xd7\x0e\xb3\x0f\x09\x8dz\x02H\x0e?K\xd7\x15\xf4v^U'\xbb2\x91~\x91\xae\x8be\xb7\xc2\xd8z\x96(\xd1\x95\x09\xf1\xe4hB\x1cEx\xa1\xcc\xf0\x13^(\xb6\x98\x8b\xe7\xbc\x12\x1e\xb4\x1b\xdc\xd5\xf6%\xab\xb4\xf7;\xf2\x99\xd6\xbc\x16\xa2k\xcc\xac\xc0^c\xa2\x94\x12\x94\x11\x186.r\x85\xccR\xa1\xf8\x8c#(+_\xa3\xb6\x16Z\xb5\x91\xd7.\xb1\xb1\xf8\x8a\xb3\xd8mL\xc0\xde,\xe48\x98\x83J\x98\xbb\xd8\xed\xf2\x1d]I\x8cz\x02\xc8\x0e?BV]\x17\x0a\x8fk\x93\x1dC\x82\xf9\xd2\x81H\xd7\xc5\xb2[al=K\x94\xe8\xca\x84\x0c\xbf)\x8e\"\xbcPf\xf8I\xc9\x14S\xcc\xc5s^%\x12\xfe\xa3\xd7\xae]<\xa0}j4\xed\xf0\xb3\xd7\x98(\xa5\x04e\x04\xa6\xfb\x8bX!\xb3T(>\xe3\x08\xca\xca_\xc1?\xb5Ae\xb6Kl,\xbe\xe2,v\x1b\x9307\x0b9\x0eD\xf8\x09s\x17\xb3]\xbe\xa3+\x89QO\x00\xa9\xe1g\xea\xba\xa2\x7f\xf4\x9fd\xcf\x94N\x84\xba.\x96\xdd\x0ac\xefY\"EW&d\xf8-\x93\xba\x17\xca\x0c?!\x99b\x8b\xb9x\xce\xabD\xc2\xaf\xed\xebv\xadB\xf1\xb5`\xfb2\xe4\xac\xb1YJ\x09\xca\x08\x0c\x1b\x17\xb9Bf\xa9P|\xc61\x8d\x99\x83\xcan\x97\xd8X|\xc5Y\xec6&`o\x16r\x92\x08\xbfi\xeeb\xb7\xcbwt%3\xea\xf1#3\xfcl]\x17\x1a\xf0i\x93\x83>\xee\x8ciC\xa8\xebb\xd9\xad0\xb6\x9e%Jte\xa2\xd5=\x1a\x13~\xd3\x0be\x86\x9f\x90L\xb1\xc5\\<\xe7\x15\xcb\xf2\xc5&\x12\xfe\xd3\xf8uG\xf4\x8c\xdb\x02\xfd2\xb4T`\xaf1QJ\x09\xca\x08\x8c\xd74\xb9Bf\xa9P|\xc6\xa9P\xae}f\x8b\x07\x95\xdd.\xb1\xb1\xf8\x8a3\xdb\xf0\xb37\x0b9\x0e\xe6\xa0\x12\xf2\x1ev\xbb|GW\x12\xa3\x9e\x002\xc3\xcf\xd1u\xf9\xb4]\xfeT\xc7\xfb\xb6\xf3\xa6\x03\xb1\xae\x8be\xb7\xc2\xd8z\x96(\xd1\x95I\xc5a\xf5\xfdocL\xf8M/\x94\x19~\xc2\x0b\xc5\x16s\xf1\x9cW\xa4\xe5\xeb\xcek\x13\x88O\xa4\xd6\xdeG\xc2T\xcf\x98\x9e0\x8c\xf12dU`\xaf1QJ\x09\xca\x08\x8c8\x92+d\x96\x0a\xc5g\x9c\x0a\xe5\x8f\xe1s\xfe5[x\xed\x12\x1b\x8b\xd3\x02\x12\x84\x9f\xbdY\xc8q0\x07U\x18~\xbe\xa3+\x89QO\x00\xa9\xe1g\xeb\xba\x02\xde\xbe\x9b\x81\xcb\xed\xbe\xa4\xaf[$\x8dH\xd7\x85\xb7M\xac\xddJ\xe8Y\xa2DW&\x9b+_\x7fm#\x16<Q\xe2(S\x06\xa5\xdd\xe1wB\xb7S\x99^(\xb6\x98\x8b\xe7\xbc\"-_;=\xcf\x20.!\xed\x0e\xbf\xb7\x9f\xf3\xbcN\xf6\xcc\xd2\x82Q\xd9XcN\x05\xf6\x1a\x93\xa5\x84l\xcb\x80v\x95EW\x88rt\x09\xc5g\xec\x0a\xe5\x9e\xa7\xaf]\xda\x8c\x07\x95\xdd.)\xc5b\xb6\xc0\xde\xc6\x04\xbc\xcdb\xae\xb11\xa8\xa4\xb9K\xf8\xdaa\xf6\x01%2\xea\x09\x205\xfc\x1c]\xd7\xe4\xc0\xf1\x0e\xdf\xb8\xfc\xec\x0bu]l\xbb\x95\xd0\xb3D\x89\xaeL&\xb6,x\xe4\xa9W\xd4\xba\x948\xca\x94A\xed\x8f\xb4\xab\xed\x9e\x0c/\x14[\xcc\xc5s^\x91\x96\xaf\xd3\x956w\x81\xea\xf7\xf6\x97\xae\xd3\xaa\x18=\xb3\xb4\x10\xc5\\cN\x05\xf6\x1a\x93\xa5\x84l\xcb\x80\xb4q\x99+D9\xba\x84\xe23v\x855m\xbb\x1e\xd1\x07\x95\xdd.%\xc5b\xb5\xc0\xde\xc6\x04\xec\xcdB\xae\xb11\xa8\xa4\xb9K\xf8\xdaa\xf6\x01%2\xea\x09\x207\xfc3\x8bT\xea\xba\x92\xf6,\x95\xb7!@2Io\xac\xf4\x90\xb1\xee89\xfc\xa9\xfc.o\xd2\x9e%\x08\xbf|\x92\xdeX\xe9!c\xddqr\xf8SI\xd2\x9e%\x08\xbf|\x92\xdeX\xe9!c\xdd\x81\xf0\xa7\x86$=KreP\x80N\x92\x1b+]d\xac;\x10\xfeT\x91\x94gI\xb6\x0c\x0a\xd0Ijc\xa5\x8f\x0cu\x07\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x9f\xd2[\xfc\x01`\xf6\x207\xfcL]\x97\xca\x8d\xbe\x8e\xee\xcbv3\xa6\x11{]\xd7\xd7\x07\x96,xF\xff\xdeE\"\x9e%\x06\x91\xaf\x94z\x92W-Y|^\xfa\xd3\xb6\xe3\xab\x1b'|\xd1U\xec\xca\x9fb\xd6MR\x95\x95\xe8l\xc4f\x89B\xacqr+\x9f6fl\xcf\xa4\x86\x9f\xad\xeb\xc2O\xf1\x1e\xba=\xea\xbd-\x9a==\xd8\xea\xba\xd0\x8f\x96\x9c\xda_\xa1\x7f\xd32\x11\xcf\x12\x83\xf0\x07\xda\xb3:>\xd0\x1ea\x10\xb7V\x8b\xc4\xea\xf3\xd2\x1e\x0c\x1dg\xdd\xf8\xe0\x8b\xaebW\xfe\xde\xc8FF]n\x0b\xec5\xe6\xe8\xd0b+X\x206K\x14b\x8d\x93[y\x94\xd8f\x89\xbfn*z\x96\x16\xa4\x86\x9f\xad\xebB\x03\xed\x01\xfc\xc6pC0wz\xb0\xd7u\xdd\xf3\x9c@\xc6\xe3Q\xa7\xfd\xb8\x11\xd3\xc9\x11\xbfV\x8b\x86V\xfa\xc4<R\x96\")\xfd\x0f\xf7K\x86\x8c\x95\xdf\xc9\xac\xcbi\x81\xbd\xc6<\x1d\x1a\xa3\x02\x09\xb5YL\x885Nj\xe5\x13\xda,\x89\xd4\x9d~\xcf\xd2\x82\xd4\xf0\xb3u]\x01\xef\xfb\xc6\xdf\xe4c\xaf\xeb\x9a\xf0L\xebP\xdf\x82\xb9\xdd\xe3\x7f\xca.M\xe6\xc2\xcf\x20\xa1\xf0\xb3\xd7x\x83(\xfc\xec\xd98\x9be\xda\x11Kd\xb3$Rw\xfa=K\x0br\xc3\xaf\x12\xab\xeb\x1aj\x0fM\x7f\xa7\x9a,v\xba\xaeP\xa5~\x96\x8e\x8f\x07x\xfe&\xa6-\x8aGd\xbbs\xb5Z\x13\xbb*K\x97<\xa3\xbd\x03E\xedV\x84K\x8bhA=N\xde\xbbl\xd1.\xeba?\xe9\x90\"\xea\x0a\xacYT\x05\xc3JF\xda\xad8+\xaf\x86\xff\x90\xfa\x87\x05\xf4\x83o\x0dU\x96P\x03\xc6\xd1\xa1\x99k\xc1\x9e\x8d\xdc,\x9c5\xe6\xac<\x01c|\xd9K#\xd7\x98\xd93\xa2\x05\xb6\x7f\x0c\x13\xdb\xb3\xf3\xea\xdc\xafD\xd4c\x99Br\xf8Y\xba\xae^\xdf\x8d\x93\xde\xe3\x17\xe2MPj\xb1\xd3u\xa1\x8fF\xfa=m#\xfa\x93\x1b\xd9\xfe&\xb6\xeb\x89Gd\xbb\xf3\xa4X\xefUlx\xfdb\x9b\x07;\x9b\x0c\xbb\x15\xa1}\"Z@\x13\x8bV\x9d~\xe7)\x8f%\xfc\x84C\x8a\xa8+\xb2fQ\x15\x0c+\x19e\xcdb\xaf\xbc\x1a\xfe\xbb{=',\xcf#0TYB\x0d\x18G\x87f\xae\x05g\xa0\x88\xcd\xc2^c\xc4^y\x02\xd6\xf8\xb2\x97F\xae1\xb3gD\x0bl\xff\x18&\xb6g\xa1\x0fj\x0e\xdcE_\xb5-\x1a\xc9\xcc\x0b\x1f#9\xfc,]W\xb7\xa6\xeb:\xde\x9d\x89A\x10\xe9\xba\xa8\xe3\xcbX\xcf\x12\xdf\xf5\xc4\xc4\xfe\xb0?T\xf34~\xe0t\xff=\xdanE=9:\xda\xc2\xe6U!\xfc\xe4hK\xf8)7\x95QWh\xcd\xa2$S\x84\x95\xcc\xb0[a\x18\xf2*5\xfc'\xcac\xbe\x84n\xaa\xb2\xe2\x90\x81\x10\x87\xfd\xc6\x82i\xc3\x96\xfda?{\x8d\x11s\xe5\x09x\xe3\xcb\\\x9a\xb9\xc6\x9c\x9eQ-0\xfdc\xccc\x926|\x88\xb1\x97\xf9\xc4xI\xc8\x0e?B1\xba._;~}\x05;\x86E3\xa6\x01\x91\xae\x8b\x1d~\xc3\xb3\xc4w=1\xb1\x0f\xffy\xf3)N\xa4\xdd\x8a\x15\xfe{\xfa#]\x8fZ\xcf\xf9I7\x95\xb14\xa15\x8b\x92L\x11V2\xd3\xa5\x85\x98\xf2\xaa\x9dmG\x19\xe7\xde\x84*K\x98+2A\xe6\x82)\xc3\x96\xe0\x9c\x9f\xb9\xc6\x88\xb9\xf2\x04\xbc\xf1e\x87\xdf\\cv\xcf\xa8\x16\x98\xfe1f\xf8?\xf7|\x82B\x8f\xa4\xc8\xb6\x9d\x14R\xc3\xcf\xd6u\x0d\xea\x9e\xae\xc1^\xee|iC\xa8\xebb\x87\xdf\xd8\xd8|\xd7\x13\x13\xfb\xf0\x9f\xf0\x18/Q\xd2n\xc5\x0a\xffu\xcf\x08\"J\xa3Pn*siBk\x16S2\x85L\xbb\x15\x86\xa1\xb0\xd8\xb9\xe4\x915\xb1\xeb\xa1\x9f\x1fh\xfe1a\xae\x98\x09\xa2\x0d[\xf6\xe1\xe7\xac1s\xe5\x09x\xe3\xcb\x0e\xbf\xa8g\xcc1\x13\xf7\x0c=}\x18]\\\x94\x89\xe3\xdd(2\xc3\xcf\xd1u\x8dvh\xef\x09\x033Q\xd7%\x08?\xdf\xf5\xc4\xc4\x12~\x8b}\xe9\x12\xb1\xe7'\xecV\xda\xd2\xa2\xfb\xf8H\x0b_{\xb4\x8bv\xd6\x0b~\x94\x9b\xca<\xed\x15Y\xb3b$S\xac(\xb0\xc2_\xf9\xc9\x9dE\xb4U\x1aW0TYT\xd7YkL\x96\x9a\xed\xc6\x1a\xb6bf36\x0b{\x8d\x11s\xe5\x09x\xe3\xcb\\\x9a\xb0g1-\x20k]v\xf8\xdf\xa9\x0c\xed\x8f\xf3\x981=\xc8\x0c?G\xd75\xa5}\xd4\x17l\x97\x7f\x8b\x9fX\xd7%\x08?\xedz\xb2\xf7c!r\xbb\xb3\xecK\xa1e[\xf0\x98\x1c:D\xdb\xadH\x97\x96\xd1\xc2\xc6\x1a\xf5\xa8zb\x81%\xfc\x94\x9b\xca\xa8+\xb4f\x91\xda\xa7\x84\xc2\xafN\x9e/\xb5>\x7f\xd4Te\xc5\xa1\x01c\xe9\xd0\xa8\xb5`\xcffl\x16\xf6\x1a#\xe6\xca\x13\xf0\xc6\x97\xb94a\xcf\xc8\x16\x8c1\x13\xf6\x0c\x7fl\xf1\xce\xa3\xd1\xa3~\xe1k'\x1dH\x0d?[\xd7\x85.\xb7_\x0e\x8cw\x9e\x94\x7f\x00$\xd2u\xe9\x97\x95\xaf\xe1\x03\x13\x8e\xbf\x89r=\xd9\xfa\xb1\xa2w\xf8]\xd3V\x93e_B\x97\x16\xac9u\xfe\x90v:O\xd8\xadL\x97\x16\xe1\xf3\xfa\xa4\xe2\xb1\xb6\xa3\x8fF\x0c[\x06\x84C\x8a\xa8+\xb2f\x11\x15\x88u#\xedV\xcc\x95\xbf7\xb2q\xff\x07\xa1\xd0\xcee\x97\xbe\xa2Z3UYB\x0d\x98YJ\x0e*\xb1\x16\xec\xd9\x88\xcd\xc2^c\xce\xca\x130\xc7\x97\xb9\xb48zf\xb4\xc0\xf6\x8fqz\xa6\xf2\xf2\xe3\xc6\x85H\xfb\xd7N\x9a\x90\x1a~\x8e\xae\x0b\xdd\xee\xed8yY~\xf6E\xba\xae\xd0\"\xed\x84\xbet\x02\xf1\xfdM\xa4\xeb\xc9\xd6\x8fE\xdf\xdb\xcf\xb2/\xe1\xcf\xf9\x1f{d\xa3fi'\xecV\xa6K\x8b\xf4yM\xec|\xb4\xe6\xf0[\xa5\\\x87\x14QWd\xcd\"*\x10\xebF\xda\xad\x98+\x7fJ[\x19\xac\xfd:J\xb5f\xaa\xb2\x84\x1a0\xc4\xd4\xa1\x11k\xc1\x9c\x8d\xdc,\xec5\xe6\xac<\x01s|\x99K\x8b\xa3gF\x0bl\xff\x18\xa7gxFs\xf3\xd9\xbfv\xd2\x84\xdc\xf0\xcf,R\xa9\xeb\x02\x80\x84\x09\x95'\xef\xd9K\x05N\x0e?|\x97\x17\xc8(\xfd\x95q\xde\x1d\x96&\x9c\x1c~\x00\xc8\x1cm\xef\xa1\x1f\xb5\x89*\xa5\x17\x08?\x00d\x80\x90g\xc3\xf3\xcb$[y\xad@\xf8\x01\x20\x13\xb4Ul\x99\x10\xd5I3\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10~\x00p(\x10\xfeYA\xef\xe2I\xea\xffS\x8bm\x9e{\x04\xdfY\x00\xe2Bn\xf8Y\xba\xaeP\xa7W\xe7\xb8`f\xe9lSr\xbaEu\xa6K\xa3\xa2(y7E\xb5Z\x94fkI\xceAfMd\xeb\x1fK\xce\x16\x15\x97K+V\xa0\x15\xd7l@\x06\x91\x1a~\xa6\xae+\xe4\x1d\x0d\xa8\\\xf6^\x15\xcd.\x9b\x80?\xd7\x9a9\x9d\xc1Qfq2\x04\xfc\xfeVeHP\xa95\xa7#\xa6\xcc7\xb7\x95Q\x13c\xe3\x1fK\xcc\x16%ti\x91\xc4\x0a\xb4\xe2\x9a\x0d\xc8\x20R\xc3\xcf\xd6u\x8dk\x0f\xef\xed\xbc\x20\x989\x13\xb8\xd8\xe1_X\xcf,N\x92aQ\xf8o\xbb\x9a\x18\xa5{\\\x01F\xa9\xc8?F>PJ\x84\xd0\xa5E\xc0\x14h\x89g\x032\x89\xd4\xf0\xb3u]\x1a\xbe7\xe4?\xc9G\x0c'\xfceu\xcc\xe2$\x11\x86\xbf\xb1\x88\xa52\x0b\x1652JE\xfe\xb1D\xc2/ti\x110\x05Z\xe2\xd9\x80L\"7\xfc*\xb1\xba.\xcc\x0d/}AK\x02\xa1\xc2\xdc\xa6\xe2\xa2\xc1\xed\xee*|\x16RW\xe4*^\x89O<n\xccU\x94\x95\xa8XQ\xdc\xea\xbb\x91k{c\x91{\xa5zJ\xeeSO\xcd\x9bP\xb3\xfa\xb3\x1bOb\xca\xb4V:\x17\xe7\xcf\xdf\xa1e\xd3\xbf\xbc8\xd7\xbd\xa28f9\x1d\x85^\xfc+P\x10\x99\xaf\xc0\xba\xc36\xc3\x1fml\x9b\x92\xeb\xdd1?o\xb9^3T\x10\xdd\xf1\x8f\xed\xdbT\xbbv\xdf\xa6\x07\xfa\xff\xf6\xe4\xb1\xde\xfbI\xf1\xdf\x00\x00\x20\x00IDAT/\xed\xfcc\x183\xfcQ\xd3\x18\xa5\xe0\xfazo\xe5c\x87\x0fWV\xf4s\\Z\x14Q\xe7\x15)\xd0\"1\xcc]\xc0\x8cDr\xf8Y\xba.Lw\xf4\x08@\"\x83\x05\xca\x8e\xa5\x8a\xfb`a\x0b\x0e\xf7\x93\x83\xdd+s\x86\x11\x0a\x0f5\xe7\x0c\xa1\x0e\xa5\x13?R\xd8\xa5\x94uu\x95\xe5\x8d\xa3\xe0\x85\xe2m\x93h\xb2\xb9\xc0\x1f\x0c^\xf0\xcf\xaf\xf2\xfb\xfd\x9aT\xb81g\xbb\xaf\xb5\xb0,\x8c#\xbc\xfe\x8d\x01\xaf[\x89\x09\xe4\x13\xcar\xfc+\xd4\xd1\xaa\xd3a\xada\x84\xdfh\xec\xc6\xf1\xb9JasK\x81~\x801\xaa\xe8O<G\x1f\xff\xd9K\xe7\xae\x9c][\xfd;\xfd\xbf\x17\x98G\x0c\xb6\xfe1D\x84\xdf0\x8d\x91B\xaa\xd0\x9ae\xa7\xda\xca+N?u\x82\xe3\xd2\"1\xdd_\xa4\xd7\x8c\xc00w\x013\x12\xc9\xe1g\xe9\xbaP\xf4b\x80l\x8a\xd6\xab\xa1\xf7\xa1\xc6'\xd5=\x7f7~G*{B+o\\8U\xac_Kw\x95\xe0\xc7P\xcf_\xacN6\xe3=\xfdz\xfdH\xdb8\xec\xf7)\xf8J\xdc\xb0\xd2\x85Pk!^\x95Vw\xcc\x83\x99n\x1f\xbc\xad\xfd\x9e\xbc\xad\x13s\x88\x13\x0d?\xd1\x18r\xb9\xd5\x01Y_\x18)\xd7\x1b@g\x1ap\xec\xcf\xac\x8e\xec\xf9\x03\xca\x1b\xd6\xa6\xc4\xfe1#\xfc\xa4i\xcc\x14R\xf5cw\xc0)\x8f\x1eW\x96K\x8b\x80r\x7f\xb1\x0f\xfbMs\x170\x03\x91\x1d~\x84bt]*\x03i\xffH\x8dEQ\x17\x1aR\x82\xa8\x09_\xbe\x9bj]>\xaf\x20r(\x1f*+\\\xa9\xd7\xd0\xaf\xb4y\x95)\x1c\xb5q\xf5\x00\\?@1\xc2_?/\x84)V\xdf\x13\x02E\xf3\xb6y\xdfgH\xe3#\xdcV\xa2\xdc\xb6\xfc%\x1a~\xa21\xe4\xc2?\x9a]Zyot\x8e/\x1b6\x1d;\xfb\xe9\x83o#\xf3\x05\xb4\xb7\x09\x0b\"\xff\x98\x11~\xd24f\x0a\xa9^^\x84p\x90\xb5'\x08\xb3]Z&\x94\xfb\x8b\x1d~\xd3\xdc\x05\xcc@\xa4\x86\x9f\xad\xebR\xe9\x90/\xecP)\xeaC\xc3j\xbep\xf8\x87\x0b\x8b\x9bN\xfa\xab\xf4\xf0\xa37\x94\xc8G\x0f\xfa\x05?\xbf\x82?\xda[\xb1\x03\xf5\xb9\xf5l\x1b\xe1/\x8b\xe4\x19\x1f1\x04\xbdu%\x0a>\x85\xe0\xe0\xf7\xe9\xf8\xad\x7f\x88\x86\x9flL[p$\xfcC\xc6\xe1\xfd\xfd\xb3/l\xad^\xdb\xf3\x20:_\xec\x07$B\xff\x98\x11~\xd24fj)Nx\xbe\xc6;\xf3\x98=?\xa1\xf20\xa0\xdc_6\x17\xfc4s\x170\x03\x91\x19~\x8e\xae\x0b_\x09\xb0\xee\x0d\xa5@\x84\xbfd1>\xec\xaf\xd3\xc3\x1f(\xdaS\xac_\x88t\xed\xc0?\xdb\x15\xfcG\x9f;\xd4\x18\xb9\xbe\xae\x85\xbf\x1d\x1f\x98\xcf\x1b\xd5Pk_\xc6\x07\x09\xc1\xae<\xde\xa7\xef|\xa2\xe1'\x1a\xa3\xc2\x1f\x8c~\xe6p\xebU5\xf6\xf7\xcf\xd5\x9e\xd1\xff\xdb\xec\x8a\xfd\x10@\xe8\x1f3\xc2O\x9a\xc6\xccl\xdf\xf1<}\xe7\xa3U\x9b\xf57i\x96K\x8b\x80r\x7f\xb1\xc3o\x9a\xbb\x80\x19\x88\xcc\xf0st]\xf8\x94?#/\x0f\"\xfc\xc58\xce\xe12-\xfc\xa1\xc5{\xd0\x93K\xb5\xd7\xbf\xab\x18\x9f\xb4\x96Ti\xc5n\x9f;r\xe5\xadJ-\x98T\xd4S\x95>E;_\xd9sP\x8d\xa2\xa2\xad\\\xd56\xebR\xa2\xe7\xfc\\\xa2\xe1'\x1a\xa3\xc2\xaf\x9e\x0f\xe8a\xec\xa9\xbe\x82\x7f\xed>\xa2\xfd/\\\xb2\x02Y\x11\xfb\xc7\x8c\xf0\x93\xa613\xdb\x1fz\x96x<[\"\x17\xeeX.-\x02\xca\xfd\xc5\x0e\xbfi\xee\x02f\x20R\xc3\xcf\xd1u\xa1\x1b\xdeL|\xc8\x7f\xc3\xdd\x12\xec\xca\xbd\x1a\xac\xaf\x0a\xa8\xd1\xadk=X\xa6\xb8[\x86B\x17\xb6\x15\x06\xd0\xed\x82\xed\x17\xf0G}\xca\xf2\xa1\xc1\xc5n=\xbdM\xf3\"G\xfdj*[z\x97\xe6\xe3k\x94MJ}wo\xa3\xd2\x89\xc3\x9f\xdf\xec;\xd9\x18\xbd2o\xb2R\x89\x0d\xa9\x89v\x87_\x8b\xdfO5\x16\xf0\xe76\x0e\xa1\xd1\xc6\\\xad\x18\xdd\xcc\xd1O&z\xaak{\xde}\xf7\xa5\xea1\xed\x7f-J\xec}\x86\"\xff\x18i\x8b2Lc\xa4\x90\xea\xa3\xf2K\xe7G\xeeF.Z\xb2\\Z$\xa6\xf3\x8a\x10h\x91\x10\xe6.`\x06\"5\xfc\\]\x17\xe3\xb2u\xda\x09\x17*\xca\xf1\x02%\xbf\x1b\x9fe\x87[\xe6\xbb\x0a\xeb;\xe6\xb9\xaa\xfa\xd4\xb3\xee\x1dh\xbb\xfaS\x8dqIs]A\xd1\xfa\xc8'\x117\x95'#\xb3\x86\xb6\xbb\xf3\xaa\x86\xb5\xc9\xbe*\xb7{1\xde\xe7wV5\x17\xe7\x16U\xc5d?\xfa9?\x87\xc6\xc8\x89\xbev\xcf`\xb4\xb1mjA\xeex\xbe\xfaS?\x8e\xd8\xf3=\xed\xec\xfe\xec\xee\x9eM\xb5\x0d\xbb\xf5\xec\xfb\xf3v\xc44&\xf2\x8f\xd1\xb6\xa8\xa8i\x8c\x14R}P\x8a\xff\\\xbaY;\xe9g\xb9\xb4H\x0c\xe7\x15)\xd0\"!\xcc]\xc0\x0cDn\xf8g5AWl\xb2%\xb1\xdde\xfd8\xa4\xcb\xd5\x18{\xb44m\xff\xd8W\x15\x07\xbe\x0a\x87\xef]\xdf\xf5(\\\xa0w\x00\x10\xfe\xb8\xe9v\xc7\xc6M\x16-\xc5\x96\xaf\xf4\x16\xb1\xbe\xd47\xed\xef\xf2\xbe\x1d\xb1\xc6\x86+\xcf\x0bj\x02Y\x00\x84?>\x9a\x07\xd1R\xf6\x8d\xfe\xd9\xc4\x87\x91\x0f\xf9>\xc1\xf7\xfa\x00\xd9\x0e\x84?.\x82J\xd96\xe6\xd7k\xb2\x8b\xf0\xfe\x8a\x03\xfd\xef\xf5\x1f\xa8H\xea\xb8\x01\x98e@\xf8\xe3\xa39\xbf\xea\x86\xa8N6\xf0\xceS\xcbJ\x97=\x0d\x07\xfd\x8e\x00\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x0f\x00\x0e\x05\xc2\x9f}L\xfb\x16\x7f\xc0\x19\xc8\x0d?K\xd7EMf\x08\x19b.\x84.\x94\xe5/\x1f\x12U\x9a>6\xba.\x11\xd30l\xcd\x08]\xd7\x9dR\xcf\x9a8K/V2\x9e>\x12%\x03]\xcf\x04R\xc3\xcf\xd4u\x91\x93\x99B\x86\x98\x0b\x0d\xb8\xd6\xbfQ\xefJ\xff3\xcamt]\"\xa6a\xd8J@\xd7\x15\xd5\x80\xa5\x81k\xfb-\x8f\x1b\xe2\x96\x9e\xaf\xb0\x89\xf74\xc6a6!5\xfcl]\x171\x999\xd2/\xe6\x0a\x15\xe2's<Y\x94\xee\xef\x05\x0bt]\x02\x92\x95\xec$\xa2\xeb25`\xa9\xc7\xfa\xac1~i\xcc3\xd6)\x92\x1d\x87Y\x85\xd4\xf0\xb3u]VsWFH\xbf\x98\xcb\xeb\xc2_\xc9\x0f\xe4\xda=\xd7'\x15\x08t]\x02\x92}\xd1'\xa2\xeb\xda0#\xc2oO\xb2\xe30\xab\x90\x1b~\xc4\xd2uY\xcc]\xd2\xa0\xa4X\xe9\x17s=\xa1=\x06\x14U\xa5\xee\xed\x84\x89\x9d\xae\x8b\x10s=\xef\xf1\xfc\\?\x19\x0e/)}\xe5\xb1e\x97\x0e-\xda\x82W\x8e4lE}^\x1f\x95z<G'\xf6\xd6,x\xda\xb2\xb7\x8c[\xd7u^\xfd\xe3+\xa8M\xfdIk\xc0\x8cE\x204\xf2TMi\xe535\x96\x16\xd8N14\xb1\xab\xb2t\xc93\xda;[\xb4\x0f\xea\xb1\xfa\xdee\x8bvE\x0e\xf0\xcdv\xc9R\x83{\xf8\x99d\xdaa?\xdd\xae\x89#Lc\x92\xc3\xcf\xd4u\xd1\xe6.iPR\xac\xf4\x8b\xb9J\xf4'\x006\x96XgK-v\xba.B\xcc\xa5\x9f\xd5j'\xc3\xef-\xf2\xfc\xe4G\x9e\xca\xd7\x96\x9c@\x94a\xcb\xf0y\x85\xfa\xfbkV=\xf2\xd8O\xf6zh\x0bH\xfc\xba\xae\xd0\x075\x07\xee\xa2\xaf\xda\x16\x8d\x84(\x0d\x98\xb1\x08t\xdd\xb3\xb7\xff\xe2\xe9J\x8f\xe5\xed\x85\xe9\x14C\xefUlx\xfdb\x9b\xe7\x04\xd5\x87\x89E\xabN\xbf\xf3\x94\xa7\x9cn\x97,%\xb8>2\xa2\xef\xdb\xa9v\x09\x1ca\x1a\x93\x1c~\x96\xae\x8b6w\xc9\x84\x90b\xa5_\xcc\xe5\xd6u\x9bMn\xebl)E\xa0\xeb2\xc5\\\xc4\xe3\xb8\x97\xedUw\xcd\xef\xa0\xfd\xb8\xbai\xd8\"}^h\x83\xe7G\xc1\xc8Y\x9bAB\xba\xae6\xbc\xa7\xdf\xab?M\xdc8\xec'\x16q\xaa\x12\x0f\xe7\xa9E\xf4\xa0\xb2\x9db\xa1\x9a\xa7q\xbb\xfd\xf7\xa8>l^\xa5\x16\x86\xd7\x95\xd3\xb3\x11\xa5\x16\x16D\x0e\xec\x89!!p\x84iLv\xf8Q\xac\xae\x8b6w\xc9\x84\x90b\xa5_\xccU\xb2^\xfbU\x9f\xde=\xbf@\xd7e\x8a\xb9\xc8\xf0\xf7\xabA\x09\xa2\xc3\xcf!\xd2\xb0E\xfa\xbc\xd0\x86\xf2\xd8\xb6\x12\xd2u}\xeeQ\xf7\xff\x8f\\\xd2\x8a\x8d\xf0\x13\x8b\xf8|Y\xcd\xf3\xa7?\xb2\x0e*\xdb)v\xde|\xc8\x98\xd9\x87{\x9e\xd3x\xeah95\x1bYj\xc1\x08\xbf9$\x04\x8e0\x8dI\x0d?S\xd7e1w\xc9\x84Pc\xa4_\xcc\xf5\x84~\xe9\x20\"\x03M\x13\"]\x17a\xdf\x20\xc2\x7f\x11]+E\xe8\xe5\xe7\xa2\xa5\x9aa\x8b\xf4y\xa1\x0d\x1bb\xdbJL\xd7\xf5\xf4atq\x91>\xa8F\xf8\xc9E\xdc;\xbdk\x8dg\xc9\xebt\x03<\xa7\x98\xf1\x1ea\xf6\xe1\xbag\x04E+\x98\xb3\x91\xa5\x16\x8c\xf0\xb3\x84$\xce0\x8d\xc9\x0c?[\xd7E\x9b\xbb\xa4B\x86?\xedb.\xafv\x20pSI\xeb\xd5~\x91\xae\xcb\x1a\xfe\xa3\xd1\xf0\x97G\xc3o\x18\xb6H\x9f\x17\xf3\x02}b\xba\xaew*C\xfb#\x0e!C\x03F,\xe2:\xbe\x1b\xe9^\xff\x82ST\x03l\xa7\xd8%b\xcfo\xf4\xe1k\x8f6\xabvi\xcf\x9c\x8d,\xb5\x20\x08\xbf\x13Lc2\xc3\xcf\xd1uQ\xe6.\xa9\x90\xe1O\xbb\x98+T\x88\xdfH\xea\x0a\xd3yiC\xa8\xeb\"^\xe9\x15\x87\xd5\xb7\xe3\x8d1\xe17\x0c[\xa4\xcf\x8b\x19\xfe\xc4t]\xa1\xcaw\x1e\xd5\x8f\xfaM\x0d\x18\xb1\x886\xed\xe4\x1dm\xa1\x8fV\xd8N\xb1\xd0\xb2-x\x10\x0f\x1d\xa2\xfa\xb0\xb1F=D\x9fXPN\xcfF\x94Z\x10\x84\xdf\x09\xa61\xa9\xe1g\xeb\xba(s\x97D()V\xfa\xc5\\\xa8\xcfU\x7f\xb2\xde\xd5gWe\xba\x08t]\x94wks\xe5\xeb\xafm\xf4\x94\xbe\xf5O\xff\xf4\xe8\x89P\x7f\xe9'\xa1\xe7\xb6|\x8eH\xc3\x96\xe1\xf3\x0a_\xd3.\xd0\xc7\x9c\xf5'\xa6\xebz\xf9\xf1\xe8\xd5\xbc\xa8\x06\x8cX\x84\x1a\xfe\x8a\xb6\xf3\xea\xe4{t\x0bL\xa7\x18\xba\xb4`\xcd\xa9\xf3\x87\xb4\xd3y\xb3\x0f\x9fT<\xd6v\xf4Q\xbcBd\xbbd\xa9I\xe8\x83\x91\x91\xf2\xfd##A\xae\x8a\xcc\x11\xa61\xa9\xe1\xe7\xe8\xbaHs\x97D()V\xfa\xc5\\\x08]X\x9aW\x96\xd6\xdb\x18E\xba.\xca\xbb5\xb1e\xc1#O\xbd\xa2N.\xf1x\xfa\x1f\xf1T\xf4k\xa7\xd6\xa4a+\xea\xf3\xfa\x888\xf9'IL\xd75a\xc8\xbe\xa2\x1a0d.\x02\xfd|s[M\xe9\xb2-\x96\xec\xb3\x9db\xf8s\xfe\xc7\x1e\xd9\xf86\xfe\xbb\xd1\x07\xb5p\xe7\xa35\x87\xdf*\xd5*\x18\xedR\xa5\x06\xd7#\x17\x05NsUd\x8e0\x8d\xc9\x0d\xff,!\x83b\xaei1m]W:\x09\x95\xc7$\x1b\xc8,\x10~\x06\x99\x14sM\x87\x19\xfd]\xde\xfeJ\xe9\x17t\x01{\x20\xfcV\x9c!\xe6\x92L\xdb{\xe8GN\xb8[~v\x01\xe1\xb7\xe0\x101\x97\\B\x9e\x0d\xcf/\xcb\xea\xfbef%\x10~+N\x11sI\xa5\xadb\xcb\x84\xa8\x0e\x20\x1b\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08\xff\xcc\xbe#\x1e\x00\xd2\x86\xdc\xf0\xb3u]\xe1\xab\xbd\xed'3vW\x1d\xdfn\xf5vi\xe4\x9b\x9f\xa5o\xcb\xf57\xf1\x97FH\xb1b\xfdXl\xf8\x8d\xd9\x1a\xab\xf8\x15\xe2.\xdd\xaf\x0e]\xc5\x84M\x05\x0bl\xd9\x96\x90\xf4\xce\x16\xd7\x96'\xb6\x85x5g\x0eR\xc3\xcf\xd6u\x85}\x1d\xa3\xb7/\xb7_\x16\xcd\x9d&\xf8v\xab\xd7=##\xa7<'FF<\xaf'\xefo\x12\xba\xa9\x18\x15\xf8K#\xa4X\xb1~,6\xfc\xc6l\x8dU\xfc\x0af)\xd9uF\xdd\xcf\xf1\xf0}`S\xc1\x0a[\xb6%$-\xb3E\xd7-\xae-Ol\x0b\xd1j\x0a_\x0f\x12\x91\x1a~\xb6\xae\xeb\xfdv\xac\xeb\xb8\xd9\x9e\x99o\xd3\xd8\xd8\xadN\x94\xe2\xe7?\xab\xaf\xde\x8a\x13\xd1':&\x8e\xd0M\xc5\xac\xc0Y\x1a!\xc5b\xfa\xb1\xd8p\xbb.<n`W0J\xa9\xae3\xeb^3\xc3/^Z2f\x1d\x8dt\xccf\xae\x9bx\xcbS\xdbB\xb0\x9a\xc2\xd7\x83D\xa4\x86\x9f\xad\xeb\xf2\xe9O\xb6\xea\xcc\xcc\xae\xdf\xc6n\x15\x9a\x88\xbcz'B\xf1\xbc\x04\xd8\x08\xddT\xcc\x0a\x9c\xa5\x11O\xcac>4\x8fM\xb2]\x17\"\\7*\xfcq\x90\x8e\x14\xf3\xb1\x9dmC\x02\xe1O`[\xc41f\xf2\x90\x1b~\x95X]\xd7I\xfd\xd1V\xbd>\xc1\x9ci\xc1\xcen\x851^\xbd\xe5\x87M\xab\x93)\x83\"\x89\x8a\xa3L\x13\x16\"\xdcT\xcf{JO\x1cxL3@\xb1+P\x18\xb6(\xa2.!\xc5\xa2\xfdX\"\xad\x16S=e\x1a\xab8\xaa,\xb6\xd2\xca,%\xbbN4\x16\xdc\xb5\xac\xb4fg\xf4\xf1\xba\xd1\xe1#*\xac\x89\xcc\xb7\x19\xffG\xa0\xd5\"\x07\x95\xad\xd5b8\xba(\xff\x98\xd9\x1d\xaa\x05\xce\xd2\xa2P\x9bE\xb0\xe5\xc9ma\xae&\xb5-\x8c\xf1\xe5m\xee\x0c!9\xfc,]\xd7\x85N\xed\x0c\xa0\xe3\xa4\xfd\xac\xe9\xc1\xcen\x851\xc3\xefY\xd3\xff\xce\x12\xedm\xdb\x94A\x91\x18\xe2(\xc2\x84E\xb8\xa9\xb0\x17\xaa\xe6\xb5\xb6\x9a\x8aO8\x15(\x0c[\x14Q\x97\x94b\x91~,\xa1V\x8b\xad\x9e2\x8cU<U\x16[ie\x94R]7\x1b;\xef9\xf0^\xffN\x8f\xfe\x88>s\xf8\xcc\x0a\xf8\xc1\x99##\x1b=\xf8\x11\xfdB\xad\x961\xa8\x1c\xad\x16\xd3\xd1E\xfa\xc7\xcc\xee\x90-p\x96f@\xad\x9bh\xcb\x93\xdb\xc2XMr[\x98\xe3\xcb\xdb\xdc\x19Br\xf8Y\xba\xae`\x87o2\x14\xe8\xf5v\x8b\xe6M\x03\x02\xbb\x15\x19\xfe%_\xab\x1b\x1f[\x9d(\x8f\x95\x01)\xaf\"\x9f\x06M\x1c>\xd6\xa8\xeb}\xaff#\xb7\x02\x01a\x8b\"\xeb\xb2\x0e\xfb\x85Z-\xbez*\xf2\xf4j\xb6*\x8b\xa8`QZEK\xe9\xaeGJC\xfd\xf8\xad|]\xe4i\x9f\xe4a\x7f\xa4B\x9b\xba\x1b\x0e\xef\xd7D{B\xad\x165\xa8,\xad\x16\xdb\xd1E\xf8\xc7\xc8\xee\x98-\xf0%^\x06\xc4v\x13ly\xcba\xbf9:\xd1mA\x8d\xaf\xa3\x0f\xfbQ\x8c\xae\x0bM\xf9\xd4\x83\x80!_\xafh\xc64\x20\xb0[\x91\xe1\xc7o\x0dZ\x06)\x8f\x95\x01)\xaf\xe2\x84_\xfb\x1cQ3@\x89\xc3o\xda\xa2D\xe1\x17j\xb5\xf8\xea\xa9\xc8\xeb\x94\xad\xca\"*X\x94V\xb6\xe1G_\x9fz\xfa\xf1E\x1e}4X\xe1W\x09\xed\xd2R$\xd6jQ\x83\xca\xd0j\xb1\x1d]\x94\x7f\x8c\xe8\x8e\xd1\x82\x8d\xc4\xcb\x80\xd8n\x82-\xcf\x0d\x7ft[P\xe3\xeb\xd8\xf03u]\xda\x1f\xa6\xc2\xa8S\xbe\xabOh\xb7\"\xc3od\x90\xf2X\x19\x90\xf2*N\xf8\xb5W\x85f\x80\x12\x87\x9f]\x97\x15~\xa1V\x8b\xaf\x9e\x8a\xbeN\x99\xaa,\xb2\x02-\xb6\xb0\x0d\xff\xb5%5\x87\xdf\x1e\xd9b\x17\xfe\xd03\xa5\xdac\xb7\xc5Z-\xde\xa0Fa;\xbaH\xff\x18\xd9\x1d\xa3\x05\x1b\x89\x97\x81e\xbb\xd9lyn\xf8\x8dmA\x8e\xafS\xc3\xcf\xd6u\xa9/\x06<u\xd3K\xd9\xec\xe5\x20\xb2[1\xc3Oy\xac\x0cHy\x95V\xf7(\x91m\xec\xa6B\xe5\xda\xf5D\xcd\x00\xc5\xae@@\xd8\xa2\xc8\xba\xac\xf0\x0b\xb5Z|\xf5T\xe4u\xcaVe\x11\x15l\xc3\x1f\xedz\xa4t\xcdF\xbc9w\xd9\x84?\xb4\xb9\xfc\xbc>%\xd4j\xc5\x0c\xaa%\xaflG\x17\xa9\x20\"\xbbc\xb4`#\xf12\x20\xb6\x9b`\xcbs\xc3\x1f\xdd\x16\xd4\xf827w\x86\x90\x19~\x8e\xae\xeb\x86wR=5:>(\x989\x0d\x08\xedV\xcc\xf0S\x1e+\x03R^e\x9a\xb0\x087\x95z\xee\x88/p<\xbe\x85[\x81\x80\xb0E\x91uY\xe1\x17j\xb5\xf8\xea\xa9\xe8Y8S\x95ET\xe0\x85\x9f\xeaz\xa4\xb4\x06\xf7\x20\xbc\x8e\x1f\xfe{\x1b*\xf0~\xf7<m\x04ck\xb5\xc8Ae\x85\x9f\xe3\xe8\"\xc2Ov\xc7l\x81^\xda\x9d6\xc3\xfdgBl7\xc1\x96\x17\x86\x9f\x1a_\xe6\xe6\xce\x10R\xc3\xcf\xd6u\xdd\xf4\x0e\x07\xde\xef\xf4e\xe0\x1e\x1f\x81\xddJ\xe5\xc3S\x9e\x13\xd7\x91Ete\xca\xa0HLq\x94i\xc2B\xf8U\x13uS\xe1\x8b\xee\xa7W-\x9a\xe0V\x20\x20lQf]B\x8aE\xfa\xb1\x84Z-\xa6z\xca4VqTYl\xa5\x151\x1b\xd1u\xaa\xb1]\xa7^\xdb\xe0\xa9|\xfd\x9a~\x87\xdf\x09\xadCf\x85{\xeb<\xaf\xe1\xcb\xfd\x07p\x9aDZ-sP9Z-\xa6\xa3\x8b\xf4\x8f\x99\xdd![\xa0\x97\xb6\xd3\xc3\xb8S2\xban\xe2-Ol\x0bs5\xc9mA\x8d/ssg\x08\xa9\xe1\xe7\xe8\xbaF\xbb;|\xa3q\xdc\xff\x95jDv+\xb5\x93\xf8s\xdb\x8a\xa0\xd5\x16e\xca\xa0\x08HqT\xd4\x84\x85\x9b0\xdcT\xe5?\xd9\xbf(b\x80bW\x20\x20lQF]B\x8aE\xfb\xb1DZ-\xa6z\xca4VqTYl\xa5\x151\x1b\xd1u\xa24|bUy\xe5\xae\xd3\xabJ\xb7h\xf7\xf6cv\x91\x15>\x8a~aB\xbb\xad@\xa0\xd52\x07\x95\xa7\xd5b8\xba\xc2\xa4\x7f\xcc\xec\x0e\xed*#\x97v\xba\xc2c\x1d\x7fs\xdd\x84[\x9e\xdc\x16\xc4j\xea\x13\xda\xb6\xa0\xc6\x97\xb9\xb93\x84\xdc\xf0\xcf,$\xdb\xad\xca\xdb\x100#y;\xf6\x83\x10G\xe0\xe4\xf0K\xfe./\x84\x7ff\x12~k\x91\x84\xad?\x13qr\xf8%\x03\xe1\x9f\x99\xdc\xad\x8c\xbdU\xdb\x19@\xf8%\xa1_8\x02\x80\x99\x03\x84_\x12\xda\x85\xa3\x99\xf1\xf1.\x00h@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8e\xdf\xe2\x0f\x003\x04\xb9\xe1't]\xa4\xa3+\xd0\xdb\xd1\x97\x81\xe7\xf8\xe8\xf0u]\x16R&b\x8a\xcb\x00\x95\x02L!\x15\xd1\xf5$\x84_@\x96\"5\xfc\x84\xae\x8btt\x05\xda\xfd\xb7\xfd\xed\x99J?_\xd7\x85\x84B\xaa\xe4\x88\xcb\x00\xc5$A\xd7\x93!\xa4\"\xba\x9e\x84\xf0\x0b\xc8R\xa4\x86\x9f\xd0u\x11\x8e\xae\xf0q\xfc\xe8\xce\x0b\xc73\xb3\x0f\xb2\xd1u\xa1x\x84TI\x91\xec\x17\xfc\x12u=\x19O\xbd2\xba\x9e\x9c\xf0\x0b\xc8J\xa4\x86\x9f\xd0u\x11\x8e\xae\x1b\xed\xf8\x15\x18l\xcf\x8c\xa7\xd7F\xd7\x85\xd2\xf6\xac\xd5d\xc3\x9fhwb\x9fO\x9b\x9c\xf0\x0b\xc8J\xe4\x86_%\xa2\xeb\"\x1c]\x03\xfa\xfb\x80/\x03O\xf0\xb4\xd7u1\x85T\x94\x0c\x8am\xee\xa2\x8dU&\x13\xbb*K\x97<\x83\xdf`L\x03\x94Y\x97\x14<Q-Dg\xa3]O\"G\x97)\xa42\x1dR\x89\x09\xbf\x98\x12/\x20\x8b\x90\x1c~C\xd7E8\xbaN\xea\x0f\xec\xbf\x90\x09i\x87\xad\xae\x8b-\xa4\"ePl\x7f\x13m\xac2x\xafb\xc3\xeb\x17\xdb4U\x8di\x802\xeb\x92\x82'\xb2\x05c6\xaa;\"G\x17)\xa42UY\x89\x08\xbf8\x12/\x20{\x90\x1c~C\xd7E8\xba:\x87\xb5\xbf\x0cw\x0afM\x07\"]\x17KKA\xc8\xa0\xd8\xfe&\xdaXe\x94\xd6<\x8d\x9f\xa0\xdd\x8f\xaf\xb0\x99\x06(\xaa\xae!x\"J\xc9\xd9\xcc\xee\x08\x1d]\x16!\x95\xf1<\xe9\xf8\x85_|\x89\x17\x90%\xc8\x0e?\x8a<\xb7\x9fptE\xce\x00\x063!\xea\x14\xe9\xba\x98\xe17eP\x1c\x7f\x13e\xac\x8ar\xdec\x9e\x08\x98\x06(\xaa\xae)\xdb2K\xc9\xd9\xcc\xee\x88\x1c]V!\x95m\xf8\xd9\x8d\xf1%^@\x96\x205\xfc\xa6\xaeK\xfb_\xc4\xd15\xa0\xbb\xb9{3p\xce/\xd4u1\xc3o\xca\xa0\xd8\xfe&\xdaX\x15\xe5\x84\xc7\xcc\x91\xe9\x81\xa0\xea\x1a\x82'\xa2\x94\x9c\xcd\xec\x8e\xc8\xd1e\x15R\xd9\x86\x9f\xd3\x18W\xe2\x05d\x092\xc3O\xe8\xba\x10\xe1\xe8\xba\xe1\xc5G\xac\xda\x07\x80\xb2\x11\xea\xbaXB*\xc2\x07\xc3\xf67\xd1\xc6\xaa(\x97\xc8=\xbf\x11~\xaa\xae\x91m\xa2\xf4R\xcc\x9e\x1fwG\xe4\xe8\xb2\x0a\xa9l\xc3\xcfn\x8c/\xf1\x02\xb2\x04\x99\xe1'u]\x84\xa3+\xac\xfd\x1c\xcc\xc0\xe7\xfcb]\x17KHE\x84\x9f\xedo\xa2\x8dUQB\xcb\xb6\xe0D\x1f\xc2\x1f)\x98\xe1\xa7\xea\x1a\xc1#J\xc9\xd9\xcc\xee\x08\x1d]\x16\xfd\x95m\xf8\xd9\x8d\xd1\x12\xaf;\xafM\x20\x20\xcb\x90\x1a~B\xd7E:\xba\x02\xed\x83\xb7\x073q\x87\x9fX\xd7\xc5\x10R\x912(\xb6\xbf\x890V\x91\\Z\xb0\xe6\xd4\xf9C\xea\xc98i\x802\xeb\xd2\x82'\xb3\x05c6\xb2;BG\x17!\xa4\"\\Z\x89\x08\xbfh\x89\xd7N\xcf3\x08\xc82\xa4\x86\x9f\xd4u\x91\x8e\xae@_{o\x06\xb2/\xd6u1\x84T\x94\x0c\x8am\xee\"\x8cU\x14\x13\xbb\x1e{d\xe3\xdb\xb4\x01\xca\xacK\x0a\x9e\xa8\x16\xa2\xb3\x91\xdd\x11;\xbaL!\x95\xe9\x90JH\xf8EK\xbcNW\x9e\xb6.\x01\x98\xed\xc8\x0d\xff\xccB\xb2\xae\x0b\x00f\x16N\x0e?|\x97\x17p4N\x0e?\x008\x1a\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08\xfft\x09a\x8c_\x000k\x80\xf0O\x93\x0b9\x8a\xa2\xe4\x05\x83y\xea\xaf\x1c\xbf\xa86\x00\xcc\x1c\x20\xfc\xd3\xa4[\xf1\x0d\x0f\x8f#4><\xecS\xbaE\xb5\x01`\xe6\x207\xfc\x1c]\x17B\x83\x19x\x8cO\"lSr8\xc1\xeeV\x8c/#\x07\xf4\xf0\xf3\xeb\x02\xc0LBj\xf89\xba.\xfc\x87a\xfb93M\xc0\x9f\xdb\xcc\xfeKl\xf8\xb9u\x07G\x99\xc5\x00\x90\x19\xa4\x86\x9f\xad\xebR\xe3\xd2=\xd3\xc3\x8f\x90+\xee\xf0s\xeb.\xacg\x16\x03@f\x90\x1a~\xb6\xae\x0b\x0dz\x07\xdb\x9d\x10\xfe\xb2:f1\x00d\x06\xb9\xe1G,]\x17\x0a\x05\xa3\xe2\x0e\xa9t+\x8a\xd2\x8c\x9a\xd5\x9f\xdd(XW\xe4*^yU-\xbd:WQ\xf6\xdc\\?/o9\xfd\xc1\x9dk{c\x91{\xe5MF+\x8c\xf0G\xeb\xfa\xd4\xc6\x9b\xf4E\xe0IL\x99V\xa3sq\xfe\xfc\x1d\xb4f\x03\x00$#9\xfc,]\x17&\x13\xe1\x0f\xfa\x0b\xf6L\xa2\xc9=n\x7fPM\xe9\x93\x83\xdd+s\x86\xf1\xb3\x85\x8f\x17\xcf/(\xde\xb1\xde\x0c\xb5\x86K)\xeb\xea*\xcb\x1b\xb7\xb6\xc2\x0c\x7f\xb4n\xf0B\xf16u\x11\xcd\x05\xfe`\xf0\x82\x7f~\x95\xdf\xef\xd7\xael6\xe6l\xf7\xb5\x16\x96\xc9\x7f^1\x00\x98H\x0e?K\xd7\x85\xc9D\xf8\xd5\x0c\xe2\x93\xf0\xfaF\xf5G\xb0\x1b\xbf#\x95=\xa1\x15\x97)Kc\xf4W\xc8U\x82\xef\xe4\x99\xbf\xd8\xda\x063\xfcf\xddf\xbc\xa7_\xdf\xa8\x15\x1b\x87\xfd>\xa5C\xfd9\xact!\x00\xc8\x1c\xb2\xc3\x8fbu]\x98\xcc\x84\x7f0/\x88\x82y\x9aId\xaau\xf9\xbc\x82\xc81y\x99\x8b\xf1(aW\x13\xfe\xe9U\xa6,\xe5\xcc\xf0\x9bu\x03\xca8\x0a\x15\x0ch\xc5F\xf8\xeb\xe7i\xf7\x03\x167\"\x00\xc8\x1cR\xc3\xcf\xd6ua2\x13\xfe\x90\xfb$\xeau\xe3\xce\x0c\x17\x167\x9d\xf4WE\xc2_\xc6\xa8\xab_\xc4\xf3+\xd6\x8f\xeb\xf8\x17\xfc\xf4\xba+v\xa0>\xb7~\xf9\xc0\x08\x7fY\xe4\xfc\xff\x09\x04\x00\x99Cf\xf89\xba.Lf\xc2\x8f\xb6?\x81\x9e\xd8\x8e'J\x16\xe3\xa3\xfc\xbaH\xf8YW\xe5];\xf0\xcfv\xc5z\x95\x8e\x19~\xa2\xae\xcf\x1dj\x8c\xec\xe1\xb5v\xb1\x9cd\xfd\xbcQ\x0d\xebQ\x04\x00\xc8Df\xf89\xba.L\x86\xc2?\xe4\x0a\xb8\x86\xf0D1\xcee\xb8\xcc.\xfc\xc5\xf8<\xbe\xa4\xcaZ\xce\x0c?Q7\xe4\xf6\xb9#kY\xa5\x16L\xe2:}z\xc5=\x07\xad\x8d\x01\x80D\xa4\x86\x9f\xa3\xeb\x0a\x05\x02\x1d\x83\x81I\xd1\xdci\x20\\\xb4\xbcH;\x05iV\xeaZ\x0f\x96)\xee\x96\xa1\xd0\x90vU\xfe\xb6\xb5\xaaKY>4\xb8\xd8\x1dS\xce\xbe\xdaO\xd4m\x9a\x179\xeaG\xcd\xae\x96\xde\xa5\xf9\xb8z\x93R\xdf\xdd\xdb\xa8tZ\x1b\x03\x00\x89H\x0d?G\xd7u\xd9\xab\x91\x89\x8f\xbd[\\-\xda\xefp\xcb|Wa}\xc7<W\xd5\xd5\x1c\xedt|\x85\xb5fIs]A\xd1\xfa\xd8+\x81\xdd\xca\xcd\xe8WzoF\xc3O\xd5\xbd\xa9<\x19\xa9\x1a\xda\xee\xce\xab\xd2\x0fq\xfa\xaa\xdc\xee\xc5}1\x8d\x01\x80D\xe4\x86?\x0b\xd1n\xde\x89|\xa5W\xf11*\x04]\x83\x08\x00f\x20\x10\xfei\x12\xba:\x1c\xfdJ\xef\xf0U\xd6\xd3<\xba\xdd\xacR\x00\xc88\x10\xfe\xb4\xd2<\x88\x96r\xbe\x14\x00\x00\x19\x06\xc2\x9fN\x82J\xd9\xb6\xa2L\\\xcb\x00\x001\x10\xfe\xb4\xd2\x9c_5\xc3\x1fS\x028\x17\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\x08?\x008\x14\xb9\xe1g\xeb\xba\x82\xfe\xee\xf6^\xe6\x97b\x00\x00H\x1bR\xc3\xcf\xd6u\x05;z\xc7o_\xee\xe8\x85\xf4\x03\x80L\xa4\x86\x9f\xad\xeb\x1a\xec\xc6\xcf\xf4\x98\x8az\xfb\x00\x00\x90\x82\xd4\xf0\xb3u]'\xf5\xe7\xdf\x0c\xb2\x9e\x84\x01\x00@\xba\x90\x1b~\xc4\xd2u\x05\xf4\xe7]]x\xc3n6\x00\x00R\x8c\xe4\xf0\xf3t]\x08\x85\x8f\xfb\xf9\xb3\x01\x00\x90r$\x87\x9f\xa7\xebR\xdf\x0d:\xe0)\xf6\x00\x20\x13\xd9\xe1Gl]\x17\x1a\xf2\xc6<\x14\x1b\x00\x80t\"5\xfc\\]Wh\xd0\x0b\x0f\xbc\x01\x00\xb9\xc8\x0c?W\xd7\x15\xf4u2\xd4\x98\x00\x00\xa4\x13\x99\xe1\xe7\xe9\xba\xa6\xbaN\xe2\xdb~\xe0&\x1f\x00\x90\x89\xd4\xf0\xb3u]\x81\xf6\xae\xdb\x81@\xe0\x82q\xed\x0f\x00\x00\x09H\x0d?[\xd7\xd5\xa7\xdb\xba\xbcp\x93\x0f\x00\xc8Dn\xf8\x01\x00\x981@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\xb3\x9a\xb0\xa8\x02\xe0`\x20\xfc\xd9K\xa0\xb1PyBT\x09p.\x10\xfe\xac%\\R\xe2\x1d\x80\x87\xa4\x00\\\xe4\x86\x9f\xad\xeb\"Je3\xb5\xad0oE\x9c\xc7\xc6\x03\x85\xb3\xebK\xc7W\x95>Q\x15\xc0\xd1H\x0d?[\xd7E\x94Jgi\xa1\xb71/\xce\x05\xfb\xf2g\x97Y`X\x81\x87\xa1\x03vH\x0d?[\xd7E\x94\xcafJiE\xe18\xb3?\xeb\xae\x9e\x0d+C\xa2*\x80\xa3\x91\x1a~\xb6\xae\x8b(\x95\xcdMev\x1d\xc9'\x04\x84\x1f\xb0Gn\xf8\x11K\xd7E\x94J%\xe4V4vh\xffk-\xcb+kU\x7f_\x9d\xab({n\xae\x9f\x97\xb7\x9cz\xa0h0OQr\x8e3Z1\xb9]\xe7\xce-\\\x11\xf3\x16\xd6Q\xe8\xc5\xbf\x02\x05\xfa\xd2\x94\x02\xb2\x06\xb9\xb4`]\x91\xabx\xe5U\xb5t\x9b\x92\xeb\xdd1?o\xb9Vsj\xbd\xbbx\xc7\x0ew>~\xc4a\xe7\xe2\xfc\xf9;\xacG*c\xfb6\xd5\xae\xdd\xb7\xe9\x81\xa5\x18\x0dB\xf8\x01[$\x87\x9f\xad\xeb2J\xe5\xf2\xbe\xbfKi\xf6\xfb\xb5\x885\xba\xf6\xf8\xf6\xb8\xd6\xe3g\x0b\x1f/\x9e_P\xbcc\xbdB\xc7\xf8\xb2\xdf\xefjf6\x13a0\xbf\xace\xa0Yi\xb1\x96?\xa1,\xc7\xbfB\x1d\xad:\x1d\xe4\x9b\x0a\xb94\x9f\xf2\xe4`\xf7\xca\x9ca\x84n\x1c\x9f\xab\x146\xb7\x14\xd4\xe1\x1a%E\xad\xcd\xae\xbc\xf6\xe5j\xc3\x8d9\xdb}\xad\x85e\xf4\xbb\xe4\xc7\x7f\xf6\xd2\xb9+g\xd7V\xff\x8e*\x0dM\x0e.t\xcb\x1fR`6!9\xfc\x1c]W\xb4T6\xc6a\x7f\x9fve\\\xff\x89\xca\x94\xa5\xc1\xc8\xc9\x08E\x9e]\xf8C\xc5\xf8P!\xd4\x1d#\x1d\xbb}Pw\x11M\xde\xd6\x99\xb4\xfc\xddXZ\xb0\x1b/\xb2L\xfbd\xde\xe5V\xdfz\xd6\x17\xaaS]\x8az,\xd0\xaa\x8c\xab\x93>\xa5\x03\xe1\xa3\xf9.j\xfe3\x0d8\xf6gV\xd3{\xfe'\xd4c\x8c,>\xa5\x01R\x81\xec\xf0#\x8e\xae+R*\x19#\xfc\x8d%\xda\xaf\x92F\xfc\xb3\xcc\xc5\xbe\xfc`\x1b~\x9f\xf2\xbe\xcd_\xd5\xf7\x00%\x8a\xc5Kf.m\xaau\xf9\xbc\x02\xa5\x0cO\xbapG\x9a]\xea\x8f&7\xc2\xfd\xc4\xe3T?/\x84)n\xa4\xe6\xff\xb2a\xd3\xb1\xb3\x9f>\xf8\x96*D\x81>o\x09\xec\xf9\x01[\xa4\x86\x9f\xad\xeb\xa2K\xa5b\x84\x7f\xf1J\xed\xd7\x8a\x85\xf8gY\x19\xbb\xb6m\xf8[\x14\x81t\xc4\xef\xd3\xb1~\xfef,m\xb8\xb0\xb8\xe9\xa4\xbfJ\x0f?^\x94\x16\xfe\x16e\x0a\x1f\x92\xe0=\x7fY\xe4\xdd\xc3r\xd7\xde\xfd\xb3/l\xad^\xdb\x13s\xce\xefW\x86\xadE\x00@\x203\xfcl]\x17U*\x19s\xcf?O\xfb5O\xdf\xf3\xd7\xb1k\xdb\x86\x7f@\x19\xb5\xf9\xab\x0d\xc6\xd2J\x16\xe3=u\x9d%\xfc\x81\x9c\x15\x81\xab\xf3\x17\xe3\xb1Y?oT\x83>\xb3\xb8\xf5\xaa\x1a\xfb\xfb\xe7j\xcf\x20\x0bp\xb5\x1f\xb0Gf\xf89\xba.\xa2T6F\xf8}\xda\x89t\x97\xfe_q\xf8o7\xc7$=XT\x85\xdf\xcf\xb6o\xb7\xfe!z\xce\xcf\xc3XZ1\x9e\x08\x97Y\xc2?\xaa\x14*J\x95vf\xd0\xa7hWH\xf6\x1c\xa4\xe6\xef\xa9\xbe\x82\x7f\xed>\x82,@\xf8\x01{\xa4\x86\x9f\xad\xeb\"J\xe5\xa2_\xed\x1f\xd2\x0e8\xd6\xe74\xf9\x9ar\xf0\xd5\xfe!\xff\xfc*\xbf\xdf\x1aX\xb5\xd8\xefj\xf4\xfb\xf5N\xaeT\xf2cz;\xf8\xbd\x12\xafo\xbb\xd2n-_\xa9\xac\xb0\x16\x99\x90KkV\xeaZ\x0f\x96)\xee\x96\xa1\x80?\xb7q\x08\x8d6\xe6\xfa\x03h\xd45\xe0\xf3\x07\xf4\x83\xa2&\xa5\xbe\xbb\xb7Q\xe9\xa4\x9a\xe8\xa9\xae\xedy\xf7\xdd\x97\xaa\xc7\xacm_V.X\x8b\x00\x80@j\xf8\xd9\xba.\xb2T&\x91\xcf\xf9\xe7jw\x16\x86\xb5\xcf\xf9\xd5\xfe\\\xcd\xd1J\xad\x81\x1d\xd6\x8b\x15\xed3{\xd4\x9e\xcf8\x9f\xbeYW\\\xb0\xf0dLq\xe4s~6\xe4\xd2\xc2-\xf3]\x85\xf5\x1d\xf3\\U\xdb\xd4\xa2\xdc\xf1|\xf5\xe76t\xc1\x85+\xe4V\xe1\x93~\xd4W\xe5v/\xb6\xdc\xb1\x7fvw\xcf\xa6\xda\x86\xdd1\xd9G\x93s\xeb\xaeN\xca?\x95\x02f\x0dr\xc3\x9f5\xf4*\x92\x8eS&\xf3\xb7M\x86B\xc1\xe1\xba$.\xdd\xf7\x96\xc4\\\x1c\x04\x00\x13\x08\x7f\x12\x84;\xdcO\x8a\xea\xa4\x88^\xb7\xbe\xef\x0e\xbb\x93\xf9\xd4~\xf2j\x06\xee\x99\x06f\x0b\x10\xfe$\x08\xb8w\xc8:I\x19\xcd\xd1\x8e\xf7\xd1x\x8e\xfdm\x04\x00\x900\x10\xfe\x99M\xb81\xef\xc9\xae\xc1\xae'\xf3d\x1dj\x00\xce\x01\xc2?\xd3\xf1-/r\x15-O\xe6\xa0\x1f\x00l\x81\xf0\x03\x80C\x81\xf0g%\xffh\"\xaa\x0a8\x16\x08\x7fV\x02\xe1\x07\xc4@\xf8\xb3\x12\x08?\x20\x06\xc2\x9f\x95@\xf8\x011\x10\xfe\xac\x04\xc2\x0f\x88\x81\xf0g%\x10~@\x0c\x84?+\x81\xf0\x03b\x20\xfcYI$\xf8\xff\xf5?\xfd\x03\x15\xfe\xa9\xc5\xbd\x08\x00\"\xc8\x0d?[\xd7\xa52\xee\x85[\xd8\x12\xe4J\xc3\xbb\xfc?\xea\xd9\xff\x9b\xea\xbf\xb2\xec\xf9[r\xe8'\x81\x00NFj\xf8\xd9\xba.\x95`\xfb\x05\xfa\x09\x15\x80\x90wk\xcf\xf1\xff\xa8g\xbf\xf6\xbf\xc6\x1c\xf6\xfb\xe6\xb6\xb2\xe7\x00\x9c\x87\xd4\xf0\xb3u]*\xbe\x81\x00\x84?Qb\x9e\xd8i\x12\xfe\xc7\x9f\xfd\xe3?\xfe\x7f\xb5\x7f\xc58\xe7\xdf\xc3y41\xe0<\xa4\x86\x9f\xa3\xebB\xe3\x1dA\x08\x7f\x0a\xb9Y\xf6\xc7\x7f\xfc\xef\xff8\xe7\xff\xf8?\x7f\x16\x1b\xfe`\x11\xfd\xe4o\xc0\xb9\xc8\x0d?b\xea\xba\x82\xed7Q\x16\x85\x9f#\xfcB\xf6\xe6\xae\xdf\xad\xad}\xb5\xa1a\xec\xd8\xea\xdd\xf7\x11\xba\xffBC\xed\xa6}\xb7\xd4\xe2#\xd5\xb5g^jX\xbd\xef3j\x12\xdd\xaf\xad\xae\xae\xd6\x0e\xfb\xd5\xd2\xb3\xc7\xb6\xd6\xee\xfb-\xfe\xcf\xfd\x17\xd76\xbc\xfa\xea\xda\x7f\xa3TU\xcd\xc9\xabZ8\xe7\xcf\x7f\xa6\x85\xff\xb3\x17\xd6\xd66\xe85\xd4]\x7f\x9e\xacg\x11\x003\x1c\xc9\xe1g\xea\xba|\x03(\x9b\xc2\xcf\x13~\x09\xcc]c\xab\xab\x8f\xed\xae^\xdb\xb3\xf6\x8cz>_\xfd\xd2\xd8\xb9}\xd5\x1f#t\xeb\\m\xf5\xa6\x9e\x9eM\xb5\xb7\xc8I\xb5|l\xac\xb6\x07\xcf\x86K\x1bzzV\xbf\xa0N\x7f\xbb\xb5\xe1LOm\xed\x99\xff\xf5\xe0\xef\x7f\x7f\xe3\x7f\xfe\xfe\xf7\x0f\xfd\xfb\x7f\xc0\xe1\x1f\xab}\xb6\xe7JOu\xe4\xd9\xde\x17\xe0\xa1\xbe\x80\x8e\xe4\xf0\xb3t]7\xf0\xbbA\x16\x85\x1fq\x85_\xf6\xe6\xae\x86\x17\xd1\x95\xeaw\xd1K/\xe1\xc7\xf0\xab\xbb\xff\x07?\xc6\x81F\xb5\x9b\xf0\xa1\xc0\xa6g\xe9I\xfc\xbf\x9e\xc8\xef\xd5\xea>\xfd\xc5\x06u\xea\\\xb5\xfa\xbep\xa6\xfa\xe3\x929s\xe6\x84\xeb\xe7\xcc\xf9\xce\x9f\xe3\xf0\x7f\xbbi\xdf\xb7\xea\x1b\x03n\x12\x13P\xde@\x00\x80\xe4\x87\x1f\xc5\xe8\xba\x82\xed7\xc2\xe1\xf5\xe6\xae\x9b\x00\x00\x0d\xefIDATp\xa03\x9cE\x0f\x9a\xe5\x09\xbft8\xe6\xae\x86s\xe8\xe3\xea\xfb\xe8\xd5\x17\xd5\xe9\xfbg\xf6mZ]\xfdc\\\\\xfb*\xfeyF\xfd\x0b9\x89\x88\xf0\xab\xef\x16\xa8\xa7V\xfd\xf1\xeaj\xf5\xc7o\xaa\xdf\x0dl\xffc5\xfc\xff\xcb\xbf\xfb\xf3\xff\x86\x0f\xfb\xafT\x7fJ.&`q\xfd\x01\x8eEj\xf8\x99\xba\xae\xdb\xde(\xd9s\x19\x9a'\xfc\x8a\xc06w5\\A\x1f\xab\x11\xc6\xe1\xff\xb8a\xd3\xab\xef\x8e\xed\xd6\xc3\xafe|\x0c\xef\xd4\x89ID\x84\x1f\xff\xd6\xc2\x7f\xe6\xcf\xd4\xb7\x85+\xd5\xb7\xc2\xc1?W\xc3\xffo\xfe\xdf\x7f\xd0.\xf8\x9d\xa9\xa6<~\xc3\xf08\x7f@Gf\xf89\xba\xae\xa9I\x95\xf1\x8e\xc9,z\xc6<\xcf\xf9c\x0b\x11\xfe\xad\xcf\xe2\x9d\xfb\x0bz\xf8\x8f\xe1\x9fg\xb5=\xbf9\x89X\xe1\xff\xb2z\xdf\x97\xb7\xb6\xee~\x80\xd0\x7f\xc1\xe1\xff\xcf?\xd3>\xea\xbb\x12y\xb3\x88\xd0\xecJ\xfc!\xe0@V\"3\xfc\x1c]\x97F\x96\x9d\xf3\xb3\xc3oo\xee\"\xc2\xbf\x09\x9f\xed?\xf8\xb1\x1e\xfe\xb5\xda\x89\xfenz\x12\xb1\xc2\x7f\xabzmu\xf5n|U\x1f\x87\xff\x0f\xff\x93\x1e\xfe\xfb\x0d\xbb\xf1\xae\xff\x98\xf6\xce\x81\xc2%6\x02!\xc0QH\x0d?[\xd7\xa5\x12\x0e\x8cw\x04b\xcc\xf6\xb3\x14\x8e\xf0\x0b\x09\xcc]\xb7V\x9f\xb9\x7f\xae\xf6\xd6\xfd\x17\xd5\xf4\xf6T\xbfp\xa6\xe7\xc7\xd5k{\xc6\xd4lW?{\xee\xec\xd6\xd5\xbfA\xe4\xe4\xb7ccc\xb5G\xc6\xc6\xee\xa3/\xf1\xef\x07\x9f\x1e\xa9\x1d\xfb\x12\xdd\xaa\xbdre\xec\xb7\xf8\xe6\x1f\x1c\xfe\xff\xed?\xfc\x8d~\x93\xcfX\xed\xd6\xb3W\x8eU\x9f\xd5\x16\xd3\x92\xacP\x14\xc8:\xa4\x86\x9f\xa3\xebR\xcb\xf1)\xffq\xfe|\xb3\x0a\x8e\xf0\x0b\xd9\x9b\xbb\x1e\xa8;\xeds\xab\xabk\xcfUW\xbf\x80\x1e\x9c\xd9Z\xdb\xf0\xe2\xd9\xad\xb5\xbb\xf1\xb1\xfeK\xab\x1b^\xfc\x12\xd71'?\xae\xd69\x8b\x8e\xa8?k?\xc5\x1f\xfb\x1fQS\x8e\xcbjw\xdf\xd2\xc2\xff\xbf\xff\xe7\xff\xeb\xbf\xeb7\xf9\xfc\xe6\x85\x86\xd5\xcf\xea\xdf\x04\xf0\xe7\xed\xe0v\x01p\x18r\xc3\x0f$N\xf4\xe8\x9e\x9ed\xf1\xaf\xb5G\xfe\xf5w\xbf\xbb\xff\xf1\x0b\xab\xefk\xe1\xffo\x7f\x85o\xee\xa7\xaat\xb9\x1a\xe1\x16\x1f\x20\x02\x84\x7f\xa6\x13\x7f\xf8\xdf]\xad\xdf\xee\xff`\xed\x15=\xfc?\xfb\x9b\xff\xdb\xf2\x95\xde\"\xf8R\x1f`\x00\xe1\x9f\xe9\xc4\x1f\xfe[\x91\xcb\xfa\xb7\xaa?\xfd\xb7\xf8j\xff\x7f\xd0\xce\x02lg\x01\x9c\x0c\x84\x7ff\xf3[\xedz\x9eu\x92\xcd\x83\x97j\x8f\x9c\x1b;w\xa4\xf6\xa5\x07\x10~@\x0c\x84\x7ff\xa3]\xcf\xfb\xcc:\xc9\xe1\xc1\xbb\xfb\x1aj\x1b\xf6\xbd\xfb\x00E\x0e\xfb\xe11^\x80\x0d\x10\xfe\xac\x04\xc2\x0f\x88\x81\xf0g%\x10~@\x0c\x84?\x0b\x09\xb5\xd6\xe1;\xfc\x9a.\xc0\xc7z\x80\x0d\x10\xfe\xec#\xbc8\xfa\x95\xde\x93\x90~\x80\x0f\x84?\xfb\x08=t\xf0\xf7\xbf\xff\x9f\xea\x06z\xe8\x09\xf8\x0e\x0f\xc0\x07\xc2\x9f}\x04\x15\xa5\xaa\xea\xa1\xc2\xaa\x85s\x1a\xb3\xe5\xfb\x12@:\x80\xf0g\x1f!\x7f\xb1\xdb=\xdf\xedv/\x1d\x86=?\xc0\x07\xc2\x9f\x85\x84\x02\xdaS\xc2\x86\xea\x0a\x95'Du\x01\xe7\x02\xe1\xcfF\xc2\xe1\x90\xfao\xfe|\xef@\xf6<\x1d\x09H9r\xc3\xcf\xd4u\x85:\xb4\x87xud\xd3\x95\xe9\x81BC?6\xb5\xad0o\x05\xf5\x90\xa2#\x91\xa7nO\x8f\xe8\"\x1a\x15E\xc9\xbb\xc9\xa8pU\xe9c\x94\x02@\x14\xa9\xe1g\xeb\xba\x82\xde\xf7\x03*\xf4\xa3lg9\xbe|\xe3\x11\xb9K\x0b\xbd\x8dy\xd4\xb9\xf7o\xc7\x04\xdf\xd0\x89\x8b\xe8\"\x02~\x7f+\xf3i\xdc\xc3\x0a\xfd\x8c@\x00\xa0\x91\x1a~\xb6\xae+\x98EO\xee40v\xf5SJ+\x0a[\xaf\xbb\xa5\"\xfc\xe6\"\xd4\x98\x0f1\xfe\xce,\x9d\x932b\xdb\x06f\x19R\xc3\xcf\xd6uee\xf8\x0dn*\x0c\xffpJ\xc2o\x92H\xf8\xbfI\x11\x10\xfe\xd9\x8f\xdc\xf0#\x96\xae+\xeb\xc2\x1f\xccS\x94\x9c\xe3x*\xe4\xd6\x9f\xcfo}tV\xed\xb1\xa8w\xcb\x84\x90x1}^h\x9b\x92\xeb\xdd1?o\xb9v\xf4d,\x02\xc3\x0e\xff\x20\x84\x1f\xb0Er\xf8Y\xba\xae\xa0w\xe0\x0d\xefq\x7f\x16]\xef\xbb\xec\xf7\xbb\x9a\xb5\xa9\xf7\xfd]J\xb3\xdfo}w\xc3O\xe2<\xf7\xe3Z\xea\x91\xda\x84\xc4\x8b\xed\xf3\xbaq|\xaeR\xd8\xdcR\xa0=\x19\xd8\\\x04b\x86?49\xb8\xd0\xcd\xf8\x94\x1f\xc2\x0f\x18H\x0e?K\xd7\x15\xf4v^\x0d\xdc\xe8\xee\xca\xa2\xf4#\x94\x17M&\xfb\xb0\x7f+\x16hm}\x96*$$^l\x9f\x17r\xb9\xd5w\x91\xf5\x85\x91\xff\xe5\xd9\x85\xff\x09\xf5\xb8\x81\xb1`\x08?`\";\xfc(F\xd7\x85\xc2\xe3\xfaA\xc0\x90`\xbeY\x85\x20\xfc\x9aw+j\xdf\xd0!$^\x1c\x9f\x17ra\xbbv\xb3+\xf2?\xdb\xf0\x07\xfa\xbc%\xd3\xda\xf3\xcf\xd1\xfe\xd9\xfc=\xb6m`\x96!5\xfcL]W\x14\xffI\xf6L\xb3\x13A\xf8)\xefV\x04B\xe2\xc5\xf6y!\xed@?\xbe\xf0\xab\xf8\x95\xe1\xd8B\x1c\xe87\xffH\x8f\xf5\xbf\xfc\xe5\xc3s\xbe\xffS^\xb8!\xfcY\x8f\xcc\xf0\xb3u]h@O\xc7\x20\xeb(u\xd6\"\x08?\xe5\xdd\x8a\x9b\xc4\xc2\xcf\xbd\xda\xff\x837\xf5X\xff\xc5\x0f~\xf9\xc5/\xff\xe4\x17\x9cpC\xf8\xb3\x1e\x99\xe1\xe7\xe8\xba|\xda.\x7f\xaa\xe3}\xdbyg\x19\x82\xf07h\xe7\xfc\xbbc\xffbK\x8a\xc2\x1f\x8d\xf5\x1f\xfeJ\xfd\xf1\xab\xff\x18I\xf3O\xbf?\xe7\xe1\xbf\xfb\xe6\x9b_\xfe\xf0\xa1\xef\xfc\xf0\xd7F\xf8\x7f\xfa\xdd9\x0f\xff\xe57\xc4\x84\xfa\xf79\xdf\xff{\x08\x7f6\x205\xfcl]W\xc0\xdbw3p\xb9\xdd\x975\x9e\xce\xd0\x90\xdf\xefj\xf4\xfb\x83\xd1\xab\xfdC\xd6U\xab\xad\xde76\xf6\xac\xa6\xe0\x8a\x9f\x80?\xb7q\x08\x8d6\xe6\xfa\x03\xe4\"\xb4;\xfcZb?Q@\x97Y:\xde\xd8\xf0?\x1c\xc9\xfe\x1f\xfe\xf4\x8b_\xaao\x04\xdf\x7f\xf3\x8b_\xff\xe9\x9fF\xc3\xff?\xbe\xff?\xd4\x83\x83\xbf$&\xbe\xff\xd7\xbf\xfe\x97_\xfc\x10\xc2\x9f\x0dH\x0d?G\xd759p\xbc\xc37\x9e5\xd9G\xc3\xba\xafK\xf1F?\xe7\x9f{\xc3Rck\xcf\x0bQ\x05W\xfclS[\xca\x1d\xcfW\x7fn#\x16\xa1\xdd\xdb\x8f\xa9\xb7\xd6\x9f\x9c[w5\xc6|L\x86_?\xec\x8f\x1c\xdc\xff\xd1\xdf\x7fc\xf0\xeb\x87\xa3\xe1\xff\xc1/\"\xef\x0f\xc6\xc4w~\xa5\xd7\x81\xf0\xcf~\xe4\x86\x1f\x90Io\x89\x12\xf3\x95^2\xfc\xf8\x82\xdf\xc3\x7f\x17\x09\xff\x9c_\xeb\xbf\x7f\xa5\x1e\xd6\xcf\x99\x13\x0d\xffC\xfa\xad\xbc\xc4\xc4_<\xf4\xa7\x7f\xf7+\x08\x7fV\x00\xe1\xcff&\xafZO\x06\xc8\xf0k\xbc\xf9]\xfd\xf7C\x91\xf0\xff\xe0/~\xf5\xcd\x17F\xf8\xe7D\xf6\xf3\xe6\xc47\xbf\xf8\xeb\x1f>\xf4\xd7\x10\xfel\x00\xc2\xef,b\xc2\xff\xc3\xbf\x8c\x84>r\xd8\xff\x9d/\xd4\x13|#\xfc\x7f\xf4\xb7\x91j\xc6\x04\xe6\x97\xdf\x81\xf0g\x03\x10~gA\x86\xffO~\xf1/\xbf\xfc\xd3?\xfa\x17=\xd0o>\x1c\xb9\xe0\xf7\xd7_\xfc\xe2\xbbF\xf8\xdf|\xe8\xef~\xfd\xc5\x9b\x7fBL\xfc\xc9O\xbf\xf8\xe2o\xbf\x0f\xe1\xcf\x06\x20\xfc\xce\x02\xc7>r\xf6\xfe\xcd\xdf\x7f\xf7\x0f\x1e\xfe\x8b/\xa2\xbb\xf3\xbf\xff\xae\xf6Q\xdf/\xbe?\xe7\xe1\xbf5\xc2\xff\xcd\x9b?\xf8\xce\x9c\x1f\xbcIL\xfc\xf4\x07s\x1e\xfa\xe1/!\xfc\xd9\x00\x84\xdfY\x10\x07\xfc\xd3\x03\xc2?\xfb\x81\xf0;\x0b\x08?`\x00\xe1w\x16\x10~\xc0\x00\xc2\xef,\x20\xfc\x80\x01\x84\xdfY@\xf8\x01\x03\x08\xbf\xb3`?\x8c3\x19DK\x02f<\x10~\xc0\x96\xec\xf9\xca\x05`\x05\xc2\x0f\xf0\x094\x82\xf0+\x8b\x81\xf0\x03\\\xc2%%\x20\xfc\xcab\xe4\x86\x9f\xa9\xebR\xb9\xd1\xd7\xd1}\xd9f>\x20\x82\xad\x06,\xe5\x80\xf0+\xbb\x91\x1a~\xb6\xae\x0b\x85\x06\xbcC\xb7G\xbd\xf4\xc3*\x01\x16\xb6\x1a\xb0\x94\x03\xc2\xaf\xecFj\xf8\xd9\xba.4\xd0\x1e\xc0o\x0c\xd6'^\x00\x0c\xec5`)\x86\xfdx0\x20[\x90\x1a~\xb6\xae+\xe0}\xdf\xf8\x1b\x10/\xccg\x03\xa6\x18\x08\x7fv#7\xfc\x88\xa5\xeb\x1aj\x0f\xc1\x07J\xf1\x20\xd2\x80\xdd\xaa\xad\xae~\xf5\xb3\x177\xd5\xee\xfb\x1dQ*\xd4\x80\xa9|\xf6\xc2\xda\xda\x86}\xbfE\x16\x98\xc2/\x20k\x90\x1c~\x96\xae\xab\xd7w\xe3\xa4\xf7\xf8\x85\xac\x12\xf6\xa4\x07\x81\x06\xec\xdbs\xe76m]\xddp\xec\xc5?#\x9f\x0e(\xd4\x80!4V\xfbl\xcf\x95\x9e\xea3T!O\xf8\x05d\x0d\x92\xc3\xcf\xd2uuk\xba\xae\xe3\xdd\x90\xfe8\xb0\x7f$8\xfaq\xf5\xee\xfb\xe8\x01\xad\x03\x10j\xc0\xbe\xdd\xb4\x0f?I\xfc\x1c=\x1bO\xf8\x05d\x0d\xb2\xc3\x8fbu]>\xed\xaa_\xb0\x83\xe1\x97\x01\xac\x88\xc2_\x1b\xf3H`\xb1\x06\xecJ\xf5\xa7\xd6\x99\x10_\xf8\x05d\x0dR\xc3\xcf\xd6u\x0d\xea\x9e\xae\xc1^\xfe\x8c@\x14Q\xf8i\xf7\xa7\x86P\x03v\xa6\xfa\xdb\xd8\xb9\xb49Y\xc2/\x20k\x90\x19~\x8e\xaek\xb4C{/\x18\x80c\xcc8\x10\x85\xff\x05F\xa1\x88+\xb43\xd0\x04\xae\xf6g72\xc3\xcf\xd1uMi\x1f\xf5\x05\xdb\xe1\x16\xbf8HG\xf8\xef7\xec\xc6\xbb\xfec\xc7\xac\x7f\x80\xf0g7R\xc3\xcf\xd6u\xa1\xcb\xed\x97\x03\xe3\x9d'\xe1\x82\x9f\x00\x91\x06\xecwcc[w\x8f\x8d}\xc6\x99\x9d\xcfX\xed\xd6\xb3W\x8eU\x9f\xb5\x963\x85_@\xd6\x205\xfc\x1c]\x17\xba\xdd\xdbq\xf22d_\x84H\x03v\xabZc\x1fgv\x1b~\xf3B\xc3\xeag\xdf\x8d)f\x0a\xbf\x80\xacAn\xf8\x81\xd9\x05K\xf8\x05d\x0d\x10~\xc0\x8eX\xe1\x17\x905@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1\xc8\x0d?K\xd7\x15\xea\xf4\xea\x1c\xb7\x9f\x17\x98!\x10\xca0`V#5\xfcL]W\xc8;\x1aP\xb9\xec\xbd*\x9a\x1d\xc8\x18\x83\xa3\xe64\xa1\x0c\x03f5R\xc3\xcf\xd6u\x8dk\x0f\xef\xed\x84\x87\xc6\xcc`\x16\xd6\x13\xff\x81\xc7{d\x09R\xc3\xcf\xd6ui\xf8\xde\x80'\xf9\xcc`\xca\xeaD5\x80\xd9\x87\xdc\xf0#\x96\xae\x0b\xa3=\xcf\x13\xc8\x14\xb7\xeb\xdc\xb9\x85+\xb4\xc7v\xb4\x96\xe5\x95\xb5\xaa\xbf\xb7)\xb9\xde\x1d\xf3\xf3\x96\xe37\xea\xc8\xc3\xfe\xcb\x10\xa9\x0c#*lSr:\xd1m\x97R\xa25\xd6\xb98\x7f\xfe\x0ex\xe0\xff,@r\xf8Y\xba.\x8c\xe6\xf1\x002\xc4`~Y\xcb@\xb3\xd2\xa2N6\xba\xf6\xf8\xf6\xb8\xd6\xabo\xc7\xc7\xe7*\x85\xcd-\x05\xea.?x\xc1?\xbf\xca\xef\xf7kO\x0c4\x94aD\x85\x80?W-\x1ajt\xe1\xf2\xc6\x9c\xed\xbe\xd6\xc2287\x98\xf9H\x0e?K\xd7\x85\xa2\x17\x03\x80\xcc\x10*^\x1e\xc2OT\x9fB\xa8O\xc1\xa7c\xfaO\x97[\xdd(\xeb\x0b\xb5*\xd4a\x7f\xf4\xf1\xe1D\x05\xed\xfd\xa0\x19\x87\xdf\xa7t\x20\xfc\xd0\xef.\x04\xcctd\x87\x1f\xc5\xea\xbaT\x06\xba\xedg\x01\xd2\x89Oy?:\xd9\xa8\x1f\xb9\x974\xaa?\\\xf8\x87\x16h^\xf8\xcd\x0af\xf8\xeb\xe7\x850\xc5\x8d\x08\x98\xe9H\x0d?[\xd7\xa5\xd2\x01\xc2\x8e\x0c\xd2\xa2\x18\x17[\x17\xaf\xd4~\xadX\x88\xc8@\xf3\xc2oV0'\xcb\"\x17\x08\xe0\xa1\xbf3\x1f\x99\xe1\xe7\xe8\xba\xf0\x95\x00J\x1c\x09\xc8e@1>\xc5o\x9c\xa7\xfd\x9a\xa7\xed\xf9\xad\xe1o\x8f\x9c\x9b\xf1\xc2\xbf\x07O\xae\x9f7\xaa1\x85\x80\x99\x8e\xcc\xf0st]\xf8\x94\x1f.\x0eg\x90`Q\x15~+\xde\xbe\x1d\x9f\x01\xe0s\xf5.M\x05F\x86\xbf\xaa\x0a\xa1I%rr\xc6\x08\x7f^\x93\xfa\xde\xbe\x10O\xf6\xe9\xb5\xf6\x1cD\xc0LGj\xf89\xba.\xf5\x9d\x00>\xe4\xcf$\x83\xdf+\xf1\xfa\xb6+\xed\xea\xe4\xfa\x9c&_S\xcez\xed\x0a~\xe3\x10\x1am\xcc\xf5\xe3\xfd}\xb3\xab\xa5wi~\x80T\x86Q\x15\x16\x17\x1e<\xb8X\x99\xdbq\x03\xa1&\xa5\xbe\xbb\xb7Q\xe9\x14-\x14\xc88R\xc3\xcf\xd5u\xc1\xfd\xa2\x99\xe5f]q\xc1B\xedS\xd7\xb0\xf69\x7f\x18\x7fv\xaf(\xb9\xe3\xf9\xea\xcfmjqh\xbb;\xaf\x0a\xfb\xbaMe\x18U\xe1fU^\xc1\xf2&\xbdn_\x95\xdb\xbd\xb8\xcfvy\xc0\x8c@n\xf8\x01\x00\x981@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8\x01\xc0\xa1@\xf8g\x0f\xf5\x8a{\xfd\x0dQ%\x00\x88\x17\x08\xff\xec!0\xd8Q\xe2\x86'\x1f\x00\xa9Bn\xf8Y\xba.\xfct\xd87\xda\xdf\xb8\x00\xaf\xea8\x18T\xc0k\x04\xa4\x0a\xa9\xe1g\xea\xbaP\xb0\xf3$.\xed\x84\xf4\x8b\x19V\x86DU\x00\x20N\xa4\x86\x9f\xad\xeb\xf2wk\x8f\xf0\xef\xf6\x0b\xe6\x06\x20\xfc@*\x91\x1a~\xb6\xaek@\x7f|w/x;\xc4@\xf8\x81\xd4!7\xfc\x88\xa5\xeb\x9a\xea\x1c\x9c\x0aM\xf9;\xe1y\xafb\xae*\x83\xa2*\x00\x10'\x92\xc3\xcf\xd4u\x85\x06\xd4\xd2>x\x86g\x1c\x84\xdc\x0b/\x04\xc0\x84\x05\xa4\x04\xc9\xe1g\xe9\xbaB\x03\xdd\xf8\x99\xbe\x03\x90\xfe8\xe8S\x14e\xa5\xa8\x12\x00\xc4\x83\xec\xf0\xa3X]W\xf4\x82\xdf\x05\xd1\x8c\x00\x0a\x16\xcek\x19\x04\xc3\x09\x90\x12\xa4\x86\x9f\xa9\xeb\x0a\xb7\xeb\xa68\xcd\xe3\x03\xd83\xac\xc0eQ\x20U\xc8\x0c?[\xd7\x15\x0d\xff(\x84_\x0c\\\xed\x07R\x87\xcc\xf0st]\x83\x91\xc3~\xb8\x8e-\x06\xc2\x0f\xa4\x0e\xa9\xe1g\xeb\xbaB]\xdd\xe3\x81\xf1\xee.\xb8\xe0'f\x08\xc2\x0f\xa4\x0c\xa9\xe1\xe7\xe8\xbaB\xc3';N\x0eC\xf6E\x84\x02\xa3\xf5\xae\x80\xa8\x16\x00\xc4\x89\xdc\xf0\x03\xd3\xe1\x09E)\xee\x15U\x02\x80x\x81\xf0\xcf\x1e\x02\xa3\xb0\xdb\x07R\x08\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\x0a\x84\x1f\x00\x1c\xca\xff\x0fL\x0c\x1em+\xfdz{\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/chan1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\xc0\x00\x00\x02n\x08\x03\x00\x00\x00aR\x8e\x00\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x07\x0a\x07\x0f\x11\x0e\x1a\x1a\x14\x1f\x1f\x18!#\x20#$\"\x15%D$%#%'%'(&+)\x1e()'*+)/,!+-*,-+-/,02/63(241564796<9.9;8#?r@=2<>;>@=C@4DA5AB@DFCFHELH:IKHKLJNOMUP?PRORTQTVSVWU]XGWYV_ZI,`\xaeZ[Y7]\xad[]Z\\^[9a\xab;b\xac<c\xad_a^faO>e\xafac`hcQcdbAg\xb2efdCi\xb4fheDl\xb0Mj\xafqjRikhGn\xb2Ip\xb4lmkKr\xb7npmUt\xb4{s\\rtqWv\xb6tvsuwt[y\xb9\\{\xbbxzw]~\xb8e|\xb8\x84|dX\x80\xbf{}za\x7f\xbf|~{~\x80}b\x82\xbc\x7f\x81~d\x84\xbf\x81\x83\x80|\x83\x97\x83\x85\x82l\x86\xbch\x88\xc3\x90\x86hn\x88\xbej\x8a\xc4\x87\x88\x86q\x8b\xc1\x89\x8a\x87t\x8e\xc3\x97\x8doz\x8e\xbf\x8c\x8e\x8b|\x90\xc1\x8e\x90\x8dx\x92\xc8\x90\x92\x8f~\x93\xc4\x9d\x93ux\x96\xc5\x92\x94\x90\x81\x95\xc6\x93\x95\x92{\x98\xc8\x94\x96\x94\xa2\x97y\x96\x98\x95\x81\x9a\xc4\x97\x99\x96\x84\x9c\xc6\x87\x9b\xcc\x99\x9b\x98\x80\x9e\xcd\xa6\x9c}\x87\x9f\xc9\x9c\x9e\x9b\x89\xa1\xcb\x9e\xa0\x9d\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x91\xa5\xca\x8f\xa7\xd1\xa4\xa6\xa3\x94\xa7\xcc\xa5\xa7\xa4\xb3\xa7\x83\x92\xaa\xd4\xa7\xa9\xa6\x97\xaa\xcf\xa9\xab\xa8\x9d\xac\xcc\xab\xad\xaa\x9b\xae\xd3\x9f\xaf\xce\xbb\xae\x89\xad\xaf\xac\x9e\xb1\xd7\xa2\xb1\xd1\xaf\xb1\xae\xb1\xb3\xaf\xa5\xb4\xd4\xa2\xb5\xdb\xb3\xb5\xb2\xc3\xb6\x91\xab\xb7\xd1\xb5\xb7\xb4\xa8\xb8\xd8\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbc\xd7\xad\xbd\xdd\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xb7\xbf\xd4\xcd\xc0\x9a\xbf\xc1\xbe\xb6\xc1\xdc\xb9\xc1\xd6\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xba\xc5\xe0\xc4\xc6\xc3\xc6\xc8\xc5\xc0\xc8\xdd\xd7\xc8\x9d\xbb\xca\xde\xbd\xc9\xe4\xc5\xc9\xd9\xc0\xcb\xe6\xca\xcc\xc8\xc7\xcb\xdb\xc2\xce\xdc\xbf\xcf\xe2\xc9\xcd\xdd\xcd\xcf\xcc\xc9\xd0\xe6\xcc\xd0\xe0\xc6\xd2\xe0\xdf\xd1\xa4\xcf\xd2\xce\xd1\xd3\xd0\xd2\xd3\xdd\xd3\xd5\xd2\xcd\xd5\xea\xce\xd7\xdf\xd5\xd7\xd4\xe6\xd7\xaa\xd6\xd8\xd5\xd1\xda\xe2\xd8\xda\xd6\xd9\xd9\xe4\xd3\xdc\xe4\xd5\xdb\xea\xda\xdc\xd9\xd8\xdd\xe0\xdc\xdd\xe7\xdc\xdf\xdb\xda\xdf\xe2\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xd6\xe2\xf0\xdc\xe2\xe4\xe0\xe2\xdf\xde\xe3\xe6\xde\xe2\xf2\xe2\xe4\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xeb\xe7\xe9\xe6\xe8\xe8\xf3\xe8\xea\xe7\xe2\xeb\xf3\xe9\xeb\xe8\xec\xee\xeb\xe6\xef\xf7\xe8\xf1\xf9\xef\xf1\xee\xf0\xf0\xfb\xf1\xf3\xf0\xf1\xf6\xf9\xf4\xf6\xf3\xf7\xfa\xf6\xf5\xfa\xfd\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf9\xfe\xff\xfc\xfe\xfb\xfe\xff\xfc\xc5\xe5[\xa2\x00\x00\x20\x00IDATx^\xec\xbdqLS[\xda\xef\xef93\x8b\xab}\x87Ax+\xc3}\xf5^8#\xbe\x1c\xbc^gk\xa9\x17\x7f\xe2A.U\xe1u^\x05\xde\x899\xf6\xe8}\xc9\x18\xc5\x174z\x8fg<W\xb7i\x86\x1e\xa0D\x99`1\xbcD0\x0c\x0dp\x022\x04\xa5i\x99\x89\xa9F\xc2;\x8d\x8d\x9c\xd83\x89\xf6L\x8c\x90BL\xbb\xfe\xfc\xe5\x97\xdc\xff&\xbf\xb5\xd6\xdem\xf7nw[@\xd9Px>\x09\xddk\xaf\xfd\xac\xb5\xf7j\xd9\xdf\xae\xf5\xec\xd5\xf5l\xf8\xdb{\x80\x01\x00\x00V\x8e\xbfmH&R\x89HV;\x00\x00\xc02\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\xac\x0b\x02\xc9\x0c\x80\x94\x04\x04\x0cX\xfbx*\xb6\xa0\xfd\xc9\x8c\x80T\x04\x04\x0cxO\xda\x0b\xbc\xc9L\xd4\xc1[\xd0\xae|\x20\x90\x97\xc7\xf7\xb8\x95\x8f\x01\xa9\x8d\xda\x02\xe6\xe9j6Y\x06|\xb2\xe4|\x13/\xd0\x9c\xa0\xe0_\xaf\x95\xe9k\x83\x09\x0cbi\xdb\x88\x046\xb6%3]\x94\xed\x12\xa9C\x9b\xe8\x0df\xcd@u\xca\x06w\xd9\x05d\xeds)\x1f\xc6\xd8L\x0e\xd7\x91z\x102\xc53\x890\x9a\xc6\xaaK{\x20\xecNnByds\x84de(\x9c\xc0\xb1'#\xbb\xb47{:\xf6H2\x1a\xd0\xb9d&K`\xec\xd0p2\x13F\xbf\x8e\x13\xd0\xf5\x93KIkP4\x1aG]\x8a\xf9@\xea\xa3\xb2\x80M\xf3V\xa7\xdb\xd9\xd6\xec\x93&g\xf8Q\x0f\xe1\x01?\x9e\xa0\xe4\xe9C\x9d\x17\xf5o\x13\x18\xc4\xd2\x80l\xb6\xaf\xd1e\x9b\x0d)\xff_SzG\x17n\xbbDB\xa7\xf0\x96f\xec\"\x9b]\xe9\xa5qz,\xbe\x81MGl\xbd\xbf\xd9\x96\xeeT>\x8e}f\xd4\xe0\xc5\xde\x06d\xf6\xc5\xb1\x88\x9c\x0d\xcf\x0f\xb2\x06\x0d\xfa\xc5\xfd\xc1#\x1a\xf2\xea\xa6\xcd\x1c\x8c)\xd5\x95\xb1\x83o\xd9\x8eP\xbc3\xc7\xe77if!\x11>q<\x1e=Y\x84\xc1pq\x7f|C\x09w8\xbb\xbd\x93\xeb\xb0\xdbw\xdf!{\xd6\x8dW\x95\x8c\x86\x90M)\x1bX\x03\xa8,`.\x9e\xf6\xe4}\xbcS\x96t\xd0\xfb\xd1\xd74\x90\xa0\xe0\x0f\\'\x0e\xce&0P\xe0\xb2\x86\xfe\xef\x92\xbb5\xfdr\\\x9b\x1d\xa5\x0b\xb7]\"\xa1S\xe0S{3|\xd8\x9b\xbe\xf7T\\S\x0d\xed\x9b\xf9r\xf6\xc4;\xee`]\x89^\xe4\x88g\x209\x1b\x16\x1b\x14\xa6N\xa3\x94\xcb\xf0f\xee':\xe7\xdb\xb6x\x01\x9b\xd4\x84Z#=\xb1\x04oaH\xaek.(\x1aD\x90\x19,\xb0\xb3\xdd\xa1\xc3\xf817\x81\xb1\xbe\x83\xee\x9e\xd1(\x8d\x14\x15Z\x0c\xac\x11T\x160\xcc\xba\x0e^\xde#OR\xee\xde\x9aW.\xc2x\xc1-lH!\xc5\xef\x12\xffw]~\x1c\x8f\xfc\x83\x0b\xb7]\"\xa1S\xe0S\xa5\xbbZp\xd3/J\x93\x08\x18>\x97\x1e\xef\x91\xd9\x02\x04,|6\xbc\x08\x01;\x95\xce\xc6\x8e\x97P\xdc\xd1k<*\xb2C\x9dA\xe9\x89%8\xc2\x17[\x95L\xc0\x92\x1a(0\xf7B\x14\xb0\x17st\xd7\x97]\xa1`\x04\x02\xb6vQ[\xc0\x083n\x8b5\x10\x93t\xf2\xf1\xfd/se\x82\x9f\xe3&\xc6\xd78\xae\x0f\xbf\xd0q\xbf\xa4I\xdd\xbd\x9b\x95\xfa\xda\xef\x99\xcd\x8b\x0be\xbaCbZB\xe4\x7f\xb7\xa9\x20#\xb7\x9a\xddm\xb6=9\x9b\xb4{\xb7\x92\x11\x87\xe8\xf7\xca\x97\xd9\x8eoD\xe8\x8c\xab|k\xfa\x9ey\xec;\x98\xad\xc9\xd9G\x87\xb6\xc7\xd0&\xbe:7c\x8f[V\xc31\xb4\xf1jEN\xc8mu=?c\xfbuy\x0d\xd2S\x9c*\xbd~\x00\xef\xbdN\x05,R\xaf\x93\xd8\xee\xc39\x08e\xf9C\x02\xd6\xb0\xd1/\xb9^\xe9\xe5\xc8\x04,t\xb6\xa4\x0d\xc2\xd8S\x9e\x9du\x80\x0d!\xb1\xe2[\xb2M\xb8\xed\xbd\x97\xfc\x92z%-Vn<\xc1\x9f\xf99\xdbF\x9d8\xc4\xd5\\\xab\x139\xad\xb9\xd7\xf1\xb0\xe8\xaa\xaa\xa1\xd9\xc1\xfb5\xc5\x957Y\x7f\xda^{XWV{8(3x\xab\xe7\xe8\xc7\x8c\xa3>\xe3W\x17\xcb\x0c7o\x96\x15\xf7\xc9O\"\x08\x98\xc8\x99\xf4\x19\x1cC/\x08\xd8\x9aEu\x01\xf3\xf2</\xbap$I\x8c-=\xf1\xcb\xe0\xa7\xf6>\xae\xd5n\xff\x0b\xc6\xdf\xdbu\xad88\xf1e\x11\xc6S}:\xeeP\xeb\x9d\x92\xf3\xd4\xe2Qq\xcd\x9d\xb1V\xae#\xbad\xf8n\xadH;n\xbd\xaa\xcd\x0f\xd0\xac#\xb7\xbay-\"\xf24`\xcb-\xb4\xd9lN\x99\xed\x8c\xa5yknfNu9r\x93\x1b\xb3\xa2\xd7\xb2/m\x88\x08M\xf3F\xa4\xad\xbb\x94y\x00Kk\xa0\xb9[\xeb\xea\xb6fPI9\xa29c=\xa3)\x97\xd5\x20=\xc5\xa9Rw\x86\xf7'\x1e*`\x91z\x03\x83ui\x83\xd8\x8c\x9a\x1ebQ\xc0\x02\xf9\xdb\xa5\xd7+\xbd\x1c\x07\xb2\xce\xcc\xcc\xdcE\xb2\xb3%m\x10ve\xe6\x9a\xdb\x7f\x814\xf1\xde\x12\x7f\x9ad\xdc\x1c\xaeW\xd2b\xe5\xc6\x13FQ/+\x14u\xe2\x10\x9er\x94\x87>A\xa5n<;a\xaf4\xda\xed\xf6\xe74\xfb\x0awc\xa4\xf3P\x15\x19%>\xdd}\xb1\x7f\xec^\x19\xf7Nn\xf0\xd8n\xd7\xb7\xd2\x84\xf43\x9e;a\xe8l\xd5\xeb\xef\xd5F\x7f\xc8R\x01\x1b\x88\xd1\xaa\xf9\xe9\xde\x1dY\xf1}\x86@j\xa3\xba\x80a\xaf\xc7ai\xf6E'\xdd|\xe2\xc7\xdc\x91!d\x11\xfd\xcfn-b\xc9\x12\xf2\xcd|\xf1\x10I\xcd\x1d\xae%C\x88\xb9\xbe\x1f\xa2\xcb\x85\xeeV+2\xb3\xbd\x16\xd2\xc3\xd0\xd2{\xef\xeb,\xd6\xf5S\x1eq\xe5\xa3]>6\xc6\xf5Y\xe8\xe5}\xc2\xe6\x10i\xb2\xc8%\x96k\xb1\xbc\x06\xcdVj\x96S\x80q\x17\xeb\x1eu\xa1\xbb\xb2\x1adCH\xfc\xc9\xb1\x1d\x98\xf5\xc0$\xf5\xe2#\x05\xde\x1c\xe1\xd1\x81\xe6_g|\xe3\x07P\x8f\xecz%\x959\xc4\x8e\x8eCv\xb6\xa4\x0d\xfat\x1b)\x1b\xd8\xae\x91\xe7FN\xe1F\x91\xf9\x07\xd2VDZ\x1c\xa7\xf1\xa4\x8e\xc9PA\xe5!d\xd7&\xb4\xe9\xae\x90\x0c\x8f\x10\x87\xb9\xfb\x98\xca\x0e\xe9Iu\x1ezG\x92\x9d%A\x99\x01E\x100\xe9g\xdc\xc7=#\xa6\xdc\x14\x8eF*`nt+\xea\xe8~\xf2~Y1\xb0FQ_\xc0\x08~Kwt\xb2\xdb\x12\xd7\x9a\xa1,`\x17C\xc9\x11\xee\xa9r\xb9\xd0\xddZ\xba\xcd?O\xc8!c%w\xf6\xd6\x7f\xe6\x1f\x06\x04_W\x1c\x01\x0b\xfb\x82\xbd\xd7\xf7l\xcbD\xb4K\x845G\xc8\xcb9\x0d\x96\xd7\xa0\xf9\x82\xbe~\x8d\xbc\xb8\xe2\x13V\"\xef\x88\xbc\x06\x99\x805\xa0\x06&`\xd2z\xf1\xcc\xf6-\xfb\x04\x0b\x0dU'-U\x13\xc9\xf5J*s\xa0KCCC\x97\xa9\x80I\xce\x96\xacA>\xc4\xd3\xcd\x19\x8d,Wr\x0a\xff\xc6H\x0fL\xda\x8aH\x8b\xe34\x1e\xb7'\x160o\xb5&\x07ekN2?~X\x9f\xea\x8f\xce\xbd#\x18\xae`\xfc\xd2p\xf4\xc6\xbd\xa7A\xe6\xbf\x8a#`\xe1\xcf\xb8\xb1\x84\xbc<\xe7\xbe\xc5\xd1\xc8\x05\xac%\xea\xa8\xbb\x8b\xcf\x83\x1e\xd8\x9aEe\x01\xf3\x0b\x1e\xafq>\x20M\x12\xcc\x0f\xe2\x96a(\x0bX8\xd9\xc1\xcd)\x97\x0b\xdd\xad\xdb\xc5\xbe\x0b\xed\xf3\xf8\xf8\x83yh\x8b\xd0\xe7\x89#`;BY[r>o\xb3\xed\x14\x04\xec\x1c\x0ey\xc2%5\x08n\xab^4\x8a?\x15Tho\x81\xac\x06\xb9\x80y\xc9\xbdL\x05LZ/\xc6\xb7\x90\xf8\x00VS14$\xb8\xd3\xa4\xd7\x1b\xa9L\xe2\x03\x93\x9e-I\x83\x1e\x08\xb3\x08\x04%R|KD\x1f\x98\xbfK^\xaf\xa4\xc5\xca\x8d\xc7\x83\x91\x11\x9b\x92\x805hy'r\xfeF\xcb\xde\xa3\xb0>\x9d\x10\xdd]gI\xfa\xed\xbd\x0b\x95\\\xd9\x9d\x04=\xb0\xc8g\xbc\xfb\x15\xfd\xa6J\xdc\x03\x1b\x0a\xbd\x95Rlh(6\x13X\x13\xa8+`\x81&\xc1e\xf2\xd0\x14\x90$1u\x87%\x99(\x1d%`\xdfD\x09\xd8\x18\x1d^(\x11\xba[\xcb\xb7\x8d2H_\xe0\x01\xed\x01\xf9Z\xd2\x99\x03\x9c\xddv&\xb7\xcc\x96\xe4\x1e\x10\x13y\x05\xf4\xbb\xfb\x80\x20`\xf46d\xf7\xb0\xb4\x06M5=\xc6#\x1f\xae\xd8\xc6\x8al=\"\xabAr\x8aS\xc2D\x03*`\xd2z\xb1'\xfb\x8b\xad\xc2\\\x03Mx\x8a\xab\xe4z%\x95I\x04Lr\xb6d\x0d\xf2\"v$\xda\x89/9\x85\xf8\x14\xd2B\xfb\x91\x92VDZ\x1c\xa7\xf1\xd8\xc7\x84\x8d!=q\x18?{\x0a)\xf4\xd6\x98>\xdd{I{`O\x18D\x8f\x1e7\x12\xe9z\xdb\xa7\xef\x94\x19Pb\x05\xec%W\xfb\xf2Y\xa51v~\x85T\xc0\xea4\x0a\x9d-x\x0a\xb9vQW\xc0p3\x9b\x12\xed\xa7\x1e{I\x12\xe3I>I'?\"`\xfaF\x8c\x83\xff\x12%`\xb3\x06#\xed\x82\xdd\xb8\x11].\xf4\xbf\xdb\x85\xd8\x18\xf5\x8b::#\x9e\x9d\xb9\xf0\x18{-\xc4xZ8&\x15\xb0Po\"\x87JG`{\x94\x80Ik\xd0l\xa1\xee\xa9m\x85\xd4\x1fDG/-\x82\xc3E\xd2\x1f\x09\x9fB\"`\xd2z\xfd\x05g\xf0\xb1]\x81\xf0)\x18\x92\xeb\x95T&\x110\xc9\xd9\x926\xa8\x20\x87\x88\x94\xeb'\x1a,\xcb\x95\x9c\xc2\x9by\x80\x88L\xa0p\xab\xbc\x15\x8a\x02&;\x1b\x19\x87\x0a\x1di\xf9\x89%\xb8\xb3B\x9af4b\xfc\x9a:\xbe\xc6\x84'\x8c\x8d\xb7\xc9\x87\xc7\x8d\xb0C\xd7d\x06\x94X\x01{\xc2\x95q\xdc\xe9\xd0sfwCx\xf0*\x11\xb0@\xde^\x1c\x0b\x08\xd8\xdaEe\x01s\xf1\xddN\xb7\x93y\xee%I:\x89\"\xe1\xf4+\xe1)\xe4\x04\xfb\xf25\x1e\xbas\xbb\x86\xd3\xdd\x9f\xfa\x8b]\xf7\xe5D\xf0\xe9\x97:\xfat\xf2\x91\xfeD\xe7\xc8\x0d\xee^T\xc1\xd1\xaf\xd1\xe5\x07,u\x0a\x95Z\xda+P\x13\xbd\x037\x9f\xb3\xb6U\x08\xcf\xcf\xcei.\xb5\xef\xcapKm\xe7\x07\xd9\x135v\x7f\xd4\xa1\x83\xd7\xeb\xf2\x91\xb6a\xd0c\xdbtd\x10\x8f\x1e\xd9d\xf3\xc8j\xd0\xa0|\x8b)7\x8bZ\x97\xa7\x9d\xb2\x9eJ+\x97\xd7\x109\x85\xb7t\xa7\x87\xeczv\x96z%\xf5\xce\x0c\x1c\xd3\xba\xf1df\xf5\x80\x9f\xce\xc4\x0f?\xc6\x0b_\xaf\xa42\xd9L\xfc\xf0\xd9\xe24H2\x13\xdf\x91\x91Sw&+m\xa3\xd9)\xcc\xc4\xbfl\xb3\xb9eo\x09\xee\xca(0\xb7\xffb\xe3\x80\xb4\x15\x92\x16\xc7k<\xf9\x14\xd3.ay3\xe3\xd2Z\xd4\xd1\x7f\xba\x98v\xb0\x1aw\xd7\xf7\x7f{\x85JU+W\xdc:\xdc\x7f\x85{$3\x98\x9b\xb0\xdb\xf5_\xda\xedo\xb1\xf43~\xa6\x1f\x1b\xb1\x7f\x1f\xea\x80\xedC!\xa9z\xda\xc9u<\x16\xd3\x97\x91\xd2\xef\x01\x1e(\x8d+\x815\x81\xca\x02\x86==\x16S\x9b\xf0\xf3\x16I\x12\xbbo%*4W\"\xfc\xdc\x8d=b\x7fa\xd4\x17\xd7~\xc3q\xd7\xae\xd1\xac\xff(&\xaf\xf4\xfb\xfb\xf9\x05CqM\xf4\xcfO|\x9b\x11B\xe9B\xe7\xaek\xa76\xebS\xfa@\xac\xa9\xb0.gSv\xa1p\x03\xfa\x8fg\xa5\x17\x0e\xc9l\xc7\x85\x1f\x11\xb2\xfb#p9W\xa3-5o\xd3\x14\x1e#Y\x9b\x1c\x19\xe4\xf5\x98\xac\x06MuEfv\xb9\x87\x19\xfff{\xc6\xf6\xaf\x03\xf2\x1a\"\xa7\xa8C\x88\xba\x9a\x8e\xd1\xdf3F\xea\xed\"\x86\xd5\xf88y\xed\xa5\xbf\x85\xcc\x0b_{\xe8z%\x95E~\x0b\xc9K\xce\x16\xa7A\x0f%\xbf\x85t\xed\xcb\xdaz\xd2\xbc\x91\\\xfa\x11\xd1\xf1U*=\x05\xc1\xf1\x8b\x8c-\xfb\x1c\xb2VHZ\x1c\xaf\xf1\x843?\x19\x9073.s7>\xd3\x1b\x05\xa5\x19;]Vb\xa4}\xaf\xfb\xc6\xdb\x87u\x06\xe3#\xb9\xc1S\xd1Iv\x0fK?\xe3\x09\xf6\xb3G\x9dQp\x82\x99\xb5\xbcP\xed,=*\xfe\xc8\xcc\x96~2\xfa\xac\x94\xe9\x8d\x07\xc7\xa7\x03\x18X\x83\xa8-`k\x8e\xc8\xa8o\x9dR\xad\x89\x196.\x0b\xaf\x8b\xaf\xbd~\xf7\xee\xed\xd3\xf3\x9f\xc5\xfdEl\x8b\xa6B\xf9\xd7\x1c\xedy\x08\x96\xd3Y\x9b\x80\x80\xbd'\xeb^\xc0\xf0\xe5\x9c%\xaca\xb1x\xfa\x85\xc9b8X6\x12\xc7\xc2\x9b\x1d\xff\x87\xf8\xd3\xe3\x9e\xb8\xc7\x80\x14\x06\x04\xec=\x01\x01S\x89'\xe2\x04\x8a\xa9xS\xfe\x80\xf5\x08\x08\xd8{!x\xb7\x01\x15\x08^\xd1_\xeb{\xd4wM\xff\xd5\x02\x17\xaa\x00\xd6\x03\x20`\xef\x05\xf3nOb@\x05\x82\xc3\xb5\x06\x9d\xa1v\x18\xf4\x0b\x88\x00\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96\"\x0c\xd7\xbc\x96\xed{\x0b\"\xeb\xd8\x03\xc0zEm\x01\xf3t5\x9b,\x03\xbe\xa8\xa4o\xe0\x96\xe9\xd6\xc0\xca,\\>\xb9I\xb2\x86M\x08\xef\xb1-\xe9{\x17\xbf\x00\xcb_\xaf\x95\xe9k\x170S\xbc_'.\x18\xa3[X\xfci\x1a\x81\xba5\xaa\xde\x86\xb4\x0f\x1eC\x1c\x00R\x0d\x95\x05l\x9a\xb7:\xdd\xce6\xba\x8a\xa1$\xe9kj\xa3\xc9\xa6\x95Q\xb0\xc1\xd0Z\xcb\x12vm\xb9~$}\xf1\x97s\xfaP\xe7Eai\xaaGO\x12\xd9\xdd\xe1\xec\xf6N\xae\xc3n\xdf}'\xae\x8d\xac\x86N\x16\xc8G\x9ek\xddx\x15\x03\xc0\xfaFe\x01s\xb1\xb5\xef}\xbcS\x96\xb4Y\xe82N\xf3\x16[\x92\xd2\xcbD(du\x04/\xba\x8a\x03\x8b\xd7\xaf\x1f\xb8N\x1cd\xf1Zq\x8d4@E\x0c\x1d:q!d}L\x20\xcb0\xd2\x1a^\xe8\x1a\x15r\xcfh\x12\xac\x7f\x0a\x00\xeb\x01\x95\x05L\x88\x94\xe8\xe5=\xb2d\x8f\xe0\xceiO\x14\xdbv\x19\x89\x150\xd7\xd2\"\x09F\x16\xee\x97G\xd8\x89a\xee\x85(`/\xe2\x04S\xc2\xf2\x1a\xae\x18f\x15r}\xd9\x15\x18\x00\xd65j\x0b\x18a\xc6m\xb1\x06dIoS\xaf\xd7\xef\xb55y\x13\x17\\\x06<\xe5\xd9Y\x07\xc4!dSAFn5QU\xbfVXu\xb9Z\x96;\xbe\x11\xa13\xae\xf2\xad\xe9{d\x8b~\xbe\xbd`\xd0\x1d>KC\"\xcd\x95\x09n\xad\x9b4r\xab@\x0d\xb5\x08\xde\xaf)\xae\xbcI\x04\xe8\x99\x8e\xe3\xbeyq\xf1\xa8\xbe\x96\x06s\x8d\x84\xa2\x08\x1b`l\xaf=\xac+\xab=\x1c\x94\xd7\x80\xe7\x8a\x85\x0e\x98<\x97t\xc1\xd2g0\x00\xacgT\x170/\xcf\xf3f_Tr\xa6\x9b$\xbb\xd4\xbf\x1b]\x99\xb9\xe6\xf6_\x20\x0dMW\xa4\x1d\xb7^\xd5\xe6\x13=}hkAu6\x9bG\x96;ci\xde\x9a\x9b\x99S]\x8ed\xe3\xb6a\xee\xabG}g9\xb6\x92;\x8b<B#\x8c\xccN\xd8+\x8dv\xbb\x9d\xad\xe1\x7f\x85\xbb1\xd2y\xa8*\x88\xe7\xfa\xfa\x0eW\x16\x1bn\xd6\xeff\x91\xc3\xc2\x02\x166\xc0Ow_\xec\x1f\xbbW\xc6\xbd\x93\xd7\x80\x9frv\xb6\x95\xe7b<\x00\xd1v\x80u\x8e\xea\x02\x86\xbd\x1e\x87\x18\x8a(\x9c\xf4w[\x9c\x1e\xa7\xa5[yA\xf3e\xe4\xd3m>\x1a\xddL\x83i813\xa6\x01\xb8X`\xe7\xf0\x10R\x96\x9b\x8fv\xf9\xc4\x91o\x98\xd9>\xd2u\x0a\x9e8\xcfv\x94\x86\x90\xc3\xcc\xfd\xfeX\x88\x16V\xc5\x9d~\x8b\x83\xc2\x9a\xee!\x01\x93\x18t\x1e\xa2}\xb3\xce\x92\xe80\xaf#\\H\xb2\xe4CS7\xba\x85\x01`=\xa3\xbe\x80a\x1a\x0c\xb2[\x96\xb4Y\xfc,\xa9v\xf0+\x1fb\x91m\xceh0\x0dp\xe8\x9f'\xe40\xb7RX\xc0d\xb9\xf9JN\xf3W\x9d\xb5GK\xb8\x13,\xad$`\xf5G\xe7\xde\x11\x0cWXn\xd1\xcbp\xc1\x90\x80I\x0c^\x1a\x8e\xde\xb8\xf748'\xaf\x01\xe3~\xeeE(\x19%`-\x18\x00\xd63*\x0b\x98_p~\x8d\xf3\x01I2`z\xc8\x92B\x90n\x15y\x80\xd8s\xcfs\x1a\xf2\xb2]\x8c7\xc6\x82\xd7\x84\x05L\x96\x9b\xbf#\xb6\x8a\xc7\x87\x0e7\xf6\xdbO\xc7\x17\xb0\x13\xa2\xdf\xea,\xcb\x0dy\xafpD\xc0\xa4\x06o\xef]\xa8\xe4\xca\xeeD\xf7\xc0&\"\x91[e\x026\x04\xf1\x0e\x81u\x8e\xba\x02\x16h\x12\xc2\x09\x12\xa9\x92&E\x01\x1bU[\xc0\xbc\xe8:\xdd0'~\xf9\xb6Q\x06{\x90\x10\x160Yn\xfe\x81\xd8**k\xa8\xf7\xfd\x82\xb2\x80\xdd{I;XO\x18\xaf\xc2\xb9\"\x91\x1eX\xd8\xe0q#\x91\xae\xb7}\xfaNY\x0dd\x9c\xca\xc2S\xcb\xeb\xa5\xd4i\x16?\xd5\x03\x00\xd6\x12\xea\x0a\x18nfa\xe9\xfd\x96\x1eY\xb2G\x1cB\xaa>\x8d\xa2\x20\x87(\x93\xeb'\x1a\x92\xecB,\xbc\xe1\x17,\xc8PX\xc0d\xb9\xf9\x07ck8L\x05%X\x15#`F#\xc6\xaf\xa9_kL\xf0~5\xde\xa6\xafJ\x02&1h\xe5X\xc40\xe35Y\x0d\x84\x0b\x95\xa1i\xf8\xd2\xdc@^(85\x00\xacST\x160\x17\xdf\xedt;\x99\xe7^\x92\x9ci\xb18\xdc\x0eK\x8b\xea\x8f!\x1d\x199ug\xb2\xd26\x9a\x9d\x18\x9fB\xa5\x96\xf6\x0a\xd4\x14z\x0a9\xc8\xba\x83\xe1\xdc\xf9A[n\xa1\xcd\x16\x1d\xc0\xa3\x95\xbb\xd0y\xbb\x8a\x0c\xfb&\xc4\xa7\x90\x13\x82\xd4\xb4\x16u\xf4\x9f.\xa6=\xa5\xc6\xdd\xf5\xfd\xdf^!\x9a\xf3\xeeO\xec\x19\xa2\xe8\xcez\xda\xc9u\x08a\xaa\xc3\x06\xa4\xb2\xe2\xd6\xe1\xfe+\xdc#y\x0d\x18?\xe7B3\xf6\xa5\xb9\x97\xd1(\x06\x80u\x8d\xca\x02\x86==\x16S\xdb\xa0?*\xe9\x1fj3\xb7\x0d\xf9\x13\x17]\x0e\\\xfb\xb2\xb6\x9e4oD\xc7H\xbak\xa76\xeb\xd3\xbb\xe4b\xb2\x98\xdbk\xa3\x93Y\x84r\xc7\xd3Xnt\x9f'\xd8QYt\xa8\xfe~\xa5\xce8W\"\xfc\xbaQx`8w\xe33\xbdQ\x10\xa8\xb1\xd3e%F\xd2\xb5z&\xf8\xbajY\xe6l1I\x0a\xbf:\x0a\x1b\xe0\xfb\xc6\xdb\x87u\x06\xe3\xa3\xe8\x1a\x88n\xe9E/\x98$\xd7\x96~\x12\x03\xc0\xfaFm\x01\x03\x96D\xf0\x86\xae/*\xabES\xa1\xfa\xb4\x13\x00Xe\x80\x80\xa5\x06\xc1\x0e\xc3+Y\x867\x1b\x16\xa3\x00\x00\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x10\xb0UG{\x81\xfa\xd1\x99\"x\x0b\xda\x93\x99\x00\xc0\xaaAm\x01\xf3t5\x9b,\x03\xbe\xa8d`\xbc\xdd\xd4\xe6L\\r\x859\x86\xd2,\xc9l\x16L'\xc7E/.\x11\xa6\x01\x9d\x93\xed\x7f\xd0\x13S\xba\xb5\x09\x83^6\xa4\xc1\xaf\xc4\x81\x94Ae\x01\x9b\xe6\xadN\xb7\xb3\x8d\xaeb(I\x06\xac\xe6Q\xf7\x03\xd3\x83d\xa5W\x12\x8fmS]2\x9b\x05\xf3\xd6^\xd3\x8a\x95\xf9M\x9aY\x9e\xb1\xf4\x13\xf7*\xafwh\xcd\xb8\xa5\x98\x1f>\xbe\xf1j\xc2\xe3\x00\xb0zPY\xc0\\<\x0d\xec\xe3\xe3\x9d\xb2\xe4C\x13\x1d4\xb9L\xab{\x85w\xcd\x12uD\x91\xb3q\x04lRs*&o\xa9'\xdeQ\xaa\x9c\x9f,\xf2\xc0\x19\xa5\xe8K\x00\xb0\x1aQY\xc0\x84\xa8\x8a^\xde#KZ\xd9\xf2\xf8\xb8\xe9A\x9cB\xab\x83\xa5\xea\x88\"\xf1\x04\xac\";V\xc5\x97zb\xa55\xfc\x17\x82/\xbb\"\x99\x09\x00\xac\x0e\xd4\x160\xc2\x8c\xdbb\x0d\xc8\x92m,\xba\x19n\xbf\x9b\xa0\xd4r0\xbe\x11\xa13\xae\xf2\xad\xe9{\xe8\xda\xa6M\x05\x19\xb9\xd5L>l{r6i\xf7ne6\xae\x03\xdaM[\xf6zHJs\xb2:7cOl\xe7\xc4\xbc\x85E\x97tg\x8a!\xd82%&\xef\xcat\x8d\x06\xc3\xa3\x1b%\xc6Y2p\xbc`\xd0\x1d>\xfb\x8c\x1d\x20\x02v\x83.*\xfd\x0a\xe3\xe0\xfd\x9a\xe2\xca\x9b\xb3,\xdb\x9f\xf9y\xa8\xa8\xd2\x89}\x07\xb359\xfb\xc61\xf5\x8cm\xe2\x95.'|\xe9V\xf1j\xf2\xe5\xcd\xf4\xa5#\x94\xd6\x8c\xa3k\xf0\x96ksN\x9e\xd4n\x16\xbcmg\xd2U\x8fN\x00\x00KBu\x01\xf3\xf2<o\xf6\xc9\x93\x03M,*\x91\xb9-a\xc9\x0f\xcf\x8c\xa5yknfNu9\"wqE\xdaq\xebUm~\x80\x86[<r\xab\x9b\xd7\"\xaaj\xbd\x9b\xf3\x1b\xba\xcf\xa1\xcb$\xa9Ay\xcd\xed[bC\xab\xedG{\xe8\xc6o\xbe*`\x96\xae\xed\xff\xa8\x84\xbby\x9a+\xbb]\xd6Acp\x7f\xf5\xa8\xef,\xc7V\xb4'\x02\xf6}\xbd\x10\xd6\xe3\x0awc\xa4\xf3P\x15\x0b\x062\x8az\xc5\x82\x8a'\xb6\xa2\x8a^\xcb\xbe\xb4!\x8c\x9d\xcd\x1b\x91\xb6\xeeRf\xd4\xe5D.\xdd7\xc0\x82\x90\xd8\x9cQ\xcd|`\xb3\x09=:i\x0d\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\xccj\x19@\x83\x18\x00R\x01\xd5\x05\x0c{=\x0e\x16\x8aH\x92\xf4\x99\xad\xde\x19O;\xffa\x9f\xb6-\x88|\xb4\xcb\xc7F\xb3VD\x9d\xe7C4\xd6\xf5u-\x95\xae\xaf\xb3\x88\x96\xcd\xe4\xec\xf1\xd3\x80o\xd4G\xa7\xd9B^+\xb41UL\xd6\x09\xa1\x8a\xa6'\x05\xa6eG\x0d\x17\xf1\x087\x8c/~\x85\xf1l\x1f\xe9f\x05O\x9c\xa7\xd9D\xc0:\x8aX\x10\xb6a\xee>\xa6A\xd6\xd8cI+\x12\xc3\x1e)\x9f\xd8g\xa1o\xdc',\xcc\xae&\x8b\xc8Qy\xd4\xe5H.]6\x84\x0c7\x93\x92.\x0eI#5\xb4\x20\xd2\xab\xfb\x1a9Dk7\xba\x85\x01\x20\x15P_\xc00\xbd/\xbb\xe5I\xaf\x95t\xc6\x06\xad+0\x03)?\xe4\xb0.\xdd\xe6\x9f'\xe4T\x90\xfb7{\xeb?\xf3\x0f\x03\xb4#u\x17=\x0c\x9bj\xa8g\x88E\xf1Vd\x12\x85\x90\x0d\xeb\x0c}D\x9cfqc=I\xbf\xea\xac=Z\xc2\xb1\x18\x92g[[\xc5\x20\x92\xf5G\xe7\xde\x11\x0cW\xe8N{H\xc0\xe2\x9c\xd8{}\xcf\xb6L\xb4\x9d\xe5\x1e\xc1\xb1\x97#\xb9t\xb9\x80I\xfd\xf2a\x01\x0b\xd7p*\x0b\xd3`\x98\xa1\xf7\xdfMe\x1c\x00R\x00\x95\x05\xcc/8\xbf\xc6\xf9\x804I\x98\xf1\x06p\xd3@\xfc\x82\xcbE\xfe\x0e1\xb1]T\x1f\xda\xbb\xf1\xf1\x07\xf3\xd0\x16:\x1d\xea2\x8ax\x834t~V\x9d&\xb6\x0e\x11\x9bU\xc0&\xcb5\x8c\xe0\xc7:\xcc\x04\xec\xf1\xa1\xc3\x8d\xfd\xf6\xd3\x82\x80\x1d*\xa9<\xcfF\x8d'\x84hk\xdcY\xba3\x18\x1a\xbc)\x9fxhK\xce\xe7m\xb6\x9d\xdb\xe5\xb9R\"\x97.\x17\xb0\x1d8BX\xc0\xc25\\F^\x1a\xc47\xd4\x03\x1bB+\xf0I\x00\xc0\x12PW\xc0\x02M\x82\x8b\xe7\xa1)\x20Ib\xcc\xe2\x83\xb9\xd8\xb3I\x95\xc9\x0f9\x91\xca\xb7\x8d2\xc8\x9d\xfc\x80\xced\xf0\xb5\xa4_\xc7\xb8G\x12;\x96\xb9\x8e\x12\x08\x982\x861\xfc\xb8H\x10\xb0\xca\x1a\xea\xa9\xbf\x20\x0a\xd8\xd4\x8b\x92\x0e\x9a\xaa?\xfa\x84\xc1\x82\x0e\xf94\xe2,V\xe5\x13\xe7\x15\xd0Q\xe0\x81\xed\xf2\\\x09\x92K\x17\x05\xcc\xc4\xba^\xf9R_YX\xc0\xc25\xb8\xd3\xf6\xba\xc7s\x0bB\xf3+\xea4\xab{B\x0b\x00\x84PW\xc0p3\x9b0\xe1\xb7\xf4\xc8\x92N\x9e\xc8\x86\xaf9\xe4\xbfV\x93p/\xa5\x0b1\x0f\xdc\x17\xe4\xa6\xaeC\xec\xd2\x0a\x8f\xd1\x19\x05\x85t8v\xbc\x1a\xc7\x170wCt\xb8n)\x12\x01;|\x81\xec\x07\xab\xc4!$\xc6#:\xea\xc3\x1f\x13\xbc_\x8d\xb7\x99y\xe96AE\x94O\x9cCu(\xb0=\xbe\x80I.\x9d\xbc\x16b<-4K6\xa3\"V\xc0F\xd1\x16\x84vz\xc4\xe3\x81\xbc\xe8\xf0\xbd\x00\xb0JQY\xc0\\|\xb7\xd3\xedd\x9e{Yr\xc8\xfd\xb0\xc9\xaa\xfa\xd7\xfe\xfc\x20{R'\xe8\xcf)Tji\xaf@MT\x056\x9f\xb3\xb6U\xb0\x07\x82\xbd?\xc9\xbb~\xf782\xd1\x09\xf1G\x06\xf1\xe8\x91M6OT-\xfbb\xc2uK\x98\xfa\xacc\xb6O75[\x7f\xfa{\xdc\xca]\xe8\xbc]\xc5\x95\xdd\x99xk\xaf\xf9rbn\xb6\xd6\xf0\xe85\x91\xae\xdd\xf5\xfd\xdf^\x11\x7f[\xe4J\xbb$\x14T<q\x1d:x\xbd.\x1fi\x1b\x06\xe3\\\x8e\xf4\xd2\xf19\xcd\xa5\xf6]\x19nY3\xfd\x836\x9b\xe6\x88\xcd\xe6\x93\xd5;\xaa\xe9\xb1\xda<\xa1\x0e\xd8e\xa4<\x85\x1f\x00V\x1d*\x0b\x18\xf6\xf4XLm\x83\xfe\xa8\xe4\xa8\xc5l\x1dM6A\xfc\xc33\x9e\xc6\xdc^\xa2\xfet\xed\xd4f}J\xa7\xa25\x15\xd6\xe5l\xca.\x14:\x84\xae\x839\x99\x05mt\xda\x14B\x9b\x1c\x19\xe4\xf5XT-f-\x8f\xe3\x11,\xe3\xb8\xbeb\xae\xb8\x8f\xe3\xce\xe3`Ge\xd1\xa1\xfa\xfb\x95:c'uz=%\x99\x1c\x9d\xcf:v\xba\xac\xc48\"\x968\xf3\x13\xd1\xff\xa4t\xe2\xc0\xe5\\\x8d\xb6\xd4\xbcMS\x18\xe7rd\x97\xee?\x9e\x95^8$o\xe6\x90\x90F\xbc\xac\xde\x01\x0d\xcd\xdbT\xc8\x9c`\xb6\xf4\x93\x18\x00R\x03\xb5\x05\x0cHF\xb5F\xf5\xd9$\xde\xcd\xc7\xbc\xf3\xf3\xbe\xa1\x03Y\xa4\x13\xdc\xa2\xa9\x98OV\x00\x00V\x09\x20`\xab\x8e\xcb9\xf2\x99d\xcbO\xbb0o\x0c\x07\xb4w\xb17\x1b\x16\xa3\x00R\x07\x100\x00\x8f\xa6\x09\x13(\x1ci\x91\xc9g\x00\x90\x0a\x80\x80\x018P\x91~\xac\xa5\xb7\xe5X:\xfc\x88\x1bH1@\xc0\x00\x82uO\xb6&{O\xc2\x85\x0e\x01`\x15\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\xb6\x9ai/\xf0&3\xf9\x20x\x0bV`5o\x00x\x7f\xd4\x160OW\xb3\xc92\x10Z\xf9\xcb\xc1\x8b\x93\xbf=\xed\xe6.O\xbc2+\x87\x99\xae2\xa3\xdd\xb3\x9c\xcbcur\xe2J`\x0a4\xa0s\xb2\xfdc(m\xc1+U$\xb7=B\xda\x96\xe1\x12\xd2\x0di\xf0\x13n\x20\x15QY\xc0\xa6y\xab\xd3\xedl\x13\xa3\x12\xf9L\x03M,\xe16\xd9\\6\x93,\x18\xc6\x8a\xd2+J\x96\xcf\x8c\x1az\xcd\x05\xe1Xg\xcb\xc0[{M\x9c\x18\xb7\xf87ify\x86\xc7\xb6\xa9N\xd94\x96\xe4\xb6n\x9b\xed\xebp\xfc4\xeb\xc6\xab\x09\x8d\x01`U\xa2\xb2\x80\xb9x\xaaR>\xde\xc9\xf6\xac=n&`\x81f\xba\x88\xdf@\xb3\xfaK\x1a\xc6aG\xa9\x98p\xd0%\x9a\x03\x9f\xe6&\xb4~O\xe2\x05\xe9\x9e\xd4\x9c\x8a\xc9[L\x90\xee\x05\xd8\x0eE\x02@\x9e\xd1\xac\x9e\xef\x0f\x00X(*\x0b\x98\x10\x9a\xd0+\x84\xefp\x98}\x1e&`N\x13\x0d\xc1\xe339\xe3\x97S\x97\xf0\x12\xf2L\xc0\xf0o\xd0r\xaev\x1dO\xc0*\xb2c\xcf\xba\x00Q\x0a\xb3\x00[\x89\x80\xf9\xb2a)\x0a\x20\xf5P[\xc0\x083n\x8b\x95\xf6\xb5|&\x17\x16\x04\xac\xe7.;pw\x19Gjq\xf0\x96ksN\x9e\xd4n\xa6\xee\xa2\xeb\xf9\x19\xdbi4\x1f\xab\x18`-\x1f\x87\x04\xac<\x87\x197\x15d\xe4V3Q\xf1}\x9e\xb7\xb9p0\xe7ntu\xe6-luiw\xa6XE\xa6\xa4W\xf3\xaeL\xd7h0<\xbaQb\x9c%\x03\xc7\x0b\x06\xdd\xe1\xb3\xcf\xd8\x01\"`78\x8e\xd3\xbf\xc28x\xbf\xa6\xb8\xf2\xe6,\xcb\xf6g~\x1e*\xea:\xa0\xdd\xb4e\xaf\x87\xa44'\xabs3\xf6\xb0^\xec\xc1lM\xce\xbeqL\xbd]\x9b\xf8P\xae\x14\xcd\xf1\x8a\xec\xac}\x82\x93+\xd46yR*`\xf8Lz$\x90\x1b\x00\xa4\x08\xaa\x0b\x98\x97\xe7y3S\x01k7\x16\x05\xacMX\x06~@\xf5Ga\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\x8c\xf1\x11\xcd\x19\xeb\x19M9\x91\x86\x01\x16\x03\xc3F\xfb\x83\x0ed\xf59?G\xac/S\x91v\xdczU\x9bO\xb4\xd7\xb7M{\xe9\xee1\x84B:\x10f?\xda\xc3\xaa5_\x150\xfb%\x07\x1f\x95p7Ose\xb7\xcb:h8\xee\xaf\x1e\xf5\x9d\xe5hT\"*`\xdf\xd7s\x1d4}\x85\xbb1\xd2y\xa8\x8a\xc5\x8b\x1c\x0d{\xdez7\xe77t\x9fC\xe4\x1a\xb1\x06\xe55\xb7o\xa1\xb1\x89\xac\xa8\xa2\xd7\xb2/m\x88\xf4_\x9b7\"m\xdd\xa5Li\xe44\xccl\xf3[Z\xb6g\xd0\xb5\x0a\xc3m\x93%\xe5\x026\x20I\x03@\x8a\xa0\xba\x80a\xaf\xc7\xc1B\x119\xa9\x8c\x09\x02\xd64\xc4\x8e\x0c5%,\xb8\x0c\xb4\x20\xd2\x85\xf9\x9a\x05t\xedb}\xad.\xc4zU\x92!$\x85\xdd\xeeVD]\xeaC4huy\x96\x87$\xabc\x05l\xb2N\x88p4=)\x20_\x1b\xdap\x11\x8fp\xc3\xf8\xe2W\x18\xcf\xf6\x91nV\xf0\xc4y\x9aM\x04\xac\xa3\x88E\xe9\x1e\xe6\xee\x93\xd7\xc7\xc2cIk(H\xf7L\xce\x1e?\x8d?GgTh\xb6\x90\xd7\x0a-I\xf9,\xf4[\xe0\x13\x1a\x87\x17k\xb2H\xef\xab\\\x8b\xe5h\xf2H\x97j&\xb7@\xd66Y3e\x02\xe6F\xb70\x00\xa4\x18\xea\x0b\x18\xa67c7\xf5x\x05\x02\x01wS\x80\xf4h\xda\x84`\xd6\xbdmI\xca}pNe\x91\x17\x17\xa2=\xbf\x8aOXN\xde\x11\xfa*\x11\xb0K\x83\xd6\x82t*%\xa5\xdb\xfc\xf3\x84\x9c\x0a\x1c\xc8`\xb3\x1b\x9c\xb1\x02&2\x89B\xc8\x86u\x86>\"N\xb3,D$~\xd5Y{\xb4\x84\x13CD\xb6rL\xbfp\xfd\xd1\xb9w\x04\xc3\x15\xba\xd3\x1e\x12\xb0\xbb(\xb2\xd0\xb3\x86:\xaa\xceih\xd2{}\xcf\xb6L$\x84\x88<\x12\xce\x95\xa0\xf9\x82\xbe^G^i\xdbd\xcd\x8c\x12\xb0\x16\x0c\x00)\x86\xca\x02\xe6\x17\x1e4\x8e\xf3\x81I>\x84\x07\xf7\x08\xb3\xc1\xda{\x12\x15]\x0e.\x93\xbb\x9btGh\x0f\xec\xd3},go\x01}\x95;\xf1}i\xd4\xb3\xb5]\xd4\xa4\xfd\xe4VgJ\xeb\x8b+`\xd8f\x15\xb0\xc9r\x0d#\xf8\xb1N\x88q\xfb\xf8\xd0\xe1\xc6~\xfbi1HwI\xe5y6j<\xc1\x09\x9c\xa5;\x83!q\xb9\x8c\"\xce)\x16\xb8\x9b\xc5\xa2\x1d\xda\x92\xf3y\x9bm\xe7vy\xae\x14\xc1\x89oC\xa3\xd2\xb6\xc9\x9a)\x13\xb0!4\x80\x01\x20\xc5PW\xc0\x02M\x82_\xe7\xa1)\x10\xf0R\x1cf\xaf7\x80\x9d<\x1d\x0e\x85&W\xa8\x88;m\xaf{<\xb7\x80\xaaj\xc56\x96\xb35\xd2\x03\xa3\xf3\xd2\x04'~&\x15\x88\xf2m\xa3\x0c/\x0e\x08\xa1\xad\x1d\xf1\x05L\x19I\x90\xee\xca\x1a\xea\xa9\xbf\x20\x0a\xd8\xd4\x8b\x92\x0e\x9a\xaa?\xfa\x84\xf1\x8a\xee\xf84\xe2,\xd6\x1eI\x9c\xd9H0\xed\xbc\x02\xfa\x9e\x1d\x88\x1f\xa4\x1bkhTolB>i\xdbd\xcd\x94\x09X\x9df9\x1f\xb5\x02\xc0\xb2\xa0\xae\x80\xe1f\xaa\x07d\x08\x19\xeaky\xc4y`T\xd7z\xd5\x9f\x076\x8a\xb6\x20\xb4\xd3C\x93V6\x82jA\xac3XX\x88\xf14\xb2\x84\x04lK\xf5x\x1d\xe9\xa8\xb1\x99\xed_\x10\xb1(\xd5R\x7fTy\xac\x80\xb9\x1b&\xa3\xb3$H\x04\xec\xf0\x05\xb2\x1f\xac\x12\x87\x90\x18\x8f\xe8\xa8\x0f\x7fL\xf0~5\xdef\xe6\xa5\xdb\x84\xf7\xc3\x97]H\x9f\x05\x1c\xa7z\x14\x91\xaa\x1c\xea\xb3\x0flO$`9\xd4u\x96W(k\x9b\xac\x99R\x01\x0b\xe4%\x88/\x0e\x00\xab\x14\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98=T\x0b\xdc\xa6\xde\xc9\xde\x15\x98\x89?\xaa\xe9\xb1\xda<\x82N\x94\xa7\x9d\xb2\x9eJ\x13\x1e\xcf\x9d\xd3\\j\xdf\x95A\xaeg\x9cy\xbbw\xee=\xf2\x09\xc6\xa7P\xa9\xa5\xbd\x02\x11\xc9\xf5d\xe7\\o\xdb\xaf\x89\x15\xb0}(\x81\x0aL}\xd61\xdb\xa7\x9b\x9a\xad?\xfd=n\xe5.t\xde\xae\xe2\xca\xeeL\xbc\xb5\xd7|917[kx\xf4\x9aH\xd7\xee\xfa\xfeo\xaf\x88\xbf-r\xa5]\x12\x0a\xf6\xfe$\xef\xfa\xdd\xe3\xc8Dg\xd7\x1f\x19\xc4\xa3G6\xd9<\xb8\x0e\x1d\xbc^\x97\x8f\xb4\x0d\x83\xd2\\)\x1a\xb4g\xb0\xa7\x20\x8bJ\xaa\xa4m\x91$\x9b\x89\x7f\xd9f\x13\xde\xf6\xcbh9\x7f0\x05\x00\xcb\x83\xca\x02\x86==\x16S\xdb\xa08\xbb\xc0C]`\xcd,\xd5ej\xf7$(\xb6L\x0ch\xa8WkS!u\x82\x05~\xb3=c\xfb\xd7\x82\x98\xf9\x8fg\xa5\x17\x0eal!G\x1b\x88\x8c\xe5ji\x8f\xa5k\xa76\xebS\xf6\xf8\xce[\x91\x93\xbe\xebA\xac\x80\x99\xb5|tV\x98`\x19\xc7\xf5\x15s\xc5}\x1cw\x1e\x07;*\x8b\x0e\xd5\xdf\xaf\xd4\x19;\xa9\xd3\xeb)\xc9\xe4\xe8|\xd6\xb1\xd3e%\xc6\x11\xb1\xc4\x99\x9f\x88^)\xd7\xc1\x9c\xcc\x826:\xe3\x8b\\\xac#\x83\xbc\x1e\xc3\x81\xcb\xb9\x1am\xa9y\x9b\xa6P\x9a+%\xaf\xee`fv\xb9\x87&%m\x8b$\x8f\x88N=\xf6\xab\x03[\xfaI\x0c\x00)\x87\xda\x02\xb6\xaa\xf0n>\xe6\x9d\x9f\xf7\x0d\x1d\xc8Z\x8a\xfb'\x81\x13\xff\x03Q\xad\xb1$3\xf9@\xb4h*\xe6\x93\xd9\x00\xc0\xeac]\x0bX{\x96\xd0\xe1\x0ahc\xe6\xd4/\x80\xe5\x170|9G>\x93l\xb9\xf0f\xc3b\x14@J\xb2\xae\x05l4\xcd\xc1\xb6\x8e\xb4\xc8L\xab\x85\xa3\x82\x80\x01\x00\x90q~\xef\xa6\x00\x00\x20\x00IDAT\x90u-`\x81\x8a\xf4c-\xbd-\xc7\xd2\x97\xf2;fW\x17\xaa\x1eT\xfd\xb9)\x00\x00\x12\xd6\xb5\x80al\xdd\x93\xad\xc9\xdecMf\xa6\xc4\xa7\x08\xa1\x8d\xaedV\x00\x00,#\xeb\\\xc0\x00\x00He@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00P$\x15f9\x82\x80\x01\x00\x10\x8b\xa7b\x0b\xda\x9f\xcch\xe5\x01\x01\x03B\x0c\xd7\xbcNf\xb2\xec\xb4\x17x\x93\x99(\xb1\xc4b\x80\xb7\x20N$\x9d@^\x1e\xdf\xa3\xfe\x02W\x8bFm\x01\xf3t5\x9b,\x03\xa1\xc5\x1f\x1c|x\x12|\xaf\xea\xcb\xb1~\x08\xaeq\xe2\xe2]\xcb\xc7\xa3\xdd\x9c1\x88\xfb9n\xf7\xa3x&S\xb5\x9f\x95\x18\x1f\x9d\x98\x88w|a\xdc\xe1Z\x83\xf8>\xc7q\xb7\xf1m\xf2z/\x81\xe9\x0b\x1d\xf7K\xb2\xf9\x92F\x83{\x11\xdf\xcc\xbe[\\#[\xff,\xbe\x91\x8c\x06$.C\xfb\xd7ke\xfa\xda`b\xe3\x08\xe1b\xb1\xd0\x06q\x9f\xd5>\x8dw|\xa9|\xc5qt\x15\xdd\x0e\x8e\xfb*\xea\xc8\xd8\xa1a\xa5\x02\x1f\x8a\x0f\xdc\xa0\x864\xe5\xdf\xf1\x8f\xb3\xa5<W?*\x0b\xd84ou\xba\x9dm\xe2\x82\x86>\xd3@S\xf8\xc0P\xfcR\xcbH\xef\xfb-\xe3\xf7\xbd]'\x09K\xfb\xe8\x89RR\x82rnb\x83\xb91No\xc7\xb3\xfd\xdc\xd8\x9cB\x01\xca\x13\xdd\xd9\xfe\xbe\xf3\xef+\xa5\x9d,$\xd2\xdb\xfb\xdc\xed\xd7\xf8\xf5\x1d\xee\xfe\xdb\x04\xb6\xc1\x89/\x8b0m\xbd\xbd\x93K\x20\x9bs\x13\x87j\xed\x84\xfb\xdc\x08^\x10\xbfI3\x8b\xa9\xd3\x87:/\xea\x13]\x82\x94H\xb1Xh\x83\x1e\xdd\xaf\x89\xaf\xfeK\xe4e\xf1\x9d\x1f\xc8\xe6\x87;\xc5/\xa3\x8e\x0c\x17\xf7\x8b\xa9\xa4\x1f\xf7R\xf8\x20\x0d\x92\\\x99u\xe3U%\x8b!$\x0f\xe8\xb0ZQY\xc0\\<\x0b\xca*\xae~o\xedq\x8b\x02\xe6\xb1\xac\x90\x80\xed(Mf\x91\x84\"\x89\x80\xd5\\PJJP\xceMb0\xcb]\xfc\x92tz\xb8\xd9\xd8C\x02\xb5\xa7IW%\xf8\xe5\xfb\x09\xd8\x0b]#\xdbNqc\xe4\xf5\x117\x95\xd8\xbc\xb5H\xd8>N$`\x18\x1f\xbdF_\x9f/P\xc0&5\xa7\xc4\xd4\x0f\\'\x0e\xc6mp\x14\x91bJ\xb0\x06\x05\x8d\x95\x09L\x96\xc4\x09\xa1\x8bz\xefD\xcc\x91p\xc71\xe9\xc7\xbd(\xbc\x85\xc20\xf9C4Hzeg4J#\xc5\xa1\x14\x09\x13\xaa\xb2\x80a\xd6\xf5\xf2\xf2\x1e\xbaq\x98}\xc2\x9a\xf8\xb8\x97\xef5\xad\x8c\x80\x85\xe3\x0f-\x15\xa9\x80U]PJJP\xceMb0\xcb=*\x9eM$`G\x99\xf4Lq\xa1/\xfe%q\xc5\x20\xd4\xbf\x1c\x026\xd7\xb9\xb0\xbeTEv\xc8\xb7\xf0\x82[\xc40,RL\x09\xa1A\x9d\xf1\xdf\xbe%r\xfe\x1b\xb6i<\x1f\xdf$\xe9\xc7\xbd(\x1cHX\xfc\xe9C4Hze\xbel\xa5\xc5X@\xc0\xe22\xe3\xb6X\xe9\x03Z\x9f\xc9%\x06\xf5\xc03\xbePp[U\xb1\x8a\x8b*\xe7\xd3\x1d\xdb\x9e\x9cM\xda\xbd[c\x8c\xcc[\xd82\xd1\xeeL\xd18S\xfe}U\xd4x\xb3R_\xfb=\x8dJ+P#K^\xe3t\x9d_\x19>;\xfbB\x96K\xbeA\xef\xd7\x14W\xded\xff\x83\xf6\xda\xc3\xba\xb2\xda\xc3A\xb9A\x84Y\xeeEU\xbf(`\xe1b\xad\x1c\x1d2\x0a+Q\xd7\x1b\xa8\xda\x04Gd\x06\xcft\x1c\xf7\xcd\x8b\x8bG\xf5\xb5\xef\xa8\x95\xe0\xd7\xeaS6\x20\xe5\xe6\x8a\x85\x0e\x98T\xc0\xde^0\xe8\x0e\x9f\xa5\xee+\xd2\x8a{b3\xc9\xc0\xb1\xdePr\xe1\xcbh\x01S\xaeW\x100,:\x0b\x05\xd7\x99\xac2\xfc\xe2B\x99\xee\x90\x90\xf6g~\xce\xb2\xe6\xca\x84\xf7\xe1\xe6\xe2\x8a\x9d#\x1fN3n&\xafg\xb0\x04\xa1A\xf5\x06\x9aVz\xd7%\x9f\x101\xe8\xac\xd1Wu\x06\xa3\xce\x16\xb6\x95\xd6\xc0\xc2{b|\xa1Q\xd6\xe2\xb7zN\x1c\xcb+\x7f\xdc\xf2w]\x81\xf1\x8d\xe4\xfa]\xe5[\xd3\xf7\xc8\x96\xc8\xbd\x9aku\"\xa75\xf7z\xdc\x06\xcd6\xfe\xb2\xd88a\x18\x91\xbeg\x0b\xfb?;\x93\x1e\x89\xdb\x17\xa6\x17\x04L\x19/\xcf\xf3f\xf6\x8di\xed\x0eE%\xa2\xac\x84\x80\xf9\x06l\xb9\x856\x9b\x8d\x0eh\x87\xd0\x91[\xdd\xbc\x16\xc5\xac\xac\xbc\x1f\xed\xa1\x1b\xbf\xf9\xaa\x80\xd9/;\\\xc4U\xf6\x0d\x97\x91\xaf\xe1\xd9\x09{\xa5\xd1n\xb7?\x97%\xa7\xfat\xdc\xe1\xdb\xb7\x0f\xeb\xa7\xa4\xb9\xa4\xc3\xc3\xdd\x18\xe9<TE\xee\x89\xa7\xbb/\xf6\x8f\xdd+\xe3\xde\xc9\x0d\"\x10\x01\xeb\xac\x15\x05,\\\xecu}\x8d}\x96\x940\xd6\xbf\xc2/\x0fs\xb5\xb7\xff$x\xc8\xc2\x06s}}\x87+\x8b\x0d7\xebw\xbf\x9c\xb5\x97\xb4\xbe\xc6\xaf[KH\x09E\x03R\xee)g\x17\xce6\xc5\x8d\xcc\xcd\xcd\x8dP\x01\x1b\xe6\xbez\xd4w\x96{,\xb4\xe2P\xeb\x9d\x12\xda\xdbxQRy\x7f\xb8\x96\x8b\x160\xe5z\x8f^\x99\x9b\xeb0b\xd1Y(\xb8\xce\xa4\x95\xe1G\xc55w\xc6Z\x99?\x1c\x8f\xa2^\xa1\xae\xa7\xf6>\xae\xd5n\xff\xcb\xe2\x8ayK\x0bl>\xf2\x99~Z*[\xc6\x964h\xf6y#w[v\x91\x92w]\xf2\x09a|\xb1\xe8\x9b\x91o\x8a.\xca\xcf\x16\xb1\x95\xd6p\xaf\x06O\x18&p\xd5=y\x8b\x1f\xdb\xedz\xd6)W\xfe\xb8\xe5\xef\xba\x023\x96\xe6\xad\xb9\x999\xd5\xe5\xf2\xa0\xc8\x9er\x94\x87>A\xa5\xeex\x0dz{\xf4\xb3\x8e\x11\xa2]\x9d\xd2\xf7la\xffg\x031Z5?\xdd\xbbcI\xcb\xac\xab\x8f\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42\xb6\xb2\x02\x86%C\xc8\xebZ*]_g\xc5L\xde\x9b\xac\x13B\xa5MO\x0aD-\xf2\\t\xe8\xaf\xe4\xdf\xe4\x10K+\x0e!\x8b\x8e\x92\xf1\xd3\xdb\xc35\xb2\xdca\xe61\x7fL\xbf\xab;\x0f\xd1\x1b\xa3\xb3$\x18UC\x18\"`\xaf\xf4\xaf\x98\x80I\x8a\xddg_\xb0\xf8\x04\xcd\xf8\xe1\xf6\xbf\xe8\xb8\x92>y\xbd\xa42\xee\xf4[\x1c\xa4\xa3\xb7+\xf5\xe4\xa5\xfeJ|\x03<\xc2\x89\xff\xceS\xe2\xd73\xb9\x9dg\xfb\xc8)\x83'\x98b\x14\x95\x90\xbe\xc8E\xdaLc%\xcb\x8d\x12\xb08\xf5\x1e\xa5U\xb1\xbe\x820\xd6\x16F\x9e\x91\xca\xe6\x0e\xd7\x12\xe1\x9d\xeb\xa3\xfep\xd2!\x0e\x07\xa5\x8b\x0c!\x17Q\xcc\x9c\xc76\x9f\x84\xff\xa7\x18B\x83.\xd2\xb77\xce\xbb\x1e\xf9\x84FX\xe7f\x8c\xb9\xec\"g\x93\xd8Jj\xb0\x97\xe1F]#\xfe\x8c\x09\xbf\xe4\x9d\xc4X\x1f\xf2*(}\xdcQ\xb6J\xe4\xa3]>\xd1\xd9\"\xa1k\x13\xda\xc4V>Wn\xd0Ez\xb9\xf8\x06\x110\xe9{\xb6\xa0\xff37\xba\x85\xe5\xec'\xdd\xd8%-\x92\xa7>\xea\x0b\x18\xa6q!\xbb\xc9\x00\xd2\x19\x08\x04\xdcM\x01Q1VZ\xc0\xdc\xd9[\xff\x99\x7f\x18\x90w\xaf$L\xa2\x10QCH\xfa\x14]\xf4\x08)\x0b\x18\x1b\x9bur?Hs\xeb\x8f\xce\xbd#\x18\x88\xa6\xbc4\x1c\xbdq\xefip.\xba\x860D\xc0pm\x07\x130I\xb1g\xdc\xdc\xec\xfd\xb7\xef\x8a\xc4\x09\x0asc\xb5\xf4\xb6\x93\x18\x90\xca\x8aB\xdf\xf2\x8f\xf4\xa4\xb7\xa6\x7f\x84\xe3\x1a\xe0~N\x9c\x0e1\xc5\xddy\xfc\xf8q\x07\xf3\x81\xbd\xea\xac=Z\xc21/5\xed\x95\xb0f\xbe\x15\xe6W|\x13%`q\xea=z\xf6\xf1\xe3\x8b\xb1\x02\x16\xaa\x8c(\x86d:@{2\x01KRl<\xcd\xef3\xfb\xe65\xe3X\x0am\xd0p\x0d\x9b\xed\x11\xe7]\x8f|BW\x04\x8f\xfc\x89/\xb1\xf4l\x12[i\x0d\xdc\xac\xf1\xa2q\x96cM\x95\xbc\x93J\x02\x16\xef]W&_\xc1\xab\xee\xad\xd6\xe4\xa0l\xcdIo\x9c\x06\x05\x85\x93NE\x09\xd8\x82\xfe\xcf\xdc,V\xa8\x14w\x17\x9f\x07=0%\xfc\x82\\\x8d\xf3\x81I>\x84\x87e\xad\xb4\x80a\x1f\x7f0\x0fm\x89\x1f\xdc\xc2f\x15\x88z\xba,\xb9\xc1\xe2\x08\x18\xfb\xcf\xb2sO\xa4\xb9'\xc4~\xceY\x92~{\xefB%Wv'Q\x0f\x0c\xf7W1\x01\x93\x14\x9b\xd3Mup\xad\xcf9\xf2\x0f\xf9\x989j\x82\xc6\xb3\xf2zqU\xd8\x99\xf6\xee\xb3~\xdc_\x16\xc4q\x0d\xf0Dh((\xf1\x81=>t\xb8\xb1\xdf~Z\x10\xb0P3\x1f\x0bc\xcdh'~\x9cz\xa9\x0flJx\\'U\xa2p\xb2\x83\x93\xcc\x0d\x19\x8c\x0ce\x94\x05,I1\xff\xc6\xf1\xcb\xe8_\x9di\xf2/!\xd6\x20Av\xe3\xbc\xeb\x91O\xc8\xc8.\x1f\xd7\xd6`\xd9\x89#\xb6\x92\x1a\x82ES\xc5\xcf\x8a\xa7t\xc2\xe7&\xf5[\xc6\x0aX\xbcw]\x99\xfc\x1d\xb1y\x0dZ\xde\x89\x9c\xbf\xd1\xd6\xc5i\xd0\xf7\xc2#\x9c\xd9(\x01[\xd0\xff\xd9\x10\x1a\x88>\x1d\xf9wG+sC.\x16u\x05,\xd0$\xb8+\x1e\x9a\x02\x01/\xc5a\xf6z\x05M[I\x01\xa3!u\x1f\xd0G\xf1\xbe\x96\xf4\xc5\x06\xea\x88\x11\xb0{/\xe5\xc9\xa2\x1bt\xff\x1e\xf7V\x9a[\x7f\xf4\x09\xe3\x15\x91\x80F\xea\xc1\xe8\xd3wF\xd5\x10\x86\x0a\xd8l\xf1\x98\xd0\x03\x0b\x17\xc3\x95}\xa7\x8d\x95\xfdt\x20i`g\xc0\x8d\x95r\x03\xe9\x7f\xe9\x8d\xf3\xf8<\xb3\x8ag0\x1bz\x9a*\x11\xb0\xca\x1a\xeav\xbb\x20\x17\xb0\xbf\xb2[\x04_\x8c\xe9\x81)\xd6\x1bv\xe2\x8b5|\x13\xa5Dc\x9cd\x8a\xabO\x13\x9e\x8e\x1a%`\x0b,\x96\xd7\xbc\xf3\xd3\xbc\xf6<,ChP\x09-\x1b\xe7]\x8f|BW\x8e2G\xfdQ\xda\xf9\x8a\x9cMb+\xfb\x00\xee\x18\xb0\xa1\xa3\x92\x9dD&\x08r\x01\x8b\xfa\xb8\x95\xbf\xa4d\xe4\x1fP\xc8\xf4\xb3\xa7\x90T\x9b\x15\x1b\x14\xd43\x9f\xd8\x7fD\x04\xec\x9b\"\x1c\xb7\xc5\xf2\xff\xb3:\x8dBg\x0b\x9eB*\xd2\xcc\xa6\xf7\xfa-=\xe2\xfe\x8a\xfb\xc0\x0a\x0b1\x9eF\x16\xf2)\x0a3\x8f\x0b\xe5\xc1a\x09\xee\x86I\x9c\x00\xa9\x80\x19\x8d\x18\xbf\x16\x1c\x1d\x91dQ\x19\x91\x81\xd9\xa3FY\xee\x98`\xd5x\x9b>Od\x93\xa4\x8c\xd7\xa2j\x08\x9f\x98\x0a\x18\xbeXO\x05LR\x0c\xd7\xdf\xd0\x8dp\xd7\xe8?b\x99\x81\x0eO\x83\xf4\x9fRj\x20\xbdS\xfe\xa4\xff\x8b\xfeO4\x11\xcf\x00_\xa8d_\xcdR\x01;|\x81U+\x170\\s\x98\x9c\xed\xb9>J\xc0\xe2\xd4+\x110=\x19\xa8\x05\xff%J\x89f\x0dF\xda\x97\xba!Hp\xe9\xb6\x80h\x1c\x11\xb0\xc5\x14+\xfdgM\x17:\x165\xb3Oh\xd0\xa1\x1bS\xb7\xe3\xbd\xeb\x91Oh\x84\x19\xf4\x09>\xb0\xf0\xd9$\xb6\xd2f\xd6\xd6\x90o\x05c-;\x89\xb2\x80)}\xdcr\xdb\xc9:\x85\x89\xd4q\xa6\xf6\xb8\xb3\x84\x91\xa5r\x83.\x94\x11\x91\x0a^d\x02\x16y\xcf\x16\xf2\x7f\x16\xc8\xdb\x1bs.\x10\xb08\xb8\xf8n\xa7\xdbi\x11g\xe2\x07<\x0e\xb3\x87\xce\xce\x9b\xf1x\xcc\xbd\x1eub\x20\xca9\xa7\xb9\xd4\xbe+\xc3M\x05l\xf39k[E\xe8AX\x84}H\xe9\xf3\x15\xf9\x8b]\xf7\xe5D\xf0\xe9\x97:\xfa\xc8\x8c\xfc\xbbw\xf4\x9f\x16ffG\x92E\\M\xdf\xbd\xca\x92\xe7\xf2\xdc\xc6\xdd\xf5\xfd\xdf^\xa1\xffB\xad\\q\xebp\xff\x15\xee\x91\xdc\x20|\xe2\xb91\xae\x7f\x16?\xd2\xb3\xa7\x90\x91b\xf8\xb6\xbe$X\xc9\xbew\xcb8C\xebH\xffi\xfds\xa9\xc1\xbb?\xb1GM\xa2g+h\xa85\x08\x02\x15\xc7\x00?\xe7\xee\xd0\x8dt&~+w\xa1\xf3v\x15\x19uLH\x9b9\xa57\xdc\xfe\xe63Nw\x7f\x0a\xbf\xa43\xf1;\xec\xf6\x97q\xea\xa53\xf1'f\xc5\x13\x18\x0f\xdd\xb9]C\x8b\xc9\xde\xb3G\xfa\x13\x9d#7\xc4\xdf-\xb9\xd2.\xb1\xad\xf0\x14r\"\xb8\xc8b\xb8!#3\x90\x9b^\x87eL\xb1\x1b\xf7t\xed\x97'\xe2\xbd\xeb\x92O\xa8\x9ek\x1cn\xe4\xea\xe5\x1f\xac\xd4V\xf2\x01\xdc\xd8}\x07\xdf\xd9M4T\xfaN\xceM\xd8\xed\xfa/\xedv\xe6\xa3W\xf8\xb8\xa3\xde\xf5}hsT\xefg~\x90=\x19O\xf0\xa5\xa9\xdc\xa0\xbf\x18\x0ew\xf6\x9f\xd73\x01\x0b\xbfg\x0b\xfa?\xbb\x8c\x94~\x8d\xf2@i\\\xb9\x0aQY\xc0\xb0\xa7\xc7bj\x1b\x14\xbd\x14\x1e\xea\x02k&\x89\x07\x827l\x05\xdc\x86\xfe\xe3Y\xe9\x85\xb4\xf3\xd7TX\x97\xb3)\xbb0F\xbf\xb0Y\xcb\xc7\x16\x0bq\x8d\xe38\xdd\x7f\x14\x93W\xfa\xc56w\xe33\xbd\xf11;\x10I\x16\xdd\xbcRb\xb8\xf8\x97\xa8\\<v\xba\xac\xc4H\xff\x13\xef\x1bo\x1f\xd6\x19\x8c\x8f\xa2\x0dB'~\xb4\x9b\xce\xeb\x09\xd6\x08\x02\x14.\x86\x1f\x93A\xc4\x9dbj\xfb/\xf7\x1a\x7fY|\xe8\xecsY\xbd\xcf\x04\xe7\x87\xd0A\xc0\xb8\xa3\xa8CL\xc51\xc0\xadz\xda\x97\x12~\x0bIg\x99\xdd\xc3\xc1\x8e\xca\xa2C\xf5\xf7+uFY3_\x9c\xfd\xech\xe3}\x1dI^\x14=,\x17\xe2\xd4\xcb~\x0b\xd9'\xd6\xff\xc2\xa8/\xae\xfd\x86\xd4\x20\x7f\xcf\x9e_0\x14\xd7\x84\xa6\xe0\x9e\xf9\x09\xbdk\xe6JX\x0d\xba\xe7\x8b+F\xfe\x8d\xb2\xfe\x157l\x96w\xe5\xe9$8\"\xcdS\x95e\xb4O\xa7\xf8\xaeK>\xa1`\xe7\x09\"\x8dA\xf9\x07+\xfb\x84\"\x1f\xc0\x88\xfe\x19\x9e*\x1e\x96\xbf\x93O\xc5\xb7\x84I\xab\xc2\xc7\x1d\xf5\xae\x9b6G\xbb\x9a\xc6\xd3\xd8\x93\xa2\xf8_\x9aq\x1a\x84_]9\xac?\xfd\x98\x09X\xf8=\xc3qZ,\xbd2[\xfaI\xa5\xd3Lo<8>\x1d\xc0\xab\x1e\xb5\x05l\xfd!\x9d\xaa\xbf\x9a\x09\xde\xd0\xf5\xe1\x95\xa6ZcIf\xa2\xc4\x12\x8b\x89\xac\xe4'\xd4\x8e>\xe8\xb7\xb6\xe0\xc4_\x0c-\x9a\x8a\x98\xa9\x8f\x8c\xf6<\x04\xcb\xe9\x00+{{,\x8a`\x87\xe1U2\x9be\xe7r\xce\x92\x1c\x09K,&\xb0r\x9fP\xc0\x9c\x15\xe3s}/\x16-`\xde\xec\xf8\xcf\xdd\xa7\xc7=q\x8f\xad\x1a@\xc0\x96\x9b\x95\xbb=\x80\x85\xb1r\x9f\x90G[\x1dw\xe2\xe1\x92X\xb4\x80\xa5<\x20`\xcb\xcb\xf7\xcc\x19\x9c\xcc\x0aX9\xd6\xd2'\xf4b\x84\xbb\xf9\xa75\xd2\x96\x05\x02\x02\xb6\xbc0gp\x825\xff\x80\x95f-}B\xc65\xd4\x96\x05\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96j\x04\x02\xf3\x01\xfa\x97\xcc\x0e\x00\xd6\x01\x20`)\x86kG^\xde\xdeO\xf2\xf2\xaa?\xe8o\xe8\x00\x205\x01\x01K-\xe65hg\xe1G\x19;wl\xf8W\x85P2\x00\xb0\xceP[\xc0<]\xcd&\xcb@\xa8\xf7\xe0\xe0\x85\xd0\x01>\x9b\xc5\xd4>\xae\xfc\xab\xf8\xb5\xc8\xd2\xc3\xc3\xfb>\xae\xfb\xdb\xdf\x9c\xff\xdf\xdf\xfe\xef\xc7\xfb\xbc\xc9l\x01`\xcd\xa3\xb2\x80M\xf3V\xa7\xdb\xd9&.h\xe83\x0d\xb0\x15Y}\xe6v\x87\xfb\x81\xb9}\xcd+X(\xa2\xfbR\xc2\xc3\xbfe\x0bV\xcd|\xb2a\xc3\x86@\xe9\x86\x0d\x1f\xd5I\xc6\x90\xbdJK\xd2\x01\xc0\xdaGe\x01s\xf1tY\\\x1f\xefd{\xd6\x1e7\x13\xb0\x1e\x0buI{M\x0f\xe2\x17\\\x1b\x84#\xba/:<|\xf0^\xc9i\xba\x0dx\xaa\xf3\x89\x80\xfdh\x7f\x83K\xb2\x8e\xc1\x8e\xa8e\x94\x01`\x9d\xa0\xb2\x80\x09\xd1\xee\xbcB$\"\x87\xd9'\xac\x89\xdf&,G\xd7\x9b\"\xa1\xe8\x96N\x95L\xc0\x16\x11\x1e~\xaa\x86;+\x84\xa4\x0e\xf8x\"`\x1bG\xbd\xd2uX\xe2\xac\xa2\x0e\x00k\x1d\xb5\x05\x8c0\xe3\xb6Xi\x8f\xcbgr\x89A=<B\xb4\x82\x81[\x09J\xa5\x16\xaf.\x96\x19n\xde,+\xee\x93D\xab\x97FtO\x16\x1e^\xce\xecM\xce0\x1c\xde\xb3P\x01sE\x86\xdbV1^e\xbe,.\xfd1\x94\xd6\x84'5(\x8f\xd94\x15d\xe4\xc2sK`\xed\xa1\xba\x80yy\x9e7\xb3[\xc9\xda-\x8dJD\xfa\x16\xcdQ!\x17S\x97\xb9\x13\x86\xceV\xbd\xfe^m\x87$Z\xbd4\xa2{\xb2\xf0\xf0R\x82\xfd\x06]\xa3\xd0U\x9b{A\xf8:J\xc0|\x03,\x0c\x84\xcd)\x8bK\xef\xb1m\xaa\xc3x\xf0\x88\x86\x9aT\xa4\x1d\xb7^\xd5\xe6\xc3\xdc1`\xad\xa1\xba\x80a\xaf\xc7\xc1\xa2\x129\xa9\x8cI\x05l\xc0\xbcf\x9e\xab\xf5\xd1\xb8\x85\x9d,\xba\xb54Z\xbdt\x08II\x14\x1e>\xc25\xaejJL\xd2\xf5\x9e\xb8\xff\x1c%`X6\x84\x8c\xc4\xa5\xd7\xd0\xf0<u\x1aL\xfbhfL\x03eE\x07`\x06\x80TG}\x01\xc34.d7\x19@:\x03\x81\x80\xbb)\x10\xea\x16\x0c\xf2\xb1\x01\xd5S\x95\xc6\x12L\x03\x95}K^\xa5\xd1\xea\xa5\x02\x96,<|\x84\xfbE\x9f\xdd\x17W\xd9|>L\xf8_\x89\x05,\x1c\x97>\"`\xa5\xdb\xfc\xf3\x84\x9c\x0a\x0c\x00k\x0b\x95\x05\xcc/\xc8\xd58\x1f\x98\xe4Cxh\xce|\xaf\xf8drM\xd0\xb1\xfb\x15\xed{\xd1\x8e\x934Z}\x94\x13?axx\x09/j\xb9\x9a\xa9\xc8n\xb4\x0f\x0c\xcb\x05,\x1c\x97>\"`\xdbE/Y\x0a\x04\x99\x01\x80E\xa1\xae\x80\x05\x9a\x84\xb8\x8b\x0fM\x81\x80\x97\xe20{\xbd\xcc\xa1om\xf2$,\x99Z\xbc\xe4j_>\xab4\xd2~\x934Z}$\xa2{\xf2\xf0\xf0R$^0\x1c_\xc0L\xac\xeb\x15\x89K\xcf\x04\xec\x8c\x86\xbc\x94o\x1be\xac\x99!:\x00\x88\xa8+`\xb8\xb9\x8b\xbe\xfa-=\xe2\xbe\xe8\x03\xf3\xb6\xb4\xf9\x88\xbc\xad\x99\x1f\xc7<\xe1\xca8\xee4\x9b\xf7\x20\x8dV\x1f\x89\xe8\x9e<<\xbc\x1c\xfa\x1crLL+\x08Xa!\xc6\xd3\x88MF\x89t\xc62>'o\xe9\x0e\x0dIu\x09\x87\xbe\x88\x8aY\x0d\x00)\x8f\xca\x02\xe6\xe2\xbb\x9dn\xa7E\x9c\x89\x1f\xf08\xcc\x1e\xd2-p\x9bZ\xdc\x1e\x8fg\xe0}\xa2\x93\xae*\x9e\xe9\xc7F\xec\xdf\x0b\x8e\xabp\xb4z,\x89\xe8\x9e<<|4S\xc6\xd0\xf0SA\xc0\xcei.\xb5\xef\xcap\xcb\xe3\xd2\x7f\xaam\xa8+@\x1b\xcddh~\x0a\x95Z\xda+\x90\xe4\x89\x09\x00\xac\x09T\x160\xec\xe9\xb1\x98\xda\x06\xc5I\x98\x1e\xea\x02k\xc6\xf8\xae\xe8\x0d[3\x13Y't\xd4\xab\xa53R\xcfU8Z=\x8eDt_@x\xf8\xf8(\x08\x98\xffxVz\xe1PT\\zWaz\xe6\x9e/\x10\xa2\xa1S\xbbvj\xb3>\xbd\xabT\x1b\x00\xa42j\x0b\xd8\xba\xe0u\xf1\xb5\xd7\xef\xde\xbd}z\xfe\xb3\xb7\xc9L\x15H\x16\x9cTA\xc0\x00`\x9d\x02\x02\xb6\x0c\xf4\x97\x08\x1d\xae`Y\xf4\x9c\xfa\x85\x00\x02\x06\x00\x0b\x05\x04l\x19x\xc2\x09\xb3\x1e\xa6\xb8%,\x98\x13-`\\\x14\xff\xf9?\xd1\xd5(>\x1f\xf8\xb01\xe9\x01\x20%\x01\x01[\x06\x82W\xf4\xd7\xfa\x1e\xf5]\xd3\x7f\xb5\x840\xef\xd1\xe1\xe1\xa3\xf4\xeb?\x85\x96\xd3i\x03\x05\x03\x00\x10\xb0\xe5\x208\\k\xd0\x19j\x87\x97\xa0_I\xc2\xc3\xcf\xd0\x05\x0d\xff\xdf\xbf\xfd\xed\xff~\xbc\x1f~\x9b\x0d\x00\x20`\xa9\x85\x0f\xa1\x9d;?\xde\xb2s\xc7\x86\x0a\x98\x96\x0a\x00\x20`\xa9\xc5\xbc-'++7++k\xd7\xd0\x9a\x99\xf6\x0b\x00K\x06\x04,\xc5\xf0{&]\x93\x93.\x97\x1bF\x90\x00\x00\x02\x96r@\\H\x00\x08\x03\x02\x06\x00@\xca\x02\x02\x06\x00@\xca\x02\x02\x96\xfalXq\x92]!\x00,\x13\x20`\xa9\xcf\x867+\x0c\x08\x18\xb0R\x80\x80\xa5>\x20`\xc0\xbaEm\x01\xf3t5\x9b,\x03\xa1)\x00\x0eq\x05\x1dy.\xb08@\xc0\x80u\x8b\xca\x026\xcd[\x9dng\x9b\xb8\xa0\xa1\xcf4\xd0\x14\x9b\x0b(\xf2\xf6/\xf1\x8e\x80\x80\x01\xeb\x16\x95\x05\xcc\xc5B\x0f\xf9\xc4\x00\x1e\xd6\x1ewSl.\xa0@\xf0^\xc9\xe9x\xc7$\x02\xb6`-[\xb0\xe1\x9b\x05\xd8\x82\x80\x01+\x85\xca\x02\xc6\x02\x16b\xaf\x10\x89\xc8a\xf6\x89k\xe2Ks\x01\x05\xa6j\xb8\xb3\xdf\xc7;\x08\x02\x06\xac[\xd4\x160\xc2\x8c\xdbbe\x91\x88L.I`\xdbP\xee\x1a`~\xcb\xa6/r\xb2{\x8fg\x15Ra\xb6\xed\xc9\xd9\xa4\xdd\xbb\x95\x1e\xf0\x96ksN\x9e\xd4n\x8e^\xfb\xdf\xbc\x85\xa7\x1bw\xa6\x18\xfe,3*B&\x0d\xe91,\xcfz\xa6\xe3\xb8o^\\<\xaa\xaf}\x07\x02\x06\xac_T\x170/\xcf\xf3f\xd6\xe3\xb2vG\"sGr\xd7\x02\xbd\x99\xa8z\x17\xd26l\xb9L\xe3a\x1f\xb9\xd5\xcdk\xd1<\xc6\xfe\xbc\xec\xaf\xcfi\xd2M\xbf\xb8\x1ce\xbf\x1f\xed\xa1\x1b\xbf\xf9\xaa\x80Y\xb6\xd4\x97$\xa8\xda\xdc\x0b\x819<\xd7\xd7w\xb8\xb2\xd8p\xb3~\xf7K*`\x7f\xf8\xf9\xc7\x1f\xfd\xf4\x7f\x13)\xf9\xdf?\xfd\xe8\xe3\x7f\xfc3\x11\x95_\xffx\xc3\x8f\x7fM\x0e|L\xd2\xffH\xfe>\xfe\xa3\x206\xbf\xfd\xe9G?\xfa7\x89!)\xf9\xf1\xcf\xff,\xc9\x88T\xf1\xdb\xbf\xfb\xe8\xc7\xff\xf4&\"`b\x95o6\xd0\x04\xa9#rV\x0c\x00+\x83\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa4\x82\x15\xee\x81\x85r\xd7\x06\xd9\xe5\xd8\x8a\xac\xf8H\x05\xc6\xd7\xb5t\xf1\xe7\xaf\xb3H\xef\xb2\x05\x8d\x93\x14r\xc4\x98O\xd6\x09q\x84\xa6'\x05\xa6eG\xafqU\xa1\xb0\xb6FqUC#\xdd\xa9\xe2N\xbf\xc5\xc1\xb7l\x08\xf9\xd3_\xfd\xf9\xbb\x7f\xff9\x91\x92\xbf\xfb\xddw\x7f\xfcG\"X\xff\xe7G\xbf\xfb\xf3\xef~\xf4\xdb7o~\xfc\xfb7\x7f\xd8\xf0\xc77\xff\xfecQ\xbf>\xfe\xedw\x7f\xf8G\x89!\xd9\xfe\xf9\x7f\xfc7IF8\xf1\xef\x7f\xf7\xef\xdf\xfd\xe1\xbf\xfcSX\xc0\xc2Un\xf8\xd1\xef\xbec\x89\xf0Y1\x00\xac\x0c\xea\x0b\x18\xa6q!\xbb\xc9\x00\xd2\x19\x08\x04\xdcM\x81\x804w\x8d\x90\xdd\x82\x07\x91\x0f\x7f^J\xc6\x85\xd9[\xff\x99\x7f\x18\xa0}\xaaSY\xe4\xc5\x85\xda\xe3\x95\x9aD!dC\xc8\xfbE\x9f\xdd\x17WF|>,\xf0\x9c\xeeT\x15\xbd\x14r\x89\xc0|$\xf6\xaf6\xfc\x9e\xbc\xfc\x99\xf4\xba\xfe\xfe\xffP\xc9\xf9\xfb7o\xfe\xc7\xaf\xde\xfcj\xc3\xbf\xbd\xf9\xa7\xffG0`\xf9RC\xca\x9f\x7f$\xc9\x08'\xfe\x81&\xfe\xf8\xe3\xb0\x80\x85\xab\xdc\xf0[\x9a\xf8\x99\xe4\xac\x18\x00V\x06\x95\x05\xcc/\xc8\xd58\x1f\x98\xe4Cx$\xb9\x89\xca\xa6\x10\xd9]xHC\x14\x8b\x08\x18\xf6\xf1\x07\xf3\xd0\x96\x06\x92\xba\x8c\xbc4\xc8ll\x0f,\x84\xcd*`\x93g\xbf\xa8\xe5j\xa6p\x0cU5b\x82\x08\xcc\xff\xfc\xf8\xbf\xff\x1bU\x13Ak\xc8\xeb\xc7\x7f\x16e\xe8\xb7\xff\xf5\xcd\xcf\xfe\xdb\xcf\xdf\xfc\xfdo\x05\xad\xf9\xe8\xcfoB&\xc2\xeb\x1f\x7f\xfe\xf1\x86\x0d\x1fI2\"U|\xf4\x11\xfd\x99PX\xc0\xc2Un\x08%\xc2g\x8d\xbd8\x00P\x05u\x05,\xd0\xd4\xcb\xb6\x0fM\x81\x80\x97\xe20{\xbd\x01In\xa2\xc2)\x84D\xc0\x1e\x9c\"\xfb\xbe\x96\xf4\xeb\xa43\x96\xb6\xd7=\x9e[\xb0\xf8FJ\xbc`\x12\xaaB\x91n\xa9\xc0\xfc\xfeW?\xff\xf8WJ\x02\xf6\xdd\xc7\x7f\xfc\xe8\x8f\xe4\xef;\x89\x0aI\x05\xecg\xff\xf3\x8fo\xbe\x93\xeaV8\x11\xea_\xc5\x17\xb0\xf0Y\xa3/\x0d\x00TB]\x01\xc3\xcd]\xf4\xd5o\xe9\x11\xf7\x05\x1fXtn\xca#\x11\xb0:\xc4\x1aWx\x0c\xe3Q\xb4\x05\xa1\x9d\x9eXsw\xc3dl\xa6\x0c\xfa\x1cr,*O&`o\x04\x7f}X}X\x8f\x8b\x8e\xf7\xde\xfc\xc3\x7f\xff\x07\xf6'\xf0\xb3\xd0\x102\xf4J\x95\xed\xdf\x15\x05\xec\xef\x7f\xfdFj\x1b\xa92<\x84\xa4\xb0\xb3F_.\x00\xa8\x84\xca\x02\xe6\xe2\xbb\x9dng\xc8]\x1f\xf08\xcc\x1eotn\xea\xe3\xcc\xba\xeck\xd94\xee+\xdd\xe9&\x02\xb6\xf9\x9c\xb5\xad\x02\x91N\xe6\xa8\xa6\xc7j\xf3(t\xc0\xf6\x89\xb1\xb4\x131e\xbc\x80%\xbc\xfb\x93\xbd\xd2h\xb7\xb3\xe0\x1fD`\xfe\xcb\xef\xbe\xfb\xee\xd7?\x95\xa8\xcf\xff\x099\xda\xdf\xfcj\xc3\xaf\xd8\x9f\x00\xc9\x13\x9c\xf8!\xc3\x9f\xfe\xea\xbb\xdf\xffXQ\xc0~\xf7\xf1\xbf\xfd\xf9\xbb\xdf\xfd\xd7\xb0\x80\x85\xab\x0c;\xf1\xc3gU\xbed\x00XvT\x160\xec\xe9\xb1\x98\xda\x06\xc5i\x02\x1e\xea\x02k\x8e\xceMy\x02\xa4\xa3\xd5\x9c\x892,\x08\xed\xc7M\x85u9\x9b\xb2\x0b\xe9\x20y@C\x1d\xf4\x9b\x0ac\x9c`f-\xafPMB\x9e\x09\x8f#ki\x9a\x08\xcco\x7f\xf6\xd1\xc7?\xff\x83D}\xde\xfc\xfa\xc7\x1f\xb19\x0fo~\xbf\xe1\x0fo\xfe\xc0<\xf3\x82\x0c\xfd\xddGt\x0aD\xd8\xf0\xf7?\xfd\xe8G\xbfV\x14\xb07\xbf\xfb\xd9G\x1f\xfd\xecwa\x01\x0bW\xb9\x81&\xe84\x8a\xf0Y\x93]-\x00,\x13j\x0b\xd8:\xc6\xbb\xf9\x98w~\xde7t\x20\xeb\x03\xf74C\x02\xa3\x161\xe7\x03\x01\x03V\x0a\x100\xd5h\xcf\x12F\x8f\x01\xed\xdd$\x96\x8b\x04\x04\x0cX\xb7\x80\x80\xa9\xc6h\x9a0vt\xa4=Lb\xb9H@\xc0\x80u\x0b\x08\x98j\x04*\xd2\x8f\xb5\xf4\xb6\x1cK\xafHf\xb9H\xd4\x16\xb0\x18@\xc0\x80\x95\x02\x04LE\xac{\xb25\xd9{\xac\xc9\xcc\x16\x0b\x08\x18\xb0n\x01\x01K}\x92\x85\xdcX~\x92]!\x00,\x13\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`@\"\xfc333\xf3\x18\xcf\x93\xcdZ\xf9\xa9*\xb0\x96\x00\x01\x03\x120\x90\x86\x10J\xf7\xf9\xd2\xc9&-j\x9dE\x00Xy@\xc0\x00\x05\x86k^\xb3\xad\x05Y\x87\x86\x1c\x18;\x86\x86\xac(:\x98\xd2Bi/\xf0&3!x\x0b\xda\x15\x92\x00\x90\x10\xb5\x05\xcc\xd3\xd5l\xb2\x0c\x84\x96cp\xf0\xe1i\xe9\x92$\xf0\x01\xf8\x8a\xe3:\xc8\xa6\x83\xe3\xbe\x8a:2v(*D[,w\xb8Va\x15~Kdy~\xb7\x20`\xc7P\xda\"\x85\xac\x01\x9dKf\xc2hHkPH\x02@\"T\x16\xb0i\xde\xeat;\xdb\xc4\xa5\x0b}\xa6\x81PT\"I\x12\xf8\x10\xbc,\xbe\xf3\x03\xd9\xfcp\xa7\xf8e\xd4\x91\xe1\xe2~1\xf5\xe8\x09V\xa4\x93\xbb/\xa6b\x05\xccc\xdbT\xa7X\xa8wT1\x1b\xff&\xcd\xac|\x20\x06\xeb\xc6\xab\x0aI\x00H\x80\xca\x02\xe6\xe2\xe9\x0d\xe1\xe3\x9dl\xcf\xda\xe3\x0e\xa9\x96$\x09|\x10N\xdcc\x9b{'b\x8e\x04C\x89\x1a\xd9\"\xafa^\xe8\x1aC\xc9X\x01\xc3X\xa3,`;J\x15\xb3'5\xa7\x14\xf3\x958\xa3q+$\x01\x20>*\x0b\x18f]//\xef\xa1\x1b\x87\xd9\x17\x8a\x0b)I\x02\x1f\x86\xf3\xdf\xb0M\xe3\xf9\xf8&U\xca\x02v\xc5\x10\x0e\x20\xb2\x08\x01\xcb?\xa8\x98]\x91\xbd\xf0\xe5\x1b}\xd9\x15\x0aI\x00\x88\x8f\xda\x02F\x98q[\xacti?\x9f\xc9\x15\x0al+I\xae\x17\x9a\x0a2r\xab\xc9\xbd=\xbe\x11\xa13\xae\xf2\xad\xe9{\xe6%\xc9(c\xf3\x16\xb6\xe6\xb4;S\x8c\x1b\x99)\xed\x9e\xb4r\x1c\xd7\x87\xfb\xc8k\xab\xb4Lc=\xdb\\h\xc4\xcft\x1c\xf7\xcd\x8b\x8bG\xf5\xb5\xef\xf0[=\xb3&\x0c\x8bArYp\xb6\xe0\xfd\x9a\xe2\xca\x9bb\xf8\xef\xe2p\x07LY\xc0\x8eWdg\xeds\x91^3\xb9\x92/p\x1dy\xb5X\xc5\x0b\xcbg\x16\xa1\xb6\x11\xfc\x99\x9f\xd3\xcd\xbb2]\xa3\xc1\xf0\xe8F\x89\x91\x9e\xc3^{XWV{\x98\xf6\x04_],3\xdc\xbcYV\xcc.\x09\x9fI\x9f\x09\x9dN\x92\x04\x80\xb8\xa8.`^\x9e\xe7\xcd\xec\x9f\xdb\xda\x1d\x8e\xcc-I\xae\x13*\xd2\x8e[\xafj\xf3\x03x\xc6\xd2\xbc573\xa7\xba\x1c\xb9%\xc9(\xeb\xfdh\x0f\xdd\xf8\xcdW\x05\xcc\xd29Y\xaf\xebk\xec\xb3xv\xc2X\xffJZ\xe6^\x0d\x9e0L\xe0\xaa{x\xae\xaf\xefpe\xb1\xe1f\xfd\xee\x97\x18?\xb6\xdb\xf5L\xe8f'XX\x10;\x0b\x92{\x85\xbb1\xd2y\xa8\x8a\x0d.\x9fr\xf6p%\x8a\x02\x86\xf2[Z\xb6g8\xb0o\x20\xe7\xd84\xf6\x9e\xcb\xb4\xf9|\x03\xb6\xdcB\x9b\xcd\xc6\\\x03\xe1\xb6a\x1a\x89I\x08\x99\xf7\xa8\x84\xbby\x9a+\xbb]\xd6AN\xb0\xfbb\xff\xd8\xbd2\xee\x1d\x11\xcb\x13\x86\xceV\xbd\xfe^m\x07\xb3\x1a@\x83\xa1\xd3I\x92\x00\x10\x17\xd5\x05\x0c{=\x0e\x16\x7f\xc8IeLP-Ir\x9d`E\xd4\xb3=\x84Z\xe8N>\xda\xe5\x13\x07\xd7\x92\xa4\x94\xc9:!\xee\xda\xf4\xa4\xc0\xb4\xec\xe8\xfd_\xb2\xcd\x89\x90\xe7]\xc0^\x86\x1bu\x8d\xf83\xa6FU\xdc\xe9\xb78\xf8V8\xa2\x0f\xf5\xd4\xc2C\xc8a\xe6\xb5\x7f,t\xcdF\xb8\xe7\xe1J\x14\x05,\x8f\xf4\x8dfr\x0bH\xb2\x8e\xf6\xb8\x8e\x08\x83\xbd\xf0\x10R\xd66+\x12#\xc6\x19.\x92\x8a\x87\xf1\xc5\xaf0\xee<D\xa4\x0bw\x96\x10\xb9\xec\xe3\x9e\xd1g\x06\xa1\xb0\xbdnt\x0b\xc7&\x01\x20.\xea\x0b\x18\xa6\x11\x20\xbb\xc9\xa8\xd1\x19\x08\x04\xdcM\x81\x804\xb9^(\xdd\xe6\x9f'\xe4\xb0{??\xe2\xb0\xceO\xe8\xbb\x9eD!dV\xcf\xb8\xb9\xd9\xfbo\xdf\x15=\x93\x19\xbf\xe4f\x8d\x17\x8d\xb3\x1c{\x08YU$y\x16\x19+`\xf5G\xe7\xde\x11\x0cW\xe8N?\xf7\"l\xaa(`_\xd0\xd7\xeb4\xcc\xb8\x1b9\xc8\x20Q\x08\xe7\x19\x160Y\xdb\xda\xc3\x02\xd6G\x04r\x96\x0dl_\x1a\x8e\xde\xb8\xf748Gr\x1bK\xc8\xcbs\xee\xdb\xf09Zpl\x12\x00\xe2\xa2\xb2\x80\xf9\x05\x8d\x1a\xe7\x03\x93|\x08\x8f$\x99\xb8\xf4\xdaa\xbb(D\xfb\xe9N\xfe\x8ep\xbe$\xa9\x84\xcd*\x20\x9f\x13?\xa7\x9b\xea\xe0Z\x9fss\xb2\xdc`\xd1T\xf1\xb3\xe2)\x1d\x1b\x16V\xd5H\x8e\xc4\x0a\xd8\x09\xd1\x1fv\x96\xeeLp\x13a\xd3\xf8N|\x1b\xa2\xd3&\xf6\x9e\xc4]Y\xc2x6,`\xb2\xb6\x0d\x86F\x82\x86\x11\xfcX'z\xe6\xde\xde\xbbP\xc9\x95\xdd!W\xd6\xb1\xfb\x15\xed\xf2\x85z`Ch\x00\xc7&\x01\x20.\xea\x0aX\xa0I\xf0\x88<4\x05\x02^\x8a\xc3\xec\xf5J\x93I\xca\xaf\x19\xca\xb7\x8d2\xd8\x14\xf5\xfc\x03\xe1|Ir\x11T\xf6\x9d6V\xf6\xff2:\xf7\x8e\x01\x1b:*YZ\xf6\xbcQ.`\xf7^\xd2\x1e\xd8\x13\x06s\xa2\xcd\x16E\x1e\x06(\x0aX5}5!:\xd0\xb5j\xfd\xe2\x08R\x100\x93;\xaam>\x8d8\x8b\xd50\x86\x1f\x17\x09\x02\xf6\xb8\x91H\xd7\xdb>}'\xed&\xd6\xbe|Vi\x0cM\xec\xa8\xd3\x84G\xcf\x92$\x00\xc4E]\x01\xc3\xcd]\xf4\xd5o\xe9\x11\xf7%\x8e\xaf\xb5\xeb\x03\x9b\xac\x8b\x99\xe3\xd9%\xa8\xc1\x17\xac3#\x99\x80\x10g.\x82\xbbaR1_\xa4\xfe\x86n\x84\xbbv!\xca\xb6\xb6\xe6<>od\xa1o\xe3\x08\x98\xd1\x88\xf1k\xea\xf8\x1a\x13\xbc_\x8d\xb7Y\xf6\x85\xca\xf0L1E\x01\xcb!].\x7f^!M\xfb\xb5\xd6,\xf1\xb3,$\x19\xd3\xd4F\xd662\xa0\x14\xbe\x95$\x02\xd6\xca\x8d\xd0\x1c\xe35\x8c\x9fpe\x1cw\xfa{\xf1\x14\x81\xbcp\x84rI\x12\x00\xe2\xa3\xb2\x80\xb9\xf8n\xa7\xdbi\x11g\xe2\x07<\x0e\xb3\xc7\x1b\x9d\\s\xecC\x9bcz\x13\xa7P\xa9\xa5\xbd\x025\xe1\xf9A\xf6\xfc\x8e\x8a\x8e$\x19SC\xc2\xdb\xf9\xb6\xbe$X\xa9\xbf\x1de{c\xf7\x1d|g\xf7\x0d\x8c\xdf\xfd\x89=od\x9e\xad\xb9\x09\xbb]\xff\xa5\xdd\xce\xfc\xf9\xadE\x1d\xfd\xa7\xd9L\xfd\xc6\xdd\xf5\xfd\xdf^\x11d\x0c?\xe7\xee\x84jV~\x0a\xb9g\xb0\xa7\x20K\xb8\xccS\xdb\xb2\xc49\x1f\xe74\x97\xdaweP\xf3p\xdb(\xae\xb4Kt3\xf5Y\xc7l\x9fnj\xb6\x9e\xa8U+W\xdc:\xdc\x7f\x85{\x84\xf13\xfd\xd8\x88\xfd\xfb\x90^^Fa\xa5\x97$\x01\x20>*\x0b\x18\xf6\xf4XLm\x83\xe2,\x00\x0f\xf5{5G'\xd7\x1c\xa6\xcdh(&\xb3k\xa76\xeb\xd3\xbb\x18\x8f\xa71\x87\x11\x15\x1dI2\x0a\xb3\x96\x8f\xcd\x8c\xf0\xb8\xa4\x15\xdf)~\x1ce;\xa2\x7f\x86\xa7\x8a\x87\xa9\x93\x9f\xc1\xfabOEo\x17\x9b\xa6?w\xe33\xbdQ(6v\xba\xac\xc48\"\xd6\xd7\xaa\x0fy\xc1,\xc8\x15ZN\xc7\x15\x12\xb0\xbc\xba\x83\x99\xd9\xe5\x1ea\xc7\x85B\x13N\xfd\xc7\xb3\xd2\x0b\x85v\x86\xda\xc68\xf3\x93\x01\x8c\x83\xa4\xa3\xd5W\xcc\x15\xf7q\xdcy|\xdfx\xfb\xb0\xce`$\xfa\x85't\xf4btF\xe6\x04\xb3\xa5\x9f\x14\xcbH\x93\x00\x90\x00\xb5\x05l]\xd2\x8eR\xcb\x9f\x13\xbc\xa1\x13\xfabl\xaejh9\x1d\xa4\x14P\xdc\xa7\xe9U\xc8\x95Q\xad\xb1\xc4;\xf4\xba\xf8\xda\xebw\xef\xde>=\xff\x19\xe9\x11\xb6h*B\x13x%I\x00H\x04\x08\xd8r0#\xce\xd7b\x93\xc9\x03\xe6\xacc\xc9\x0a\xac2\x82\x1d\x06aR\xec\xfc\xf8Ph9\x9d\xa1q%M\xb1h\x93+\xcd\xe5\x1c\xf9\xbc\xb5\x08\xfd%\xc2\xe81X6\x82\xbd\xd9\xe1\x15($I\x00H\x08\x08\xd8rP(\xce$`\x8en\x8f\xb6z\x8d.fZ\xd7\x8bw-l\xa9\x9c\x89'\xb4\x8b\x00\x00\x20\x00IDAT8<\x11'PLqO\x93X\x02\x80\"\x20`\xcb\x81K\x9c\xaf\xe5Jf\x98\xd2\xf8P\xfe\xb1E\xfcT[\x81\xe0\x15\xfd\xb5\xbeG}\xd7\xf4_\x051\x00,\x01\x100`\xc9\x9c\xdb\xbc\xd3\x99\xcc&1\xc1\xe1Z\x83\xceP;\x0c\xfa\x05,\x0d\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x100\x00\x00R\x16\x10\xb0u\xc9\xbaY\xb7\x08X\xe3\x80\x80\xad?<\x15[\x84\xd5\x06\x01\x20\xd5\x01\x01[w\x04\xf2\xf2\xf8\x9eD+W\x03@\xca\xa0\xb6\x80y\xba\x9aM\x96\x81\xd0\xefO\x1c\xbc\x95nf\xcclAi\xf3Z\xfa\xc9`\xb7\xd6\x1aJz\x8fmI\xdf\xfb^\x836k\x96\x15/\x94\xd0\x89\x8f\x20\x842\x94~\xcb4\x8e\xba\x14r\x01\x20\x15QY\xc0\xa6y\xab\xd3\xedl\x13\x174\xf4\x99\x06\xd8\xaaw>\xfe\xa1\x87\xb0\xa6\xd63\xb4f\xdc\x0a%wm\xb9~$\xfd\xbd~3\xf89\xfa<\x99I\x98\xd0\x89\xdd6\xdb\xd7\x8a\xa1\xc9\x86\x90|I}\x00H]T\x160\x17O\xc7.>^\xf8\x09\x9d\xb5\xc7-\x0a\xd8\x1a\x1c\xd1\x84\xbb\\^t\x15\x07\xdeK\xbf\xf0\x19t&\x99I\x84H_o(\x8e\x80A\xc4E`\xad\xa0\xb2\x80\x09!\x0f\xbdB\xf8!\x87\xd9\xe7Y\xbb\x02\x16\xc6\x85\x16>\xfe\x8bC\x1d\xaaKf\xa2\x04\x08\x18\xb0\xd6Q[\xc0\x083n\x8b\x95\xf6\x12|&\x17^\xa3\x02FW0Mc\x0bd\xfb\xb5\xc2\xca`\xd5Q\x16\xc1\xfb5\xc5\x957g1~\xa6\xe3\xb8o^\\<\xaa\xaf}'IFY7\x20\xb6\xc2\x9f;S\\g,S\xfa~\x1dC\x9b\xf8\xea\xdc\x8c=\xaco\x1b>1EY\xaazA\xc0\x805\x83\xea\x02\xe6\xa5\xdez\xd6\x0f\xb3v\xe3\xb0\x80u\xdf\xe2\x9bm3\x89K\xa6\x12\x0fl6!|\"~hkAu6\x9b'\xca\xe0\x0awc\xa4\xf3PU\x10\xcf\xf5\xf5\x1d\xae,6\xdc\xac\xdf\xfdR\x92\x8c\xb2\xbe\x8a.\xd3\x8d\xdf|U@\xf6\xb8\xc3\xd9\xbc\x11i\xeb.e\xb2\x88l\x91\x13cE\x01\x9b\x9f\xee\xdd\x91\xf5~\xe3Y\x00X=\xa8.`\xd8\xebq\xb0\xa8DN*c!\x01k\x1aw;--k\xe9)$N\x0f\xe9\x88\xd2\x10r\x98\xbbO^\x1f\x0ba\x80\xaa\xb8\xd3oq\xf0mTR\x0a\x8f\x84@\x1d\xd3\xe2R\xd5QK4k\xb2h8F\xad\xb8\x97\x9eH\xc0\xf6\x93\xfe\xdb{\x8fh\x01`\xb5\xa0\xbe\x80a\x1a\x17\xb2\x9b\x0c\x20\x9d\x81@\xc0\xdd\x14\x20\xa3\xc9\x80\x83v\xbef\xcckjh\x93P\xc0\xea\x8f\xce\xbd#\x18\xae\xd0\x9d\xaa\xa2p\x8fK\x92\x94bFf\xba\x99D!\xe4Cn\xcd\x11L\xc3\x9a\x89{\x09\x05\xcc\xdd\xc5\xe7A\x0f\x0cX3\xa8,`~\xe1\x11\xd98\x1f\x98\xe4CxB\x07mm\xf1\x8a\xa5\"\x09\x05\xec\x84\x18\xdd\xec,\xdd\xa9\xaa\x09\xe7K\x92R\x06\xb2\x04%\xb2\x89KUG\xcd\x83`\xd1\xaf\xeb4\xe2^B\x01#\xd8\x14\x82\xbc\x01@j\xa2\xae\x80\x05\x9a\x84\x20\\\x0fM\x81\x80\x97\xe20{\xbd\x01\xdc#\xdc\xe1\xbdkjl\x93\xa4\x07\xf6\x84\xc1b\xffH\xc2f\xcb\"h/\x18\xe6\xf5Z\xb0\x80\xc1SH`\xed\xa0\xae\x80\xe1f6\x09\xdco\x11\xc3\xd1\x8b>0+\xebzy\xcd\x0f\xe3\x94JI\x12\x0a\xd8\x98\xe0\xfdjd\xd1\xb4\x17\x20`\x89\xe7\xf1\x83\x80\x01\xeb\x15\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98\xe9\xfc{7\xdf\xe5r?0Y\xdf\xeb\xe76\xab\x09\xff\xa0\xcd\xa69b\xb3\xf9BO!\x07\xa3\x9b\xd6\xb8\xbb\xbe\xff\xdb+D\xc6\xde\xfd\xc9^i\xb4\xdb_\x90<I2\x0a\xeb\xe6\x04\x9dS\x8fm\xd3\x91A<zd\x93\xcd#=1\x9b\x89\x7f\xd9f\x8b\x99\xa1\xf2\x00\x0d(U\x03\x00)\x88\xca\x02\x86==\x16S\xdb\xa0\xf8\xb8\xd1C]`t\xd6\xd2tw\xb3\xd9\xeaX3\xfa\x85\x87\xd2\x04_;\x8f\xfdY,\xb11&z\xcf\xd8\xe9\xb2\x12\xe3\x08\xc6\xcf\x04gX-\x96%\xa3\xb8\xabU\x8a\x8a-r\x8c\xd4\xbf\xc9\x91A^\x8fIN\xcc~\x0bI)\x8d\xb6\x9f\xdexp|z\xed\xbc\xd7\xc0\xbaFm\x01\x03V\x9e\xf6<\x04\xcb\xe9\x00k\x03\x10\xb0\xf5\xc8\xf4\xb8'\x99\x09\x00\xa4\x02\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x00\x00\xa4,\x20`\x80*\\\xcf\xa0\x91\xe1\x06\xb3\xd6T\xf0O`\xc5\x01\x01\x03B\x0c\xd7\xbcNf\xb2d|\x19\xd5t\x1d\xec\x03\xda\xf9d\x96\x8b\xc4[\xd0\x9e\xcc\x04X\xc3\xa8-`\x9e\xaef\x93e\x20\xb4(\xbb\x83\x0f\xads\xe5\xbck\xb6<\x88S\x06H\x88}\xb7\xb8>\xb5\xfeY2S\x8c\xbf\xa4v\xe1\x15\xc7\xfez\xadL_\x1b\x14w\xeep\xad4\xe9\xd4\x9a\xb1I\xeb\xc2\xb8\x02\xa1Kd\xff\x12B\x15Q\x95tk\x17\xbdv\xee\xe8F\x7fv;\x9e\xde\xf4ET~\xf8lK\xa6!\xad!\x99\x09\xb0vQY\xc0\xa6y\xab\xd3\xedl\x13\x174\xf4\x99\x06\xd8\x8a\xac\xd8\xdf\xcd\x0fN\x8e\xf2\xef\xf3\x7f\xbcNx\xf4$&kn\xe2P\xad\x9dp\x9f\x1bIj\x8b\xbf\xb7\xdb;\xb9\x89\xd0\xde\xe9C\x9d\x17\xf5b\x0c\xa4N\x16(\x09\xe3\x1eT\x8d\xabQ\x0f\xc6\xee\xcd\x0dt\xbc\xe7m\xc8\x8c^\x13\xd1\x9aqKL\xf5\x8e\xe2\x851\xa4\x09l\xb5\xe0\x064\x19\x95\x1f>\xdb\xd2\xb1n\xbc\x9a\xcc\x04X\xb3\xa8,`.\x16\xc2\xd6\xc7\x0b\xeb\xfbY{\xdc\x82\x80\xf5\x98<4bd\xcc\xaa\x7f@45JkN\x1f\xbdF_\x9fG\x0b\x98\xa2-\x0d\xe6\x16\x12\xb0\x1f\xb8N\x1c\x9c\x15\xd2/t\x8dB\xe2\x01:\x87\xcf!*L\x9f\x98X\x86i{L\x15\xe1\xe5\x10w\xc4,\x97\x18\x07\xefF\x13r\x04\xb6\xee\x8a\xce\x8f\x9cm\xe9\x9c\xd1\xac\xb1\xb8\xc8\xc0\xc2QY\xc00\xebzy\x85HD\x0e\xb3OX\x13\xdf\xc3?\x0c\x1f\x03\x12\xa2\xb8h\xbe\x20`s\x9dQ\xf1$\xe3,\xb0\x1f\x11\xb0\x17\xdcp8\xf7\x8aAT2\x17\xba\x8c\xaf\"\xda\x19>p\x86e|q\x00\xc7%\xff`\xfccr\x8e\xa3\xbd\xb8\x17\xc5\xf8\xab\"g[:\xbe\xec\xe81.\xb0nP[\xc0\x083n\x0b[\xfd\xdegr\x89A=\x06M\xf3I\xc2V\x00\x94a\xd1\xd9\x15\x1d{M\x100\xca\xdb\x0b\x06\xdd\xe1\xb3\xcf\xa2l#\xb9\x14Q\xc0\xe6\xca\x04\x83\x9b,s\xaeX\xec\x80a/j\xc2\x16D\x07\x8f_\x08\xdd\xab\xd2/\xf0\xf8F\x84\xce\xb8\xca\xb7\xa6\xef\x99\xc7\xbet\x84\xd2\xe8:\xe0\xd8*.Z\x9d\xcf\xcc\x9a\x0a2r\xab\xc5\xef\x20\xf3\x16\x1eG\x11p\xce\xe3\x83Z\xba\x96\xb8\x85\x14\xa9\xc3u\xe4\xd5\"=[\x1c\x82\xf7k\x8a+o\x12q}\xa6\xe3\xb8o^\\<\xaa\xaf}'I2\x9b3\xe9k(\xa8;\xb0(T\x170/\xcf\xf3f\xf6\x7fn\xed\x0eE%j\xb7:\xdb\xf8\xe6\x01\xf8/L\xc2\xec\x04\x8b\xfaa\x7f\x1e\x95\x7f\xf4\xca\xdc\\\x87\x91\xa6\x86\xb9\xaf\x1e\xf5\x9d\xe5\x1e\xcbm#\xb9\x94P\x0f\xec\xa9\xbd\x8fk\xb5\xdb\xff\"\xecpv\xb1\xb2@\xce\x20\x1e\xca\xa1\xdf'\xa6\x1dx\x90\xec\xe4\xf3x\xc6\xd2\xbc573\xa7\xba\x9c>I|`\xb3\xb10H\xd87`\xcb-\xb4\xd9ll\xe4_\x91v\xdczU\x9b/|\x0f\xedG{p,\xa2\x0b\xdfg\xcb<\xe3\xc5\xde\x7f\xcd\xa2\xa1G\"g\x8b\xc3\x15\xee\xc6H\xe7\xa1\xaa\x20\x9e\xeb\xeb;\\Yl\xb8Y\xbf\xfb\xa5$\xc9l\x06\x20\xce\xd2\xbaEu\x01\xc3^\x8f\x83E%rR\x19\x13\x04\xcc\xc27\x8d\xbb\x9d\xcd\x16\x7f\xb2\xb2\x80\xf2\x10\x92\xf6\xa4\x0c45\xdbG\xfa*\xc1\x13\xe7\xe5\xb6\xb2\\\xe5!\xe4\x08\x17\xad\x8a\x18\xdb\xb4\xf8s\xcdI\xace\xb1<\xf3\xd1._x\x94\x1f\x8e\xdc\x16\x1eBZY\xec\xf0!\xd4\xc2\xf6&\xeb\xa2\x9d\xf5\x94\xb0\x0b\xbf\x82v\xedJ\x174\xee\x1bf\x8f\x16\x1e\x0bQ\xe8\xaa\xb8\xd3oq\xf0mT\x12c7\xba\x15\xaf<\xb0\xc6Q_\xc00\x8d\x0b\xd9M\x06\x90\xce@\x20\xe0n\x0a\x90o_\xab\x89\xde\x18>3D\x8cN\x8a\xb2\x80\x9d}\xfc\xf8\"\x130\xfc\xaa\xb3\xf6h\x09w\"\xcaV\x9a\xab,`\xfd\\l477\xf2\x15\x1e\xf9\xd4\x87\x98\x8b<_\xea)\x8f\x15\xb0\xd2m\xfeyBN\"U\xda\xb6SL\xf4\xa6\xfb\xb0/\xa37\x81i\x98\xfa\xa3s\xef\x08\x86+t\xa7\xaa\xe8e(_\x92\xa4\x17\xda\x12[\x12X\x17\xa8,`~a\xb00\xce\x07&\xf9\x10\x1e\xdc\xcb\x02\xdb\xe2^\x98\x92\x98\x94\xb8N\xfc\xa9{4\xf5\xf8\xd0\xe1\xc6~\xfb\xe9(\x01\x93\xe5*\x0b\xd8DdnE\x98\x80\xc6\xb1yt\xb3c\x13\xfb\xcc\xf2wH\x8e\xc4\x0a\xd8v\xd1\x1f\x96\x20\xda\x91\x0d\xb5\x89\xcf/\xe7\xb5m\xb8]\xbb\x20\xaf\xe7\x09\xd1\x95w\x96\xeeTE\x9c\x7fUR?\xe0\x10D\xba\\\xb7\xa8+`\x81&\xe1k\xf7\xa1)\x10\xf0R\x1cf\xaf7\x80G\xcd\xec\x9f\xb9g\xd1\xd3#\xd7\x1fL\x94\xeeIz\x1f\x94\x88\x13\xbf\xb2\x86>K\xbc\x20\x110j+\xcbU\x16\xb0\xd9\xa2V\x1cCnC6\xce\xb9\xb4\x8d\xa5\xf3\xa5\xcf\"\xe5\x02f\"}\xb3\xf2m\xa3\x8c\x04\xee\xf8R\xad\x1fW\x08\xde\xb3\xe3\xfb\xf1\xfe\xe3\xf1-%\xd4\x1f}\xc2xEw\xe2\x850\xaf\xd3\xc0\x03\xec\xf5\x8a\xba\x02\x86\x9b\xbb\xe8\xab\xdf\x12\x9a\xb9(\xf8\xc0\xbcl\x1a\x85\xcf\xf4\x20N)\x20\x8c\xd1\x88\xf1k\xc1#\x84\xdd\x0d\xa2O)\"`\x87\xe9}\x1d\xac:!\xb7\x95\xe5\xc6\x99Fq\xa12\x88\xa3\xd9[\xb0\x1f\x1f(\x10\xfc\xf1\xb2\x09\x13a\x01+,\xc4x\x9a>M\xec\xa2/\x18\x7f!\x1c\x08_\x99\x04\xaf\xe6s<\x8a\xce\xa5M\x93\xf4\xa0\xc6\xa3Q\xf0\xbbO\xd6\xc5L\x08\x1b\x13\xda\xdax\x9b\xbe\xc6\x11\xb0@\xde^\x0c\xacST\x160\x17\xdf\xedt;-\xe2L\xfc\x80\xc7a\xf6\xd0\xef\xec\x07\xa6\x07nGS\xdb\x87\xfe\x9d\xdc\x1a\xa4\xb5\xa8\xa3\xfft\xb1\xd0\x03\xdb\x87\xd8\x8dKg\xe2O\x88\x93\xb8Z\xb9\x0b\x9d\xb7\xab\xb8\xb2;\x13R[I\xeeK:\x13\xbf\xc3n\x7f\x19z\x0a9!\xea\xd6s\xeeN\xcc\xc9\xaaQ\x03n@\xa4\xab4?\xc8\x9e72U\xf2\x0f\xdal\x9a#6\x1b\xfb\x08\xcfi.\xb5\xef\xca\xa0\xde\xb1S\xa8\xd4\xd2^\x81\x84\x89\xc9\xe2\x95\xc9\xb8\x84\\\xb8yk\x80\x09W\x20{O\xb6\xc2\x08r\x1f\xda\x1c\xd3\x95j\xdc]\xdf\xff\xed\x15\"c\xef\xfe\xc4\x1e\xabRW\x9d$I\xb9\xfc\x9e\x13a\x81\x14Fe\x01\xc3\x9e\x1e\x8b\xa9mP|\xdc\xe8\xa1.06\xa5\xc8\xd5nn{\x00\xfa\x95\x9c\xb9\x1b\x9f\xe9\x8d\xe2|\x08\xb3\x96\xcd\xb6b\xbf\x85\x14\xfad8\xd8QYt\xa8\xfe~\xa5\xce(\xb5\x95\xe4^\x14}J\x17\xf0\\\x09K\xe8BO\x1f[\xf51^0k\xc68vd\xb4c<\x9e\xc6\x1c\\L\x95\x86\x844b\xe7\xf6\x1f\xcfJ/\x14\x9e\xbdt\xed\xd4f}zW((^\x99\x8cm\xa4\xb3f\xd3X\x85G\x02\x975\x97c\x0c\xc8Xt3\x8a}\x8e3v\xba\xac\xc48\x82\xf13\xe1\xc2k\xb1,I\xb0\xa5\x9f\x8c)\x04\xac\x17\xd4\x160`\xb5\x12\xbc\xa1\xebKf\xf3\x1eL3\x17~\x01J\xf8\xdb\xa3v\xb4xgV\x8b\xa6\x02\xbe\xf9\xd6/\x20`\x80H\xb0\xc3\xf0*\x99\xcd{\xc0z^~W\x82g\x8f\x01s\xd6\xb1\xf8G\xe3\xe0\xcd\x86\xc5(\xd63\x20`\xc0j\xc1\xa3\xad\x86\xa9\xcc\xc0\xe2\x00\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01[\x0eJ\x91\xb6\x1cb\xc4\x01\xc0\xb2\x03\x02\xb6\x1cxz\xcdy\xda\xc5\xff.\x19\x00\x80\xc5\xa1\xb6\x80y\xba\x9aM\x96\x81\xd0\xbd\xed\xe0\xe9\"\xac\xf3M\xe2\xe2\xd2\xcd\x89J\xa6\x18\xbdh<\x99\x09\x00\x00\xef\x89\xca\x026\xcd[\x9dng\x9b\xb8\xa0\xa1\xcf4@\x17\xc0\x9b\xe1G=\x84\x07\xfcZ\xba\xe5\x87\x20\xd4\x17\x00,;*\x0b\x98\x8b\xa7\xab\xaa\xf8x\xc1Ad\xedq\xb3\x15<\x1d,(Q\xd3\x9a\x8a\xcc\x00\x02\x06\x00\xcb\x8f\xca\x02&\x04\x16\xf4\xf2\x1e\xbaq\x98}\xc2\x9a\xf8\x8c\xbb\xb7\xd6\xd4\xbat\x20`\x00\xb0\xfc\xa8-`\x84\x19\xb7\xc5J\x97\xb5\xf3\x99\\8\"`N~:A\x99\xd4c\x1c-(\xee!\x00\x00\xef\x81\xea\x02\xe6\xe5y\xde\xcc\xfaa\xd6n,\x11\xb0p\xa0\xa25\x82_[0\xe0^P\xe8C\x00\x00\x96\x8a\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42\x16\x1607/\x09\xfc\xbc&\xb8\x8b\x10\xda\x97\xcc\x08\x00\x80\xf7A}\x01\xc34.d7\x19@:\x03\x81\x80\xbb)\x20\xf4R\xba-I\xca\xa4\x1a>\xed\xd6\xcb=kM\x94\x01`\x95\xa1\xb2\x80\xf9\x05\xb9\x1a\xe7\x03\x93|\x08\x0f\xcd1?HP*\x15\x19B\xdd\xc9L\x00\x00xO\xd4\x15\xb0@\x93\xe0\xd9~h\x0a\x04\xbc\x14\x87\xd9\xeb\xa5\x9a\xe6]s#Hx\x0a\x09\x00\xcb\x8f\xba\x02\x86\x9b\xbb\xe8\xab?\xec\xb1\x0f\xf9\xc0&\xf9\xb5\xf6\xc3\x1b\x100\x00X~T\x160\x17\xdf\xedt;-\xe2L\xfc\x80\xc7a\xf6xi\xca\xc9\xaf\xb5\x80Z\x83\x20`\x00\xb0\xec\xa8,`\xd8\xd3c1\xb5\x0d\x8aj\xe5\x09\xff\x00\xd2}+A\x99\xd4\xc3\xef\x19-\xd5x\x92Y\x01\x00\xf0\x9e\xa8-`\xeb\x83\xfd\x08mmOf\x04\x00\xc0\xfb\x02\x02\xb6\x1cxF\xd7\xda3\x09\x00X\x95\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\x80\x80\x01\x00\x90\xb2\xaco\x01+E\xdarg2#\x00\x00V+\xeb[\xc0<\xbd\xe6<\xad\xb0\xb4\x8f\xb7\x20\xfc\xebkI\x12\x00\x80\xd5\x8c\xda\x02\xe6\xe9j6Y\x06B\xab\x17:x+\xdb\xfa\x06n\x99n\x0d\xac\xc8\x9a\x86\xbdH\x8c\x07\xde\x90\xd6\x10\xca\x93$\x01\x00X\xc5\xa8,`\xd3\xbc\xd5\xe9v\xb6\x89\x0b\x1a\xfaL\x03lEV_S\x1b\xcdmZ\x09\x05\x8b\xac\x9cj\xddx\x15\xc7&\x01\x00X\xbd\xa8,`.\xb6\xf6\xbd\x8f\x17\x1cO\xd6\x1e7\x130\x9b\x85\x06\xe5\x9e\xb7\xd8\x12\x94\\.$K?\x9f\xd1\xb8\x15\x92\x00\x00\xacZT\x160\xcc:Y^!\x12\x91\xc3\xec\x13\xd6\xc4\xef\x11|N\xed+\x11\xdbV\"`\xbe\xec\x0a\x85$\x00\x00\xab\x16\xb5\x05\x8c0\xe3\xb6Xi$\"\x9f\xc9%\x06\xf5\xf06\xf5z\xfd^[\x937I\xc9\xe5`\x1c\xf5\x86\xd3g\xd2g\x14\x92\x00\x00\xacVT\x170/\xcf\xf3f\xd6\x0f\xb3v\x87\xa3\x12\xcdt\x93\xdc\xae\x15\x91\x0c\xbf\xb6`\xc0-D\xab\xc4\x03\x91\xde\xd8\x00\xc4\xe4\x00\x80\xd5\x8f\xea\x02\x86\xbd\x1e\x07\x8bJ\xe4\xa42&\x08\x98\xbf\xdb\xe2\xf48-\xdd\xf3\xc9\xca.\x07w\x11B\xfb\x84\xa4\x1b\xdd\x0a\xe5J\x92\x00\x00\xacV\xd4\x170L\xe3Bv\x93\x01\xa43\x10\x08\xb8\x9b\x02\x01\xea\xc4\xf7\xb3\xdc\x81d\x05\x97\x01\x9fv\xeb\xe5\x1e\xd1c\xefF-\xa1lI\x12\x00\x80\xd5\x8a\xca\x02\xe6\x17\x06k\xe3|`\x92\x0f\xe1\x09\x98\x1e\xb2\xdc\x87\xa6@\xa2\xb2\xcb\xc3\x10\xea\x96\xa4\x07\x14\x92\x00\x00\xacV\xd4\x15\xb0@\x93\xe01'R\x15\xf0R\x1cf\xaf7\x10\x12\xb0\xd1\x95\x11\xb0\x88\xb3\xabN\xe3SH\x02\x00\xb0ZQW\xc0ps\x17}\xf5[B\x13&\xc4i\x14\xe2\x10r\x85\xa7Q\x04\xf2\xf6*$\x01\x00X\xb5\xa8,`.\xbe\xdb\xe9vZ\xc4\x99\xf8\x01\x8f\xc3\xec\xf1b<\xd3bq\xb8\x1d\x96\x96\x95x\x0c9\x18\x11\xb0\xcbhT!\x09\x00\xc0\xaaEe\x01\xc3\x9e\x1e\x8b\xa9m\xd0/\xeeP\x17X3I\xf8\x87\xda\xccmC\xfe\x84%\x97\x03\xbfg\xb4T\xe3\x11wl\xe9'ql\x12\x00\x80\xd5\x8b\xda\x02\xb6\xba\xd8\x8f\xd0\xd6\xd0\xca\x13-\x9a\x8a\xf9\xd8$\x00\x00\xab\x98\xf5-`\x9e\xd1\xf0O\x1e\xbd\xd9\x0d\x0aI\x00\x00V3\xeb[\xc0\x00\x00Hi@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0\x00\x00HY@\xc0V3\xc35\xaf1\xf6\x16\xb4c\x00\x00\x94P[\xc0<]\xcd&\xcb@h\xb5S\x07oe\xdb\xc0x\xbb\xa9\xcd\x19\xbf\xd4r2\xb9\x09\xe5\xc5dz\x8fmI\xdf\xfb\x81\xd6\x87\x9d\xaa-6\xd4?2\xbc\xc6_r\x1c\xa7\x7f\x91\xcc\\\xc2\x1d\xae5H6\x0di\xf0\xe3r\x00PDe\x01\x9b\xe6\xadN\xb7\xb3M\\\xd0\xd0g\x1a`+\xb2\x06\xac\xe6Q\xf7\x03\xd3\x83D%\x97\x8f\xc1#\x9a\x98\xbc][\xae\x1fI_\xd8\xa2\xd2\x8f\x9e$>>V\xfc/\xf7\xfaNp\xdc\x7f\xe0\xef\xed\xf6Nn\"\xb1\xb5\x94N\xee\xbe\x90\xb0n\xbc\x9a\xd8\x12\x00\xd6)*\x0b\x98\x8b\xa7\xeb\xd7\xf8x\xa1\xb7e\xedq3\x01{h\xa2!m]\xa6\x85)\xc6\x07\xa7N\x13\x9d\xe3EWq`\x81WSs!\xe1\xe1\x1fJ\xce\xcea<[I\x04\x8c\xf0x\x11\x02\xf6B\xd7\x18J\x9e\xd1\x84\x97\xfd\x01\x00\x20\x82\xca\x02\x86\x99*xy\x0f\xdd8\xcc>aM|+[)\x1f7=\x88Sh\x99\x89\x150\x17\xb2*\xd8)S\x95X\xc0\x1a\xf5\x7f\xa1\x9b\x0e\xee9\xdd,F\xc0\xae\x18fCI_vE\"K\x00X\xaf\xa8-`\x84\x19\xb7\xc5J\xddK>\x93K\x0c\xea\xd1fc\x07\xda\xef&*\xb6,x\xca\xb3\xb3\x0e\x88C\xc8\xa6\x82\x8c\xdcj\x1f\x8d\xd5\x8d\x18\xd5\xb2\xdc\xf1\x8d\x08\x9dq\x95oM\xdf#]\xacu\x98\x13\xa8\xa1;\xf6\xda\xc3\xba\xb2\xda\xc3A\xd9\x19*\xaf\xb0\xcd\xab\x8e9\xba\x09\x0bX\xb0\xb3F_\xd5\x19\x8c*\x16\xbc_S\\yS\xd0\xad\xb9\xe2p\x07\x8ct\xc1\xd2W\"^\x00\x00\xacvT\x170/\xcf\xf3f\xd6\x0f\xb3v\x87\xa2\x12\x0d4\xb1\xa8D\xe6\xb6\x84%\x97\x01Wf\xae\xb9\xfd\x17HC\xd3\x15i\xc7\xadW\xb5\xf9DZ\x1f\xdaZP\x9d\xcd\xe6\x91\xe5\xceX\x9a\xb7\xe6f\xe6T\x97#\xe9hnv\xc2^i\xb4\xdb\xed\xb4{\xf5t\xf7\xc5\xfe\xb1{e\xdc;\xe9\x19\xe6\xb8\x0e\xe9nX\xc0.\x16}3\xf2M\xd1\xc5\xa8bW\xb8\x1b#\x9d\x87\xaa\x98\xae=\xe5\xec\x91r\x03\x92\xe0o\x00\x00\x84P]\xc0\xb0\xd7\xe3`Q\x89\x9cT\xc6\x04\x01\xf3\x99\xad\xde\x19O;oIV\xf6C\xf3\xe96r\x0d\x81\xed\x1a\x92\xb4\"3\xa6A\xd6X@\xee\xf0\x10R\x96\x9b\x8fv\xf9\xc4A\xb0\x84\xf0\x10\xb2\xf3\x10\xd5\xa0\xce\x12Y\x0f\xec\x05\xf7\xadt7$`#\xdc\x18y\x1d\xe3Fd\xc5\x86\x99\xd7\xfe1\xd7'\x98<\x8f\x94s\xa3[\x18\x00\x80h\xd4\x170L#@v\x93\x01\xa43\x10\x08\xb8\x9b\x02t4\xe9\xb5\x92~\xd9\xa0U\xed\xf9N>\xc4\xd3\xcd\x19\x0dy)\xdd\xe6\x9f'\xe40gSX\xc0d\xb9\xf9\x8a\xae\xf4\xb0\x80\xbd4\x1c\xbdq\xefipNvtN\xa7\xd8\x03\xbbr\x82mN|)+V\x7ft\xee\x1d\xc1\xc0F\x9d\xfd\x9cd\xc6\x85[\x90P\x00\x00d\xa8,`~an\xd58\x1f\x98\xe4Cxh\xce\x8c7\x80\x9b\x06\x12\x15]\x06\x1e\x20\xe6|;\xa7!/\xdb\x05\xc7\x17\xdaOs\xc2\x02&\xcb\xcd\xdf\xa1TI\xc4\x89\xff\xf6\xde\x85J\xae\xec\x8e\xa2\x0fln\x8cmB\x02f<\xcb6\xb55\xb2b'D\x8f\x1a;8!\xf5\xf7\x0f!\xb5\xdf\x1b\x00H\x05\xd4\x15\xb0@S/\xdb>4\x05\x02^\x8a\xc3\xec%\xca\x85\x99_\xdc%H\x99\x8ax\xd1u\xbaaN\xfc\xf2m\xa3\x0c:\xa1#\"`\xb2\xdc\xfc\x03J\x950\x01\xbb\xf7\x92\x88S#\xd1\xa0\xb7}\xfaN\xd9\xe1F\xfd+\xba\xe9\xe3^\xd3M\xb8\x07v\x94\xf9\xec\x8f^\x94\x15\xab?\xfa\x84\xc1J\xcc\x16\xb5Fj\xa9\xd3,pR\x07\x00\xac+\xd4\x150\xdc\xcc&L\xf8-=\xe2\xbe\xe0\x03s\xf2D\x20|\xcd\xbdq\x8b-\x17\x059\xe4\xc4\xae\x9fhH\xb2\x0b1\x0f\xdc\x17u\xf45,`\xb2\xdc\xfc\x83Ju\x18\x8d\x18\xbf\xa6n\xabV\xea\xd1\"\xfb\xd7X\xb6\xbba\x92m\x7f(9OF\x87A\xe3Q\xb6\x17\xf1\x81Q?W\x1f-!)6&x\xbf\x1ao3\x9b\x0b\x95\xe1\xbe\\\x20o/\x06\x00\x20\x06\x95\x05\xcc\xc5w;\xddN\x8b8\x13?\xe0q\x98=TB\xf8!\xf7\xc3&\xab\xfa\x9d\x0cGFN\xdd\x99\xac\xb4\x8df'\xc6\xa7P\xa9\xa5\xbd\x025\x85\x9eB\x0e\xb2\xd1n8w~\xd0\x96[h\xb3M\xc6\xd4\xd1Z\xd4\xd1\x7f\xba\xf8%U\xa2\xe2\xd6\xe1\xfe+\xdc#\x96\xbd\x0f\x89\x9a3\xa27\xde\x1f\xae\xd5\x11\xe1zIg\xe2w\xd8\xed\xc4\x16\xd7s\x8d\xc3\x8d\\=\x96\x17k\xdc]\xdf\xff\xed\x15A\xc6\xf0s\xeeN\xe8\x1c\x97\xd1(\x06\x00\x20\x06\x95\x05\x0c{z,\xa6\xb6A\xbf\xb8C]`\xcd$1j1[G?\xd0O\x0f\x17\x85k_\xd6\xd6\x93\xe6\x8d\xe8\x18Iw\xed\xd4f}z\x97\xf4\x0f\xb3\x98\xdbk\xa3\xf0k\x81P\xeex\x1a\xcb\x8d\xed\x09\xcd\xdd\xf8Lo|L\x12\xf7\x8d\xb7\x0f\xeb\x0cFA\xbf\xb0Y\xcb\x8b\x06S\xb5\xfa\xb2\xb3t\x1e\xfeE\xd1\xc5E\xc7\x9c\xc1\xce\x13\xfa\x13l\x1e\x98\xac\xd8\xd8\xe9\xb2\x12\xe3\x88X\xb0U/z\xc1l\xe9'1\x00\x00\xb1\xa8-`\xc0\xc2\x09\xde\xd0\xb1\xbeX\x8b\xa6B:y\x16\x00\x80\x10\x20`\xab\x98`\x87\xe1\x15\xc6\xdelX\x8c\x02\x00\x94\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20e\x01\x01\x03\x00\x20eQ[\xc0<]\xcd&\xcb\x00]\xf9k\xc6\xcc\x16\x946\xb3\xa5u<\xed\xe6.O\xe2\x92+\xc2\xa8\xb0\x88N\xda\x03awr\x13\xca#\x9b#$+\xc3\x15k\xed\xd8\x93\x91]\xda\x9b=\x1d{\xe4C\xe1.\xcf\xc9\xf8\xa4N\xfd\x85\xd3\x00`u\xa2\xb2\x80M\xf3V\xa7\xdb\xd9F\x174\xf4\xf1\x0f=\x04\xb6X\xb3\xdbds\xd9L\xab0\xfa\xf4\xfc\xa0\xedkt\xd9\x16Z\xc0\x0c\x0f\xb2\xe5\xa7\xdd6\x92\x1b\x1b\xe7\xac+c\x07\xdf\xb2\x1d!g\xcc\x91\x0f\x85k\xf3'\x97\xac_d~\x02\x0a\x06\x00\x0c\x95\x05\xcc\xc5S\x95\xf2\xf1N\xfa\x12\x16\xac@3\x0dY1\xd0\xbc\x12K\x1a&eH&U\xa1(\xdeC\xb1\x02\xe6\xcd\xdcOt\xce\xb7m\x19\x05l\xffV\x1a\xdf\xd6\x99\xf1E2C\x00X\x1f\xa8,`BTE/\x0d\xdf!\x110\xa7\x89\xde\x97>\xd3\xf2\xdd\xf9\xef\xc1\x82\x05\xecT:\x1b;^B\x0a\x83\xcb\x0fD\xdeV\xb69\xa0\x18\x1e\x09\x00\xd6\x1fj\x0b\x18a\xc6m\xb1\x06d\x02\xd6s\x97m\xee\xaa\x1c\xd5c~\xcb\xa6/r\xb2{\x8fg\x15\xd2\x11\xed\xc1lM\xce\xbeq\x92\xed\xdc\x88\xd0>\x9c\x83P\x16\x1b8\x86\xa5\xcaS\x9e\x9du\x80\x0d!\xa5\xb9\xb8\xa9\x20#\xf7\xffo\xef\xfcc\xe28\xee\xfe\xff\xfdg\x10\xac\x8c\x0eN\x1cB:\xa4\x039\x08\x13Y\xc9`|',\x1cS\x041\x17\xd1`\x93\xafj\xe3\x1f(\xa9\x12\xfb,\x13\x9b\xa8NS94D\xc6`\xf2\x03\xc5%ND\x83c\x14\x1axL\x1d\x91\x1fv\xb8\xa8\x8ay\xda\xe2|\x85\x1e\x92H\xcf\xb5V{\xcf#5\x8e\xb1]\xe1m\x1cR\x82}\x86Z\xa3\xef\xce\xec\xaf\x99\xe5\x8e=(\x06\xce\xf9\xbc\x12\xf9\xf6n?\xf3\x99\x99\xdd\x9d73\xb3\xb3\xfb\xa9\xa1\xba\x9c\xcd\x82G\xca\xa1\x034\xd9\xe1\xfb\x1c\xabi\xc8\xa3*\x94\xd2X\xe3q\x14\x8e\x08\x9b\xb2\xdcS\x98\x95\x92\xb1\xce-[iv\xb17Q\x8f\xa4k\xf1\xdc\xd2\x85qu\xaf\x1a\x0ces\xf6\xact\x00\xf0\x83d\xc9\x05,D'\xeei{\x0f7v\xbd\xd2\xd8\xdaC\xfb^\xedj\xd0\xc3\xde\xa5\x0el\xdb\x9d\x8ej\xd6\xa2\x8czW\x03\x8d\xc1\xed\xefn\xf3%\xf5+\x03\xda\xbe@R\x9f\xdc\x8cZ>dF\xbaT\x0d\xa5{\x9a\x8f?\x88$Y\xf8U\xf6'Uw\x1c\xca\xb8o\\\x1eKj0=o\x96\xea:\xea\xa4rE\x0d[\x93QF\xe0@z\x89\xb0\xa9$\xdf\xfcJWc\x06\x9a\xf5\xaa\xe8\x0d\xa8\x90~\x8c5\x1fRi\xd6g\xdf8.\xb9\xcag\xff\x08\x00?D\x96\\\xc0\xe4\xd0\xe8`\x9b:\x89\xdfrv$\xd8vLi\xa1-\xfdlO\x7f\x8bM\xd2E'\xb3\\\x11\xae\x0ey\xb3\xd2w\x0a\xb7QU\xcde\x11l\xe5\xcd\xf9\xa1,\xfd=\xce\xbaT\xad\xc9V\x0c\xc6WK\xe2\xaf\x1d\xa8\x99};&\x8f\x20S\x7f;Q'\xfb\x97\xf6,%\xa7\xd2\x89*\xcf\x90\x85\xcd\xc3\x19T\xba~\xe1\x9c5\xeb7\x1cP\xe3\x1e}9\xac\x12\xe5\x8e\xe6\xf8\xe6\xd4\x159\xd6\x06\x80\xa5g\xe9\x05L\xa6q!\xbb\x94v8H;_\x97\x9a\x15!hg\x01\xb2\xe5\xee\xf6\xb9\x93->\x99\xc7\xe4>\x14\x96kK\x95\xed\xd0\xe1\xc2\xect\xb4\x9a\xfd~i\xb5\xcb\xa7\xdbhR\x15FllW'\x09\xbf\xca\xa5\xd9cW\x15\xb2\xfc\xf2X\xb2\xd9\x03\xf3\xe7\xb2\x8f\x9c\xcd\xca?\x12\xfd\x87\x05\xff\xe66G2\xdd\x8f6~8\x1e\xa5{\xa52\x8ctf\xdf\x9a}T\x0fZ\x09\x00?x\x96X\xc0\xc6\xd4.\xc7\xd9F\xa3\xeb\xd1\xa3\xa8\xd6I\xb5E\x1e\xd7\xc3\xdd.\x19\x99\x9dr\xbf$\xcb;\x14\x01\xebwe\xd5\xb6\xf7\xdc\xaf\x0a\x98\xfc\x0a\xea\xd5m4\xa9:\x83\x98\xca\xaaJd\x0a\xd8jMg6\x18s`cJ\xe7k\x8d*\x7f\xeb\xf2\x95\x7f\xa4=\xb2>\xf7\xcfm\x86\x1b\x1f\xcaA\xae\xd8\xd1:z:Tz\xac;\xc2\xa5\xc9\xcd\xd1\x12\x00\xc0\x0f\x91\xa5\x15\xb0\xf1\x16u\x9e\xfe\xc3\xa6q]\xb5\xba;hdnuRl\xc9GF\x9c\x80\xe5\xe4\xd32\x94\xa8\x026\x9a\xb9\xcb\x1d\xd2l4\xa9\x0a!:'/['\xf1\xcb\xb3\x07\x18!\xe3.d\x1b\x0a\xc9~u\x96\xdd\xcdz`4\xaa\xb7&`\xc6\xe6\x99\x1d\xca?\xe1c\xa9\x87\xe5y2z\x9fs\x96\xa6\x01\xc0\x0f\x96\xa5\x150\xb9\x95\xce\x0d)CH\xa5\xaf\xd5\xc1\x06\x8c\xa1\xe6\x0f\xe9:0\xaak\xddK\xbf\x0e\x8c\x13\xb0,:\xb7>\xbe\x9a\x09\xd8X~\x9d\\\xb5V+\x8d.U\xf9Y4\x86\xf8*I\xfc\xb5\x13\xb5\xd1\x8f]\x01\xba\x0e\xacD\x19\x12\x8e\x17\xb8\xe9\xcc\xd81\xe5\xc7cl\xac\x17U\xc0\x02l\x92L.\xa8\x92-\x8c\xd4\xcf\x8e\xfd\xcdq6\xd33\xa4\x94\xef.\xae\xf5\x07\x80Db\x89\x05l\xa8\xb1+8\x12d\x93\xf8#\x8d\x9dC#g\x9a\xe8\x8a\x0ay\xa4\xa9{\xb8{\xe9W\xe2\x07\x9d\x0d\xe1c)g\xc3\xa5\xf7\x8f(\x92\xf2\xd0\xe1\xc0}(\xa3\xbe\xefRoU\xc6\x88<\x9c^\xd3;\xc6\xaf\xc4\x1ftd\x05\xea\x9cI\xc9\xcdAu%~CO\x0f-\xf0\x0eT\xdav\xdc\x8f\xe8\xfd\x87NG~\xf3\xf1\x07\x93\xe9\xe0\xb3<iG\xc7\x8e\xa4r\xa5\xc7\xd4\x93\xb2\xb9O\x1e\xd8\x9c\xd23\xcam*\xb9\xa5\xed\xe9h\xf7\xa3Y\x0bG|Qb\x7f\x9b\x9cH\xcd\xec\xe8\xe9\xe9\xf1g\xcda\x03\x00?\x20\x96X\xc0\xe4\xd1\x93mM\xed\xea\x939_v\xb56w\x0c\xaa\xfd\x9c\xd1\xce\xa6\xe3\xa3s\xa5\xbb\x1b\x8c\xbb\x10jMG\x8e6:\x855\xde\xe0\x912J\x9b\xb3\xa5\x82N\x84P\x8d\\\xad\xfc\xdb-\x7f\xc8=\x0b9\xe4s\xba\xb75'\xa3*\xf6,$\x85\xce\xfd\xcb\x9d\xf7g8\xd7\xa8\x0b\xd9\x06\x1ft\xb8|\x83\xcc\xf5\xcfW;V\xffb\x9c.\xfeB(e\xd0\xa1\xfc[\xc5m\xca-\x05\x81\xac\x94\xcc\x82\xd9\x0b\xdf\x9a3\x1ag\xfdfR\xa0e\x0c\x0bY\x01\x80\xb1\xd4\x02\x06\x00\x00\xb0h\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80\x01\x00\x90\xb0\x80\x80%\x20K\xfe\xd6\x0e\x00X\xa1\x80\x80%\x1a\xa3~\x17\xda`g\x04\x00KD)\xca(_\xf2\x17\xf9\x99\x80\x80%\x18\xe399\x8d'\x97\xfc\xc5C\x00\x10\x83\xd1\xee\xe6\x9c\x8c\xe5\x8b\xb4\xbc\xd4\x026\xda\xd9\xda\xd4\xd6K\xeb{\xa9\xb9\x91\xa2\x87\xdd\xe9^F\x15\xffw\x08\xadu\xaa/\x86~\xb7\x08\xab\x14\xbdk\x93\xe4\xdf\xe2\xac\xfa*\xc4\xd7iN\x0f<\xf2\xd6u\xf5\xd7\x0f~\xf4\xdb\xd8I\x9e\xc3\xf8\x1d}\xfbgJ2\xef\x17\x16\x83\xf7\x1e\xc0\xf8S\xf9\x13e\xcfWr<\xbc\xee\xfd\x15\xfb\x14\x9d\xcdY\x86\xb8\x08U\xb9R\xd7\x89\xe3c\xfa\xe6\"\xc7\xbc\x03m\xbe\x8a\x8bhY\xde\xf3\xe2WcX\xfcQ;Y\x9f\xaa_\xbf(\xc2?\x96c\x1c\x1d\x85\xcf\x9e(\xae\xd8\xffQ\xc5_g\xef\x89\x0d=\xa8\x18oz\xf2\xbfb\x19\xbc\xad\xec~U)*\xc6o\xc52\xf9\xb7\xb9\xfb\xd5\xa4t\xa3\xb3v&w\x8d%\x16\xb0/\x1b;\x82#\xc1v5*\xd1\x87\xa3\x0a!}G\xff\xdc)\xef\x12\xdd\x03v\x166l\xcb\xaeObu\xf8\x15>w\xeeM\xfc\xfa\xb9s\x0f\xfc\xca.\xcd|\xf9\xe8?\xcd\xed~\xf5\xdd\xfc\xff\xf3+\xfc\xf6\xb9\xf7\xf6\xe3\x97\xd4_\x7f[<\x87j\xfe\xe9\\\xd1K\xe6\xb6R\xc8O,\x06_\xbf\x8b?\xba\"_y\xe4\xb1?\xcaq\xb1\xa5h\x0b\xfb\x14\x9d\xcdY\x86\xb8X\xeb:\xbc9U\xfcc\xce\xde\x1d9+\x86\xb0\x1d\x7f\xd9\xef\xdd\xad|\xec\xf6\xee\xffK\x0c\x8b\xbf\x7f\xc2N\xd6'W\xd4\xaf\xd7?\xf9\xd9z9\xc6\xd1Q\xa4\xb9\xf8\xff\xbe\xf5\xce\x16\x8c\xff\xdf\xac=s\xf0\xf5'E?;\xf7\xd1\x9b\x8fx?\x8ba\xf0\xd5\xdb\xf8\xd5\xbf\xca\x7fUNd\xec?\x1b\xfc\x99_\x08w\xbf\x9a\x94(Q\x9e\x97\x8c%\x16\xb0!\x16\xcd\x96\xbd\xfd\x9e\x0bl\xabt\xcc\xda\x96I\xc0\xf2J\xed,l\xc8\x0b\xc8\x0e&)\xaf\x17\xc9\xf2\xa7\xf4\xb2\xf0\xben\x97f\xbe<\xb6\xcf\xdc\xd6/\x96\x0f\xb0\xd20\xae?\x87\xb5?\xf0\xd7\xa3$3Y\xff\x92\xb9\xad\x16R\xe4\x0b\xfc\xb5,\xbfT\xf6\xdf\xd6\xdf\xa3\xf35\xdeO\xed\x19\xbc\xb3\xb9\xcb`O\x08\x1d\x92\xc7g\x0fF\x16\xd2<\x8e<\xa1t&\xff\xc7\xfb\xc4\x919l\xc4\xe3\xf0\xd2\xfah\xbf2\xfeg\xe3\x93\x8a\x00|\xfd\xc8|[6;\xea_W<\x11k\xffg\xf8\x03\xe5\xdf\x8fp,\x85\x93\xc53\xbf@\xeez5\x17v\x86\x16\x8b%\x160\x99]\x9f\xa1\xc6QQ\xc0\xba\x1b\xbb\x9b\x96G\xc0\xee{\xc8\xce\xc2\x86\xdc\xe6\x11\xc4\x868W\xbe\xd0.\x8b/\xae\xd8\xa5\x99/[c\x09\x98|e\xe3s\xd1\x93\x88\xc4#`\x1f\x14}d\xfd9\x06\x1f\xe1?b\xdd6\x8a\xb3\x053\x14=^\xdcB\x9a\xc7\x91\xfd\xbb\xdf\x91\xdf~b\xff\xa2\x08\xd8\x11\xef\x9f\xe9\xc7\xeb8\xe6h0:\xeaQ\x7f\xc9\x1bK\xd8\xe3\x10\xb0\xadK(`\x0b\xad\xe6\xc2\xce\xd0b\xb1\xd4\x02\xa6pi\xa4\x8d\xbe\x08\x9f\x17\xb0Ka=\xb8\xed\x92\xd2\xa1\xbd\xa1\xf9>Y>\x9b\x8cP\xddP\xb9;\xb5\xd0\x1a,\xbb\xd9\xc5^\xf2<\x92\xae\x19\xa7\x8b3\xe8\xeb\xea6\xe4*\x89\x93\xd9\x14\x9evY\xfc\xb1\x08\xe3\xa3_<]\xe9}\xe2\xef\xf2W\xfb*\x8a\x1e~\x92\x8e\xcd\x9e\xc3Eo\xfd\xf2\x11\xef\x13\x7f\xa2&\xe7\x9ex\xb8\xa8\xec\x89\x87\xaf\xd3_\xdf|\xb6b\xd3\x93lJ\xe2\xfa\x9b\x8fy\xb7\xbey]\xf0\xf0[m\x1a\xe315\xbfnA\xc0\xe4\xe7\xca\x94\xb1\x88\x17\x1b\xb3\\\x86_.c\xa5)=\xff\x8c\x9e\x05w\xed^\x7f\xfb\xb1\xe2G~I\xfbR\x8a\x80}\xb1\xf1U\xeb\xaf\xe6\xa6PH\xf9\xa5\x0a\xb9BWD\xdd\x99Y\x86w\x8c\xa9\x9dw\x04gf\xc9d\xe3\xa0r\x8ce\xa8\x87\xb7F\xd9\x0e?\x94)e\xf9\xf4y\x15\xa3y\xf4\x14f\xa5d\xacs\xb3\xed\x96|\x87\xa7&\xf6\xd4\xf1\x91\xfdo\xee\x95\x9fx\x93\x0a\x98y\x1c>S\x0e\xea\x93\xd7+0\xde\xc8\xfe\xc4\x18\xc7\xe1O\xfb+6\xee\xfb\x99\xb5e\x9bE\x7f\xe4\x19\xf6\xc3_^\xbf\xc2\x9d!\xeelF?\xb1\xba\x80\xfd\xaa\xe8\x0a\xe7\x8c\xbf4x\x013\xfcr\x1e\xaa6\xf9\x0b\x00\x00\x20\x00IDAT,g~\xd61\xfb{Y\xd1\x91\x8a\x8a\x8f\x9e\xdf\xb8\xf3\xeb\xe5\xac&\x9d\x97\x9d\xfdn\xf4\xa5b\xc9\x05,D'\xee\xd5(j]\xaf4\xb6\xf6\\\xd2~_\x0e\x01\x0b\xf7\xf6x\x0azzz\x14\xf1\xb9\xd4\xd6\xea\xf6\xa4g\xd5\x94\xcf\x8a$\xbb\x01\x15\xd2\x8f\xb1\xe6C*\xcdb4\xda@\xbat\xe6\xea\xba\x82>6\xf7\xac]\x16W\xdey\xe7\xe1G\x8a+~\xb9\xff\x81\xffV\xae\xc2g?z\xe7I:\x8b\xfa\xd9;E\xf8G/\xfdj\xe3^\xc5\xe2\xf7\x0f<\xfd\xee\x07o\x95\xe1\xbf\xb3_\x1f~\xf5\xd5\x87\xd9T\xc9\xd3\xeb\x8f\xbewt\xfd\xd3\x82\x87\xaf?9\xf7\xc8\xces\xe7\xce\xd1\xbf\x8bW\xbf\xec\xces\xaa\xcdV\x13\xb0\xb7\xe8`\xee\xd3s\xe7\xbc\xaa\xa2\x98~\xb9\x8c\x95\xa6\x84\x1f{\xe7\x9d-\xdal\x8cq\xed>\x83\x9f\x7f\xef\xcd\x1fm\xbdN\x05\xec\xaf[\x8a\xafX\x7f57\x85B\xca\xbb\xf7\xc9\xfbv\xab\xc6\xa63\xa3\x0c_\x9f\xdb\xf8\xd2_\xe5\xbf\xbe\xb4\xf1\xdc\xd7\xbc3\xaed\xb2qPy>\xec9\x86\x02==\xa32\xfd\xc3\xe2\xefn\xf3%iW\x84.`\xfdh\xf3+]\x8d\x19\x88\xfe\x85\xf1'Uw\x1c\xca\xb8/\xe6\x82\xb8#\xfb\xffT\xfc\xbf\xde?S\x013\x8f\xc3\xf5\xdf\xbd\x84\x7f'\xbf\xfd\xc0\xdb\xbfg6z\xd1\xbf\xd8\xf8\xc8\xdb\xbf}\x02[[\xb6Q\xf4+\x98\x9b\x130\xce\x10w6\xa3\x9fXM\xc0\xae?\xb6Ep\xc6]\x1a\x9f\xe1\xf7\xae\\\xb9\xf2\x1e\x16\xce<\xe7\x81?\xf3r\xb4c\xf6\xd1F\xfc\xcb\xdd\xb8\xec\xd5\xb2\xd7\x97\xb3\x9a\xf4\x8fO~\xef\xc82-N\\r\x01\x93C\xa3\x83m\xea$~\xcb\xd9\x91`\xdb1M\x0f\x96C\xc0da\x08y\x1fZ\x1b\xd6\xc6\xb8<\xc3\x015\xd0\xd9\x97\xc3*\x96\x90f\xf5\xa8Q\x0e;\xd4\xa0\x1e\\\xc7|+\xde\xfd\x95|\xfd+\xa5=\xbf\xa3\xb4\xe3\xeb[\xe8Y\x97\xd7oT\xfez=\xfd#e\xeb\xcd\x1f\xd1S\xff\xe6F\xf6\x87\xbaR1\xfb\xeaa\xe5\xef\xec{\xecO\xf2\x07\xf8=\xc1\x037\x90\xd8\xa0tQ\xb4a\x96&`\xefi\x1d~M\xc08\xbfB\xc6?V\xd4\xe9\xca#\xea\x9fr\xbd\x90\xbf\xc5o\xb3o\xefP\x01\xdb\xff\xc8\x8f\xde\xb4\xfe\xcamr\x85\x94\xaf\x17\xbf.\xbf^\xac\x8d\x8b\xf8\xa1\x88V\x06\xf9\x99\xfd\xca?\xfb\x9f\x11\x9d\xf156\x0f\xaa\x801\x84\x0c\xb7\xd1\xb3\x90\xab\xadv\xd3\x05\xecp\x06\x95\xae_8\xc7\xa9\xc25\xb3\x1d\xc7f;Q9\xb2_\xde\xf2\xdcc2\x150\xfe8\\\x7f\xfa\xb1\xbfT\xe87&\xf5\xa2\xef|\x84\x19XZ\xb6Y\xf4/\xf0\x7f\x18~\xf93d\x9e\xcdX'\xf6\xa5+_\xffq/M\xc1\x1fI\xf3\xc4~\xa6\xf5\xb0>\x13\xfc\x0a\x07\x8a\x1fBF9f\x15O+)\x7f+?\xfd\xecrVS\xe1\x84r]\x1a\xa1\xec\x97\x96\xa5\x170\x99\xc6\x85\xec\x92\xe5\xf1A\xda\xf9\xba\xd4\xac\x8d\x0fV\x80\x80Is-\xaf\x1aF:\x82U\x1br\xd6\xc8\x0d\x99\xda\xb8\x93\x13\xb0\xf5\xfa\x8c\xf8_\xde|\xa2r#f\xb7\xed\xd8_X6\x0b\xf1\xdf\x15\x95\xcf\xbf\xf5\xfb\xeb\xac\xd3\xb3\x9eM\xd4\xbc\x89\xffG~F\xbd\xb9\xb7\xe5g\xa2\x07\xf32\x1e\xe9l\xcc\x11{`o+\xc9(\x9ax\xf0~\xf9\x8c\x8f\xd2\x7f\xdfTm\xf5B\xee\xaf\xbc\xf2w\x85\x8ag\xa8\x80y?{\xab\xec+\xcb\xaf\xdc&WH\xf9\x8f\xf8\x93+\x9f`\xed\x86e4\x01\xfb\xc8\xfb\xb5\xfc\xb5\xf7#\xd1\x19_\xb2\x18\x98s`\xa1\xc3\x85\xd9\xe9H\x8b\x92\xae\x0b\xd8H\xa6\xfb\xd1\xc6\x0f\xc7\xe9\x1f\xbc\xd2\xec\xb1\xab\x0aY\xfe\xa8~d&`\xbf\xc2\xbfb\x02\xc6\x1f\x07\xf9\xca\xd6\xb2'\xf5))\xad\xe8_\xa9\xab\x18\x8eZZ\xb6Y\xf4+Ef\xd7\x84?C\xe6\xd9\x8cub\xd9:\x8a\xff\x90\xc5#i\x9e\xd8\xcf\xf0\xaf>\xfd\xf4\xd3\xd7\xe9\x89\xe4\xfc\x0a\x07\xcaf\x0e\xac\xe2\x1d\xa5\xbc_\xd3\xda.c5\x95?8\x19\xee\x86\xe5Z\x9b\xb8\xc4\x026\xa6v4\xcf6\x1a\x1d\xce\x9ev\xf5s\x05\x08\xd8\xdc\xc1\xcaz:T\x84\xc0\xd8_:j\xbaW\x0dg\x07\xb4\xaf\x9c\x80=\xa6\xff\xf4\xa3\x87\x8f\xbc{n\xb7\xaa#\xb4\x85\xab\xd7\xc2Wo\xed{\x04\x97\xfd\xca\x9c*9\x87\xffS\xde\xf9$K\xf2\xc4c\x82\x07\xf12\xeeA\xea\x81\xd2\x04\xec\xc8F\xf5g]<L\xbf\xb32fY\xc8f!\xb7h\x1d\x80'\xa9\x80\xbd#\xff\xfd\x91#\x96_\xb9M\xde\xc3\x9b\xecG\xb5\xbf\x16U\xc0\xfe\xbe\xe9]\xf9\xdd\xb2\xeb\xa23\xbe\xc610\x04\xac\xdf\x95U\xdb\xdes\xbfE\xc0\x94>\xfbC9\xc8EW\xdd\xad\xd6\xfe\x96\xc4|\"Ai\xd2\x7f9\xf2W&`\xfcq\x90\xe5w\xcd\xf2jE\xff\x14\x9f\xa3\x1f\xd6\xd9m\xae\xe8\xda\xe4\xd0\x15\xa5W\xc2\x9f!\xeel\xc68\xb1\xcf~\xfa\xe9\x17\xd7-\xce\xb8\x13\xcb\xcd\x81\xf1~\xf9\x03e'`\xef\xc9\x9f\x16\xb1\xda.c5\xe9\x19\xea\x92\x97\x8b\xa5\x15\xb0\xf1\x16u\xb6\xef\xc3\xa6q\xf9\xa4z\xb5vk\x17\xedr\x0a\x98\x1aR\xf7\xbe\x12\x1b\xdb(\x1cG\xc3r\x89;]\x1fwr\x02\xa6_y\x8f<F'H\xf7Y\x04\xec\xd3#t\x9a\xfd\x1d/\x95\x81\xf5\xcf\xd3}o\xe1\xaf\xe4g*\xe9\x05q\xbd\xf2i\xc1\x83\xb6\xf9\x96\xfaw\xdbr\x17\xf2G\x9a\x95&\x1e\x9c_!c#\x0b\x99\xff\xe3\xfb\x9f\x8c\xbfh\xcb(\xde\xf3\xfe\xb7\xf8+\xb7\xc9{\xd8\xf7\x98\xd2o\xd0\xef\xefG\x130\xf9\xf9\xbd\xf2\xde\xe7-Y\xf05\x8e\x81!`9\xf9\xf4\x80\x96X\x04\xec\xcc\x0e\xe5\x9f\xf0\xb1\xd4\xc3\xb2\\\x9e=\xc0\x08E\xf5#\xabMZ\x81\x0a\x18\x7f\x1c\xe4?U\x1cy\xf8\x7f5\x1b\xad\xe8\xff\xabj\xf1\xd3\xb3\xba&F\xd1\x8fx\xd9j\xb2w\xf0_\x853\x14\xb5e\x0b'V?\x1e\xc2\x914O,'`\x9c_\xe1@\xf1g>\x0a\x15\x1f\xc8\x9f\xaeWk\xbb|\xd5\xfcA\xdd\x85l\xed\xa4\xff\x8e\xb5\x9d\x94\xe5\x0e\xd6\xf5\x0a5\x7f\xa8\xeeY&\x01+(P\xbaQ\xa8\x8dn\xc6XQ1R\x1fe\xbaF\xa7\x1d\x0d\xc9\x1f\xa2Ry\xdc\xcd\x8c\xa2\x08\xd8\xc3t\xe3\xfaV\x8b\x80\xbd\xa4\xces\xed\xa4\x8b\x20\xd6\x97)\x97\xde\xd7\x95;\xe9\xd4\x03\x9d$yG\x9b\x033\x05l\xa7\xb2\xef\xaf\xda}FQ\xc0\x8e\xe8C9M<8\xbfB\xc6\x15t\x0el\xcbNf\xa3\x17\xf2\x03\xd5\xe3\x91W5\x01\xbb\xbe\xf3g\xe2\xaf\xdc&WH\xb9\xe2\x97\xca?\xbf\xac\x90\x05g\x14C\xc0~\xe7\xfd\xb3\xf7w\x96,\xf8\x1a\xc78\xa8\x86\x80e\xd1?%\xe3\xab-\x02\x16P\x9fA(\xa8\x92\xe5N\xf5\x8c\xedR{\xbe\xc3\x81Y\xab\x919\x01\xe3\x8f\xc3\x95\xc7^\x92\x9f\xdbm\x99\xbe{\xecae\\\xfc_^K\xcb\xe6\x8a\xfe?\x1b\xf7\xd2\x1bs;+\xc53\x14\xb5e\x0b'\xd6\x100\xfeHF\x150\xce\xafp\xa0\xf83\x1f\xe5\x98q\x02\xb6|\xd5\xfcA\x09\xd8PcWp$\xc8&\xf1G\x1a;\x87F\xce4\xd1\x15\x15\xf2\xa5\xd1\xd1\xe6\xeeQ\xcb\xf4\xf8\x92\xb0G:p|\xadcD\xbe\xda\xc7nHFiV>\xb4n\xf6\x8f:_:J\xdb\xdd\x1e\xa9:\x90B;\x03\xbf\x7f\x13\xbfN\xef\xfa\xfd\xfdw\xec\xf6\x11[t\xf0\x12\xde\xf7\xe6\xab[\x95\xde\xf6'\x7f>W\xf4\xb3O\xae\xff\xfegE\xe7\xfe\xac\xfcZ\xfc\xd2o\xdf}\x86-\xa7\xa2\xb7\x08\xdfzd#\x9d\x8c\xdf\x8f\x8f\xfc\xf6\x08\xde/z\xa0\xd7\xcc\xeb\xef\xee.V\xff\x0e\x9fA\xbd\xf4C]\x89\xff4[\x89\x7f\xe5\x93s\xe7\xbc?;w\xee+\x99\xf7kfL\xb3x\xe2w\x1f=F\xb3\xf8o\xedq\x01\xea\xec\xc8\x03\xfb\xdf\xfd\x8fg\x94kU]\x89/\xbf\xfb\xc0{W\xb8_\x85M\xa3\x90W\xde\xc3G\xbe\x96\xbf>\x82\x15[\xce\x19W\x06\xa5\x11T<Q\xa16\x1f\xd3\x03_\xe3\xa8\x07U\xbd\x0b\xc9\xee\xe6\x06\xd0C\x87\x03\xf7\xa1\x8c\xfa>u%~CO\xcf\x08\xfd5mOG\xbb\x9f\xdd\xb2\xdf\x81J\xdb\x8e\xfbQ\x8b\xe6,\xcdr\xeb\xe5\x7f\xf7\xef\xa6k\x9a\xfe\xbc{\xff\xffr\xc7\xe1\xca'\xcf\xfd\xe8O\xf2\x17\x1b\x9f\xff\xe4\x8a\xbeD\xfdwJ\x85?\xf3V\xbczt\x13.z\xfb\xb3\xe8G\x87\xf6Mw\xbe\xfd\xdb'\x8ah\x937\xce\x10w6\xa3\x9fX\xba\x12\xff\xbf\xf4\x02\x19\xce\xb8\x13+\xac\xc47\xfc\x8a\x07\x8a?\xf3\xb3\x8f\xd9g\x9b^\xff\xfa\x9d\xa2\xcf\xbe\xde\xbf\xfbO\xcbVMJ\xdf\x0fG\xc0\xe4\xd1\x93mM\xed}\xec\xce\xe3\x97]\xad\xcd\x1d\x83\xf4\x82\x95\xcf\xb0\xc7\"\x1b\x97\xe1\x91\xd0\xb1jgj\x81\xd2\xf9;\x9b\xc4&U\xa2hUs\x86u\xc9\x12\xcf\xc9\xec\x8c\xaap\x97\xc7\xa9\x8ck\xe4\xaf\x8b\xb1\xfa8\xa1\xf6\x04\xda\x13\xd4\xe0\xfa\xeb\x8f\xac\xff\xd1\xfe\xb7\x1f)\xda\xf9\x9c\xf2S\xd1\xff\xa36\xcf\xc9o\xef|\xf5\xe1\xa2\x8a\x9d\xec\xfc\xaf\xff\xe53\x1b+\x9ef\x8b\x08\xaf\xbf\xb9\xc5\xbb\x85\xad\x03\xe3<(\xea\xf0\xfc&\xefN\xedq\xb6/\x93\x1f:\xfb\xe5\xb8\xfa,$\xaed\x13\xb3\xbf\xd7\xe61\x94/\x9c_3cY\xde\xf2\xea\xbeb5\x8b\xa75[\xd6\x0b\xf8`w\xd9\xc6\x9d\xef\xd1?\xb8\xeci\xb9\x9d\xf8\x81O\xb8_\x85M\xa3\x90\x1f<@\x17x\xbd\x8b\xf1\x03\x1f\xf0\xce\xb82(\xbc\xbe^\x9f\x106<\xf05\x8evP\xc7\x9c\xec\x04\xb0\xf5t\xe3\x0d\x1e)\xa3\xb49[*`\xcfBRJ\x95>zA\x20+%\xb3@\x9d\x84\xe8\xbc?\xc3\xb9F\xbb\xf7\xdb\x94\x86,\xdd\xf7\x970\xa6\x13:\xcf\xd1\x15i\xe6q\xf8@)\xdf\xf3\xf2\xf3J\xd1?2\xcaK\x8f\xea\x17On\xaa<\xf2v\x91rZ\xa2\x1e\x1d\x99>$\xe8-{\x92-P7\xce\x10w6\xa3\x9fXzP\xb7\x18%\xd2\x9dq'V}\x16\xf2%\xf5\xa0\x19~\xc5\x03\xc5\x9f\xf9Y\xc7\xecz\x99r*\x8aq\xf1;\x18\xef]\xb6j\xcac\xa3\x03\xa5\xd2\xa8\xbc\\,\xb5\x80\x01\xb3\x10\x96\xc9\xdbs<g\x8e\xc9\xeb\xbb\xc6<\x0b\xb9\xb4\x1cG\xcb\xf0\xa7\x0fP\xd9\x80\x90\xfb\xb8\x9d\xd1\xdd\x03\x04l\xd9\x99\xb76|yv\xd4\xced\xd1\x99w!\x97\x8e\xf1fg\x95\x9d\x0dp\xd7\x18\x1dX\xa6\x05\x14*\x20`\xcb\xce\x0a\xd6\x06\x93\x15\\\xc8\xd1\x8c\x1a\xf1\xe1\x08\xe0\x07\x04\x08\xd82\xf3'65jg\xb5\xcc$D!\x81\x1f\"\x20`\xcb\x0c\x9b\x1a\x8d\xf2r\xb9\x15EB\x14\x12\xf8!\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\xb6B\x18\xb73\x00\x00`\x16\xe4\xff\xec\x02\x00\x00HP\xfe\xad\x1e\x18\x00\x00\xc0r\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x02\x02\x06\x00@\xc2\x12\x8f\x80\xc9\xf5\xf9\x19)\xaeu\xafD\xec\x0cc0F\x13\xb6\xa1\x0dvv\xf3\x87ynE\x0f\x99\xbf\xc4\x93\x8d\x90`!\x1cF~;\x13\x00\x00\x96\x808\x04\xac9\x15\xa9\xb8G\xecL\xa3r8u\x92\xc4\xa7,\xf3E\xf5\x0c\x02\x06\x00?T\xec\x05l\x0fB\x05\xbd\xdfF\xc2\xcdYH\xea\xb73\x8eB\x04!*3\xa3\x87{\xec,\xe7\x8b\xe6Y\xd0\xa3x\xb2\x01\x01\x03\x80{\x04[\x01\xebA\xe8\x17\xea\xd6\xe4\xfd\xc8\xf9\xed\xdc\xc6\xd1\xd0d\xe6.\x10M\xc0\xe2a\xde\x09\xac\x80\x80\x01\xc0\xca\xc0V\xc0\xb2Q\x8d\xbe9\xe9B\xd5s\x99F\x07\x04\x0c\x00\x80\xbb\x84\x9d\x80\x9dAIW\x8d/-(-B\xdb\xff\x81P\x893=\xff\x84\xfa\xe3\xd86\xb7\xe4\xdc0@7\x9bQ\xe3@vj^\x98\x90\xbe\xd2L\xc9\x91S\xf7\x0d!\xb5l\xfalT\x9f\x9c\x0aUe\xa587\xb0\xa1h+j\xf8v[\x96\xe4\xae\x9b\xa0\xdf\xc2\x8f\xbaS\xd2\xd74\x0b7\x0ab\x1a3t\xcf\x8a\x1e}\xb3-Sr?>E\xf49\xb0h\xce\xc2\xb5\xd9J9\x83\xcc\x17\x97\x80/\xab\x98\x8b%K\xae\x9e\xaa\x80\xe5\xa2Z\x02\x00\xc0rb'`{\xd0}\xe6\x97q\x84\xfai\xc3.M\x93\x0a\x0b\x92P\x15\xfdm\xc0\x81\xa4\xd5n\x84\x02\x84\x0a\xd8\xb6U\x089\"\xa4\x1a\xa1\xcc\xd5.\xe5\x9f\x09r\xbc\x14\xa1\x92\xd21MY:RP\xda}\xca\x0e\xda\xf4[QM&Jw\"\x94\xa3\x08\xcd\x97\xe9\xc8\x99\xe7A\xe8A.\xef\x98\xc6*\xba\xe7V\x94\xebB.eWnD\x13\xb0h\xcezSQZ\x9e\xe2\xac\x87\x88\x09\xf8\xb2\x8a\xb9\x88Y\xf2\xf5\x04\x01\x03\x80\x95\x81\x9d\x80\xad\x13F\x8dY\xa8\x996l\xe4Q:Y#Nt\\\xe9\x97\xa4\xa3\xda[\x84\x0c:Q\x17\x15\xb0$Ow\xff+\xa4\x1f\xa5~\xa8X\x0f\xa6\xa1\xc3\xc6@\x8f)\xcbH\x12\x0a(j\xd0)\xa1\x16\xd5\x8f\xd2!\xea\x91P;!\x1bP\xdd\xb4\xb2?\x1d\xf5\x1a\x99\xc56\xd60\x86\x90({H\xe9H\xa5\xd0\xf2\xb0l\xa28\xbb\x9a\x86\xea\"d\xe6\x00Z5!&\x10\xca*\xe4\"|\x11\xea\xa9\x0aXG\xe3\x20\x01\x00`9\xb1\x13\xb0<\xb4\xc7\xfa\xad\x95\x8e\xdb\x14N\x207\x1d\xc7\xf9\x88\xfa\xc5C\x05\x0c\x85\xe8\x97\x1dZ\xa2\x1dT\xfdx\x01+\xd1&\x8f\xdaPF\x84\xfaa\xd6U\xb4+\xe7V}6\x95\xf7\x19\x99\xc56\xd60\x05L\xdbU\xade\x13\xc5\xd9\x1e\xb4\x8e}\x16\xa061\x81PV!\x17\xe1\x8bPO\x98\x03\x03\x80\x95\x81\x9d\x80\xadF\xf5\xdc\xb7|\xb4\x8b6\xec5\xecKDR\x1ax\x16\xeaV\xbf$\xa1\xb0\"`n\xd5.\xa2\x8e\xf3\xeaiC\xe7\x04,\x92\x8a\x86\xd4\xfdi(\xa8\xf8\xc9a_\x9aP)!\x85(?8Mx\xe60\xd6-t\x01\xcb\xd5v=\xa4\x09\xd8lg$\x07\x9dd\x9fcW-\x09\x84\xb2\x0a\xb9\x08_\x84z\x82\x80\x01\xc0\xca\xc0N\xc06\x08\x13=\xd9\xa8\x816\xec]\xea\xb7\\\xd47\x85Pn>#\x05\xf5+\x02\xb6N3\x8c\x04\xdb\x03\xa5n\x846\x0b\x02\x16FH\x9b\xc1Z\xa3\x8c\xdeZ\xb5N\x0d\xd3\x9c\xa0\x84Pz\xe9qn\x99\xc6\x1c\xc6z&\xba\x80\xa9\xbb\x8e\xd3\xcf\x18\xce\x88\xa4\xf6\xa6\x18B\x02\xa1\xacB.\xfc\x17\xb1\x9e\x20`\x00\xb02\xb0\x13\xb0:\x94o~\x99DtV\xa9U\xef\x94\xe5\xa3\x13\xe3\xc8\xa4K\x110\xad{\xd4\xe4\xa2?\xac^c\x11\xb0Q\x94\xacy\xf2\xa1f\xa2\xaffP5)\xb4\xd9\xa1$I\xae\xbe\xa5g6\x97\xb1\x8ae\x19\x85)`\xb3\x9d\xddBh\xccH'$\x10\xca*\xe4\xc2\x7f\x11\xeb\x09\x02\x06\x00+\x03;\x01\x1bBIf\xcb?\x8eR&i\xc3\xaeS\xbf\xe6\xa03\x8a\xa4\x85Mc]\xc0\x0e\x20\xf4h\xc7\xf0\x14i\x88\xd9\x03\xcbg\x9d*Q\x93\"\x83\x81\\dJ\xc3\xdc\xc6,AL\x01\x9b\xe5\x8c\x20\xa1\x07\xc6%\x10\xca\x1aS\xc0\xc4z\x82\x80\x01\xc0\xca\xc0N\xc0\x88\xc7l\xacS\xd9l\xbbU\x1b(\xdeJQz5\x19\xf4\xae\x1ce0<\xad\x0b\xd8t\x1ajc\xbfm\xb3\x08\xd8\xf4*qZ\x8bS\x8bp\x90m\xb7\xa0d}\xf2j\x0ec\x8d\x98\x026\xdb\x99R\x0d\xf5\x11\xa3\x93\x85MB\x02\xb1\xac1\x05L\xac'\x08\x18\x00\xac\x0cl\x05l\x10\xa1\x03\xea\xd6-\x1fJ\xbdDh\xc3Na\x9d\xb2ct\x89X\x15\xca\x9b\xa1_\xfa\x904\xa1\x0b\x98\xacuw\xa62\xe9\xf7hw!\xdbQzD\x10\x08%\x89L\xb7C(\xc9X\xe7\x15\xd3X'\x96\x80EsV\x8bJ\xd8\xa7O\xa9\x0d\x9f@,kl\x01\x13\xea\x09\x02\x06\x00+\x03[\x01\xa3c\xac\x07\xfb'\xc9\xf8\xf1l\x94\xd4M\x7fhE\xe8>E\xc1\xfaR\xe9\xaa\xd6\x90\x84\xaa\xa7\x94\x91\xa6\x13m3\x86\x90\xd3\xe9l\xe6\x7f\xbc\x10\xb1I\xa6\x14\xd4ukZ\x95\x81\x91dT\xafhJw*j\xb2\x08\xc4\x83\xa8P\x11\x9d\xa9R\xe36\xc0\\\xc6:\xaa\xe7\xd9=\xb0(\xce\xc2\xa9\xa8~\x9a\xcc\x1cB\x8eq\xb1\x07&\x945\xb6\x80\x09\xf5\x84u`\x00\xb02\xb0\x170\xd2\xa1\xbfN'\x93=G\xa34\xec\xecU\xc9\xf7ek=\xb3n\x09\xad\xcaS\xbe\xdc\x1f1\xe7\xc0\x9a\x10r\xfb\xf2\x92\x9c\x01\xb6^!OI:\xa0)OG2J\xcf\xcbDT\x05D\x81\xb8\xe4DR\xce\xeaT\xe4\xe2\xa6\x9ab\x1a\xeb\xa8\x9eg\x0bX4g=\x12r\xe69QJ\x8f\xa5\xcb&\x945\xb6\x80\x09\xf5\x84\x95\xf8\x00\xb02\x88C\xc0\x88|\x20?=)c]\x9bvOOi\xd8\xa3\xbe4\xa7\xef\xac\xfa5\\\xe3\x96R\xf3\x9a\xe8`\xcd\xb8\x0b\xd9\x7f\x7f\x86\x94\xb3\xe7\xdb)\x89\xde\xfb\x0b\x15\xacJ?\xa1+\xcf\xa8?S\xca,\x19\xd0\xfc0cu\xcf\xd86\x8f\xb4JI\xc3g\x1c\xd3XC\xf5\x1ce\x12?\x9a\xb3PUfrF\xf9(\xb1\x08\x98P\xd69\x04\x8c\xaf'\x08\x18\x00\xac\x0c\xe2\x110\x0bz\xc3\x06\x00\x00X^@\xc0\x00\x00HX@\xc0\x00\x00HX@\xc0\x00\x00HX@\xc0\x00\x00HX\x16\x20`\x00\x00\x00+\x03\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96E\x13\xb07\xf0\x8b\xd1w\xc0MK\x00\x00\xee\x12\x20`\x00\x00$,\x20`\x00\x00$,\x20`\x00\x00$,\x20`\x00\x00$,v\x02v\x1a\xff\xfa\xbb\xe7\xca\xbc[?&wNoY_\xf1\xe2M\xf6\xeb\x1f\x0eV\x14y\xb7\xbc\xfcO\xf6\xe5\xf3\xbd\x9b\x8a\x9f\xba\xa8\x09\xd8\x8d\x17+\x8b6\xed\xbd\xc0yP\x04,\\\xeet\xe4w\x10\xfa\x96z5\"#9`\x04\xfc\xeeI\xd6^\x97\x98\xdcM\xec\x98\x8f\xed\x029\x84Rh8\xef>\x07:\x14\xdd\xa0\x9f\x15\x20\xe3!\xee]\x89\"\x1d\xca\xeeC\x8a\x1fD\xe3~\xdb1\x92\xc4\xdc%\x8d\xa8_\xc7R\xd8\x01\xaaV~rD\xc9\x20\xe4K\xcb\xf4\x0ff\x0a\xaf9\x03\x80\x1f2\xf6\x02\xf6\xe2&\\\xb6\x1e\xe3\x8f\x9f\xc5\xde2\x8cw\xd3\x1f_\xc4\xb8bk\x85\xf2\x0f\x95\xb3S\xf4KQ\xd1n&`\x17\x8a\xb1wk%\xc6\xaf\x99\x1eZQ\xae\x13\xe5z\x10*'d\"E\x0b\x0e\xe4AAmw#\x0a\x06\xdbPK0\x88\x1aI,\xce\x8e\xc4o\xbb@\xf4,&\xfc\x0e\xfa\x96C\x9f\xc3?\x11\xdd0\x12L\xa9\x0e\x0e\x1e\xf38\xcc(G\"S\x1d\xe8\xf0\x04\x99hB\x1dS1,\xcc\xdc\xc8\xf4\x10\xab\xd0\x90\x1e|d\xa8ZR\xfe\x1d\xa7\xd5\x1c\x9a\x95j\x20m\xcd\xf1\xce<!>\x12\x00\xfc\xb0\xb1\x170\xbc\xe52\xb9}\x10{\xbd\xa7\xef\x90\x8f1\xbe\xa8\xa8\x14\xf6~\xae\xec\xfa\xbc\x18\x9f\"\xe4\"~@\xd9\xf1\xfdS\x98\x0a\xd8\x8db|\xf4\xb6\xb2g\x13\xfe\xd8\xf0\xd0\x8aP\xb6\xd2\xd8\x07\x1c4\xfcO\x09\x0a\xd0\xdfF\xf4\x10\xdeJ\xa7Li\xb1\xc3\xb4\xb5\xa6\xb6\xcc\xce]c\x8d?~\xdb\x05\xa2gA\x02%\x8e)2\xe9(\x09\xc44\x95\x1a\x94\x7f\xa6\xdc\xdc\x9baEB\x88\xbeC\xf6,\x8a\xa5p\x84\xcb\x8dh\x152h\x90\xa2\xfd\xca\x98L/\x8d\x10r\xcb\x03\x02\x06\x00:q\x08\xd8e\xe5\xe32\xc6o\xd0\xaf;\xf1iB\x8e>\xf02\xdbw\x14\xbf@\xc8A|\x94n\xdf,\xa3\x02v\x14\xefe{\xde\xc7?6<\xb4jq\x7f\x8e\xa1le\x10\xa8*\xd7.d\xe8C$\xac\xb5\xd6\xb0\x11Ah\x16\xf9\x9b\xe3\xb7]\x20z\x16$\xe0\xf7u\x91\x13>\xbf\x8d\x80\x91\x86\xd4\x99\x18\xfb\xe3\x100#72\x0f\x01\x0b\xa4\xb2\xb1c3\x08\x18\x00\xe8\xd8\x0bX%\xfd\xb8\x8d\xf1\xdf\xe8\xe7A\xda\xe9\"\xb7o\xb3}o\xe0g\xc9\x9d\x8d\xb4OF\xa8v)\x02\xf6\xb0\xd6\xf3R\xcc\xaf\xe9\x1eZ\xd1Z\xf69\x95\xa4\xb4\xbc\x88\x936\xcc\x19\x97\xd8\x08\xcd\xd6z\xa2\x20-\xe7q\xf6\xee\xfd\xa0\xcf\x9d\xe2*Q4\xafW\x9b\xf7\xca\x17lG\x93\x11\xaa\x0fWe;6L\x93\xa9\xcdY\x92\xbb\x94\xbe\xed\xbe\x16\xa5\xb4\xd7\xe58|\xe3\x82\x87Z\x94\xdcZ\xe3\xce(U\xf3l\xcbw\xe4\xb5\x89\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3oH\xb1-%n\x84\x9c\x11]\xc0\x1a\x93#\\y\xf9\xe2\x08\x02\xa6\xe7f[!B\xe4\xaa,gy\xf5,\x013\x0e\x89\xa7\x86}\x9fh\x8ep~\xb9\x1aG\xaf<\x00\xdc\xcb\xd8\x0b\xd8S\xf4\xe3_\x18\x7fO?\x9fe\x02Fn\x7f~\xfa\xb5\x83\x95X\x11\xb0\xef1\xbe\xad\x19\xbeHn*\xe3\xcd\xed\x8c\"l\xcc\xe3\x1b\x81\xbc\xb3i\x18\xb6mh\x872\x9cDyB&Fk\xadI\xda\xd1\xd7\xea\xca\x9f\xa1\x83\xccG\xbb\x07\xda]h\x9a\xdc\x0a\x06s\x1e\x0c\x06\x83a\xc16r\xb23;'\xdd]W\x85\xae\x92>T3x\xb24iX\x11\x9a\xced\xe4jhN/'\xbc\x07\xfak\xf6\xe1\x9fg\xb3i\xabj\xa9\xbe\xaf^\xaa\x12<\xf0Y\x04\xfc\xe3i\x93\xabd*`\xa6\xdf\x99\xa1\x86\xa4!\xd2\x81NP5S\x05,?\x8f//_\x9c\x10\xea\x8bD\"\xfdH\xc8\xcd\xb6B$\xec\xcc\xe9\xe8\xf5!\xab\x80\x99Y$q\xe3f\xc3/W\xe3\xe8\x95\x07\x80{\x19{\x01\xdbG?\x14\x01c\xb7\x1c\x99\x80\xdd9U\x861~`\xebNE\xc0\xaea\xac\x1a\x9eW\x04\xec;lbL\x82\xb5\xa2zuc5\xea&d\x08\xb9f\x88\x1f\x89sXzk\xedC\x1d\xec[\xa7\xd2\xc3p\xd1\xb6\xd7\xe6d\xbfG\x1fq\xe5#\xdf\x94\xd2MR\xa4\xa8\x8bN\x97\xe7\xb1\x88H\x92S\xe9\x80T\xb9\x88\xe8A\xcaV,&\xdd\x05\x84\x9ca\xdd\xa3\x01\xaa\xa5\x9c\x07a\x08I\xf2\xb6\xad!T\xc0x\xbf\xa4\xba`\xc2}\x98mI\xf5\x91[\xa3\xe5\xe8C\xa1\xbc\x9c\xb3\x90\xd6\xc3\x0a\x09\xb9\xd9Vh\xadG\xe9f\xcd\xe4Y\x04\xcc\xccb\x0c\xf5\x1ai\xf8Z\x985\x8eQy\x00\xb8wY\x88\x80\xbd\x81\x1fx\xe1\xf4\xc5\x9bl\x08\xa9t\xba\xd4\x95\x15\xef\xab=0c\xe4h\xd0\x8a\x1eW7\xdc\xb4\xcd\x13\x0f:\x1bq$\x8b+\x01\xf4\xd6\xea\xf7LS\xdc\xd5\x84\x8cgyj\x8f\x8f\x12\xb5\x07\x11C\xc0\xa4\xab\xda\xd6D\xdb\x06\x8fS\xed\xd5Ity\x06\x9bH\xe2=HlF\xab\x0dM\x92\x9a\xd5,\xc5\xeaj\xd1\x83\x20`M\xa8\x91\x09\x18\xef\x97D\xf22\x1fR-$\xaaN.\xaa&\\y9g!\xd4<<<\xdcB\x05\x8c\xcb\xcd\xaeB\x93\xea\xaa\x8bz\x8b\x80\x99YL'\x9b\xaa\xcf\xd7\xc2\xacq\x8c\xca\x03\xc0\xbd\xcb\x02\x04\xecv1\x9d\xc9't5\xc5\xb3\xe4\xce&\xfc9\xfb\xf2\x1a\x9d\x03+\xd3;^\x9f\xff\xe3_\xba\x87V-\x92\xe3$Btv\xa6\x01\xd5\xf6\xf3\xb1\x1d)zk\xcd\xd3\xfa.\xb4\xcf3\xd9\xbe9\x17e\xaa\xcb%b\x08X\xbe\xfeS\xa6{OOp\x9d*`t|\xa76g\xce\x83:\xea\x1bD#d\xad\xaaB%\x05\x82\x07Q\xc0&\xf6L0\x01\xe3\xfd\x12\xd2\xad\xaf\xfc\x90j\x86\x87\xd5\xe1\x1f_^\xd3\x197\x07\xc6\xe7fS\xa1\x11\xd5\xbdu\x12\x9f\xcbB\x9b\x03\x9b\x1e\x10\xfdr5\x8e^y\x00\xb8wY\x80\x80\xfdS\xbd1InV\xe0\x83\x84\xbc\xa0\xa8\x98\xc2\xedJ*`\xcf\xe1\xedw\xe8\xb7?`\xef\xf7\xba\x87V\xb4\x8aM+\xff\x02\xb1n\xc3\x18r\xd7\xa2\x93b&zk\xad\xf2\x8c0&\x94\xf6L{@S\x9d\x0e6\x01\xce\xda{\xc7U\xc1V\xf9\xb5\\\xdb\xc8-\xa0\xd3\xda\xe5\x16\x01\xe3=Hl\x1a\xae\x1dM\x91j\x0fK\xe2\xa9\x16<pY\x04\xd4\x15\x0eT\xc0x\xbfD\xce\xac\xcf\x9e$F\x16\x0c\xae\xbc\x9c3N\xc0\xb8\xdc\xec*4\x89\xd8\x1e\xeb$>\x97E\xc0\xc1\xfa\xad]hB\xa8ET\x01\x13r\x03\x80{\x96\x05\x08\xd8\xbf6\xe2\xa3\x8aL\xd1\xa5_{\x09\xb9\xb6\x1e\xff\xfa\x0e\xb9y\x90\xad\x03\xbb\xec\xc5/(#\xca\x8b\x9b\xb8\xe7\x8aZ\x11\xcaS\x14\xec\xa4\xa4\xcd\xe1\xdc\x8f\x1c\xe9\x96U\x10zk\x1d@]\xf4\xa3\xfe0\xed\xa8\x9d\xa1\x9b\x85\xdb\xd8\xbf\x85\x84|\xab\xee\xe3\x05L\xef\xc6\xb8\xa9t\xcc\xe4Y\x04\x8c\xf7\x20eN\xd1\x15T\x85tN\x89NXu\xa2>\xc1\x03\x97\x05'`\xbc\xdf\xe9\x82z\xb2\xcd7cd\xc1\xe0\xca\xcb9\xe3\x04\x8c\xcb\xcd\xb6B\x05nE\x1f\xc3\xab,\x02\xc6e1\x99^\xae\x0c\x09g\x0a=b-\xa2\x0a\x98\x90\x1b\x00\xdc\xb3,@\xc0\xc8\xdb\x18W>\xf5\x13\xbc\xf1e\xbcU\xf9\xe9\xe3\"\\\xf6\x13/\xde\xc74\xeb\xfcz\xec\xdd^\x89\xf1\xee\xdb\x86\x87V\xe4KM\xb9\xcf\x8d\xf4\xb9\xfc\xe3\xc8x\x8cHc\xa4\x0d\xb5\x8c\xb0\xad\x00\xf2\x9f\xec\xadF'h\x0bL?\xd0\xd7S\x8d\x06\xe9\xcf\x0dRs\x8f/m\x9c\xb7\x9d\x1eb\xb7\xf2\xc6\xd8n\xb4\xb9\xedp>r5\x0d\xc9\xc1\x94\xea!2R\x9d\x12\x94\x05\x0f\x12\xca\xef:\x9e\xe3\xa4\x03\xbf\xaa\xa4@_\x20\xa9J\xf4`f1\xe9_\xf7\x8d\xf2\xf5\x9bu\xfeI\xceo$X\xeb\x1a'\x97\x9c\xbb\x82\x11\xba\x12\xdfX\x03b\x94\x97s&\xac\xc47r\x8bQ!n%~\xc8\xe1>T\x9f\x91\x94\xdc\x11RW\xe2\xb7\x04\x83W\x85CB\xce8\xee\xef\xe8\xf5%\x07\xf9Zp5\x8eUy\x00\xb8wY\x88\x80\x91\x0b\xbb\xcb\xbc[^\xfe\xfef\xd1\x037\x94o\x7f;X\xe6\xdd~\xe1c\xb5\xd3u\xed\x85\xca\"\xef\xf6S\xa6~)\x02\x16\x18\xf5\xa59\xd6\xf6k\xdf\xa7$\xe31\"\x95[\xe9\x08\xa1T\xf5\xb9\x9b\x81u\x19Nfy\xa2\xf0\x90;%\xb3Pm\x80\x91\x1d\x19\x8e\x07\x87\x05\xdbQ\xf5!\xc2\x12\xfa\xe3LK\x8e\xe4\xf2wx\xa4\xc2Z\xe5\xa7\x94P\x9a\xf2o\xad\xe0Az\xbc\xda\x99U%3g\xc7\xf2\xb4u`\x9c\x073\x8b\x06\x84\xe8T\xd36\xfa<\xa3\xe9w@1\xac#;\x94\x7f\xcf\xd2g!W\x1be\xd7\xcb\xcb9S\x9f\x85T\xfc\xb0Yy=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xadM|\xf9\xf9,\x08}\x16\xd2\x91Y\x1a\x12j\xc1\xd58V\xe5\x01\xe0\xde\xc5N\xc0\x16\x9fK\xe6cDK\x869\xea\x03\x00\xe0\x1eb\xe9\x05\xac\x1e\x1d\xb03Yt@\xc0\x00\xe0\x9ed\x89\x05,4\xd6\xb5J\x92\xed\xac\x16\x1d\x100\x00\xb8'Yb\x01+G\x08-\xb9\x98\xa8\xb3\xdb\x00\x00\xdcs,\xb1\x805\xa5\xba\x96~\x00\xc9f\xb7\xc7\xec\xac\x00\x00H8\x96X\xc0\x00\x00\x00\x16\x0f\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96\xc5\x12\xb0\x1b\xc2\xc3C\x0f\xc56\x04\x00\x00X,\x16G\xc0\xee\x9c\xf2\xde4\xbf\x81\x80\x01\x00\xb0$,\x8e\x80\xdd\xd6\xdf\xcb\xca\x00\x01\x03\x00`I\x00\x01\x03\x00\x20aI\x0c\x01\xeb-\x88\x11';~\xb6\xd5\xd8Y\x00VV\xca1\x9b\xbc\xdf\x8cgr\x17X)\xd5\x04\x16\x80\xad\x80]{\xe1\xe1\xa2\x8d;\x7f\xa3\xce\xd1\xdfx\xb1\xb2h\xd3^\x161\xed4~\xe3\xfb\x17+\x8a*_\xfe\x9e\xc6\x84\xa4\\\xd6\x93(\x02\x16.w:\xf2i<\x9d\x16\x94\xab\xfex@x\x8d\xe1\xe4\xb6LGI\xac\xc8\xb0\xb3h\xfc\xf7\x9f\x9f\x0c\xa3\x00\xa9EI]vvQ\xa0/\xf8B\xae\x0d#vv\xf3\xa5\x06\xa1fB\x03\xd5\"k\x03\x1ap\xdd\xd5\x06\x1b/+\xe7\x985%\x1d\x8e\xfa\xfb\xa2\x1c\xa8\x7f\xa3\x9a\x0b\xa4'Y{\xe1[r\xb7\x9d\xe9\xbcl\x17\xc8!\x94B\x0fc\x9f\x03\x1d\x8an\xd0\xcf\x0a\x90\xf1P\xcc\x88\xca\xea;\xf0\x0e!\xf5\x1dx6\x8cp\xef\xc0S\x18Ka\x12A\xdf\x81\xe7\x88\x92A\xc8\x97\x96\xe9\x1f\xcc\x14\xa3\x00q\xd8\x09\xd8\xe5b\xbci\xfb\x8f1\xfe)}\xd7\xfd\x85b\xec\xddZ\x89\xf1k\x84\xc5\x81\xac\xc0\xc5\x9b0\xder\x9b\x9c>\x88\xf1\xbe\x837\xf44\xad(\xd7\x89r=\x08\x95\x132\x91\xa2E\xa8\xf6\x08\xaf1\xf4e\xbeR\x9d:I\xe2\xe3XR\x87\x9d\xc9l\xce\x8a\x8d\xa7j\xd5\xb7\xf4\xa1nN\x089\x83\xb3s64\xfa\x8a\xd5\xc1\x8e\x82E\x7f\xbb\xe9xz\x13=\x02\x93M\xe9\xe3\x96=}i\xdd\xda\xd6\xdc%[lV\xd81\xe3\xb2\xe8Kn\x8dfa\x1e\xa8\xf9\xb0x\xd5\\\xa0A#\xd2^\xb9\x8bbG]\xd1\x93\xc5c\xbb@\xf4,&\xfc\x0e\x9f\xf2\xe1s\xf8c\x8cs\xe8[\x88\x83\x83\xc7<\x8eP\xf4\xfd\xe2[\x88c`\x1c\x07\xee-\xc4\x8c!\x16\x07\x82\xbd\x85x\xf6+\x17\x06\xd2\xd6\x1c\xef\xccC\xb1\xa3\xd1\xdb\x09\xd8>\xfc\xb2\xd2\xf9\xba\xb8\x11\x9fW\xfa_\xc5\xf8\xa8\xf2\xe5\xf3M4\xf6\xd0i\x8c\x7f\xfc9!\xe7\x8bh\x88\"\xeb\x10\x12e+U\x1dp\xd08\x15%\x88\xc6\x97\x20#\xc2k\x0c'Q\xab\x16\x8f1\x0e.\xa9A\xd1\xe6\xc9\x1a?\xff-\xacF\xd7\xe5_\xab\xc3\x19\x88\xb6\xb3P_r\xbf6gN\xa3\x05\x90\xa7\xea\xf2q1\xca\xaf\x80M\xc9\xe6\xc9D\xe1\xdc#\xf1\x15v\xcc\xf8,\xea%\xab\xca/\x9cE\xac\xe6\xc2\x0cZ$-\xe8A\xaa\x18\x1f\x95GO\x16\x8f\xed\x021J\x16(qL\x91IGI\xecv\xc6\x8e\xce\x94\xdb\x12M\xccD\x88F\x1f\x1d\xfe8\x0c\x0bRe\x8d\xc4\xc51\x99^\x1a\xa1\xd1,\x16.`\x95\xea\xc8\xf0\xed\x83\x7f\xa0#\xc5\xbd\xec\xb7\xf7\xf1\x8f\x99\x80\xb1=\xcf\xe1\xe7\xa2\x08\x18\xab\xc81\x94\xadt\x81U\xe5\xda\x85\xf8\xa3\x13F\xf3\xe8\xfaWg\xdd\xb23\x89\x02\x1f\xb9\x8c\x06\xfba/!\xe3\xafR\xce@\xb4\x9d\x85zv\x8e\xa1\x85\x14c.\xca\xd5(\x01\xf5fl\xa4Y\xd8\x94l\x9e|9\xd7\x05FV\xdc1\xe3\xb3\xb8\x95e\x09\xa4\xf0o\xb0\x88\xd5\\\x98A$\xac\xb5\xd6\xb0%\xba\x0d\x87\x9e,\x1e\xdb\x05\xc2\x85\x12\xf4u\x91\x13>\xbf\x8d\x80\x91\x86\xd4X\xb3>q\x08X\xf4\xd8\x88\x949\x04,\x90\xca\xc6\x8e\xcd\x0b\x17\xb0\x9f\xe2\x9d\x9f\xeb!\x1e\x1f\xd6\xa2>\xde\xa6\xf1kO\xe3-\xec\xcb)\xfa\xd2|\xab\x80\xade\x9fSIJ\xbe\x11'-\xd6\x8c\xcb,\xc2t\x86:\xa8\xaf\xa3/\xbaI:A\xc6$:\x08\xaeE)\xedu9\x0e\x9f\xfa\x876\\\xeeJ\xc9\xdc\xc0\xae\xac\xe9\xf4=\xec\xa7\x03J\x92N\xd2\x89\x8c\xe8\x20\x0c1\xd9\x89\x82\xb4\x9c\xc7\x956\xd3\xab\xcd\x1b\xe4kVc\xc9\xbb\xd8\xa7\xb4G\xb3\xe5\x0c\xb8\xcdZ\x94\xdcZ\xe3\xce(\xb5\x1c-\xf5\xecT\xb9\x85,\x08\x09\xfa\xdc)\xae\x92lk\xb2\xb6|\xfdm\xf5\\\xc9\x0c[\xde\x83\x19\x00i4Y\xa9U\xb8*\xdb\xb1a\x9aL\xa6\"\x94\xc4b}\x8b\xb5\xd0\x93\xf1\xb6Q\x89a\xd0\x9a\xd3\x17F\xe1\xbe\x9c\xb6\xe5<fS{r\xd3\x1f\x1cr\xf7\xf3g\x9eD=\xa8\xd6\xe2\xd4\xa7Z\x1b\xb0y\xa0\xc4\x0a\xe9,A5\xa3\x9f\xa19jab\xb6V\xfbd\x9a-\x7fb\xa76gI\xee\xd2Q\x12\xeb:\x8b~Mr\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3o(\x99F#u#\xe4\x8c\xe8\x02\xd6\x98\x1c!\xd1/DA\xc0\xf4\xdcl+D\x88\\\x95\xe5,\xb7\x86\x12\xe4\x0e\x89\x16\x0bu\xa29B\xa2\xb6\xacZd'`\x9f\x17a\xbc\xf1\xe0i*O71\xde\xb2\x9dQ\x84/(\x02\xa6v\xc7NG\x13\xb0:u#\x1b\xf5\xd3\xf8\x18;ht0n\x9c4\x1a\xecD\x0d\xc1\xe07D\x9bz`\x83\xe0Pg2r54\xa7\xb3\xee\xc8`z~\xd3@\x03b\x9d\xe6\x11m\"e\xc2_\x10\x9c\"S\xc1\xb5~~BOHV\x93\xb4\xa3\xaf\xd5\x95?Cn\x05Y\x90\xa0\xa0~\xb9\xd5h\x03\x10\xa5\xc1t\xf6f*\xb6\x9c\x01\xb7I\x9de\x1f\xfey\xb6e\xac\x1fB}\x91\xf0\x1etX\xc8B)\xd7\xa3\xdd\x03\xed.4-&\xab\x96\xea\xfb\xea\xa5*\xb1d\xa6-\xef\xe1\xf8\x1a2\xe4\x1e\"\xf9\xc7I\xe4dgvN\xba\xbb\xae\x0a]U\x8c\x83A\xf5z\x11ja$\x13l\xa3\x11\xc3@\xaeB\xab\x95\xff6\x8f/\xe31\x9b\xf4\xb8\x9a\xfak\x11j\xe3\xcf|\xf4\x97\xdcG\xa5\x00\x00\x20\x00IDAT\x83j-Np\xf6\x9fg\xe3@\x09\x152X\x82jF?Cs\xd4\xc2\xc4h\xadq$\xd3l\xf9\x13\xdb\x87j\x06O\x96&\x0d\xc7\xba\xce\xa2_\x93\x9c\x07>\x8b\x80\x7f<mr\x95L\x05\xcc\xf4;3\xd4\x904D:\xd0\x09\xaaf\xeaq\xce\xcf\xe3\xcb\xcb\x17\x87\x9e\xeeH\xa4\x1f\x09\xb9\xd9V\x88\x84\x9d9\x1d\xbd>d\x1503\x8b$n\xdc\x1c\xade\x85:\xed\x04\x8c\\>\xe8\xc5\x18\x17\xbdx\x9b|\x87M>\xd6\xc3\x15E\x170\xad\x8f\xb4\x1au+\x17)r\xcd\x10?\x12F\xf0\xe6\x10\x92\x8fj\xe8T.\xa5*\x97\xb2\x15qoP\x14w\xfa$\x9b\xe5\xef\xd3\xfbn\x1d\xea_\xeb\xd5'\x88\x80\x99\xac\x0f\xd1I\xa5a\x163Q\xe8\xb1^M\xa9\xd5l3\x15\x975.b107\xa5\xec)\xa5\x99\xb9\x0b\x08O\x88\xfd\xf1\xa0g\x84\xcf\xa2\xcdE\xe5\xa8\xcd)&;\xc3\xfe\x14\x0dP\xe5\xe6J\xc6\xd9r\x1e\x82.\xb2G\xdaC\\L\xa0\xf3\x91o\xca\x98\x17t\xe8\xe3\x19\xa3db\xddx\xdbhD78\x93\x82R\xfa\xd9\xd6r\x1d\xb3*'\xedT\xd7\xb1\x18\xbe\xe6\x99\x8fqP\xc5\xc1\xd78\xbd\x96f\xa1\x1f(\xb3B<w\xbf\x9a\xd1\xcfP\xecZ\x98\xe8\xad5\x9ed\\,T\xfd\xc4F\xba\xe8\xd9\xcdc1\xe1\xa3^g1\xaeI\xfe\xd2\xe0\x86\x90$o\xdb\x1a\x16\x0b\x95\xf7K\xaa\x0b&\xdc\xea\xed_\xa9>rk\xb4\x1c}\x18\xebB\x0ci=\xac\x90\x90\x9bm\x85\xd6zn\xd1\xc8\xab\x16\x013\xb3\x18\xe3\xa6\x9a\xa2\xb7,\xdb!\xa4\xc2\xed\xcf_\xdb\x8a\xf1\xb3\xb4\x07v\xcd\xfcuN\x01{\\\xddp\xd3\x1a\x13\x0f:\x1bq$\x0b\xf7A\xa3\x0bX\xb5\xbe\xd9\x8fFM\xdb\x1e\xa4\xbdLu4)r\xabcrZ\xe2\xf6\x89\xc9\xfc\x9ei\x8a[\x8d\xba\xcd\x1d\xafZ\xfd}\xacR\x0d1\x86\xdc\xd1\xafR6\x0d\xd0\x86\x84\x1b\xa4!\xd4<\xd4W\xe0\xa0>\xb8,\xc6\xb3<\xb5\xc7G\xc9\xb4\x98\xacF\x0d\xb9\xb6\x9a\xc5\xcc6J\xc6\xd9r\x1e\xae\xa2[\x0f>\xbavJ\xed(\xe5K\\\x7fi\xb6\x80\x89u\x93\x84\xbe\xd5l\xa2\x19L\xd6In\x94%\xed\xa1U[\xaec\xe68\xa0\xee\x13\x05,\xc6A\xb5\x0aX\xb4u\x0e\x86\x80\x19\x15\xe2\xb9\xfb\xd5\x8c~\x86b\xd7\xc2Do\xad\xf1$\xe3\x04\xcc8\xb1\x13m\x1b<Nu\\\x13\xf5:\x8bqM\xf2\x97\x06/`M\xa8\x91\x09\x18\xef\x97D\xf22\xb5\x15\x9d\x12U'\xb6f%\xfa\x85\xa8\x9c\xee\xe1\xe1\xe1\x16*`\\nv\x15\x9aTW]\xd4[\x04\xcc\xccb:\xd9\xec\xf7DoYv\x02v\xe7\x1f\x9f\xb3\xcf\xdf\xe0\xa2\x7f\x912m\x0e\x8c|\xfe\x8f\x7f\xcd-`\xea\xdd\x8aI\x84h\xf7\xbc\x01\xd5\xf6#\xf1\xfeEt\x0136[\x107\xdf1\xa4\x9f\xbdH\xf2h\xb32\xe8N\xb2\xcc\x85\x98\xc9\xf2\xb4?\x03\xec\xcf\x07w\xbcd\xa9f\x96m\xac\xab\x945\x88A4B8\xd8\x00\x7f2\xa9\x9d\x88YL\xb6o\xceE\x99\x8db\xb2\xb5\xea\x19/)\x20Bn\xa6-\xefA\x0a\xa5\x8f\xa4\x87R\xd8\xcch>?M2[\xc0\xc4\xba\xcd\x9eR\x11\x89f\xd0\xe8j\x0f\xa1\xd01\x17\xfd\x93\xbaL\xc7l\x1c\xf5\xd0}S\x16\x01\x8bqP\xc5\xa6?l\x89&\xaab\x08\x18WH\x93\xbb_\xcd\x18g(f-L\xf4\xd6\x1aO2N\xc0\xf4\x13;\x9c\xe9\xde\xd3\x13\\g\x89Fo\x7fM\xf2\x97\x06/`\x13{&\x98\x80\xf1~\x09\xe9\xd6\x0f\xbaT3<\xac\x0e\x84\xc4#\xa9;\xe3\xe6\xc0\xf8\xdcl*4\xa2\xba\xb7N\xe2sYhs`\xd3\x03$V\xcb\xb2\x11\xb0\xef\xf1\x03\xff\xa4\x9f\x971\xbeM\x9e\xc3\xdb\xe9j0\xf2\x07\xec\xfd~n\x01[\xc5\xe6\x15~\xa1F\x80\x1dC\xeeZtRpk\x11\xb0z\x8b\x80}\xc8_%\xb7\x8c\xfbC\xb9\x9d\xeb\xd6\xe6\xf6\xe4\x12\x113Y\x95g\x841A\x7ff\xc7\xab\x83\xfd\x81\xa8K\xba4\xcbV007%6{\xd7\x8e\x84\xd1\x97zv\x9c\xb4\xf7\xc0e1B\xff^Mu:\xda\x84d\xd5\x1e\x96\xc4S-\xe4\xc6\xd9\xf2\x85\xcci\xca\"\xeef5E>?\x81#\x0a\x18-\x99X\xb79\xee[\x92\x98\x06t\xaa5\xa4\xfdu^\x9ec6\x93\xfasu\x9f!`\xf5\x962\xf0\x07\x95\xcf\x8d\x90CR\xb4!s\xbc\x02v\xb7\xaa\x19\xfd\x0c\xc5\xae\x85\x89\xdeZ\xe3I\xc6\x09\x98~bs\x0b\xe8\xdf\xf1r\x8b\x80\xd9_\x93\xfc\xa5ada\xdeM\x12\xfc\x129\xb3>[\xedp\x1am0\xc6\x85\xc8\x09\x18\x97\x9b]\x85&\xd9\x85@\xac\x93\xf8\\\x16\x01\x07\x1b\xb9u\xa1\x89\x18-\xcbN\xc0\xc8O\xf1O\x15\x05\xbby\x10?\xa5\xa8\x98\x17\xbf\xa0\xe8\xd4\xc5M4\x08\xb7\x20`\xa4\x08\x7f|[\xbfYI\x97Q\xe4)\x0avR\xd2d\xea~\xe4H\x17\xbbM\xa6\x809\xf6(\x83\xe05\x16\x01\x9b\xca,\xa4\xedl\x17;\x05d\xb3G\xbby\xeb\xaf\x95\xce\xa0Z?\x111\x93\x0d\xa8\xa3\x8cz6l/,$\xe4[\xf6\xc37\x92q\x07\x9e\xbfJM\x03nS\xca\x9c\xa2\xcbN\x0a\x99\xc5\xd8a\xf5\xeaV\xcfNf\xdd\xe8/\xf8,\x1a\xd0\x19\x96v\x9b\x90\xac\x8fM\x0et\xa2>!7\xce\x96/\xe4\x86\x82rR~\xbf\x8fe\"\xfc\xa16\x04\xcc(\x99P7\xdev\xac\xc1\xd2%\xb0\x1ap\x8c;\xd5\x09\xebe;f\x9b]\xf4\xba\xafb\xd7\xady\xe6c\x1cT>72\x93\xab\x85P\x17\x89W\xc0\x16\xbb\x9a&\xd1\xceP\xccZ\xe8G\x87\x98\xad5\x9ed\x9c\x80\xe9'\xd6M\xa5c&\xcf\"`\xf6\xd7$\x7fi\x18Yp\x02\xc6\xfb\x9d.\xa8'\xdb|3F\x16\x8c\xe8\x17\"'`\\n\xb6\x15*p+\xfa\x18^e\x110.\x8b\xc9\xf4rE\x09f\x0a=\xb1Z\x96\xad\x80\xdd\xd8\x84\x8b\xb6l\xf5\xe22:\xfdu~=\xf6n\xaf\xc4x\xf7m\xab\x80m\xc7\x18_\xd0\xd3\xb4\"_j\xca}nc\xbd\xc3q$<F\xa4\xdd\x85\xd4\xa6\xf1\\\x8d\x87\x0bPrGH\x8d}6R\x9d\x12\x94\x95#\xb1j\xf5+\xfd;\xb4\xe7\x12\xc2I\xcdj\xba\xc3\x0e\xe7L\x8e\xe30\xef\x8a\x08\xc9\x02\xc8\x7f\xb2\xb7\x1a\xb1Y\xfe\x06\xa9\xb9\xc7\x97F\x1b\xec\xe3\xfa]\x00\xc1\x963\xe06%\x94\xdfu<\xc7\xa9&(\xd5\x06\xbe\xa3l\xe2p\xdd\x86\xea\xfb\xf8,\x1aP\xfa\x81\xbe\x9ejv\x8f\x94KV\x95\x14\xe8\x0b$U\x89\xb9\xf1\xb6\\!\xebP#i\xa27i\xa7\x87\xd8M\x1a6\x1d\xa3l\x07\xa5\xea`pJ,\x99\x91\x8c\xb7e\x85L\xb7\xcc\xcaX\x0cf\xb3|\xc7\xec\x9bLw[w\xa9\xc4\x04\xcc8\xf3\xb1\x0e*\x9f\x1bi\xb1\x0e\xdd\xf8\x03%\x16R\xe7nV\xd3$\xca\x19\x8a]\x8bRc*e\xa4\x0d\xb5\xa85\xb2O\xa6\xdb\xf2'\xb6\x01mn;\x9c\x8f\\MC\xb1\xae\xb3h\xd7\xa4xi\xe8YL\xfa\xd7}\xa3|\xfdf\x9d\x7f\x92\xf3\x1b\x09\xd6\xba\xc6\xc9%\xe7\xae`\x84\xae\xc47\xea\x1d\xedB\x14V\xe2\x1b\xb9\xc5\xa8\x10\xb7\x12?\xe4p\x1f\xaa\xcfH\xa2\x17\xc1\xb8\xf6\xc0\xc1U\xe1\x90\x903\x8e\xfb;z}\xc9A\x12\xbde\xc9A;\x01c\x8f?z\xb7\xbc\xac\x8e\x10\xaf\xbd\xa0|\xd9~J\xd1/\x8b\x80]\xde\xed\xdd\xf8\xbe\x9e\xa4\x15\x05F}i\x8e\xb5\xfd\xda\xf7)I\x98\xbf\x888\xd9\x087\x99\x1d\x92p\xa1#\xdd\x17@\xa8\x96\xc5>\x0b\xa5)\xff\xd2\xdbB\xe1\xcd\xee\xf4\x82\x1e-A\xfd*5\xf9\x882\"iL\x1f&<b\xb2\x81u\x19N-\xdb\xc8\x8e\x0c\xc7\x83\xd4\xf6\xdb\xd4\xaa\xa8\xb6\x86\x01\xbf)=^\xed\xcc\xaa\xd2\x9aA\x87\x8bN\xe1(\xfdW\x84\x9a\x94&\x99\xe3\xea\xe3\xb38Qx\xc8\x9d\x92Y8hMv,O_\xadb\xe6\xc6\xdbr\x85\xecs\x8c\x92PZ/\xbd?\xc1\x0e\x09\xebdh\x8f\x8a\xa1v\xb1dF2\xde\x96\x162\x1d\x89G\xc4j0\x9b\xe5;fd\xa2\xda\xed\xf0\x8d0\x013\xce<\x89qP\xf9\xdc\x82\x8e=\xc4\x8ay\xa0\xc4B\xea\xdc\xcdj\x9aD9C1k\xa1\x1f\x1d\xa5g\x94\xaed\x95:\x15W2\xc3\x96?\xb13-9\x92\xcb\xdf\xe1\x91\x0ac]g\xd1\xaeI\xf1\xd2\xd0\xb3hP\x9f\xc6\xddF\x9fg4\xfd\x0e\x20\xbaTs\x87\xf2\xefY\xfa,\xa4:\x85\xce\x97\x97s\xa6>\x0b\xa9\xf8a}\x0e=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xad\x9eL\xe4\xe7\xb3P\x08\xf9\x1c\x99\xa5!\xa1\x16\\\x8d\xed\xd7\x81-\x06\x97\x84\xc7\x88\x16\xc0.)\xda\x1d\xa88\x09\xc4^\xc5;\x1b\xb3\xab</\x16\x98lQ\xe8\xb1\xce\xca,\x02w\xf7\x98\xa9\x93\xf8\xf3\xa1K\xaa\x9e\xb6\xb3Y\x00w\xb7\x9a\xcbL\xa2\x95w\x81,\x85\x80\xd5\xa3\x7f7\x98m\x8b\xfb[;\x93\x98\xd4\xd4\x90\xf8Y\xe0Y_`\xb2\xc5\xa0\xc3\xb9\xcd\xced\xfe\xdc\xddc6o\x01\x9b\xcc\x12\xe7\x0d\x16\x8b\x05V32\xa6\xb2\xe8\xcf\xf6,*\xf3>-\x89\xc9]\x17\xb0\xd0X\xd7*iV\xc7{\xa5\xb2\xc0\xb3\xbe\xc0d\x8b\x80\xec\xaa[\xeev4\xef\xca\xcf[\xc0V\x04f5\x1f\xd4F;\xd6\xf9\xfc\x95\xc5\xbcOKbr\xd7\x05\xac\\9\xd3\x89r(\xd5\xd9\xc1y\xb3\xc0d\xf7\x06\xf3\xaf|\xf8\x0c\xaa\x9b_\x8a\x15\x00_\xcdp\xaf\xca<\xc6\x9fK\xce\xfcOK\x82r\xd7\x05\xac)\xd5\xf5\xef\x0e\x20\x97\x0c6;\x18\xfb\xee],\x16\x98\xec\xde`\xfe\x95_\x8b\xf4;8\x09\xc4\xfc\xab\xb9\xbc$Zy\x17\xcc]\x170\x00\x00\x80\xbb\x05\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\xcb\xe2\x0a\x98\xfe|\xd1\xdc\xbcA\x1f\x06\xd7X\xfc\x18\x92\x00\x00\xfc`\x00\x01\x03\x00\x20aY\\\x01\xbb\xfc\xeb\xf3v&\x04\x04\x0c\x00\x80Ebq\x05,>@\xc0\x00\x00X\x14\xee\x15\x01\xdb6\x9f\xe7r\x01\x00\xb87\xb0\x13\xb0\xdf\xe0S\x17*\xbd?\xb9\xa6\xbe\x18l\xd3^\xed\xad\x85\xd7\x8eT\xae\xdf\xb4O}_>\xb7\x83\xce\x81\xbd\xa1\xcf\x83=\x8b_&\x96d\x9f\xef\xddT\xfc\xd4E\x8b\x80\x85\xcb\x9d\x8e\xfc\x0eB_Z\xa7\xbd.\xfa\x80\xf8\x02\xc48\x08\xa3\x00\x0d5\xf8o\xbcug\xbe\xf4$k\x8f\xf4&w\xdb\x99\xce\xcbv\x81\x1cB)\xf4%\xb7}\x0et(\xbaA?+@\xc6C1\x9f\xe1Q\xdf\xe9t\x08!\xed=\x92s2\xc2\xbd\xd3Ia,\x85\x9d:\xfaN'G\x94\x0cB\xbe\xb4L\xff`\xe6\xc2\xdf(\x02\x001\xb0\x17\xb0\x17\xbd\x18\x17\xdf&\x17\x8a\xb1wk%\xc6\xaf\xd1_\xcf{q\xf1\xf62\x8c\xe9\x8c\x17\xbf\x83\x0a\xd8?p\x11{\xfb\xe1\xedb\x1a\xba[Hv\x0a\xe3\x8a\xadEE\xbb\x05\x01\xcbu\xa2\\\x0fB\xe5\x84L\xa4h\x91}=Q\x038\x08\x9c\x15_\xd0Y\xb5\xea[-\xd4`\x14\x03\x8b\xedl\x16b\xd0\x88\xb4WH\xa2\xc6(\x09T\xf4d\xf1\xd8.\x10=\x8b\x09\xbf\x83\xbe\x9a\xda\xe7\xf0OD7\xa4o\xd5\x0c\x0e\x1e\xf3X\xe27\x9a\x08o\xd5\x8c\x81q\x1c\xb8\xb7j2\xd4\x00\x8f\xec\xad\x9a\xb3\x1f!\x1eH[s\xbc3\x0f\xcd\xe7\xe5[\x00\x10\x1f\xf6\x02\x86+\xcf_8Mn\x14\xe3\xa3\xb7\x95.\xd4&\x1a\x99\xe8\xbbb\xfc\xf2mr\xe7\x0d\x1a\xdcC\xd8\xc1\xeeB\xee\xc4\xa7i\xca\xf3x+\x11\xf7^\xc4\x0f\x9c\xbeC\xbe\x7f\x0a\x0b\x02\x86\xb2\x95&5\xe0\xa0\xafX)A4\x0a\x00\x19\x89\xe3\x05\x88k\xfc\xfc\xb7\xb0\x1aJ\x97\x7f\x83\x08g\x20\xdaFa!\x06-\x92\xf6\x12\xefT3\xf2\x93\x15=Y<\xb6\x0b\xc4(Y\xa0\xc41E&\x1d%\x81\x98\xa6\xec\xe8L\xb9\xc5\xf8P\x1cq\x84\x87\xe7\x8fC\xdc\xe1\xe1'\xd3K#\xf4\xed\xec\x20`\xc0\xe2\x13\x87\x80]\xa6\x9fG\xb5@\xdc\xef\xe3\x1f\x13\xf22\x0d\xf1\xa1\xb0[\x91*a\x07\x13\xb0\xd3\xea\xde\x83\xf8\x94%\xd9A|\x94n\xdf,\x13\x05\x8c5\x98c(\x9b\xbe\\\x94)\xd7.\x14\xbb\x15\xea\x88a+\xaa\xd57\x8e\xf1\x02\x1654V\x0c\x16b\x10\x09k\xad5\x1c\xfb}\\z\xb2xl\x17\x08\x17\x1a\xcb\xd7EN\xf8\xfc6\x02F\x1aRgb\xec\x8fC\xc0\xa2\xc7\xfa\xa2\xcc!`\x81T6vl\x06\x01\x03\x16\x1f{\x01\xabd\x9f\x0fk1!o\xd3\xe8\xb6[\xb4/7n\xdc\x11w0\x01\xbbY\x84\xff\xa9\xfc\xeb\xa5\xff\xf2{\xefl\xc4\x17\xd9\x97\xa3\x82\x80\xade\x9fSI\xca\xf5\x1dq\xd2\xcb\x7f\xc6e^\xea\xb5(\xa5\xbd.\xc7\xe1c\xc1\x0d\xc8\x89\x82\xb4\x9c\xc7o\x11\xd2\xabM)\xe5kVc\xc9\xbb\xd8\xa7\xb4G\xb3\xe5\x0c\xb8\xcdZ\x94\xdcZ\xe3\xce(\x15\x1b\x92\xe8L\xcf\x82\x90\xa0\xcf\x9d\xe2*\xc9\x9e\x9d\x9b\x89\xd9Z\xed\x93i\xb6\xa3\xc9\x08\xd5\x87\xab\xb2\x1d\x1b\xa6\xc9\xd4\xe6,\xc9]:J,\xd54<\x88\xe5m\xcb\xd7\xdeknz\xe0\xb3\x08\xf8\xdb\xcaI\xc9+T\xc0L\xbf\xa1d\x1a]\xcf\x8d\x903\xa2\x0bXcr\x84+/_\x1cA\xc0\xf4\xdcl+D\x88\\\x95\xe5,\xb7\x86\xc6\xe2\x0e\x89\x16\xdbo\xa29\xc2\xf9\xe5j\x1c\xbd\xf2\x00\x10\x0f\xf6\x02\xc6\xbaS71\xde\xb2\x9dQ\x84/\x90\xf5\xf8o\xfa~q\x87\xba\x90u\x1f\x1dC\xbeO\x13\x0a{\xbf\xa7\xb1%)\xa7\x05\x01\xabS7\xb2i\x18\x9bm4D\xcf\x80\x16\x17\x98\x12\xeaLF\xae\x86\xe6t\x16\x7f\xae&iG_\xab+\x7f\x86\xdc\x0a\xb2x(A]\x89j$U\xe0$\x94\xdb\xd9\x9b\xa9\xd8r\x06\xdc&u\x96}\xf8\xe7\xd9\xe24\x90\xe0\xcc\xc8B\x19\xc7>\xda=\xd0\xeeB\xd3\xb3r31Zk\x1c\xc94\xdb\xc8\xc9\xce\xec\x9ctw]\x15\xbaJ\xfaP\xcd\xe0\xc9\xd2\xa4a\xb1\x9a\xa6\x07\xa1\xbc\xd5R}_\xbdT%x\xe0\xb3\x08\xf8\xc7\xd3&W\xc9T\xc0L\xbf3C\x0dIC\xa4\x03\x9d\xa0j\xa6\x0aX~\x1e_^\xbe8!\xd4\x17\x89D\xfa\x91\x90\x9bm\x85H\xd8\x99\xd3\xd1\xebCV\x013\xb3H\xe2\xc6\xcd\x86_\xae\xc6\xd1+\x0f\x00\xf1`/`\x07\xe9\xc7w\xd8\xe4c\xa5;uC\xdf/\xec\xd0\x04\xec<\xdeM\xc8S\xf8}\xcb\xdek\x18\xabi\xce\x0b\x02\xa6\xc5^[\x8d\xbai\x14n\xd7\x0c\xf1#~\xa6H\xa2\xb1\x0c\xab\\\x84\xb6Kz\xabr\x98\x85\x87\x13\x063WS\xb4`4R\xe6\xa4\xd2r\\\xc4b`nJ\xd9S\x84L\xba\x0b\x88\x88a\xc0e\xd1\xe6\xa2\x8d\xa8\xcdi\xf1\x20\xa0\xb7\xd6x\x92q\xb1\xfd\x90O)\x85\xf2\x7f\xa4\x8bN\x97\xe7\xb1\x18\xc7f5y\x0ffy\xcf\xb0\xee\xd1\x00\x0bVfz\x10\x86\x90$o\xdb\x1a\x16\xdb\x8f\xf7K\xaa\x0b&\xdc\xea\x1b\xe5\xa5\xfa\xc8\xad\xd1r\xf4\xa1\xf5H\xea\xceBZ\x0f+$\xe4f[\xa1\xb5\x9e[4\x92\xa0E\xc0\xcc,\xc6\x8c\x18\xa0b-\xcc\x1a\xc7\xa8<\x00\xd8\x13\xa7\x80\xdd\xa4\x03D\x9d;\xda\xbc\xd8\xac\x1d\x9a\x80\xdd\xde\x88\xbf\xff'\xf6\xde\xb4\xec\xbd\xa9\x87\xef~_\x10\xb0\xc7\xd5\x0d7mY\xc4\x83\xceF\x1c\xc9\xfc\xfdv\x16z\x94\xcd\xb0\xf8=\xd3\x14\xb7\x1a`\x98kJ\xb5\xfa\xab'Y\x9c\xf89\xc3\xc3\xb3\x19\xa26d\x89\xa4h\x18pY\x8cgyj\x8f\x8f\xaa\x81\xac\xed\x04,\x9ed\x9c\x80Iz\x98\xe6\x89\xb6\x0d\x1e\xa7\xda\xdf4\xab\xc9{0\xcb[\xa3\x86\xb5Z]-z\x10\x04\xac\x0952\x01\xe3\xfd\x92H^\xa6\xb6\xd2N\xa2\xea\xe4\xa2j\"\x1eI\xddY\x085\x0f\x0f\x0f\xb7P\x01\xe3r\xb3\xab\xd0\xa4\xba\xea\xa2\xde\"`f\x16\xd3\xc9\xe6\xdf#\xbe\x16f\x8dcT\x1e\x00\xec\x89S\xc0H\x996\x99E>\xff\xc7\xbfH%V\x9f\x18\xfa\xf8\xa7\xa7\xc4\x1d\xda\xb3\x90/\xe2\xd3\xa7\xf1\xb3\xd6dw6au\xe1\xd8k\x82\x80\xa9w\xc5&\x11\xa2\xc3\xc0\x06T\xdbo\x04\xffd\x98Ax\xf3\xb4\x1e\x02\xebYpMI\x96\xf4E\xac|t\xe5\xe8\x02\xc6FQ\x83\xd6\x20\xa9\x86\x01\x9f\xc5d\xfb\xe6\\\x94\xd9h\xf1\x20\xa0\xb7\xd6x\x92q\x02\xa6O\xa6\x0dg\xba\xf7\xf4\x04\xd7Y\xa2+\xf3\x1e\xcc\xf2\xaeUU\xa8\xa4@\xf0\x20\x0a\xd8\xc4\x9e\x09&`\xbc_B\xba\xf55)R\xcd\xf0\xb0:\xfc\x13\x8f\xa4\xee\x8c\x9b\x03\xe3s\xb3\xa9\xd0\x88\xea\xde:\x89\xcfe\xa1\xcd\x81M\x0f\x88~\xb9\x1aG\xaf<\x00\xd8\x13\xaf\x80=\x87\xb7\xdf\xa1\x9f\x7f\xa0K'\x8ejkU\xf7\xe27\xc4\x1d\x9a\x80]\xc4O=\xa5\x06\xea\x16\xf6\xbe\xa0\x8a\xda\xedJA\xc0V\xb1\xf9\xab_\xa8\x913\xc7\x90\xbb\x16\x9d$\x1c\xe6\xc5]\xe5\x19a\xb0\x85N\xac)u\xb0\xbeC]\x92\x1e\xaf}\x96\x80\xa9\x06\xe6\xa6\xc4&\xdc\xda\xad\x91\x14\x0d\x03.\x8b\x11\xda\x95\x99\xeat\xb4Y\x9c\xf1\xe8\xad5\x9ed\x9c\x80\x95k\x1b\xb9\x05tZ\xbb\xdc\"`\xbc\x07\xb3\xbc\xd5\x1e\x96\xc4S-x\xe0\xb2\xe0\xc2\xc3\xf3~\x89\x9cY\x9f\xadv8\xcd{\xb4\xe2\x91\xd4\x9dq\x02\xc6\xe5fW\xa1I5\xc4\x90u\x12\x9f\xcb\"\xe0`=\xea.4!\xd4\"\xaa\x80\x09\xb9\x01\x80-\xf1\x0a\xd8e/~A\x19\x00^\xdcD\xc5\xe7\x86\x17\xbf\xc1\xd6\x81\x15\x7f'\xee\xd0\xdfFQYTTqgV\xb2k\xeb\xf1\xaf\xef\x90\x9b\x07-\xeb\xc0\xf2\x14\x05;)i3%\xf7#G\xba\xb0\xd6\xc0\xbc\xb8\x07\x10[h_\xcfft\x0a\x0b\x09\xf9\x96\xfd\xf0\x8dd,\xdb\xe7\x05\xcc4\xe06\xa5\xcc)\xba\"\xc9\x1a\x0f\xcb0\xe0\xb2h@g\xd8\xaem\x16gd\xec\xb0\xae\x97Fk\x8d'\x19'`z7\xc6M\xa5c&\xcf\"`\xbc\x07\xb3\xbc}l\xc2\xaa\x13\xf5\x09\x1e\xb8,8\x01\xe3\xfdN\x17\xd4\x93m\xbe\x19#\x0b\x86p$\x0dg\x9c\x80q\xb9\xd9V\xa8\xc0\xad\xe8cx\x95E\xc0\xb8,&\xd3\xcb\x95!\xe1L\xa1G\xacET\x01\x13r\x03\x00[\xe2\x150r~=\xf6n\xaf\xc4x7\xbd\x93x\xbe\x08o\xdc\xbe\x09\x17\x9d\xb7\xec\xd0\x05\xec\x0d\xcc\x1e#\xb2&\xfb\xb8\x08\x97\xfd\xc4\x8b\xf7\x09\x02\xe6KM\xb9\xcf\x8d\xf4\xb9\xfc\xe3Hx\x8cH\x8d\x0e5R\x9d\x12\x94i\x20e\xff\xc9\xdejt\x82\xeeh\x90\x9a{|i\xb4\xf3\xf6\xb8\xbe\xe8B\xb0\xe5\x0c\xb8M\x09\xe5w\x1d\xcfqZ\xef'\x9a\x06f\x16\x0d(\xfd@_O5\x1a\x14\x0d\x08)5\x86\xb8#m\xa8E\x1d\x8c\xda'\xd3m\xa7\x87\xd8\xad<6i\xd7\x806\xb7\x1d\xceG\xae\xa6!\xbe\xe8\xbc\x07\xae\xbcUI\x81\xbe@R\x95\xe8\xc1\xccb\xd2\xbf\xee\x1b\xe5\xeb7\xeb\xfc\x93\x9c\xdfH\xb0\xd65N.9w\x05#t%\xbeQo\xa3\xbc\x9c3a%\xbe\x91[\x8c\x0aq+\xf1C\x0e\xf7\xa1\xfa\x8c\xa4\xe4\x8e\x90\xba\x12\xbf%\x18\xbc*\x1c\x12r\xc6q\x7fG\xaf/9\xc8\xd7\x82\xabq\xac\xca\x03\x80=q\x0b\x18\xb9\xf6Be\x91w\xfb)u%\xc4\xe5g+\x8a\xca\x0e^\xb6\xee\xd0\x05\xec\x869\xcd/$\xfb\xdb\xc12\xef\xf6\x0b\x1f\x0b\x02\x16\x18\xf5\xa59\xd6\xf6k\xdf\xa7$\xe11\"\x16\x1d*\x94\xa6\xfcKo4\x0e\xac\xcbpj\x96\x91\x1d\x19\x8e\x07\x87\x95\x8doS\xab\xa2\xda\x1a\x06\xfc\xa6\xf4x\xb53\xabJ&\x168[#\x8b\x13\x85\x87\xdc)\x99\x85\x83V\x03\xd2\xe1jW7n\xa5+Y\xa5N\xc5\x95\xcc\xb0\x1dU\x1f\",\xa1?\xce\xb4\xe4H.\x7f\x87G*\xe4\x8b\xce{\xe0\xcb{,O[\x07\xc6y0\xb3h@\x88N5m\xa3\xcf3\x9a~\x07\x14\xc3:\xb2C\xf9\xf7,}\x16R\x9dB\xe7\xcb\xcb9S\x9f\x85T\xfc\xb0Yy=\xb7\x18\x15\x1a\xe5\x9e\x85\x0c\x97fd\xef\xe9HV\x8a^\xadM|\xf9\xf9,\x08}\x16\xd2\x91Y\x1a\x12j\xc1\xd58V\xe5\x01\xc0\x1e;\x01[j.\xc5\xf1\x18\x91@`>\x0b\xbc\x13-Zq\xa2\x95\x17\x00\x96\x98\x95&`\xf5h\x9eapkjH\xfc\x98\x82\x10\x19SY\xf4g{\x16\x15\x100\x00\x98\x93\x15%`\xa1\xb1\xaeU\xd2\xac\x01\xde\"b\x0a\xc2\x83\xdah\xc7:\x9f\xbf\xb2\x00\x01\x03\x809YQ\x02V\xae(\xca]l\xb2\xeal\xb1J\xb8We\x1e\xe3\xcf%\x87//\x00\x00QXQ\x02\xd6\x94\xea\x9a\xe7\x00r^\xb0\xd9\xe21;\xab\x95C\xa2\x95\x17\x00\x96\x9c\x15%`\x00\x00\x00\xf3\x01\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84\x05\x04\x0c\x00\x80\x84eq\x05L\x7f\x94hn\xeeF\\H\x00\x00~\x80\x80\x80\x01\x00\x90\xb0,\xae\x80]\xfe\xf5y;\x13\x02\x02\x06\x00\xc0\"\xb1\xb8\x02\x16\x1f\x20`\x00\x00,\x0a\xf7\x8a\x80m\x9b\xcf3\xdd\x00\x00\xdc\x1b\xd8\x09\xd8o\xf0\xa9\x0b\x95\xde\x9f\\#\xe4\xc6\x8b\x95E\x9b\xf6^P\x7f\xbev\xa4r\xfd\xa6}\xea+\xee\xb9\x1dt\x0e\xec\x0d}\x1e\xecY\xf6RC!\xd9\xe7{7\x15?u\xd1\"`\xe1r\xa7#\x9f\xc6\xb0iA\xb9\xea\x8f\x07\x84\x97\x1a\xc6C\x18\x05H-J\xea\xb2\xb3[<z\x92\xb5\xc7\xc1\x93\xbb\xedL\xe7e\xbb@\x0e\xa1\x14\xfaJ\xdb>\x07:\x14\xdd\xa0\x9f\x15\x20\xe3\xa1\x98\x0f\x7f\xaa\xef\x03;\x84\xd4\xf7\x81\xd90\xc2\xbd\x0fLa,\x85\x9d:\xfa>0G\x94\x0cB\xbe\xb4L\xff`&\x1f\xab\x05\x00\x16\x05{\x01{\xd1\x8bq\xf1mr\xa1\x18{\xb7Vb\xfc\x1a\xfd\xf5\xbc\x17\x17o/\xc3,\xb6\x07\xbf\x83\x0a\xd8?p\x11\x0b>t\xbb\x98\xbe\xd4PHv\x0a\xe3\x8a\xadEE\xbb\x05\x01\xcbu\xa2\\\x0fB\xe5\x84L\xa4hQ\xa1=\xc2K\x0d\xa3rV\x8c\xcbQ\xb5\xea[\xfa\xec3\xf7$8g`\xb1\x9d\xcdB\x0c\x1a\x91\xf6\xfaQ\x14;\x02\x85\x9e,\x1e\xdb\x05\xa2g1\xe1w\xf8\x94\x0f\x9f\xc3?\x11\xdd\x90\xbe\x9158x\xcc#\x06\xc5\xe4\x10\xde\xc8\x1a\x03\xe38pode\x0c\xb1w\xe2\xb37\xb2\xce~\xfc|\x20m\xcd\xf1\xce<4\x9f\x17\xb7\x01@|\xd8\x0b\x18\xae<\x7f\xe14\xb9Q\x8c\x8f\xdeV\xbaP\x9bh\x98\xa1\xef\x8a\xf1\xcb\xec\x9d\xf8\xde\xef\xc5\x1d\xec.\xe4N\x1a\xd7\x96F\x7f\xdcJ\xc4\xbd\x17\xf1\x03\xa7\xef\x90\xef\x9f\xb2\xbc\x13?[iR\x03\x0e\x1a\x1b\xa2\x04\xd1\x98\x0ed$\x8e\x97\x1a\xae\xf1\xf3\xdf\xc2jx\\\xfe\xed3\x9c\x81h\x1b\x85\x85\x18\xb4H\xda\x0b\xe0S\xf9(\x96\"z\xb2xl\x17\x88Q\xb2@\x89c\x8aL:J\x021M\xd9\xd1\x99r\x0b1\x9fx\x84\xc8\xdc\xd1\xe1\x8f\xc3\xb0\x20U\xd6\xa8D\x1c\x93\xe9\xa5\x11\xfaf\x7f\x100`\xf1\x89C\xc0\xd8\xcb\xa1\x8f\xe2\xbd\xec\xfb\xfb\xf8\xc7\x84\xbc\xac\x86\xeb&\xbb\x15\xa9\x12v0\x01;\xad\xee=\x88OY\x92\x1d\xc4G\xe9\xf6\xcd2Q\xc0X\x839\x86\xb2\x95\xa1\x96\xaa\\\xbbP\xecV\xa8#\x06:\xabV\xdf\"\xc6\x0bX\xd4\xb0j1X\x88A$\xac\xb5\xd6p\xecw\"\xea\xc9\xe2\xb1]\x20\\X5_\x179\xe1\xf3\xdb\x08\x18iH\x9d\x89\xb1?\x0e\x01\x8b\x1e'\x8e2\x87\x80\x05R\xd9\xd8\xb1\x19\x04\x0cX|\xec\x05\xac\x92}>\xac\x05x\xbcMC\xd5n\xd1\xbe\xdc\xb8qG\xdc\xc1\x04\xecf\x11\xfe\xa7\xf2\xaf\x97\xfe\xcb\xef\xbd\xb3\x11_d_\x8e\x0a\x02\xb6\x96}N%)\xd7w\xc4I/\xff\x19\x97y\xa9\xd7\xa2\x94\xf6\xba\x1c\x87O\x8d\xa7q\xa2\x20-\xe7\xf1[\x84\xf4jSJ\xf9\x9a\xd5X\xf2.\xf6)\xed\xd1l9\x03n\xb3\x16%\xb7\xd6\xb83J\xc5\x86$:\xd3\xb3\x20$\xe8s\xa7\xb8J\xb2g\xe7fb\xb6V\xfbd\x9a\xedh2B\xf5\xe1\xaal\xc7\x86i2\xb59Kr\x97\x8e\x12K5\x0d\x0fby\xdb\xf2\xb5w\xe2\x9b\x1e\xf8,\x02\xfe\xb6rR\xf2\x0a\x150\xd3o(\x99Fft#\xe4\x8c\xe8\x02\xd6\x98\x1c\xe1\xca\xcb\x17G\x100=7\xdb\x0a\x11\"We9\xcb\xada\xd5\xb8C\xa2\xc5\x85\x9ch\x8ep~\xb9\x1aG\xaf<\x00\xc4\x83\xbd\x80\xb1\xee\xd4M\x8c\xb7lg\x14\xe1\x0bd=\xfe\x9b\xbe_\xdc\xa1.d\xddG\xc7\x90\xef\xd3\x84\xc2\xde\xef1VC{\x9c\x16\x04\xacN\xdd\xc8\xa6\xf1\xe6\xb7\xa1\x1d4\"W\x9e\xb1;\xd4\x99\x8c\\\x0d\xcd\xe9,vaM\xd2\x8e\xbeVW\xfe\x0c\xb9\x15d\xb1t\x82\xba\x12\xd5H\xaa\xc0I(\xb7\xb37S\xb1\xe5\x0c\xb8M\xea,\xfb\xf0\xcf\xb3\xc5i\x20\xc1\x99\x91\x852\x8e}\xb4{\xa0\xdd\x85\xa6g\xe5fb\xb4\xd68\x92i\xb6\x91\x93\x9d\xd99\xe9\xee\xba*t\x95\xf4\xa1\x9a\xc1\x93\xa5I\xc3b5M\x0fBy\xab\xa5\xfa\xbez\xa9J\xf0\xc0g\x11\xf0\x8f\xa7M\xae\x92\xa9\x80\x99~g\x86\x1a\x92\x86H\x07:A\xd5L\x15\xb0\xfc<\xbe\xbc|qB\xa8/\x12\x89\xf4#!7\xdb\x0a\x91\xb03\xa7\xa3\xd7\x87\xac\x02ff\x91\xc4\x8d\x9b\x0d\xbf\\\x8d\xa3W\x1e\x00\xe2\xc1^\xc0XT\xa2\xef\xb0\xc9\xc7Jw\xea\x86\xbe_\xd8\xa1\x09\xd8y\xbc\x9b\x90\xa7\xf0\xfb\x96\xbd\xd70V\xd3\x9c\x17\x04L\x8b\xa7\xb6\x1au\x132\x84\\3\xc4\x8f\xf8\x99\"\xc9\xa9\x88S\x95\x8b\xd0vIoU\x0e\xb3\xd0\x82\xc2`\xe6jJ\xadf\x9b9\xa9\xb4\x1c\x17\xb1\x18p\x91\xb9\xb3\xa7\x08\x99t\x17\x10\x11\xc3\x80\xcb\xa2\xcdE\x1bQ\x9b\xd3\xe2A@o\xad\xf1$\xe3\xe2B\"\x9fR\x0a\xe5\xffH\x17\x9d.\xcfc\xf1\xb1\xcdj\xf2\x1e\xcc\xf2\x9ea\xdd\xa3\x01\xd4/x\x10\x86\x90$o\xdb\x1a\x16\x17\x92\xf7K\xaa\x0b&\xdc,\xfe#\x91\xea#\xb7F\xcb\xd1\x87\xd6#\xa9;\x0bi=\xac\x90\x90\x9bm\x85\xd6zn\xd1(\x94\x16\x013\xb3\x18\xd3\"~R\xf8Z\x985\x8eQy\x00\xb0'N\x01\xbbI\x07\x88:w\xcc\xa0i\xe2\x0eM\xc0no\xc4\xdf\xff\x13{oZ\xf6*_\xd8\xedI\xa5s\xc6\x0b\xd8\xe3\xea\x86\x9b\xb6,\xe2Ag#\x8ed\xfe~;\x0b[\xcbfX\xfc\x9ei\x8a[\x0dN\xcd5\xa5Z\xfd\xb5\xa5R\x0d1fc\xa2\x0b\x18\x9b!jC\x93D\xc00\xe0\xb2\x18\xcf\xf2\xd4\x1e\x1f%\xd3\x16\x0f\x02zk\x8d'\x19'`\x92\x1e\xe2{\xa2m\x83\xc7\xa9\xf67\xcdj\xf2\x1e\xcc\xf2\xd6\xa8!\xd1VW\x8b\x1e\x04\x01kB\x8dL\xc0x\xbf$\x92\x97\xa9\xad\xb4\x93\xa8:\xb9\xa8\x9a\x88GRw\x16B\xcd\xc3\xc3\xc3-T\xc0\xb8\xdc\xec*4\xa9\xae\xba\xa8\xb7\x08\x98\x99\xc5t\xb2\xf9\xf7\x88\xaf\x85Y\xe3\x18\x95\x07\x00{\xe2\x140R\xa6Mf\x91\xcf\xff\xf1/R\x89\xd5'\x86>\xfe\xe9)q\x87\xf6,\xe4\x8b\xf8\xf4i\xfc\xac5\xd9\x9dMX]8\xf6\x9a\x20`\xea]\xb1I\x84\xe80\xb0\x01\xd5\xf6\x1b\x81c\x19f\xd4\xe6<\xad\x87\xc0z\x16\\S\x92%}\x11+\x1f\x99;\xba\x80\xb1Q\xd4\x20\xb2\xac\x8a0\x0c\xf8,&\xdb7\xe7\xa2\xccF\x8b\x07\x01\xbd\xb5\xc6\x93\x8c\x130}2m8\xd3\xbd\xa7'\xb8\xce\x12\x99\x9b\xf7`\x96w\xad\xaaB%\x05\x82\x07Q\xc0&\xf6L0\x01\xe3\xfd\x12\xd2\xad\xafI\x91j\x86\x87\xd5\xe1\x9fx$ug\xdc\x1c\x18\x9f\x9bM\x85FT\xf7\xd6I|.\x0bm\x0elz@\xf4\x1b52\xb7\x90\x1b\x00\xd8\x12\xaf\x80=\x87\xb7\xdf\xa1\x9f\x7f\xa0K'\x8ejkU\xf7\xe27\xc4\x1d\x9a\x80]\xc4O=\x85/\xccJ\xf6\x82*j\xb7+\x05\x01[\xc5\xe6\xaf~\xa1F]\x1dC\xeeZt\x92p\x98\x17w\x95g\x84\xc1\x16:\xb1\xa6\xd4\xc1\xfa\x0euI\x97f\xd9\x0a\x06\xe6\xa6\xc4&\xdc\xda\x91e\xa5\x93a\xc0e1B\xbb2S\x9d\x8e6\x8b3\x1e\xbd\xb5\xc6\x93\x8c\x13\xb0rm#\xb7\x80Nk\x97[\x04\x8c\xf7`\x96\xb7\xda\xc3\x92x\xaa\x05\x0f\\\x16\x01u\x85\x03\x150\xde/\x913\xeb\xb3\xd5\x0e\xa7y\x8fV<\x92\xba3N\xc0\xb8\xdc\xec*4\x89\xd8\x1e\xeb$>\x97E\xc0\xc1z\xd4]hB\xa8ET\x01\x13r\x03\x00[\xe2\x15\xb0\xcb^\xfc\x822\x00\xbc\xb8\x89\x8a\xcf\x0d/~\x83\xad\x03+\xfeN\xdc\xa1\xbf\x8d\xa2\xb2\xa8\xa8\xe2\xce\xacd\xd7\xd6\xe3_\xdf!7\x0fZ\xd6\x81\xe5)\x0avR\xd2fJ\xeeG\x8eta\xad\x81yq\x0f\x20\xb6\xd0\xbe\x9e\xcd\xe8\x14\x16\x12\xf2-\xfb\xe1\x1b\xc9X\xb6\xcf\x0b\x98i\xc0mJ\x99StE\x925\x96\x9aa\xc0e\xd1\x80\xce\xb0]\xdb,\xce\xc8\xd8a]/\x8d\xd6\x1aO2N\xc0\xf4n\x8c\x9bJ\xc7L\x9eE\xc0x\x0ffy\xfb\xd8\x84U'\xea\x13<pYp\x02\xc6\xfb\x9d.\xa8'\xdb|3F\x16\x0c\xe1H\x1a\xce8\x01\xe3r\xb3\xadP\x81[\xd1\xc7\xf0*\x8b\x80qYL\xa6\x97+C\xc2\x99B\x8fX\x8b\xa8\x02&\xe4\x06\x00\xb6\xc4+`\xe4\xfcz\xec\xdd^\x89\xf1nz'\xf1|\x11\xde\xb8}\x13.:o\xd9\xa1\x0b\xd8\x1b\x98=FdM\xf6q\x11.\xfb\x89\x17\xef\x13\x04\xcc\x97\x9ar\x9f\x1b\xe9s\xf9\xc7\x91\xf0\x18\x91\x1aYl\xa4:%(\xd3\x20\xdc\xfe\x93\xbd\xd5\xe8\x04\xdd\xd1\x205\xf7\xf8\xd2h\xe7\xedq}\xd1\x85`\xcb\x19p\x9b\x12\xca\xef:\x9e\xe3\xb4\xdeO4\x0d\xcc,\x1aP\xfa\x81\xbe\x9ej4(\x1a\x10Rj\x0cqG\xdaP\x8b:\x18\xb5O\xa6\xdbN\x0f\xb1[yl\xd2\xae\x01mn;\x9c\x8f\\MC|\xd1y\x0f\\y\xab\x92\x02}\x81\xa4*\xd1\x83\x99\xc5\xa4\x7f\xdd7\xca\xd7o\xd6\xf9'9\xbf\x91`\xadk\x9c\\r\xee\x0aF\xe8J|\xa3\xdeFy9g\xc2J|#\xb7\x18\x15\xe2V\xe2\x87\x1c\xeeC\xf5\x19I\xc9\x1d!u%~K0xU8$\xe4\x8c\xe3\xfe\x8e^_r\x90\xaf\x05W\xe3X\x95\x07\x00{\xe2\x160r\xed\x85\xca\"\xef\xf6S\xeaJ\x88\xcb\xcfV\x14\x95\x1d\xbcl\xdd\xa1\x0b\xd8\x0ds\x9a_H\xf6\xb7\x83e\xde\xed\x17>\x16\x04,0\xeaKs\xac\xed\xd7\xbeOI\xc2cD,\xb2X(M\xf9\x97\xdeh\x1cX\x97\xe1\xd4,#;2\x1c\x0f\x0e+\x1b\xdf\xa6VE\xb55\x0c\xf8M\xe9\xf1jgV\x95L,p\xb6F\x16'\x0a\x0f\xb9S2\x0b\x07\xad\x06\xa4\xc3\xd5\xaen\xdcJW\xb2J\x9d\x8a+\x99a;\xaa>DXB\x7f\x9ci\xc9\x91\\\xfe\x0e\x8fT\xc8\x17\x9d\xf7\xc0\x97\xf7X\x9e\xb6\x0e\x8c\xf3`f\xd1\x80\x10\x9dj\xdaF\x9fg4\xfd\x0e(\x86ud\x87\xf2\xefY\xfa,\xa4:\x85\xce\x97\x97s\xa6>\x0b\xa9\xf8a\xb3\xf2zn1*4\xca=\x0b\x19.\xcd\xc8\xde\xd3\x91\xac\x14\xbdZ\x9b\xf8\xf2\xf3Y\x10\xfa,\xa4#\xb34$\xd4\x82\xabq\xac\xca\x03\x80=v\x02\xb6\xd4\\\x8a\xe31\"\x81\xc0|\x16x'Z\xa4\xebD+/\x00,1+M\xc0\xea\xd1<C\xdb\xd6\xd4\x90\xf81\x05!2\xa6\xb2\xe8\xcf\xf6,*\x20`\x000'+J\xc0Bc]\xab\xa4Y\x03\xbcE\xc4\x14\x84\x07\xb5\xd1\x8eu>\x7fe\x01\x02\x06\x00s\xb2\xa2\x04\xac\\Q\x94\xbb\xd8d\xd5\xd9b\x95p\xaf\xca<\xc6\x9fK\x0e_^\x00\x00\xa2\xb0\xa2\x04\xac)\xd55\xcf\x01\xe4\xbc`\xb3\xc5cvV+\x87D+/\x00,9+J\xc0\x00\x00\x00\xe6\x03\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\x0b\x08\x18\x00\x00\x09\xcb\xe2\x0a\x98\xfe(\xd1\xdc\xdc\x8d\xb8\x90\x00\x00\xfc\x00\x01\x01\x03\x00\x20aY\\\x01\xbb\xfc\xeb\xf3v&\x04\x04\x0c\x00\x80Ebq\x05,>@\xc0\x00\x00X\x14\xee\x15\x01\xdb6\x9fg\xba\x01\x00\xb87\xb0\x13\xb0\xdf\xe0S\x17*\xbd?\xb9F\xc8\x8d\x17+\x8b6\xed\xbd\xa0\xfe|\xedH\xe5\xfaM\xfb\xd4W\xdcs;\xe8\x1c\xd8\x1b\xfa<\xd8\xb3\xec\xa5\x86B\xb2\xcf\xf7n*~\xea\xa2E\xc0\xc2\xe5NG>\x8da\xd3\x82r\xd5\x1f\x0f\x08/5\x8c\x870\x0a\x90Z\x94\xd4eg\xb7x\xf4$k\x8f\x83'w\xdb\x99\xce\xcbv\x81\x1cB)\xf4\x95\xb6}\x0et(\xbaA?+@\xc6C1\x1f\xfeT\xdf\x07v\x08\xa9\xef\x03\xb3a\x84{\x1f\x98\xc2X\x0a;u\xf4}`\x8e(\x19\x84|i\x99\xfe\xc1L>V\x0b\x00,\x0a\xf6\x02\xf6\xa2\x17\xe3\xe2\xdb\xe4B1\xf6n\xad\xc4\xf85\xfa\xeby/.\xde^\x86Yl\x0f~\x07\x15\xb0\x7f\xe0\"\x16|\xe8v1}\xa9\xa1\x90\xec\x14\xc6\x15[\x8b\x8av\x0b\x02\x96\xebD\xb9\x1e\x84\xca\x09\x99H\xd1\xa2B{\x84\x97\x1aF\xe5\xac\x18\x97\xa3j\xd5\xb7\xf4\xd9g\xeeIp\xce\xc0b;\x9b\x85\x184\"\xed\xf5\xa3(v\x04\x0a=Y<\xb6\x0bD\xcfb\xc2\xef\xf0)\x1f>\x88\x9f\x8f(\x00\x00\x09tIDAT\x87\x7f\"\xba!}#kp\xf0\x98G\x0c\x8a\xc9!\xbc\x915\x06\xc6q\xe0\xde\xc8\xca\x18b\xef\xc4god\x9d\xfd\xf8\xf9@\xda\x9a\xe3\x9dyh>/n\x03\x80\xf8\xb0\x170\\y\xfe\xc2ir\xa3\x18\x1f\xbd\xadt\xa16\xd10C\xdf\x15\xe3\x97\xd9;\xf1\xbd\xdf\x8b;\xd8]\xc8\x9d4\xae-\x8d\xfe\xb8\x95\x88{/\xe2\x07N\xdf!\xdf?ey'~\xb6\xd2\xa4\x06\x1c46D\x09\xa21\x1d\xc8H\x1c/5\\\xe3\xe7\xbf\x85\xd5\xf0\xb8\xfc\xdbg8\x03\xd16\x0a\x0b1h\x91\xb4\x17\xc0\xa7\xf2Q,E\xf4d\xf1\xd8.\x10\xa3d\x81\x12\xc7\x14\x99t\x94\x04b\x9a\xb2\xa33\xe5\x16b>\xf1\x08\x91\xb9\xa3\xc3\x1f\x87aA\xaa\xacQ\x898&\xd3K#\xf4\xcd\xfe\x20`\xc0\xe2\x13\x87\x80\xb1\x97C\x1f\xc5{\xd9\xf7\xf7\xf1\x8f\x09yY\x0d\xd7Mv+R%\xec`\x02vZ\xdd{\x10\x9f\xb2$;\x88\x8f\xd2\xed\x9be\xa2\x80\xb1\x06s\x0ce+C-U\xb9v\xa1\xd8\xadPG\x0ctV\xad\xbeE\x8c\x17\xb0\xa8a\xd5b\xb0\x10\x83HXk\xad\xe1\xd8\xefD\xd4\x93\xc5c\xbb@\xb8\xb0j\xbe.r\xc2\xe7\xb7\x110\xd2\x90:\x13c\x7f\x1c\x02\x16=N\x1ce\x0e\x01\x0b\xa4\xb2\xb1c3\x08\x18\xb0\xf8\xd8\x0bX%\xfb|X\x0b\xf0x\x9b\x86\xaa\xdd\xa2}\xb9q\xe3\x8e\xb8\x83\x09\xd8\xcd\"\xfcO\xe5_/\xfd\x97\xdf{g#\xbe\xc8\xbe\x1c\x15\x04l-\xfb\x9cJR\xae\xef\x88\x93^\xfe3.\xf3R\xafE)\xedu9\x0e\x9f\x1aO\xe3DAZ\xce\xe3\xb7\x08\xe9\xd5\xa6\x94\xf25\xab\xb1\xe4]\xecS\xda\xa3\xd9r\x06\xdcf-Jn\xadqg\x94\x8a\x0dIt\xa6gAH\xd0\xe7Nq\x95d\xcf\xce\xcd\xc4l\xad\xf6\xc94\xdb\xd1d\x84\xea\xc3U\xd9\x8e\x0d\xd3djs\x96\xe4.\x1d%\x96j\x1a\x1e\xc4\xf2\xb6\xe5k\xef\xc47=\xf0Y\x04\xfcm\xe5\xa4\xe4\x15*`\xa6\xdfP2\x8d\xcc\xe8F\xc8\x19\xd1\x05\xac19\xc2\x95\x97/\x8e\x20`zn\xb6\x15\"D\xae\xcar\x96[\xc3\xaaq\x87D\x8b\x0b9\xd1\x1c\xe1\xfcr5\x8e^y\x00\x88\x07{\x01c\xdd\xa9\x9b\x18o\xd9\xce(\xc2\x17\xc8z\xfc7}\xbf\xb8C]\xc8\xba\x8f\x8e!\xdf\xa7\x09\x85\xbd\xdfc\xac\x86\xf68-\x08X\x9d\xba\x91M\xe3\xcdoC;hD\xae<cw\xa83\x19\xb9\x1a\x9a\xd3Y\xec\xc2\x9a\xa4\x1d}\xad\xae\xfc\x19r+\xc8b\xe9\x04u%\xaa\x91T\x81\x93Pngo\xa6b\xcb\x19p\x9b\xd4Y\xf6\xe1\x9fg\x8b\xd3@\x823#\x0be\x1c\xfbh\xf7@\xbb\x0bM\xcf\xca\xcd\xc4h\xadq$\xd3l#';\xb3s\xd2\xdduU\xe8*\xe9C5\x83'K\x93\x86\xc5j\x9a\x1e\x84\xf2VK\xf5}\xf5R\x95\xe0\x81\xcf\"\xe0\x1fO\x9b\\%S\x013\xfd\xce\x0c5$\x0d\x91\x0et\x82\xaa\x99*`\xf9y|y\xf9\xe2\x84P_$\x12\xe9GBn\xb6\x15\"agNG\xaf\x0fY\x05\xcc\xcc\"\x89\x1b7\x1b~\xb9\x1aG\xaf<\x00\xc4\x83\xbd\x80\xb1\xa8D\xdfa\x93\x8f\x95\xee\xd4\x0d}\xbf\xb0C\x13\xb0\xf3x7!O\xe1\xf7-{\xafa\xac\xa69/\x08\x98\x16Om5\xea&d\x08\xb9f\x88\x1f\xf13E\x92S\x11\xa7*\x17\xa1\xed\x92\xde\xaa\x1cf\xa1\x05\x85\xc1\xcc\xd5\x94Z\xcd6sRi9.b1\xe0\"sgO\x112\xe9.\x20\"\x86\x01\x97E\x9b\x8b6\xa26\xa7\xc5\x83\x80\xdeZ\xe3I\xc6\xc5\x85D>\xa5\x14\xca\xff\x91.:]\x9e\xc7\xe2c\x9b\xd5\xe4=\x98\xe5=\xc3\xbaG\x03\xa8_\xf0\x20\x0c!I\xde\xb65,.$\xef\x97T\x17L\xb8Y\xfcG\"\xd5Gn\x8d\x96\xa3\x0f\xadGRw\x16\xd2zX!!7\xdb\x0a\xad\xf5\xdc\xa2Q(-\x02ff1\xa6E\xfc\xa4\xf0\xb50k\x1c\xa3\xf2\x00`O\x9c\x02v\x93\x0e\x10u\xee\x98A\xd3\xc4\x1d\x9a\x80\xdd\xde\x88\xbf\xff'\xf6\xde\xb4\xecU\xbe\xb0\xdb\x93J\xe7\x8c\x17\xb0\xc7\xd5\x0d7mY\xc4\x83\xceF\x1c\xc9\xfc\xfdv\x16\xb6\x96\xcd\xb0\xf8=\xd3\x14\xb7\x1a\x9c\x9akJ\xb5\xfakK\xa5\x1ab\xcc\xc6D\x1706C\xd4\x86&\x89\x80a\xc0e1\x9e\xe5\xa9=>J\xa6-\x1e\x04\xf4\xd6\x1aO2N\xc0$=\xc4\xf7D\xdb\x06\x8fS\xedo\x9a\xd5\xe4=\x98\xe5\xadQC\xa2\xad\xae\x16=\x08\x02\xd6\x84\x1a\x99\x80\xf1~I$/S[i'QurQ5\x11\x8f\xa4\xee,\x84\x9a\x87\x87\x87[\xa8\x80q\xb9\xd9UhR]uQo\x1103\x8b\xe9d\xf3\xef\x11_\x0b\xb3\xc61*\x0f\x00\xf6\xc4)`\xa4L\x9b\xcc\"\x9f\xff\xe3_\xa4\x12\xabO\x0c}\xfc\xd3S\xe2\x0e\xedY\xc8\x17\xf1\xe9\xd3\xf8Yk\xb2;\x9b\xb0\xbap\xec5A\xc0\xd4\xbbb\x93\x08\xd1a`\x03\xaa\xed7\x02\xc72\xcc\xa8\xcdyZ\x0f\x81\xf5,\xb8\xa6$K\xfa\"V>2wt\x01c\xa3\xa8AdY\x15a\x18\xf0YL\xb6o\xceE\x99\x8d\x16\x0f\x02zk\x8d'\x19'`\xfad\xdap\xa6{OOp\x9d%27\xef\xc1,\xefZU\x85J\x0a\x04\x0f\xa2\x80M\xec\x99`\x02\xc6\xfb%\xa4[_\x93\"\xd5\x0c\x0f\xab\xc3?\xf1H\xea\xce\xb890>7\x9b\x0a\x8d\xa8\xee\xad\x93\xf8\\\x16\xda\x1c\xd8\xf4\x80\xe87jdn!7\x00\xb0%^\x01{\x0eo\xbfC?\xff@\x97N\x1c\xd5\xd6\xaa\xee\xc5o\x88;4\x01\xbb\x88\x9fz\x0a_\x98\x95\xec\x05U\xd4nW\x0a\x02\xb6\x8a\xcd_\xfdB\x8d\xba:\x86\xdc\xb5\xe8$\xe10/\xee*\xcf\x08\x83-tbM\xa9\x83\xf5\x1d\xea\x92.\xcd\xb2\x15\x0c\xccM\x89M\xb8\xb5#\xcbJ'\xc3\x80\xcbb\x84ve\xa6:\x1dm\x16g<zk\x8d'\x19'`\xe5\xdaFn\x01\x9d\xd6.\xb7\x08\x18\xef\xc1,o\xb5\x87%\xf1T\x0b\x1e\xb8,\x02\xea\x0a\x07*`\xbc_\"g\xd6g\xab\x1dN\xf3\x1e\xadx$ug\x9c\x80q\xb9\xd9Uh\x12\xb1=\xd6I|.\x8b\x80\x83\xf5\xa8\xbb\xd0\x84P\x8b\xa8\x02&\xe4\x06\x00\xb6\xc4+`\x97\xbd\xf8\x05e\x00xq\x13\x15\x9f\x1b^\xfc\x06[\x07V\xfc\x9d\xb8C\x7f\x1bEeQQ\xc5\x9dY\xc9\xae\xad\xc7\xbf\xbeCn\x1e\xb4\xac\x03\xcbS\x14\xec\xa4\xa4\xcd\x94\xdc\x8f\x1c\xe9\xc2Z\x03\xf3\xe2\x1e@l\xa1}=\x9b\xd1),$\xe4[\xf6\xc37\x92\xb1l\x9f\x170\xd3\x80\xdb\x942\xa7\xe8\x8a$k,5\xc3\x80\xcb\xa2\x01\x9da\xbb\xb6Y\x9c\x91\xb1\xc3\xba^\x1a\xad5\x9ed\x9c\x80\xe9\xdd\x187\x95\x8e\x99<\x8b\x80\xf1\x1e\xcc\xf2\xf6\xb1\x09\xabN\xd4'x\xe0\xb2\xe0\x04\x8c\xf7;]PO\xb6\xf9f\x8c,\x18\xc2\x914\x9cq\x02\xc6\xe5f[\xa1\x02\xb7\xa2\x8f\xe1U\x16\x01\xe3\xb2\x98L/W\x86\x843\x85\x1e\xb1\x16Q\x05L\xc8\x0d\x00l\x89W\xc0\xc8\xf9\xf5\xd8\xbb\xbd\x12\xe3\xdd\xf4N\xe2\xf9\"\xbcq\xfb&\\t\xde\xb2C\x17\xb070{\x8c\xc8\x9a\xec\xe3\"\\\xf6\x13/\xde'\x08\x98/5\xe5>7\xd2\xe7\xf2\x8f#\xe11\"5\xb2\xd8HuJP\xa6A\xb8\xfd'{\xab\xd1\x09\xba\xa3Aj\xee\xf1\xa5\xd1\xce\xdb\xe3\xfa\xa2\x0b\xc1\x963\xe06%\x94\xdfu<\xc7i\xbd\x9fh\x1a\x98Y4\xa0\xf4\x03}=\xd5hP4\x20\xa4\xd4\x18\xe2\x8e\xb4\xa1\x16u0j\x9fL\xb7\x9d\x1eb\xb7\xf2\xd8\xa4]\x03\xda\xdcv8\x1f\xb9\x9a\x86\xf8\xa2\xf3\x1e\xb8\xf2V%\x05\xfa\x02IU\xa2\x073\x8bI\xff\xbao\x94\xaf\xdf\xac\xf3Or~#\xc1Z\xd78\xb9\xe4\xdc\x15\x8c\xd0\x95\xf8F\xbd\x8d\xf2r\xce\x84\x95\xf8Fn1*\xc4\xad\xc4\x0f9\xdc\x87\xea3\x92\x92;B\xeaJ\xfc\x96`\xf0\xaapH\xc8\x19\xc7\xfd\x1d\xbd\xbe\xe4\x20_\x0b\xae\xc6\xb1*\x0f\x00\xf6\xc4-`\xe4\xda\x0b\x95E\xde\xed\xa7\xd4\x95\x10\x97\x9f\xad(*;x\xd9\xbaC\x17\xb0\x1b\xe64\xbf\x90\xeco\x07\xcb\xbc\xdb/|,\x08X`\xd4\x97\xe6X\xdb\xaf}\x9f\x92\x84\xc7\x88Xd\xb1P\x9a\xf2/\xbd\xd18\xb0.\xc3\xa9YFvd8\x1e\x1cV6\xbeM\xad\x8ajk\x18\xf0\x9b\xd2\xe3\xd5\xce\xac*\x99X\xe0l\x8d,N\x14\x1er\xa7d\x16\x0eZ\x0dH\x87\xab]\xdd\xb8\x95\xaed\x95:\x15W2\xc3vT}\x88\xb0\x84\xfe8\xd3\x92#\xb9\xfc\x1d\x1e\xa9\x90/:\xef\x81/\xef\xb1<m\x1d\x18\xe7\xc1\xcc\xa2\x01!:\xd5\xb4\x8d>\xcfh\xfa\x1dP\x0c\xeb\xc8\x0e\xe5\xdf\xb3\xf4YHu\x0a\x9d//\xe7L}\x16R\xf1\xc3f\xe5\xf5\xdcbTh\x94{\x162\\\x9a\x91\xbd\xa7#Y)z\xb56\xf1\xe5\xe7\xb3\x20\xf4YHGfiH\xa8\x05W\xe3X\x95\x07\x00{\xec\x04l\xa9\xb9\x14\xc7cD\x02\x81\xf9,\xf0N\xb4H\xd7\x89V^\x00XbV\x9a\x80\xd5\xa3y\x86\xb6\xad\xa9!\xf1c\x0aBdLe\xd1\x9f\xedYT@\xc0\x00`NV\x94\x80\x85\xc6\xbaVI\xb3\x06x\x8b\x88)\x08\x0fj\xa3\x1d\xeb|\xfe\xca\x02\x04\x0c\x00\xe6dE\x09X\xb9\xa2(w\xb1\xc9\xaa\xb3\xc5*\xe1^\x95y\x8c?\x97\x1c\xbe\xbc\x00\x00DaE\x09XS\xaak\x9e\x03\xc8y\xc1f\x8b\xc7\xec\xacV\x0e\x89V^\x00XrV\x94\x80\x01\x00\x00\xcc\x07\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x16\x100\x00\x00\x12\x96\xff\x0f}\xc6-\xc8\xe3>\xf6\xcf\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/chan2a.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\x89\x00\x00\x01\x95\x08\x03\x00\x00\x00M@Q-\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x0a\x03\x01\x04\x06\x02\x07\x0a\x06\x0e\x10\x0d\x0d\x12\x14\x0e\x12\x1d\x11\x13\x10\x16\x18\x15\x1b\x1a\x13\x13\x1e7\x1f\x1f\x18!#\x20#$\"%$\x1d%%\x1e$%#%'%'(&+)\x1e()'*+)/,!+-*,-+-/,02/63(241564796<9.9;8<=;=>FA?3>@=#CxDA5AB@DFCFHEKH<MH7IKHKLJNOMUP?PROSTRUVTWXV]XG<Z\xa5_ZIY[Y,`\xae7]\xad[]Z\\^[9a\xab;b\xac<c\xad_a^faO]ao>e\xafac`hcQbdaAg\xb2efdCi\xb3ghfMj\xafEm\xb1qjRikhIp\xb4lmkLr\xb7npm{s\\rtqWv\xb6tvsuwt\\z\xbaxzw]~\xb8e|\xb8\x84|dX\x80\xbf{}za\x7f\xbf|~{~\x80}b\x82\xbc\x7f\x81~d\x85\xbf\x82\x83\x80\x83\x85\x82m\x87\xbdh\x88\xc3\x90\x86hj\x8a\xc4\x87\x88\x86r\x8c\xc1\x89\x8b\x88t\x8e\xc4\x97\x8do\x8c\x8e\x8bz\x8f\xc0\x8e\x90\x8dx\x92\xc8\x90\x92\x8f~\x93\xc3x\x95\xc4\x92\x93\x90\x81\x95\xc6{\x98\xc8\x94\x96\x93\xa0\x96w\x96\x98\x95\x82\x9a\xc4\x97\x99\x96\x83\x9c\xc5\x86\x9b\xcc\x80\x9d\xcc\x9a\x9b\x98\xa5\x9b|\x87\x9f\xc9\x83\xa0\xcf\x9c\x9e\x9b\x89\xa1\xcc\x9e\xa0\x9d\xaa\xa0\x81\xa0\xa2\x9f\xa1\xa3\xa0\xa2\xa4\xa1\x91\xa5\xca\xae\xa4\x85\x8f\xa7\xd1\xa4\xa6\xa3\x94\xa7\xcc\xa5\xa7\xa4\xb4\xa7\x83\x92\xaa\xd4\xa7\xa9\xa6\x97\xab\xd0\xa9\xab\xa8\x9d\xad\xcc\xab\xad\xaa\xa5\xad\xc1\x9f\xae\xce\xbb\xae\x89\xad\xaf\xac\x9e\xb1\xd7\xa2\xb1\xd1\xaf\xb1\xae\xa5\xb4\xd4\xa2\xb5\xdb\xb3\xb5\xb2\xc3\xb6\x91\xb5\xb7\xb4\xac\xb7\xd2\xa9\xb8\xd8\xb7\xb9\xb6\xb9\xbb\xb8\xad\xbc\xdc\xb1\xbc\xd7\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xb7\xbf\xd4\xb1\xc0\xe1\xbf\xc1\xbe\xb6\xc1\xdc\xb9\xc1\xd6\xce\xc1\x9b\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xba\xc5\xe0\xc4\xc6\xc3\xc6\xc8\xc5\xc0\xc8\xdd\xbd\xc9\xe4\xd8\xc9\x9e\xc6\xca\xda\xc0\xcb\xe6\xca\xcc\xc9\xc3\xce\xdc\xbf\xcf\xe2\xc8\xcd\xdc\xcd\xcf\xcc\xc8\xd0\xe6\xcc\xd0\xe0\xcf\xd1\xce\xc6\xd2\xe0\xdb\xd2\xa5\xe1\xd1\xa5\xd1\xd3\xd0\xd2\xd3\xdd\xd3\xd5\xd2\xcd\xd5\xeb\xce\xd7\xdf\xe6\xd7\xab\xd6\xd8\xd4\xd1\xda\xe2\xd8\xda\xd6\xd8\xd9\xe3\xd6\xda\xea\xd3\xdc\xe4\xda\xdc\xd9\xd8\xdd\xe0\xd2\xde\xec\xdc\xde\xdb\xdc\xdd\xe7\xe0\xde\xe2\xdb\xe0\xe2\xde\xe0\xdd\xf0\xe0\xb3\xd5\xe2\xf0\xe0\xe2\xdf\xde\xe3\xe5\xde\xe2\xf2\xe2\xe4\xe1\xe1\xe6\xe9\xe4\xe6\xe3\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xec\xe7\xe9\xe6\xe8\xe9\xf3\xe2\xeb\xf3\xe9\xeb\xe8\xec\xee\xea\xe6\xef\xf7\xe8\xf1\xf9\xef\xf1\xee\xf0\xf0\xfb\xf2\xf4\xf1\xf1\xf6\xf9\xf4\xf6\xf3\xf7\xf9\xf6\xf5\xfa\xfd\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf9\xfe\xff\xfc\xfe\xfb\xfe\xff\xfc\xfa<^\xc5\x00\x00\x20\x00IDATx^\xed\xbd\x0fX\x15\xd7\xbd\xef}^\xdb\xf7\xcd\xed\xdb\xc5y`\x1f\xe9\x16\x0aD\xde\xcb{\xc0s\x94\x83x\xdf\x9b\x8cA\xbc\xafy\xfd\xcbE\xe5`Qo\x8f1\xb4\xc46\x86T\xebc8\xf14\x98\xee\xa6H\x11o\x12RJ\xbc\x1e\"\x09\xdd\x16\"\xd1Rk$\xec<MHKbO\x09I(m\xec\xb17x5h\xaa\xd3\xd4\x1eBD=>\xf3\xbc\xb3\xe6\xefZ\xb3g\xefa#\xcc\xf0\xe7\xfb\xc9\x93\xbd\xd7\x9e\xf9\xad5k\x96{\xbe\xac\xb5f\xf6\xfa\xfe\x854vD\x00\x00\x18\x17\xfe\xc2In\xa2\xe0T6\x00\x00\x8c\x0e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\xd0\xb8\xec\x14\x00\xc0\xc4\x01%\x02\x94\xbe\xa2T\xb2\xdc)\x08\x80\x09c\xda+Q}N\x9fSH\x8c\xf4\xe7\xd4;\x85LB\x94v\x88\\\xf5\xac\xac@\xd3\xe9\x08\xfb\x00\x98x\\W\xa2\xe6\x10}\xbdT]\xa9R\xa3n\xed\x0c4D\xcb$\xfe\xcfG\xd7\xe4o\xbb\x125\xc4\x9e\x1dd\xbbSH\xcc\xec\x88\xdb\xe1\x14\xe2D\xe7b\x7f\xda\xea\xe6\xb4>q\x1d!\xc4\xdf\xa5onJ\x89\xde\x0c\x0c\xf5Y\xb3\xe7\xd5.\x18u\xb8\xd6\x0e\x91\xaa~\x8a4\xdan\x07\xc0%\xdcV\xa2\xbe\xca6\xfav\xbe\xb2\xbdW\xe6X\xe5)e\xeb\x99@Ku\xb4\\\xe2W\x0b\x0e\xef\xce\xff\x20j\x88-\x15qUN!c\xa0!\xbe\xc2)\xc4\xa0\xb9\xddfc\xa3?;\xb0\x7f>!!\xb1'\x18\xdcCZ\xf5\xed\x0d\xfe\xa7l\xa2M\xcc\xc2*Ha\xfd\x16BF[\x0f\xa3\x1d\"T\xbd\x8d\x04\xed6\x03\xe0\x16.+Qo\xad\xaaDb\xe7\x80\xfc2P\xdd\xa2nnh\xea\x89\xaaD\x1f\x08\x87\xc4+\x17\xa2E\xd8\xd3\xed\xbb?z@\x7fn\x7f\xf4\x00{\xca|=N!:\xd9+\xc3\xb7\xf5'\xdd;(\x9f}\x06Q\xfa\x87m\xa6\x129a\x14\xd6E\xca\xe4\xd7M\xa3U\"\xa6\x1d\xec\xab\x1eC\x1d\x00\x98\x08\xdcU\xa2\xe6\xca\xe6@\x9b\xf9\xf1\xe0S\x97\x94\xf7\xce\xaa\x81\xde\xa8J\xf4\xaep4\xda\xee\x88\x14\xa5\x0dD\x0f\xe8$\x9d\xd1\x03\xec\x19H+r\x0a\xd1Y`\xa3D\xf7'*sW\x15D\x19\x96\xc5\xa0\x02Fa\x85)\xb2\x94\x89!\xb2'Z\xb4\x09\xd3\x0e\xf6U\x8f\xa1\x0e\x00L\x04\xee*\xd1\xf9\x01\xb1\xba\xcd\xf8\x14\xaaT'\x93\xcf\x06\xba\xc4(Jtq\x8d\xa0\xb0W\x14\x1f\x15\x84#\xe2\xbby\xc2\x06\x9a\xcc;\xbcwC\xfe\xb6\xdf(1\xef>\xb4&\xaf@K\x9b\x0c&m\xd5\x93]+S\x12R\xef\xe9\xe5vWd6\x84H\xa8!s\x0f_\xc2\x95\xc3\x9b\xf37\x1e\xba\xc2\x1d\x82?\x9a\xdc\xb3H<\xcf\x15%\x16\x93\x84\xc0\xa6L\xff\xe2\x1e\xe5\xd3\x9e\x05\xfe\xf9\xb4\xd4\x06\xa2\xb2@\xd9Z\x9d\xe3\xcf\xdcD%!C\x15\x83\xfe\x0a*'\x86\x0a\x9cI$$N\x9b73b\x99r\xd9\xc2\x92\xd5\x13\xab8\xcd\x1e\x8d\xaf\x83q4\xae\x1dl\xaaNi\x86\x12\x01oqW\x89d\x18%\xaamR\xdf\x1b\xe4\xf7h}\xa27:\x8e\x08\x07::\xde\x17\xc5\xdft\xe4\x1d\x10\xaf\xbc\xfa\xc8\x12Q|\xebH\x9ePp\xe0\x07+\x1e\xa2\x11//\xdb\xfc\x83\x13\x07\x84g-\x19\xdbI\xb3\x96j\x9e\xb3`G\xd3v\xcb`\xa6\xb7\x90d\x91yde\x0f_\xc2\xee%\xfb\x8e\xef[\xb2\x9b;\x04w4\x99\x16\xeb\x95\x1b\xaa\x89')\xdb+\x92\x94;\xe1\xeb|e\x0de\xbeB\xb9\x03\xd2\x12\xcc\\\x18\x0c\x06\x95QXQ\\ICE\xca\x82\xcb\xe2`\x1cW\x0f\xa3?r,\x18\xf4i\xf3\xebF,S.S\xd8\x19\xc2L\x7f\x19G\xe3\xea`\x94\x20\xb2\xed\x20\xdaT]\xbc\xd4\xd7\x9c\x9d\xec\xd0y\x04`b\xf1P\x89\xba+{\x94\xf7P\xd5@t%bGgK\x0e\xc8/\x07\x96(\xc9\x15r\x0feg\x81\x9c\xba\xb8v\xdbE\xf9\xf5\x88uJ\xbb\x81t\xab\x89\xf3s\x17\xcb\xdd\x8f\xc1Z\xeb\xa4Pc\x02I8(\xf2%\x1c\x17N\xc8\x1bN\x08\xc7E\xf6\x10lR\xa6\x87\x84M-\xfb\x92{\xe8\xa8\x89\x96\xaa\xdc\x88j$J\xc9\xc6\x80\xaaAQ\x8f6\xb2_\xec&\xdc\xbdtvd\x94\xb8\xdd\x12\xcb\x96k\x16\xd6\xa9\xde\xea:\x7f~\x90?\x9a\x19\xcb\x96`\xb6\x03%\xbc\xea\xf7\xca\x1d\xadQ\xdf\x84\x03`B\xf0P\x89\x9aj\x95\xb7\x81@\xe8\xf2\xe5\xcb\xa7\xab\xa3=\xe2k\xafD\xbb\xf5\xe4q\xe1\x0d\xdbl\xf5\xfa\x15x\x90\x9c\xb4\xd9\xdd\xbf\xc97\x97\xa4\xf9\xb6\xf4s%\xec\xde\xa0\xbcmxDd\x0f\xc1&Ez9\xef\xb7\x14&\xfa\xd6\xc9/\xdb}\xf2K\xd1<eC\x16\xdd`*\xd1\xea\x8c\xc1K2s\x8b\xc4\xc1x\xfb>\x91h(\x91\x19\xcb\x96k\x16vV\xd1\x99\xd5\xb2\x824qG3c\xd9\x12\xccv\xa0\x84W\xfdtce\x16\xfaD\xc0[<T\xa2\xaac\xca[w\xa5\x0e?\x8b\xc3b\xafDF\xf2Y\xe1\xa2m\xb6V\xfd\x1a\xaf\x206s#\xe2\x8e\x94\xca\x10\x09U\xa4\x94s%\x94nS\xde\xb6m\x16#\x1c\x8d\xd2FZ,\x85\x89\xca\xc0JQ\x81\x85K\x95\x0d\xf7\xe4\xd0WC\x89\xe6k\xd3<\xf7\x1a\xf3D\x83\x8dZYaJ\xc4\xc42\xe52\x85\xa5\xd0\x89\x9f\xbe:r\xff\x20w43\x96-\xc1l\x07\x8aM\xd5E1H\xda\xc27\x02\xe0\x1e\xde)Q\x7f\xa5\xf6\x87\xba\xbfO\xa6\xb3\xaa/\xca\xb3\xd0\x16%\xdag\xd1\x86\x13\xc2/l\xb3\x0d\xe8\xd3.M\xc4\xee\xa9\x1eqP\xb9wF\xa7\x8d\x99\x12v\xaf\xa7OP^YO\xfb@\x11\x95\xa8\xdcw\xd6Z\x98\xa9\x02E\x19\xca\x86\x0c\xb3O\x148-\x0f\x9a2\xda\x15\xfa\x8d{g\xb5Dy\xb3Q\"&6\\\x89\x94\xc2Ri\xad\xeb\xe8\xc4\x17{43\x96-\xc1l\x07\x8aM\xd5q\xef\x0cx\x8ewJ\xd4]y\x86\xd9<\xday\xa2\xfc\xbd\xb2J\xfc7\x8b6\\((\xa5]\x9a\xc7\xf6Z\xf3\xad\xccP\xc7|\x03i\xb9\xf4\xca-\xd9d\x0d\xe8\xa1\x13+\"W\xc2q\xe1\x88\x9c:\xa2\xce\x13EP\xa2\xcbY\xf7XKbT\xa0A\x19\xff\xecW\xe7^rs\xe5\xce\x0b\xa9\xa539\xb5\xf4sY9}\x9eh\xb9\\\x9d\xcb\xb9\xaa\x86\xd8(\x11\x13\xcb)\x91QX\x97\xf2\xc8t.U\"\xf6hf,[\x82\xd9\x0e\xa2}\xd5\xa1D\xc0s\xdcU\xa2\xf3\xbd\xbdU\xcd\xbdj\xe7'T9hl\xbf,\xf7\x89z#>c\xa8\xde;{\x95vU\xc4\xd2\x82\xa7\x9f\xde,\xe4=\xff\xd6\xfb\x1dy\x8f\xbcz\xe5\x8dG\xf2\xe8=\xb5\x97\xf37\x1c>\xfe\x98p\xd8\x9a\xb3K\xbfK\xd5<;\xeb[\x07KH\xc0\x1a`\xc0\x94\xb0Sx\xe2\xa5'\x84\x9d\xa2\xc8\x1c\x82;\x1a\x1d\xedY\xfbX\xbd\xc1\x84u\xadb\xfb\xba\x84\xa0<\xc6,\x8c\xbb\xbf\xe1\xfe\xb8Be\xc7v_E\xfd\"\x7f\x8f\x9c\xba\x9f\xac\xae\xad/\"Tr\x1b\xfd9U\xf5w\xc5\xcb\xc3$\xe5\x19\xeb\x8a`P\xee\xe7\x0c\xb6\x06\x83\xbeu\xc1\xe0Y6\x96+\x97)\xac\x82\x145\x14\xa9\xcfX\x1bG\xe3b\x99\xa31\xed`Wu\xca1\xbb!\x1b\x00\xee\xe1\xae\x12\x1dS\xe6\x83\x02\xca\xf0\xa0\x9b\xb9\x85\xd3\xcb\xfc\x04-\x8c\x8b+\x94\xc7\x89\xf2\xde\xa6\x1f\xde-\xcd_\xb6m\x9f\x20<\xfa(\xdd\xf4\xcbe\xf2\xeb\xa3\xf2\xe6\xb7\x1f^\xbbl\xb3\xdeob(\x9b\xad]a]+\xe7&\xe5\xd4\x85\x07\x18\x98%\\9\xb4Q\x7f\x9e\xc88\x04\x7f\xb4`\xe2\x16k\xf6bBHB\xa7_~-\x96?U\xccW\x9f\xf0\x91\x19,IN\\\xd8\xa6$\x1bsS\x92\x17*7\xd4\xc4\xce\xbb\xfc\xa9K\xe9C\x95\xeb\xb4\xf9\x1cy\xd8\xd5\x16\xa7&+\xd9X\xbe\\\xa6\xb0\xfa\xac\xc4\x9c\x83s\x95\xd2\xf4\xa3\xf1\xb1\xcc\xd1\x98v\xb0\xa9:\xa5/~\xe5\xa9>,\x0b\x02\xbc\xc3]%r\x9fM\xbeZ\xa7\x90\x98\xd9\xef+\xba\xe4\x143\xd9\xd0\xda!b\xd5\xeb\xb3\xb4\xd9m\x00<a\xba+\x91X1w\xdcW\x05I\xbb\xed\x9f\xe2{\x80\xd2\x0e\xd1\xaa\xdewj\xbc\x1b\x0a\x80\xd13\xed\x95\x08\x000\x05\x80\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x91\x0b\x1c\xdd\xfc\xfb\xa9jb\x0d\x80;\xb8\xaeD\xe1n\xd4\xe7\xab\x94T\x95\xb9\\\xd1\xa4\xe6\x17t\x89\x92\xddQ\x02\x0e\x0b\xcaZk&O\x0b\x07\xe8\xdaJ\xe3`b\x0d\xc0t\xc5m%\xb2q\xa3>Sy\x92\xa6\xa7\xca/\xc1\xff\xf0\xea\xc6\x8d\x1d\xbf\x8e\x12\xf0A\xc7\xe6\x03\xec\xe7C\xc2\xf3j\"\x16\x13k\x00f\x16.+\x91\x9d\x1b\xf5\x99\xca\xd3\xd1\xb2L>\xbeZ\xea\x10\xb0\x8dU\xa2w\xf3\x9e\xd0\x931\x98X\x030\xb3pW\x89l\xdd\xa8\xa7\xb9\x12\xed.\xb8\xa0'c0\xb1\x06`f\xe1\xae\x12\xd9\xbaQ{\xa8D\xe1&\xd6\x7fX\x93\xb7om\xc1\xcb\x8f\xad(\xbd\xc0z_s0Jd8Ws\x85\xc9J\xf4\x98\x20\x08\xf9\xbf\x93\xd3\x17\x971\xeb\xfc\xdb:A\x03\x00\\V\"\xd1\xce\x8d\xfaLe\xd3S\x955A\x0f\xaeQ;\x13\xeb\x97W\x08{K\x855O\xafy\x96\xf5\xbe\xe6`\x94\xc8p\xae\xe6\x0a\x93\x95\xe87;\x85g_\xa3\x9b\xdf\x10:\xcc\x9c\xe1N\xd0\x00\x00\x8a\x87J\xa4\xbbQ\x9f\xad\xac>\xd5\x13\xaa\xdd\xef\xfa\xbd3{\x13\xeb\x82\x9d\xe2q\xe1\xa8\xb8\xdb\xe2w\xc6`*\x11\xe3\\\xcd\x16&+\xd1\xb3K^\xd2C\xde6s\xda\x98X\x03\x00DO\x95Hs\xa3\x16\xc5N\xda\x1d:_\xe5zw\xc1\xde\xc4\xba\xe0\x88\xf8\x9apA|b\xa7\xe8\xacD\x8cs5[\xd8\xb6\x03\x07\x0c\x83\xb6\xa3\xc2\xbbfN\x1b\x13k\x00\x80\xe8\xa9\x12in\xd4:\xc1h\x1e@\x13\x82\xbd\x89u\xc1q\xf1\xb5<qtJ\xc48W\xb3\x85m+X\xb1\xe1!u\xf2H|Ux\xd5\xcci\xeb\x04\x0d\x00\xf0P\x89\x0c7\xea&\xc5+Uln\xb0\x8d\x9f@\xecM\xac\x0bN\x88\xaf-a\x95h\x9f\xbd\x12]8\xf0\x01\xeb\\\xcd\x16\xb6\xad\xe0\xadwWh\xb3O\x17\x9607\xd2l\x9d\xa0\x01\x00\x1e*\x91\xe1F\xdd\xa0t\x86\xfa\xabN\xdag\x988x\x13\xeb\xee\x1d\xaa2\xb2J\xc4x_\x9b\x01\x9a\x12\xd1\xa9h\xc6\xb9\x9a-\x8c\xde\xc5?\x9e\xf7\x9a\x1a\xfd\xf0\x86+\xfa\x01\xed\x9d\xa0\x01\x00.+\x91\xad\x1buO\xa0\xb1\xeb\xf4\xb1\x80\xeb]\"\x8b\x89\xf5R\xa2\xc8\xc4[\xab\x9e\xbdp$\xef\xad\x0b;K\x7f\xc3x_3\x01\x7f\xf8\xf9\xc6\x8d\x1d2\x87\xe9M1\xc3\xb9\x9a)\xec\x83\x8e\xcd\x8f\xbcz\xf1\xc2\xb6\x82\x97\x7fO\xb7\xbf-\xfc@?\x9e\xbd\x134\x00\xc0e%\xb2w\xa3\xeek\xaa\xa9j\xe8\x8c\x9ck\xe2`M\xac\xabR\xa8\x0d\xf4\x955\x82pd\x99\xb0\xec\x88\x20<\xc4x_\x9b\x01\xe2[\x82F\xfe\xdb\x8cs5S\xd8a\xba\xf3\x0d\xb9\x00A\x1d\x97\x1d\xc8\xd7f\x8a\"8A\x03\x00\\V\xa2\x19\xc9\x95\xbdy\xca/b\xa7\xa2\x895\x00.\x01%\x9ax\xae<\xbb\xf6wS\xd5\xc4\x1a\x00w\x80\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0DS\x18\xb8\\\x83i\x83\xebJ\x14\xeeF-\x13:XU\xcb\xaf%\xeb\x16\xdd\x09$+lc\x7fqj\xe2=\x97m\xa2\xc7\x87R\x81\xda\x17\xd1eC8\xe3\xb4G\xe8J#\xcc\xa2\xd7V\xe0r\x0d\xa61n+\x91\x8d\x1b\xb58\xd8\x14h\xedn\xaf\xec\x8a\x9es\x82h]\xe7\x0b\xdb\xb6(\xf5[\xeb\x12\xcf\xd8\x04\x8f\x0f\xef\xee\x15^\xbe\x20^\xe8\x10\xf6r\xba\xf3\x9b\x8e\x8eC\xec\xa2\xd7V\xe0r\x0d\xa61.+\x91\x9d\x1b\xb5\xd8\x14\xe8\xa5\x12\x15\x8a\x92o\x02\xd9\x1e\xa6D\xfdD\xbe\xb2\x07\xecb\xc7\x89C\xca\xea\xfb\x7f\x10\x0eYw\xbc\x16M\x89\xe0r\x0d\xa61\xee*\x91\xad\x1bu_\xa5\xb2\x82\xb5Wk\xcd\x87+Q\x17\x99\xe0\x95l\xc7E\x89\xe0r\x0d\xa6\x13\xee*\x91\xad\x1buk\xc0\xab\xa5\x0c{\x0b\xd3\x92Wj\xa3\xb3\xea\x1c\x7f\xe6&\xb9#4\x98B\x146q[O\xc5\x13R\xd6U\x98\x9e\xb8\xd8R\xd71\xf9Y\x9bJ\xf4\xa8\x90wx\xef\x86|\xbd\x00C\x89\xe0r\x0df\x18\xee*\x91h\xe7F]\xdf\x10\xaa\x0b\xd4\xb4\xb8\x7f-u%eV\xd5\xdfE\x14%*\x8a+i\xa8HYpY\x14O\x06\xf7\x93\xed\xc1`\x1f\xb7\xf5|mMzf\xd2\xdcM\x85\xe44W\xc4\xd8\xfc\xacM%z\xebH\x9ePp\xe0\x07+\x1eRw\x18J\x04\x97k0\xc3\xf0P\x89t7\xea\xda\x00u\xa3\xae\xa9u\xdd\x8dza\x86\xdc\xdb\xb9<\x9f*Q\x03\xa9\x12\xa91\xa2b\xd1j\x8c\xce\xb8\xad\x0b\xc8\xa2\xb3\xd61\xe4\x18\xfd\xac\xd9\xd1\xd9\x92\x15rogg\x81\xbaCW\"\xb8\\\x83\x99\x86\x87J\xa4\xbbQ7(^\x1f\x03U\xc6\x0e\x978C\x02\xf4\xad\x8c*\xd1\xea\x8c\xc1K2s\x95\xf9\x16C\x89\xb8\xad\x0b||w\x882F?kN\x89v3\x01\xba\x12\xc1\xe5\x1a\xcc4<T\"\xdd\x8d\xbaY\xb5\xa1nv\xfb\x01\xbdc$H\xdf\x94\x19\xeb\xf9\xea\xe4\x10\xb9\x97n1\x94\x88\xdb\xba\x20;\xbc\x881\xfaY\x1f\x16h\x0f\xe7\x82b\xb4\xc6\x05\xe8J\x04\x97k0\xd3\xf0N\x89\x0c7\xea\xf6*\xe5!\xc2\xa6\x09\xbea\x15F?\xd9C\xdf\x94\x19\xeb\xc2\x8cv\x85~\xba\xc5P\"n\xeb\x82\x95\xe1E\x8c\xd1\xcf\xbaC\xc9\xa6\xce\xf4\xd8*\x11\\\xae\xc1L\xc3;%2\xdc\xa8\xfb\x95\xbb\xf8g\x03\xae?d\x9d3W\x96\x98\xae\xd9T\x89\x1aI-\xddRVN_\x0d%\xe2\xb6\xda)\xd1\x18\xfd\xac/\xac\xa2C\xb2\xdd\xab\xe8mx[%\x82\xcb5\x98i\xb8\xabD\xb6n\xd4\xe2\xb1\xc0\xb1\x9e\xce\xea:\xd7\xef\xe5w\xfa\xe7\x96\x97%\xc7\xc5W\x85D\xf1~\xb2\xba\xb6\xbe\x88T\xeb\xf7\xce\xd4{Q\xc6\xd6K\xad\xc1\xcc\x85\xc1`\xb7\xb5\x881\xf9YS\x8dy\xf4\xf8\xa3Tm\xde\xef\xc8{\xe4\xd5+o<\x92\xd7\xf1\xbe\xf8k\xfa\x8c\xf5\xb3\x1d\x1d\xbf\x16\xe1r\x0df\x1c\xee*\x91\xbd\x1b\xb5\xd8U_Uw\xccu!\x92\x8f\xbb49}KU<)\x96\xd3\x8d\xb9)\xc9\x0b\x0f\x8a\xe2`\xb225\x14\xaf>\xf1\xado=\x15\xa7l\x0d\xefz\x8c\xc5\xcfZ\xe6\xf8\xe6e\x9b\xe5\x0e\x0f}\xe0H\xc8\xfb\xe52\x81\x06\xec\xd6\\\xae\x1f\x16\xe1r\x0df\x1c\xee*\x11\x18G\xe0r\x0d\xa6\x11P\xa2\xa9\x0b\\\xae\xc1\xf4\x01J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x98VL\x9cM\x1d\x98P\xa0D`\xfa\xd0W\x94J\x96;\x05\x81I\x09\x94\x08L\x1f\xb2\xb2\x02M\xe1k\xfc\x82\xa9\x80\xebJ\x14\xe6Fm1\xa6v\x97\xa6\x14c\xa5\xc8\xb1XP;\x19H3\xbc|\xb7Pz\x85ZP\xdf\xfdr\xe4\xa0\x13\x05\xfa2\xd5\xe2\xff|tM\xfe6c-\xb4\xe84$\x8f~\xbdK\xfd\x8c\xd7\x11B\xfc\xe1\xb6\xbb\xfd\x8b\x92w\x84'9F}4\xbeu\x98ss\xe2\xe8\x86\xfc\x8dG6\xbe\xe4\x14\x16\xc6)\xd2\xe8\x14\x02&+n+Q\xb8\x1b5gL\xed6\x0d~c\x95\xa4\xb1XP;\x19H3\\<!\xe4w\x88\x17\x8e\x08',K_\xbf\xcc,@\xfb\xd2\xb2#z\xf2\xab\x05\x87w\xe7\xf3\x9e!\x11\xd9J\xb6:\x85\x18\xe8g\xdc\x13\x0c\xee\xb1\xf1&\xda\x92\xb1#\xae/,\xc91\xea\xa3\xf1\xad\xc3\x9c\x9b-f;\x1c\x12v\x1e\xdd+\x84\xfbR:\xd2\xa6\xaeL\x0e\xa6\".+\x91\x9d\x1b5kL\xed\x1dc\xb5\xa0v\xb0m5\xb9\x20\xec|D\x14\xdf\x15.\x88<\x9b\x1ff>\x18\x9d\xa0\x0f\xe4\x0b\xf1\x8a54\x12e\xa4\xcc)\xc4\x8e6\x1b%\xca.\x17\xfd\xc1\xb0$G,Gc[\xc7\xa1\x83g\xb4\xc3\xdbw\xef\x93_\xf7\x8eI\x89`\xfb6eqW\x89l\xdd\xa8\xadIo\x18\xab\x05u\x0cJ\xf4\xf2\xb2\x0b6J\xb4\x91U\"\x83w\x85Q\x8feD\xb1\x9c\x94;\x85\xd8aw\xe1\xce\xab\xea!]aI\x8eX\x8e6\xea\xd6a\xdaaw\x01\xed5\xfe\x12J4\xb3pW\x89l\xdd\xa8-I\xf78\x93HH\x9c2;\xc5[P3\x84\x9bM[\xb7\xda\x19Hwl[\x9b\xb7f\xdbZ\xc5\x9f\xe3\xf9\xcd\xcb6\xec\xa5\xeasAxw\xe3\x11M\x89\x8c\xd8\xa3\xda\x8a\xb1\x9b\xe5\x8d\x1f\xe4\x0b\x82\xb2\x92\xbexq\x8d\xbau\xaf<\xa6\x91\xdf\xf6\x89Ok{\xec\xab#\xee\x20\xca\x84NO\x92\xe6\x8a\x94\xd4\xc3\xec,&\x09\x81M\x99\xfe\xc5t\x9by\xc6\x14\xbb\x0b\xf7\x9e\xb2{\xe7\x9d\x8aW\x16\xcfe\x92\x1c\xda\xd1\xc4XZ\xc7<7\xa6I\x18+n\xb6\x1dV=\xa1\x84\x1d\xa2\xeby\x1b\x0d\xc5\xd9v\x9b\x8d\xca\xd3\x0c%\x9a\xba\xb8\xabD\xa2\x9d\x1b\xb5%\xe9\"\xc7\x82A\xdfv%\xc5ZP3\xd8\x99M[\xb6\xda\x18H\xbfq\xf7\xee#'\x0e\xaf\x11\xfe@\xb7\x0a\x8f\x1d?T\xb0\xf1\x8a\xa2D\x87\xb6iJd\xc4^x\xb5cCiGG\x87\xe2\xe7\xfaZGG\xbe\xbaD\xf5\x1b\x1dG\x84\x03\x1d\x1d\xef\xd3\x80\xb5\x8f\xfe^\xfc\xfd\x81\x15\x1d\x17\"U\x87\xae\xa8_A\xdf\x06\xab*T\xaaX;\xddPM<I\xd9^\x91\xa4\xdc\xdd6\xcfX\xb4W\xa2\xf2$\xdf\xb1K\xf7,l\xe5\x93\x1c\xda\xd1bk\x1d\xf3\xdc\xcc&a\xac\xb8\x99v\xf8@x\xde,\xcch(\xce\xb6\xdblT\x86K}\xcd\xd9\xc9c\x18^\x83\xc9\x81\x87J\xa4\xbbQ\xf3I\x97I\xd4\xafK\xbb\xd1\x99\xbd\xd94\xbf\xd5\xc6@\xfaP\x01\xd5\xa0C+\xae\xd0.\xcd\xf3J\xcc\x11E\x89~\x97\xff;E\x89\x98X\xcb\xe8L\xbfZ\x99\xd1\xd9\x01\xdaOP\x9c\xad\xed\xab#\x13\x20\xeaJ\xfd}\xdd*\x16A\xf5%\xf7\x88ba\x8a\xf6)1\xaa\x12\xed\x20\x01\xf1\xac\xff\xa0%\xc9\xa1\x1f-\x96\xd6\xa1h\xe7\xc64\x09g\xc5\xad\xb7\xc3/\x95\xc6\xb9r\xf1\xe2E\xbe\xa1\xccX\xb6\x04\x93{\xe5\xce\xe0\xd8\x06\xd8`2\xe0\xa1\x12\xe9n\xd4|\xd2e\xa2*\x91\xbd\xd94\xbf\xd5\xc6@\xfa\xd7\x05\xeb\x1f;\xfc\xc6\x15:\xdb\xb1s\xfd\xc5?\xc8\xac\xdd\xad(\x91\xb8\xedYE\x89\x98Xg%\xfa\xcd\xdd\xbf\x14/\xae\xa0W\xa4}ud\xaaH\x15}\xeb&:\xbc\x1b\x92o\x9d\xa8Y\xddR\xa2*Q-I\xde$V\xa4]\xe2\x93<\xda\xd1bj\x1d\x8avnL\x93pV\xdcz;\xa8}\xa2\x9d\xf2P\xed\x04\xd7Pf,[\x82\xc9\xe9\xc6\xca,\xf4\x89\xa6.\x1e*\x91\xeeF\xcd']&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4\xc5\x0f\x0e?\xbcAX\xf3\xb4\xdc'\xda\xa8\xcd\x7f<\xa4*\xd1\x91\x8d\x8a\x12\xb1\xb1\x8eJ$n\xdb+\x1e_A\x0fi_\x1d\x99\x96dUR\x82\x0d*\x96;^\xcaxlTJ\xd4\xe7\xdf\xd4<\xbb;c;\x9f\xb4\xa0\x1f-\x96\xd6\xa1h\xe7\xc64\x09g;i\xb4\xc3\x1a:O\xf4\xfe\x11\xe1\x89\x8b\\C\x99\xb1l\x09\x1cA\xd2f\xdd\x04\xa6\x0a\xde)\x91\xe1F\xcd%\xdd&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4_{BN~p$\xff\x10\xfd\xf3\xfd\x0b\x85\xdf\xa9Jta\xd9\x09\xa5Od\xc6jW\xe0\xe1_\xab\xa5\xd9)\xd1\xd1U\x17\x95\xc1Y\x84\xea83z%\xaa\x97{S\xcb\xd3\x93\xce\xf0\xc9\x08\xc4\xd2:\x14\xa3Od4I\xb8\x12\xd1v\xd8\xbd\x86j\xd9Qz\xef\x8cm(3\x96-\x81\x03\xf7\xce\xa60\xde)\x91\xe1F\xcd%\xdd&\xaa\x12\xd9\x9bM\xf3[m\x0c\xa4\x0f\xa8\x13@\xa5\x8f\xd2\xebR\x99\xcc\xd8\xf7\xb4\xaaD\xe2\xee\x9d\xea<\x91\x11+\x87\x95\x8a\xe2\xef\xf59\x0f;%\xba\xb8\xe6\xe8\xaa\x97\xc3\x0f<zF\xafDu\xa4K<IV\x8b\x97\xd3\xbb\x99\xa4hO,\xadC\xd1\xce\x8di\x12N\x89\x8cvx\xfbny\xeb\x95R\xaaDlC\x99\xb1l\x09\x1cP\xa2)\x8c\xbbJd\xefF\xcd&\xddd\xb05\x18\xf4\xad\x0b\x06\xcf\xf2\x16\xd4\x0cvf\xd3\xecV{\x03\xe9\x03\xc2\xb2\x03/\x1d\xdd-P\xf9x\xe2\xee\x9dG\xe4\xe4\x11\xfa\x8c\xf5\x91\x0brV\xe5\xde\x19c6-_\\\xcf\x1e\xfd\xea2\xb9\x84\x8b\xafvt\xe4?\xd2\xd1\xf1\x81~\xef\xecU\xed\xe6\xd0\x13\xebW\xfc!\xbc:\x0c\x0ds\xa2L\xd5\xf6\x06\x13\xd6\xb5\x8a\xed\xeb\x12\x82\xbd\xec\x19+\xcfXW\x04\x83\xdc\xcf\xb4\xfa\xfc+\xeb\xd23}%\xe5\x09}L\xd2R\xa0q\xb4\x18Z\x8797\xb3IX+n\xa6\x1d\xe4\x01\xde\xee\x97v\xab\xcfX\x1b\x0d\xc5\xc5\x1a%X8F<~<\x16\x8c\x1dw\x95(\x82\x1b5\x93t\x936\xd5b\x9aTZ,\xa8\x19\xc2\xcd\xa6\xb9\xad\xf6\x06\xd2\xcf\x97>\xbd6\xaf\xa0T\xfd}\xd9\x89\xd25+J\x8f+\xbf;\x93/\x9d+\x9b\x0b\xaep\xb1\xf2E\xfa\xd8\xaa\xfc\xd2\xd7\xe4\xc4\x1bZa\x87\xc5\x8b+\x94D\xde\xdb\xda\xe1\x04}n\x96\xad\x0e\xc3\xc1\x94\xf0;\\\x06\xc5\xf2\x89%t\xfa\xe5\xd7b\xe6\x8c\x95\xdf\x9dQVr\xc1M\x19)\xc5\x03M\x99\xc9{\xb8$\x8fy\xb4\xd1\xb7\x8eyn\xa2\xd9$\xac\x157\xd3\x0e\xca\xef\xce6\x1f_K;BFC\xf1\xb1z\x09\x16\xfa\xe2W\x9e\xea\x8b\xf1\xa7\x83`\x92\xe0\xae\x12\x81\xb1paI\x94\x1f\xcd\x02\x86\xfa,B\xeeu\x0a\x02\x93\x12(\xd1\xe4\xe7\xc8\x9a?8\x85\x00\x8d\xbeS\x1e<\xac\x0f\xc6\x01(\xd1$\xe7\xe9\x97\xaf|\xf5\x80\x08\xc04\x07J4\xb9\xb9\x20l~\xb4`\x94\x8b\x83\x000u\x81\x12Mr\x0e,+}\xdb)\x06\x80)\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=\xae+Q\x98\x1b\xb5(\x0e\xb4<\x15x\xaae\xc0!\xe34b\x92\x98X\x030yp[\x89\xc2\xdd\xa8\xc53\xd5u\xa1\x9eP]\xb5g\xeb6\xba\xce$1\xb1\xa6|\xf0~\xe4}\xcd\xed\x91\xf7\x010\xbe\xb8\xacDvn\xd4\xc1Z\xea\x1fq\xa9vFy\x9a\x8f\xda\x1cu\x02M\xac\xa9\xb1\xe1\x8aR-y\xf9\xd2\xe5\xcb\xf2\xff\xec\xdel~\x155\x00&\x10w\x95\xc8\xd6\x8d\xba\xa9^\xf9P\xef\x89\xf9\xa2W\xc4\xa0D\x13fb-\xbe\xb5Y\xd0\xbcZ\xbb\xb2\xb3\xb2\xee\x99\x97\x95\xb5\x89\x1d#/\x80\x12\x01\xd7pW\x89l\xdd\xa8\xfb\xab\x9b\xfb\x07\xfb\x83\xd5\xfd\x91rM=Fo\xd3\xec\xa1\x89\xf5\x85\xbd\xc2\xda\x97\xd4\xe4%\x1f\xc9\xcd\x9d\xe5\xcf\xcd\x9e\xf5\xc0ymo\x83\xb6\xba\xec\x02Q<\x15OHYWaz\xe2\xe2K\xc5$\xaeZ\xec\xf6\x91,%\xa6:\xc7\x9f\xb9i\x06\xcd\xef\x81\x09\xc4]%\x12m\xdd\xa8\xcf7UVV6\xea\x97\xc04\x20\x16\x9bf\xafL\xac\xaf\x1c-\xc8{B\xedh]|\xf7\xed\xff\xbd\\\x92B\xc3\xd2\xc8g\x97\xea\x7f\x0f\x06Z\x82\x99\x0b\x83\xc1`H\xfe\xf7\xa9\xadI\xcfL\x9a\xbb\xa9\x90\x9c\xee\x0d&l\x17\xc5\xd6u\x8aQHQ\\ICE\xca\x02,\x1c\x0d\xc6\x01\x0f\x95H\xb7\xa0\x1el\xaa\x0d\xf5\x86j\x9b\xc2\xddF\xa7(\xb1\xd84{fb\xfd\xa8\xb0\xf1--Y*\xfc?\xff\xe7\xacY\xb3\xc4\x95\xb3f}\xa6\x9c\xb9o\xc0\x8c\xce\x16\x90EgE\x91:!\x98\x96E\x0d\x8a\x17l\x1b\xd9/\x02p\xdbx\xa8D\xba\x05u\xb0\x96z\x0c\x0d\xd6N\x1b\x87\x98Xl\x9a=3\xb1~~\xc9\xaa\xe7\xb5\x89\xee\xb7\x8f\x1e\xfd\x1f\xff\xef\xff%+\xd1\x7f\xb8wG\x17\xe3\xf7\xc4*\x91Ow#2\x95hu\xc6\xe0%\x99\xb9E\"\x00\xb7\x8d\x87J\xa4[P\x07N*o'\x03v\xe1S\x91Xl\x9a\xbd3\xb1~w\x9b\xb0Y\xef\x15\x89\x97\xcf\x06d%\x8ao\xefg\x8d\xe7X%\xca\xd6S\xa6\x12\xcd\xd7f\x92`\xa6\x01\xc6\x01\xef\x94\xc8\xb0\xa0\xd6\x94\xa8}\xda(Q,6\xcd\x1e\x9aX\xd3\x99\xa2\xbd\xc6-\xb9Z\xaaD]\xdc\x08YQ\xa2\xc0i#\xa9\xa0(Q\x19U\xa2\xc2\x8cv\x85it\xa7\x01x\x87wJdXP7k\xa3\xb3\xe6\x089\xa6\x1c\xb1\xd84{jb}a\xafPpBK\xdb(Qn\xae(\xf6\x91Z\x9a4\x95\xc8\xbfU\xeeAeS%jTw\x95\x95\x8b\x00\xdc6\xee*\x91\xad\x1b\xf5\xf9\xfd\xb5\x9d=\x9d\xb5\xfb\xa7\xcf\xcd\xb3\x18l\x9a\xbd4\xb1\x96y\xabT\x1f\xe4\xd9(\xd1v_E\xfd\"\x7f\x8fx\xa9U\xb9\x8d\xa6\x0a\xea\xc2\x94\x1d\xe59$\xbe*$\x8a\xf7\x93\xd5\xb5\xf5E\xa4\xdaZ(\x00\xb1\xe3\xae\x12\xd9\xbbQ\x0f\xb6\xd5U\xd5\xb5\xb13\x14S\x9d\xd1\xdb4{ib\xcda\xa3D\x83%\xc9\x89\x0b\xdbD\xf1\x94\xeaa\xad\x0ajWnb\xd2\xe2\xafPkk\xb9W\x94\x9b\x92\xbc0\x8a\x116\x00\xa3\xc6]%\x02.\x12\x9b\x89\xb5\x8d\x12\x01\xe0\x1eP\xa2iKl&\xd6P\"\xe0)P\xa2\xe9\x89\x93\x89\xb5`\xe5\xff\x96\x95\xe8\xff\x80\x12\x01\xaf\x80\x12MK\x1cM\xac\xa1D`r\x01%\x9a\x9e\xc4lb\x8d\xd1\x19\xf0\x14(\x11P\x80\x12\x01O\x81\x12\x01\x05(\x11\xf0\x14(\x11\x90\x19\xdc\xb3\x92\xfe\x02vk\xcbtz\xaa\x0bL%\xa0D@&G_\x15\xa4\x0eR\x04<\x01J\x04D\xf1\xfc\x1d\xe5\x924$I#w,\x9f9\xbe\x06`R\x01%\x02\xa28@Hn\xee\x1d\xa9\xb9\xd9\xb3\x8a\xf0\xcbz\xe0\x09P\"\x20\x8a\x97\x82s\x93\x933\x93\x93\x93\x17\xb5M\x9f\xdf!\x83)\xc5LV\xa2\x95$\xa50\xe4\x1443\x18\xec\xeb\xee\xea\xee\xee\xea:\x8d\xf5\xf1\x817\xccd%\xeam\xae\xcaJ\xc1\xa5\xa7B\xbd\xce,~g\x00\xb8\x87\xebJd\xe3F}\xf9T}\xa0\xce\x9b\xceI39\xe5\x14\x02\x00\x98x\xdcV\"\x1b7j\xb1\xa1\xaa\xbd\xfbX\xe0X\xf4\x8c\x13C\x1biu\x0a\x01\x00L<.+\x91\x9d\x1b\xf5\xc9\x00\xbd_\xd3\x15\xf0b\x9c\x04%\x8a\xc8,\xcfq\xaa!\x98N\xb8\xabD\xb6n\xd4\x0d\x8d\xca\x87j/:EP\xa2\x88\xcc:\xe71P\xa2\x19\x85\xbbJd\xebF]\x17T>\xd5{\xb1\x0c\xe9)2m\xd6\xf1\x1fo\xa0D\xc0M\xdcU\"\xd1\xce\x8d\xba\xa5Z\xf1\xf6\xa8\xaa\xb3\xcf0\xa1\x0c\xa6\xe4\xb4\xf4\xe0\x86\x91\x1dP\"\xe0&\x1e*\x91\xeeF=P\xd5\xd0w\xbe\xb7\xbe\xb2\xd6>\xc3\xc4r\x90\x10\xb2\xd4)hF\x02%\x02n\xe2\xa1\x12\xe9n\xd4b\x7fCee\xa0\xb5\xa1\xde6~b\x19H\xc9\xa8h\xeev\x8a\x9a\x910J4jQ\x1au\xe0\xb9Q\xc4B\x89f\x14\x1e*Q\x959E}\xbe\xff\xb2\xa8\xdcGs\x9b6\xd2\xe4\x142S\x81\x12\x017\xf1N\x89\x0c7jQY\x9e\xabK\x9d\xbev\x19\xdc;\x8b\x08\x94\x08\xb8\x89wJd\xb8Q+\xb7\xd0\xce\xd6xr\x13\x0bJ\x14\x11Y)~\xfa\xb7w\xcc\xfa\xc2?\xc9\x9a\xf0\x8d/\xcc\xba\xe3\xef~%\xab\xc3\xd7?\xff\xbf}\xfe\xeb\xf2\x8e;\xe4\xf4\xdf\xc9\xff\xdf\xf13U5\xbe\xf3\x85Y\x9f\xfb\x06\x13(\xe7\xfc\xec\xdf\xfe\x8a\xd9`\x16\xf1\x9d\xbf\x9a\xf5\xf9\xbf?g*\x91V\xe4\xb9Y4!\x97a\x1e\xd5\xa9\x86`:\xe1\xae\x12\xd9\xbaQwU\xb6\xf5\x9c\xacn\xf0\xe2\xc1F\xb1\x15J\x14\x09Y)\xbe\xf0\xe5_\xbd\xf7\xcf\x7f#k\xc2_>\xf3\xde\xcf\xfeNV\x9e\xef|\xee\x99\x7fy\xe6s\xdf9w\xee/\x7fx\xee\xa7\xb3~v\xee\x9f\xffRU\x93\xef\xfd\x87\xef\xbd\xf7\xd3\xbfc\x02\xff\xea\x99\xf7\xfe\xe5\xbf\xfc'f\x83\x91\xf8\xe7\xbf\xfa\xe7\xf7~\xfa\x1f\xff\xdeP\"\xa3\xc8Y\x9f{\xe6\xbdg>\xf7\xdf\x99\xa3:\xd5\x10L'\xdcU\"{7\xea\xf6\xda\xaa\x86\xf6\xc8\x99&\x8c\xc1\xde\xf6\x95\xbe^\xa7\xa8\x99\x8a\xac\x14\x9f\xd1z<\xb3~(\xbf\xfc\x8b\xdc\x0f\xfa\xe2w\xa8v|\xf1\xdc\xb9\xff\xf2\xe5s_\x9e\xf5\x8ds\x7f\xff\xff\xa9\x01_\xfc'K\x20\xe5_>\xc7l0\x12w\xd2\xc4\xcf>o(\x91Q\xe4,%q'sT\xa7\x1a\x82\xe9\x84\xbbJ4\xb9\xb8\x97\x90t/n\xd8M\x0dd\xa5\xf8\xafw\xfc\xe7oPYPEC~\xfd,\x1d^\xfd\xea\xb3r'\xe8\xaf\xcf\xdd\xf9\x9f\xfe\xe6\xdc\x17\xbf\xa7\x89\xc6\xaf\xce\xe9!\xea\xeb\xcf\xfe\xe6\x8eY\xb3f1\x1b\x8c\xc4\x1d\xea/9\x0c%2\x8aT\xca\xf8\xd5\x1d\xccQ\x9dj\x08\xa6\x133Y\x89\xfa\xda{\x9cBf0T)~\xf8\xe5\xbf\xfd\xec\x97\xed\x94\xe8\xbd;~\xf6\x99\x9f\xdd\xf1\xb3Y\xef\xa9rr\x87U\x89\xee\xfc\xaf?;\xf7\x9e\xad\x12\xcd\xd2z<\x91\x95\xc88\xaaS\x0d\xc1tb&+\x11\x88\x86\xa6\x14?\xfd,##\xc6P\xea\xdc\x9d\xff\xf9?\xca\xff\xdf\xa9\xa9\xca\x9d\xfa\xe8L\x7f\xfd\x8c,Q\xcf\xd8*\xd1\x17\xbf~\x8e\x8d\xb5\x19\x9dQ\x94\xa3:\xd5\x10L'\xa0D\xc0\x1eY)\xfe\xfa\xbf\xbf\xf7\xde\xd7\xbf\xc0\xc8\xc8w\x94Ye*\x19_\x9e\xf5e\xe5\x7f\x95g>\xa7\xcdX\xeb\x81_\xf8\xf2{?\xfcK[%z\xe6\x8eo\xfc\xea\xbdg\xfe\xdaP\"\xa3Hu\xc6\xfa{\xccQ\x9dj\x08\xa6\x13P\"`\x8f\xac\x14\xdf\xbbs\xd6\x1d\x7f\xf3SFF\xce}\xfd\xf3\xb3\x94[\xee\xe7~8\xeb\xa7\xe7~\xaaLC+\xfc\xd3_\xa9w\xf1\xf5\xc0\x1f~a\xd6\xe7\xben\xabD\xe7\x9e\xb9\xf33\xb3\xee|\xc6P\"\xa3\xc8Y4A\xef\xe2\x1bGu\xaa!\x98N@\x89\x80=\xbaR\xb8E\xd8\xf1\xa0D3\x0a(\x11\xb0\x07J\x04\xdc\x04J\x04\xec\x81\x12\x017\x81\x12\x01{\xdcV\xa20\xa0D3\x0a(\x11\xb0\x07J\x04\xdc\x04J\x04\xec\x89\xba\xd8\xbd+8\xd5\x10L'\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e\xd7\x95\xa8Y\xb3\x9d\x1ehy*\xf0T\x8b\xba(Q_}U\xa3\x17+6:\xf1\x88\x20\x08\xf9\xef\xea\x9fN\x14\x1c\x8d\x16\xccrtC\xfe\xc6#\x1b_r\x0a\x03\x00h\xb8\xadD\x9a\x1b\xb5x\xa6\xba.\xd4\x13\xaa\xab\xa6\xeb6\xf6\x04\x82]\xc1@O\xb4l\xde\xf0\x9b\x8e\x8eC\xc2\xab\xfa\xa7\x97\x96\x1d\x89\x16,\xbe\xfc\x0b=uH\xd8yt\xaf\x20\x1c\x8a\x16=z\x9a\xbdX\xbb\x09\x00wqY\x89\x0c7\xea`-]\xbd\xfaRmP\x14/\xd7\xd0\xb5\xf4[j&\xa5\xed\xd8k\xa6\x12\x89W\xa2\xc4\xc9l~XK\xbc}\xf7>\xf9u\xefx)Q\xf6J\xa7\x08\x00\xa6<\xee*\x91\xe9F\xdd\xa4.QV\xdf$\x8a\xa1\xc0y95\x10\x08E\xce\xe7\x1d\xac\x129\xb0QW\xa2\xdd\x05\x17\xe5\xd7_\x8e\x97\x12-\x80\x12\x81\xe9\x8f\xbbJd\xbaQ\xf7W7\xf7\x0f\xf6\x07\xab\xfbeQRm\xa8\x0fz\xb0\xa4\xfe\xbb\x0f\xad\xc9+\xd8\xf6\x9b([u%\xfa\x20_\x10\x04mtv\xe5\xf9\xcd\xcb6\xec\xbd\x20\x8a\x8f\x0ay\x87\xf7n\xc8\xa7\xa1G\x05\x95\xcd\xf2\xfeUO(a\x87~Mc\x0fo\xce\xdfx\xe8\x0a\x17\xcb\x94\xc0\xd0\x93DT\x92z\x98\xad\x0d\xda\xc6\x05\xa2x*\x9e\x90\xb2\xae\xc2\xf4\xc4\xc5\x97\x8aI\\\xb5\xd8\xed#YJLu\x8e?s\x93'\xcb\x80\x030^\xb8\xabD\xa2\xe9\xedq\xbe\xa9\xb2\xb2\xb2\x91\xf6\x86\xeaT\xa3\xb3\x16\xf7\x17r}y\xd9\xe6\x1f\x9c8\x20<\x1be\xab\xd1'z\xad\xa3#\xff\x80\x9a\xdc-<v\xfcP\xc1\xc6+\xe2[G\xf2\x84\x82\x03?X\xf1\x90(^x\xb5cCiGG\xc7\xdb\xb2h\x09\xcf\x9b\x85\xed^\xb2\xef\xf8\xbe%\xbbE6\x96)\x81a\xb0\xaaB\xa5j\x90\xd9:\xd0\x12\xcc\\\x18\x0c\x06\xe5\x0e\xe3\xf9\xda\x9a\xf4\xcc\xa4\xb9\x9b\x0a\xc9\xe9\xde`\xc2vQl]\xe7\xa3!Eq%\x0d\x15)\x0b&\xe5\xe0\x16\x80Q\xe2\x95\x12\x0d6\xd5\x86zC\xb5M\x97\x8c-m\xd5\x913M\x0c\x17\xd7n\x93\x87Q\x17\x8f|\x10e+;:\xd3\x94\xe8%Ei^SzHKV\xc8}\x9c\x9d\x05\xcav}t\xf6K\xe1\x84\xfcz\xe5\xe2E\xb9\x98\xe3J\xfa\x84p\x9c\x8beK0\xe9\xebV\xb1\xdeEdFg\x0b\xc8\xa2\xb3\xa2H\x0d\x09|\xb2\x12\x89\xdb\xa9\x125\x90*\x91\xda%\xed\x17\x01\x98\xbax\xa5D\xc1Z\xfa\x97\xa8\x1c\x16}\x00\x00\x20\x00IDAT\x7f\xb0V\xee\x0f\xd5\x05\x95-\xcdu\x913M\x0c\xc7\x857\x1c\xb7\xda(\xd1\xce\xf5\x17\xff\x20\xb3V\xee\xe8\x88\xb4\xb7#\x1eX\xa2l\xd7\x95H\xed\x13\xed\x94\x87j'\xc4\xdd\x1b\x94M\x1b\x1e\xe1b\xd9\x12\x0c\xba\x89\x8e\xc5\x1d\x9bU\"\xdfi-e*\xd1\xea\x8c\xc1K2s\x8bD\x00\xa6.^)Q\xe0\xa4\xf2v2\x20\x8aM\x0dJ\xb2\xde\xf5y\xa2g\x85\x8b\x8e[m\x94h\xa36%\xf4\x90\x9c^B7Y\x94H\\C\xe7\x89\xde?\"<qQ,\xdd\xa6l\xd9\xb6\x99\x8beK0\x096\xa8\x04E\x1eV\x89\xb2\xf5\x94\xa9D\xf35\xfd\xbaW\x04`\xea\xe2\xb1\x12\xb5\x07\xa8\x05#\x1dn\x9c\xadt\xfd\xde\xd9\x09\xe1\x17b8\xfcV\xdb>\xd1/\x14~'\xda(\xd1\xe1_\x8b\xe2\xee5T\xcb\x8e\xd2{g\xbb\xd7\xd3\xb9\xa0+\xebws\xb1l\x09\xce(J\x148m$\x15\x14%*\xa3JT\x98\xd1\xae\xd0\x1f!;\x00S\x01\xaf\x94\xa8Y\x1b\x9d5\xd3\xe7\x89ho\xa8\xd9\xfd\xe7\x89.\x14\x94R\xc9xl\xaf\xf2\xa9{G\xb7\xcdV\x1b%:\xa1\xce\xef\xec{Z\xe4\x95\xa8\xb4T\x14\x7fO\xf7\xbd}\xb7\xbc\xf5J)U\xa2\xe3J\xec\x11u\x9e\xc8\x88eKp&7W\x14\xfbH-M\x9aJ\xe4\xdf*7\\6U\xa2FuWY\xb9mf\x00\xa6\x06\xee*\x91\xe9F}~\x7fmgOg\xed~z\xf3\xac'\xd0\xdc\xdd\xec\xc53\xd6/\xe7o8|\xfc1\xe1\xb0\xf2a)\xb9\xc7\xba\xf5\xd7\xf4\x19\xebg;:\xe4~\xce\xc5W;:\xf2\x1f\xe9\xe8\xa0\xf3\xd8O\xdc\xbd\xf3\xc8\xd1\xdd\xb2\x9a\xbc\xdf\x91\xf7\xc8\xabW\xdex$\xaf\xe3}\x91\x8a\xcc\xb3G\xbf\xba\x8c\xde\xba\x7fV\xd8\xfd\xd2n\xf5\x19\xeb\x9d\xc2\x13/=!\xec\x14\xf9X\xa3\x84\xd1\xb0\xddWQ\xbf\xc8\xdf#^jUn\xa3\xa9z\xb90eGy\x0e\x89\xaf\x92;\x92\xf7\x93\xd5\xb5\xf5E\xc4\xf5\x09\x7f\x00\xc6\x11w\x95\x88q\xa3\x1el\xab\xab\xaakSoX\xf76\x06\xea=q\x85~\xfb\xe1\xb5\xcb6k\xbf&\xabJ\xa9\xb4n\xdd\xad\xcd\xe7\xc8\xc3\xae7\xb4\xa4\xa2Z'J\xd7\xac(=N\x9f\x11\x12\x84\xbc_.\x93_\x1f\x95\xb7^|lU~\xe9kJ\x09G7\xe4o>\xbe\x96v\x84\xae\x1c\xda\xa8?O\xc4\xc6\xea%\x8c\x86\xc1\x92\xe4\xc4\x85m\xa2x*N\x99\x0fR\xf5\xb2+71i\xf1W\x08)\x96\xd3\x8d\xb9)\xc9\x0b\x0fF-\x03\x80I\x8e\xbbJ\x04\x00\x00v@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=SA\x89V\x92\x94B\xd7\x17/\x02\x00\xb8\xc8TP\xa2\xde\xe6\xaa\xac\x14xW\x000\x8dq]\x89\xec\xdc\xa8\xcd\xad\x91h&\xa7\xa2\x07\x00\x00\xa62n+\x91\x9d\x1b\xb5\xb95\"m\xa45z\x00\x00`*\xe3\xb2\x12\xd9\xb9Q3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbaQ3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbaQ3[#r\x8a\xb8\xeeA\x04\x00p\x0fw\x95H\xb4s\xa3f\xb7Fb0%\xa7\xa5\xc7u\xf3\x0f\x00\x80Kx\xa5D\x8c\x1b5\xb352\x07\x09!K\x1db\x00\x00S\x15\xaf\x94\x88q\xa3f\xb6Fd\x20%\xa3\xa2\xd9\xe2\xd2\x0c\x00\x986x\xa5D\x8c\x1b5\xb35\"m\xa4)z\x00\x00`*\xe3\xb1\x12\xb5\x8fZ\x89p\xef\x0c\x80i\x8cWJ\xc4\xb8Q3[#\x02%\x02`Z\xe3\xae\x12\xd9\xbbQ\x9b[#\xd2\x0a%\x02`:\xe3\xae\x12\xd9\xbbQ3[m\x19\xecm_\xe9\xf3\xc4\xad\x1a\x00\xe0\x0e\xee*\xd1\xd8\xb8\x97\x90\xf4z\xa7\x20\x00\xc0\x14f*(Q_{\x8fS\x08\x00`J3\x15\x94\x08\x000\xdd\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\\W\"\x1b7\xea\x81`m\xa0\xfe\xd4\xa5h\xb9\x00\x00\xd3\x1a\xb7\x95\xc8\xc6\x8d\xfalU}g\xf7\xb1\xaazH\x11\x003\x16\x97\x95\xc8\xce\x8d\xba\xb9\x96\x1a\x99\xf5\x07\x8eE\xcb\x08\x00\x98\xce\xb8\xabD\xb6n\xd4u\xb5\xea\xbe\x86\x08\x99\x00\x00\xd3\x1ew\x95\xc8\xd6\x8d\xba\xb7G\xd9\xd2\xf2T\xe4|\x00\x80\xe9\x8d\xbbJ$Fr\xa3\x16\xc5\xcb5A\xfb\x0c\x00\x80\xe9\x8fWJdq\xa3\x96\xbbDU\xfd\x91\xb2\x00\x00\xa6;^)\x91\xc5\x8dZl\xad\x84\xd74\x003\x17\xaf\x94\x88w\xa3\xbe\xd4\x1c\x08E\xca\x00\x00\x98\xfex\xacD\xaa\x1b\xf5@C5\xec\xcc\x00\x98\xc9x\xa5D\xac\x1bu\xff\xfe:\xea\xbah\xce^\x03\x00f\x18\xee*\x91\xad\x1b\xf5\xe9\xc0\xfe\xee\xde\xde\xde\x96Z\xa7\xdc\x00\x80\xe9\x8a\xbbJd\xebF}\xb0R\x05O6\x020cqW\x89\x00\x00\xc0\x0e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xfe\xe2+\x00\x00\xe05\xb7\xd3'\x02\x00\x80\xf1\x01J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbcg\x14J$\xee\xc8IIH\xbd\xe7\xa9\x11\xa7\xc0\x08\x0c\xd2\x8c\xb5d\xb9S\\\xec(%\xd7\x90\x95\xe6\x96\xd1\x1c\x86\xcb0\x16\xf6\x90\"\xa7\x10\x00@L8+QU\"QI\xefq\x0a\xb5eO\xe2\x904:\x89\x88\x15\xb5d(\x11\x00S\x1fG%\xdaNHn\xcb\xd5\x91\xb3Us\x89\xaf\xcd)\xd8\x86\x11B\xa8^\xf4\xee\x09:E\xc6\x8aV2',\xa39\x0c\x94\x08\x80I\x87\x93\x12\x05\x09\xd9\xa3\xa6\x86rI\xf2\x9f\xa2\x07\xdb\xa1\xe9\xc5\x04`\xa7D\xa3!\xe6\x0cV\xa0D\x00\x8c7NJ\x94A6\xe9\xc9\xa1TR\x12-\xd4\x1e(\x11\x00\xc0\x11\x07%:F\xe2.\x19\x1f\xaa\xc9\x9c\x11z!\x7f\xb3\x7ferR\xceAu\xe3\xe0\x96t_\xf2\xbd\xed4YE\x02\xed\x19\x89\xd9\x03\x92\xd4\xba:\xcd\xe7\xcf*\x13%i\xab2\xc5\xd4\xabO\xe0\xf4\x15\xcfMH\xbeW\x19\xe5\xd5\x90\x8a?m\x99\xebK/\xbbJ?\x9d\xfdRzB\xd2\xc2*nV<b\xb0\x82^\xb2,,\xe2\x964_\xc6\x03\xc3\x92>OdW\xd8\xd9\xad\x19\xbe\xe4\xe5!\xa5,&\x03[W\xfe(\x96C2\xe7\xa9*\xd1<\xb2U\x02\x00\x8c\x0f\x0eJ\xb4\x9d,0?\x88\x84\xb4)\x17\xf2\x1c\xdf\xe2\xdc8RL\xb7\xb5\xfb\x89o~\x06!\xe5\x12U\xa2-\xb3\x09\xf1\x8fH%\x84\xa4\xcdO\x95_\xaeJ\xf5\xab\x09Y\xb9zP\x93\x88\x86\x042g\x81\xbc\x83^\xc35dS\x1aIJ&$KV\x8c\xbe$\x92\x9c\x9dI\xc8]\xcc\xb1#\x06\xab\xe8%\xd7\x90y\xa9$U\xde5oDS\"\xbb\xc2Z\x12\xc9\x9cl\xb9\xb0\xa0\xc4g`\xeb\xca\x1f\x85?${\x9eP\"\x00\xc6\x1b\x07%\xba\x87\x1b\x90\xcd%U\xf4\x0a%\x99\x03\x92\xd4\x9dL\xea\xe5\x9eB\x12\xd9zM\x92:\x93I\x13U\xa2\xb8\xcc\xe6\xb6\xa7\xa46\x92xR\x8e\xee\x9cC\xbee\x8c\xa1\x14\x898\x1dG\xca\xe5\xcb\xba\xd1G\xaa\xd5r\xe4.J\xd0G\xea$i9)\xbb!\xefO\"-\xc6\xc1\"\x07k\x18\xa33\x92\xd1%wm\x12h}\x94\xc3\xd8\x14vi\x0e)\x1b\x91n~\x93\xcc\xbe\xcag\xe0\xea\xca\x1d\x85\xfb\xc0\x9d\xa7\xaaD\x0d\x81N\x09\x000>8(Q6\xd9n\xfd$_\xa1}\xf4\xc3A\x92A\x87HK%\xf5C&U\"u\xcf\xfdZ\xa6\xfb\xa9\x8c\xb1J\xb4R\x9b`\xa9%)#\xb4\x9c~\xfa\xa1\x98v\xae\xd2\xe5a\x96L\xa0\xb0\xd58X\xe4`\x0dS\x89\xb4]%\xdaal\x0a\xdbN\xeeQ\xde\x17\x92Z>\x03WW\xee(\xdc\x07\xee<1O\x04\xc0x\xe3\xa0D\xf3\xc9\x0e\xe6S\x0e)\xa3W\xe8B\xe5\xc3\x88O\xbeR\xe7\x92f\xf5C\x1c\x19\x90\x95(C\x8d\x1bQ\x87P;\xe8\x15\xcb(\xd1H\"\xe9R\xf7\xcf!!\xb9\x9c,\xe5C\x80N\x20/&9\xa1\x1b\x12K\x94`=BW\xa2y\xe6.E\x89\xc2\x0b\x93\xb2\xb4z\x0e^\xb2d\xe0\xea\xca\x1d\x85\xfb\xc0\x9d'\x94\x08\x80\xf1\xc6A\x89\x96s\x93!\x19\xa4\x82^\xa1_Q?\xcd#\xad\xc3\x84\xcc\xcbQH\x20m\xb2\x12\xdd\xa3\x05\x8e\x84\xea\xcaW\xa7\x13\xb2\x8eS\xa2\x01B\xb4Y\x9e\x85\xf2\xc0\xa8F\xebf(\xe2\x11\xf2\x11\x92\xb4\xba\xde\x9c\x8f\x8e\x16\xac\x1fDW\"uW=}\x8fP\x98\xe4S\xfb7\x0a\\\x06\xae\xae\xdcQ\xd8\x0f\xfcyB\x89\x00\x18o\x1c\x94\xa8\x8c\xe4\x98\x1f\x86\x08\x9dy\xa9\xd1\xbbI9\xe4\xa0HL\x9ad%Z\xad\xee\x09\xa4\xd2\x0d\xf3\x17Z\x94\xa8\x8f\xc4k%-%U\x92~3]\x15\x97\xbeu~9K|\xc95\xfd`\xd1\x82U,w\xf1M%\x0a/\xec\x1a!\x83F>.\x03WW\xee(\xec\x07\xfe<\xa1D\x00\x8c7\x0eJ\xd4E\xe2\xccK\xb8\x9e$\x0c\xd1+\xb4L\xfd\x98E\x8e\xc9\xdat\xc6\x0c\xd6\x95\xe8\x9b\x84|\xa9\xa1{X\xaa\x88\xd8'\xcaQ\xba9\xbc\xb8\x8ct\x96\xcf#\xe65\x1e=X\xc9\x10Q\x89\xc2\x0a\x93\x08\xd7'b2pu\x8d\xa8D\xfcyB\x89\x00\x18o\x9c\x9el\xcc4\xaf\xba\xe1\x0c%]\xa3\x8d\xc1\xae%\xc8\xfd\x8c\x14z/\x89\xd29pCW\xa2\x1bsH\xad\xb2m\x8bE\x89n\xcc\xe6\xa7~\x98\xcb~\x20\xa4\xa4\xabI\xbc>\xc1\x13%X#\xa2\x12\x85\x17&\x9f\x86\xfa+\x90\xe6\xc5\x01.\x03_\xd7\x88J\xc4\x9f'\x94\x08\x80\xf1\xc6I\x89:\x09\x9d\x1b\xa2\\[J\x12\xcfK\xf4\x0aMP\xbaI\xfb\xe9\xa3F\xc5$\xfb&\xfd\xd0J|Wu%\x12\xb5[h\xc3i\xf4\xb3\xdd\xbd\xb3:\x924b\x1d\xfd\xd0'\x0b\xa5~\x12g</\x141X'\x92\x12\xd9\x15\xb6U\xcb\xb7\x94|\x93\xcb\xc0\xd75\xb2\x12q\xe7\x09%\x02`\xbcqR\"y\xd8B\xeej\x1b\x92\xc4\xfa\x0c\x12\xa7\xdc?\xaa!d\x81,E\xad\x89\xf41\xc7~\x1f)\x19\x96\x07q\xc9d\x8b1:\xbb\x91\xa4Ls_^L\x94\x89\x98\x04\xd2t\xed\x86z=w\xc7\x93\x1d\xb284'\x92\x80\xe5J\xbf\x8b,\x96\xd5cx\xb51\xe7\x1d-XG-9\xbcOdS\xd8@\"\xd9qC\xbaYA\xfc\"\xdf'\xe2\xea\x1aY\x89\xb8\xf3\xc4\xf3D\x00\x8c7\x8eJ$5\xe8\xab\x82\xa4)?u\x90\xaf\xd0\x8c\xd9\xf1\x0b2\xb4\xbeR\xb3\x8f\xcc\xce\x96?\xe4\x8e\x98\xf3D\x01B\xd2\x97f\xc7%oWn\x97g\xcbY\xdb5\x09i\x88'I\xd9i\x84^\xce\xfc\x95~>\x99\xf8\xb2\xe6'\x92\xd4\x01\xe6\xc0\x91\x82u\xd4\x92\xc3\x95\xc8\xae\xb0\xa0\x8f$g'\x93\x84\xa0\xa5\x13\xc5\xd55\xb2\x12q\xe7\x89g\xac\x01\x18o\x9c\x95H\x12+r\x92\xe2R\xee\xa9\xd5\xeeD\xc9Wh\xef\xd29\xc9KO\xa9\x1f\xcfnJ\xf7%f\x07\xe88\xc8\xb8w\xd6\x96\x9b\xe2\xcb\xda\xfe\xa7a\x1f\xbdc\xd5\x9f;;\xe9\xa0.!}Ei\xbe\xb4\x95\xedZ9J\xb0\xbagpK\xa6ov\xd6v\xf6\xce{\xe4`\x0d\xb5d\x9b\x19k\xbb\xc2\xfa\x8b\xd3\xe2S\x0a{%\x8b\x12qu\x8d\xa2D\xecyB\x89\x00\x18oF\xa1D\x16\xf4+\x14\x00\x00\xc6\x0b(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x9e\xd8\x95\x08\x00\x00\xc6\x1b(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x9e\xf1R\xa2\xe7\x84o\xdb\xef\xc0\xad6\x00\x80#P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\xcf$Q\xa2\x96\\n\x09\x8f\x98\x18\xcamq\x0a\x01\x00Ln\x1c\x94\xe8E\xe1\xb9?\x7f{M\xfe\xc6W\xa4[/n\\R\xf0\xddO\x95\xad?\xdf\xb56/\x7f\xc3\x93\xff\xa6|x\xe7\xa1U\xcb\x1e\xfc\xad\xa6D\x1f\x7fw}\xde\xaa\x87\xdedJ\x90\x95h\xa00\xd9\x9f\xd3\x20\xd1\x95\xa5U\xa71\xa9\x82\xb3\x96\xa5\xeb\x95UHc'\x10\xf7\xad\xa8\xfbK\x08!\xfe\x81\xa8!:\x9d\x84\xe4JR\xb3\x9c\xe1T\xe4\xa0\xf6TC\xfa\x86\xb6\xa4\xf9\x97\xdf\x8c\x1c\x0a\x00\x18\x15\x8eJ\xf4\xedU\xc2\x9a%\x82\xf0\xca\xe3B\xfe\x1aA(\xa5\x1b\xbf-\x08\x05\x1b\x0b\x04a-\xd5\xa5\x17\xe8\x87\xbc\xbc\xaf*J\xf4\xe62!\x7f\xe3zA\xf8\xbeYB\x0d\x99\x97L\xe6e\x12R(IW\x13\xd4U\xa3\xa5L\x12b\x8f\xb2?\xaeA\xba\x1dZ\xe3k\xa2\xed\xbe\x1c\x0a\xd5j\xcb\xf3;1r\x92\xf8C\xd2p399\"q\x9c\xea1\xd3\xads\x9a\xf5\xe4\xd2\xb4\xa7J\x12\x87$\x00\xc0\xed\xe1\xa8D\xc2\x86\x0f\xa5\xeb\xbb\x84\xfc\xfc\x1f\xdf\x92^\x11\x84\x7f\x95\xe5F\xc8\xa7\x9d\x9ew\x96\x09/H\xd2o\x85\xbb_\xbc%}\xf2\xa0@\x95\xe8\xe3e\xc2\xbe\xeb\xf2\x9eU\xc2+F\x09\xd4\x85\xbe_\xeeG\xf8\xa9\x89\xc6JRN\xb7\x9d&\xe9\xecA\xce\xfb\xca\xf5\xe4\xd5\xc5c\x1a\xa5\xed\xf0]\x8e\x1e\xd0=J%\x92\x86I\xb1\xdc]\x1b$\xc3\x96\xed\x0bm\x17\xd1\x1f\"\xb2\x04ZC\x01\x001\xe3\xacD\x1f\xcao\x1f\x0a\xc2s\xf4c\xa9\xf0\xa2$\xed\xbb\xfbIe\xdf>\xe1qI\xda%\xec\xa3\xe9O\xd7P%\xda'<\xa4\xec\xf9\x89\xb0\xc1(\xa1Fs\xcf\xd8O\xad\xaa\x83\xaa\x04\x95\x11Cz(%s\x19\xbf\xc5>i\x0c\\\x9b\xcb\x8f\xf6\xc2\x88A\x89N%\x8d\xd8(Q\xce:\xbb\xe8\x01\x82)*\x00\xc6\x03G%ZO\xdf\xae\x0b\xc2\xff\xa2\xef\xbbh7H\xba~]\xd9\xf7\x03\xe1\x1f\xa5[+h/I\xa2\"$+\xd1Z\xad/$\x87\x7f\xa4\x97PC\x16)\xef\xc3\xd4Q~$\x99*\xc2\xcdT\xd6\xc7P\xba\x91\xb4]\x0b\xcdj=C\xce\xb6f)\x0ed\x03\x85\xa9\x09i\xcb\x15\xbb\xa0\xda\x1c\x7f6\xdd\xb6\x95$\xd4\x95e\xf9\x97^\xe6\x92\x0a;\x12-\xa3)\xbe\x04F\x89\xf4\xc2$)\xb44=!uy\x86\x92>\x98;'\xeb\x01\xaa\x87\xc3d0\xa7YW\"=\xb6E\xf3\x14\xa0~\xb8C\x89\x84\xc45\xd2\xbd7R\xd4\xade\xd4|\x88\xc8\xe2Z\xa18\xc4\x02\x00b\xc7Q\x89\x1e\xa4o\xff.\x08\x9f\xd0\xf7\xdd\x8a\x12I\xd7\xdfy\xf1\xfb\xbb\xd6\x0b\xc2n\xe9\x13APe\xe9\xc7\xb2\x12}*\x08\x1b\xefS\xc8\x13\x8cIk\xc326\x83\xba\x12m!\xf7\xcb#5\x92\xcd\x1e\xa3\x87hv=b1\x99/\xff\xb7\x8e\x8aGgRN\xa0\xbd\x82T\xcb\xc9\x12\xdf\x8e\xd6\x1d\xbebI\xeao\x8c'\xa9\x15UI\x85\\R!\x14\xde\xe7aJ`\x94\xc8(L\xde\xf4\xa5\xe6\xf6\xbaTB\xdd\x197\xc5\xdd\xdfZ\x93\x9asSQ\xa2\x9a\xe5\x9a\x12\x19\xb1\xd7B\xa1\xac\xbbB\xa1\xd0YZ\xc2\xe9P\xc8\xa7\xce\xaf\xf7\x86\x1aIE($\xd2\x80\xf4-\x7f\x92\xaeV$\x870T\x03`,8*\xd1\xc3\xf4MV\"\xe5F\x99\xa2D\xb7^X#\x08\xc2\xdd\x1bKe%\xfaH\x10\xd4\xc0\xd7e%\xfa\xb3`bL\x14\xd5\x90\x1djb>i\xa6\xee\xd6\xa97\xa5\"M\x1e4Z\xe5\xce\x92\xc6\xb1\x04\x92\xd0F\x13#\xe9\xf7\xca\x9d\x9c\x1bMC\xf26B\xdd=\xda\xa9\x8eI\xbed\xb9\x13T\x9c*\xf1I\x99\xcb\xc4\x98D\xd6`J\x90L%b\x0a\xabM\xa5\x1aT\x9b,\xd1\x1a4(1\x8d\x8a\x12]\x9d}UQ\"\xf6\xc0\xfc\xe8\xcc\xaf\xdf\xe93Gg\x15\xb4\xbf\xf4%\x871\"\x00\x20\x02cP\xa2\xe7\x84\xbb\x1f\xff\xf1o?\x95\xdfw\xd3n\x90zc\xff'j\x9f\xc8\x18\x94\x19\xd4\x90\x07\xd4D\x069)\xd1\xbbf\xa7F\xfc\xf1\xdc\xb4t\x90\x0c\xaa\x89\xa12_:\x99\xeb\xdb.\x8bG\x1b\xe9\xd5wo\x9a\xaf\xbc\xcd\xa7W\xb9\x8f\xbeT\xf8$>)Q%\xb2\x0e\x8b\x98\x12$S\x89\x98\xc2\xc4\xb9\x99[\xeb{%*GE\x997(\xe9%\x8a\x12I\xcb\xab\x15%b\x0f\xec\xa8D\x97I\xbf4\x92tR\x02\x00\x8c\x85\xd8\x95\xe8\xfa2:m-\xf3]Y\x89n\xad\x12\xdeQ>|\x9f\xce\x13\xad\xd1\xbbB\xef\xfc\xf1\xdf\xf5\x12j4\x87\xb2!\xd5#\xba\x82lmc=\xcb$\xdaO\xd2FN\x81\xd4\xba~\xd2\xbf?u\x0f}\xf2\xc8\x98\xf7Y\xa4>\x19\xb9r\xa1\xfc\xa2\x0c\x8b4%2\x93\x12U\x1a\xee\xb1\x00\x89+A2\x95\x88-l\xa8n\xdd<\x92\x16\x90T\x0bG\xcajU\x89\x9a\xb3\x15%bc\x1d\x95HZ\xfe\x80t,\xf9\x86\x04\x00\x18\x0b\xb1+\xd1\xbf\xa9\xb7\xd3\xa4O\xd7\x0a\xbb$\xe9q\xe1\x1f\xe9\x87\xeb\xeb\xa9\x12}[\xb8\xef\x16\xfd\xf4s!\xff\x13\xbd\x84\x1a2[\x994\xdeC\x94.\xc6\x20I\xdfj\x19I]\xf3\xe9\x17\xf6\x0d\xe5\xde\x19\xbd\x9cO\x12\xe3\xf9\x9d\x92L\xe5-S\xe9\x13ER\xa2\x0a\x9fu\x82\x86)A2\x95\x88)\xec4\xbd\x7f7\xdc\xe8\xaf\x95\x07y\x99=\x0aWU%\xba6\xa7\x9d*\x11{`U\x89\x1a.\xa9\xa5\xd9)QK\xea\x8d\x92M\x12\x00`L\xc4\xaeD\xff\xbeB\xd8'\xeb\xcd\x1f\x1f\x14\xe8=\xfb\x8f\x96\x08\xcf\xdd\x92>\xdd\xa5<O\xf4a\xbe\xf0\xb8<X\xfb\xed*\xe1\xbbF\x095\x84d_\x96\xa4&\x9fv\xd1\xe6\x12\x7f\x92\xe5>\xd7\xbaL\xe3)e1Y\xbd\xd75\x9c\xb6\x98\x0a\xd2W\x94\xfbR\xf4NU#i\x95\"+\xd1\xcdy\xc6OJ\x06\xbfu\xdeZ\x82d*\x11SX\x059F\xb7,\xdeB\xe7\x82\x94\xb1\xdd\x8e=\xaa\x12I%ET\x89\xd8\x03K\x8b\x17K\xd2\x9f\xf4!\xa0\x9d\x12\xddHmI\x89\xf2\\6\x00\x20\x1a\xb1+\x91\xf4#AX\xff\xe0?\x08+\x9e\x146\xca\x9b^\xc9\x13\xd6\xfcC\xbe\xf0\xb0\xf2\x8c\xf5\xebK\x84\xfc\xfb\xd6\x0b\xc2\xd7\xae\x1b%\xd4\x90\xa5\x89\x09\x0b\xd2\x89>q]O,\xbf\xf4\x90\xa4\xb3qU\x92\x95S\xb3\xe7?\xd5v?\xa9\x97\x93\xc5q\xe5\xad\xe5q\xc5\xb2L\x85\x12J\xba\xa4\x9e\x92\x84\x90\xc8$it\xb5\xd9\x01Z\xad\x8f\xfd\xcc\x12D\xfa\x8cuu(t\x89-LV\xa2\xa4\x8a\xd6`\x89r\xe3\xae\x9c\x145\xb7\x94\x90\x83\xf4\x19\xeb\xe6a\xa93Q\xb9wf\xc6R\xcd\xab\x0a.\x9d#\x1f\xecFW(\xe4+\x09\xd1\x9bd\xea\xbd3\xfd\xa6]y&\x06g\x00\x8c\x951(\x91\xf4\xe6\xd7\xd6\xe4ox\xf2\x93O\xf3\xee\xfeX\xfe\xf4\xaf\xbb\xd6\xe4\xdf\xf7\xe6+\xea\xef\xce>z|}^\xfe}/\x98B$+Qy\xdf\xd29\xfeEm\xda\xe7a_\xd8\x94\x8e\xb4cv\xd8&i`]z\xd2\xc2\xa0\x92\xdc\x9f\xad?ODHB\xff\x1c\xf9u+\x93\x94w\x84\xfc\xdb\x8d|\x0d\xa9u\xd6\x12J\xb4i\xa0\"\xb60\xe9\xe0\xe2\x8a\xf4\x84\xb4\xc5\xea\x13\x04\xed\xf7\xa4$\xd3*v*\x8f\x04\xdd\xccM\xbb\xc9\xc5J\xd2\xc8\xfd)\xfe\xbb\xba\xe5Dw\x9cZX\x1d}8\x8a\x12\x7fV;\x1c\xc1\xe0\x0c\x80\xb1\xe2\xa0D\xe3\xcfy\xfe\x97\x1e*e\xbe\xdby\"\xb0\xc9W2\x09z#\xc3\xbeN\xa7\x10\x00@\x04\\W\xa2\x1d\xe4\x9b6[\xab\xd3\xc7\xf4{3\x85\xa1\xb9\xd1\x7f\x8a\xef\x12M)\x93@\x0e\x01\x98\xa2\xb8\xabD\xfd\x83M\xb3}\xa2S\xd4\x14\xa4\xa2SZZ!\x01\x00\xc6\x88\xbbJTH\xc8m\xadD4Y\x19!9[\xd3\xb08\x08\x00c\xc6]%\x0a$\xa6NG!\x92\xfbDI\xf7\x9cu\x8a\x01\x00D\xc4]%\x02\x00\x00;\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xc6I\x89>\xe6~\xdf1\x1a\x873\x00\x000\x18\x17%\xba\xf5B\xfe\xa7\xe6'(\x11\x00\x20F\xc6E\x89\xae\xeb+7*@\x89\x00\x001\x02%\x02\x00x\x8fgJ\xd4\x92;\xb6\xdf\xbcnqg\xed\x8d\xa1\\8\x99\x01\xe0\x1eNJ\xf4\xd1\xe3k\xf3V\x94\xfeH\x9d\x90f\\\xef_\x14\x9e\xfb\xe4\xbbk\xf3\xd6?\xf9\x09\xf5:\xa3|\xa8g\x91\x95h\xa00\xd9\x9fC\xfd2\xaa\xc9<uc\x85e}\xb4\xc0\x18\x7f\x7fv\x86\x94K[I\xdc\xed,\"2:\x02q\xb7\xfd\x0b\xff\xbe\xa5s\xd2\x8a:\xd3\xfe\xa4,\x90\xe4\x1f\xd07\xb7\xa7\x8eZ\xe4Z\xe6\xcd^\xd0\x9c\xd3\xea\x14\x06\xc0\x94\xc7A\x89>\\&\xac\xbao\x83\x20|\x8d\xaeO\xcd\xba\xde\xbf(|\xb7@X\xb6J\x106\\\x97~\xbcK\x10\x1e\xde\xf5\xb1\x9e\xa7\x86\xccK&\xf32\x09)\x94\xa4\xab\x09\x9a\xa9k&\xbf>\xda\xfe\xb8\x06it\xb0\x86\xf42\xc5\xb3\xffD\xd7ndd\x8c\x09\xb0\xc4\xde\x1e\xad\xf15N!\x06\xb6\x07n\x9f\xb3\xb0\xbe1\x9b\x903\xd2e\xbah\xa4\xbe\xb6\xa3\xd4:\xc7\xea\x88\xc4c\x16\xb6\x9f\x14\xb7l'd\xf4\xf5\x00`\xaa\xe2\xa0D\x0f\x0bO\xca\xdd\xa1\xdf\xae\x10^\xb7\xb8\xde\xbf(k\xd0;\x92\xf4z\x1e5\xfa\xb0\x8e\xceHF\xbf|!\xfaI\xad$\xadT\x8d\xa7O\xf3\xeb\xa3\x9d\xf7\x19v\xd4W\x17G\x1f\xa5\xf1\x86\xf4\x03\xaa\x8f\xa3\x8fQ\"&\xc0\xde\xbc~\xac\xec\xf0]\x96F\x89\xdd\x81\x87\x92V\x8fH\xd2\xb5L\xd5\xefv\xd4v\xd8La\x03\xca\x8a\xbbeP\"0\x03pP\xa2\xf5\xea\xa0\xebG\xbb~nq\xbd\x7fQ\x1b\x8e}\x9b\xae\x1a\x1b\xa6DJ?h?\xc9\xa0ff\x8a\x04\x95\x11Cz(%s\xaf\xe9\xc9>\xad\xd3\x14\x09\xde\x90\xbeD]\xdd\x88U\"&\xc0\xde\xbc~\xac\\\x9bk]p;\"v\x07.OT$\xb6\x8a(?\xd2\x8fA\x89\x8c\xc2\x8aS\xa9\xf5\xc0\x19R\x1b-\x1a\x80i\x81\x83\x12}M(}G\xb7.\xe3\\\xef_\xa4r$\xf3\x02]\xe8\xda\xaaD\x8b\x94\xf7\xe182@\x17{\x96/\xc1\x9b\xa9j\xcf@\xe3F\x92\xb6\xeetMV\xeb\x19r\xb65\xab\xd6bt\xaf\xdb\xd4\xb3\x86\xf4\x94\xc1\xf8\xaf(\xef\xbe\xedZ,\x13\xc0$\xb7\x92\xf8\x9aM\xe9)+\x07$\x0b\x03\x85\xa9\x09i\xcb\x151\xd3=\xef\x99\x03\xf3u\x90;E\x89\x16\x13\x12>@/\x81\xaf\xa4^u)S\x9dZ\xbfZ\xa5\x14\xa2+\xd1P\"!q\x8dZyz,S.[X\x8a\xdaJ\xfb/\xb1G\xb3o(\x00\xa68\x0eJ\xf4N\x9e\x20\xac\xd8\xf5c\xaa3\xbc\xeb\xfd\x8bZ\x07\xe9E;%R\x9d}\xa4\x0cj\xe4\xbc\x85\xdcOm|\xb2\xd9R{\x88\xb6\xe4\xb3XL\xe6\xcb\xff\xad\x13y\xa3{\xc3\xa6\x9e3\xa4\xa7;\xb4\x01\x93\x8f\xccklI+\xe4\x1c\xeb\x99$-,cOE\x86\xdf\xd2\xdd\xeaL\xca\x09\xb4W(^\xd8\x86\xe7=s`\xae\x0e2!k?\x86\x0b0J\xe0*iT}$\x8e\xb3\xdc6\xfaD\xa7C!\xbdGg\xc42\xe52\x85\x0d\x11f.\xcd\xae\xbeL\x09\x00Lq\x9c\xee\x9d}\xb8+_\x10\x84\xbco_\xb7\xb8\xdek\xa6\x1f\xaa\"Y\x95H3\x14\x9aO-\x16\xbbH\xeaM\xa9\x88p\x97e\xab\xdcY\xd28\x96@\x12T\xdb\x0f\xd3\xe8\x9e\xb1\xa9\xe7\x07>\x97\x12\xb6\xaa\x09\x1f]\x20qS\xaad\x090\x93\xbe\x8ca\xf9RN\xcf\x95XF\xd2\xef\x95\xfb'7\x9a\x86x\xcf{\xf3\xc0lR\xa2\x0e\xd3aS\xcbf\x00[\x82y`\xb3\xea\x83\x84\xbbC\xc6\x8e\xce4\xbb4\xf64\xd9\x03\xeb\x85\xf5+G\x90FFF\"\xd5\x97k(\x00\xa62NJ$\xcb\xcc;\xdf\xdf(\x08\xffhq\xbd\x8f\xaaD\x0f\xa8\x89\x0cB}\xe23\xc9\xa9\x11\x7f<7-\x1d\xa4\xf6\x86\x94\xa12_:\x99\xeb\xdbN\x17^5\x8d\xee\x19\x9bz^\x89\xb6&h\xf9|\x9b$\xc3v\xd1^\x89\x94i\xa9Z\xc2\xad\xe8\xdaFz\xf5$\xebyo\x1e\x98MJT\x89\xc2\x1e\x160\x03\xd8\x12\xcc\x03\x9bU\xbf\x11o\xdf'\x92\x0c%bO\x93=\xb0^\xd8\xb0\xa23E\xf2P\xedd\x84\xfar\x0d\x05\xc0T&\xba\x12\xdd\xfa\xa3\xeaz\xff#!\xef\xdfy\xd7\xfb\xa8J\xa4z\x1f\x0e\x11Bgd*\xc8\xd66\xdd\x0dQ\xa3K\xbf,\x03\xa9u\xfd\xa4\x7f\x7f\xea\x1e\x895uel\xea9\xa1\x11}\xfaS\x8d\xac\x01\xac\xbd\x12)\x17{'\xe7H-U\x13c\xde\x87\xf5\xbc\x8fhq\xdd\x1d\xee\xccf\x06\xb0%\x98\x07f\xaa\xae\xcd\x13\xddh\xd7\xca\x0aS\"\xf64mOH\x99'\x12\x9bI\xf9H\x84\xfar\x0d\x05\xc0T&\xba\x12}\"\xdc\xad8.~(\x08\xd7y\xd7\xfb\xa8J4[\x99\x13\xdeC\x94?\xe4\x83$}\xabe\x98s\xcd\xb8\xf7uC\xb9w\xa6\xd8\xf3\x98\x17\x18cS\xcf\x19\xd2\x97\xc5\x9d\xd7\xb2\x85]\xb8j\x80\x99\xf4)SUu\x8a\x95\xab\xc1IS\x98X\xcf\xfb\x88JT\xe1\xe3\xb2\xf3\x01l\x09\xe6\x81\x99\xaa\x97\xfb\x95\xfa7\x11\xe5\xcdF\x89\xd8\xd3\xb4=\xa1\xe24\xaa\x9cAz\x17\xdf\xbe\xbe\\C\x010\x95q\xbcw\xf65Y\x8a>\xdd%<hq\xbd\xe7\x94H\xca\x13^\xb9\xae\xdfb\xa3w\xf1\xb3/S?Dm\xa6$\x97\xf8\x93,7\xa1\xd6e\x1a\x93\xacb\xb2\xe6:d^`\x8cM=kH/\xfa\x8cQ\x08{\xe12\x8e\xf5f\xd2\x976L\x9f\xe5Y\xacD\x0c~KU\xb0\xe1\xb4\xc5T\xf3\xbeR\xc6{\xdeGR\xa2\x9b\xf3\x8c_\xad\xe8%0\x01l\x09\xe6\x81\x99\xaa\x0f%\x15\xcaG\xbb\xb9X\xd5\x10\x1b%bO\xd3\xf6\x84\x06\x94\xe7\xd0\xef\xa1Jd__\xae\xa1\x00\x98\xca8(\xd1\xc7\xab\x84\xbc\x0d\x1b\xf3\x855t\x8a\x88u\xbd\xe7\x95\xe8>A\x10\xde\xd4\xf3\xd4\x90\xa5\x89\x09\x0b\xd2\x89>q]O,\xbf\xf4\x90\xa4\xb3qU\x96-\x9c\xd1\xbdaS/I\xa6!\xbd\xf4\x80>\xcf\xcd\xc52\x01L\xd2Gr\x9a\xea\xb3\x92\xd5\x0c\xab\xf5\xc1\xe1\xa9\xd9\xf3\x9fj\xbb\x9f\xd4K\x8c\xe7=S\x18_\xae<\x983\xbaPZ\x09\\\x80Q\x02w`\xa6\xea\xc7\xfc\xb9\x0d-K\xe3C4_\xa8\x96T\x87Br?\xe7FW(\xe4+\x09\x85\x86\xd9\xd8H'TM6\xb5\x96\xa8\xcfX\xdb\xd5\x97o(\x00\xa62N3\xd6\xf4\xa7f\xf9\x1b\x9eT\x07_\x8c\xeb=\xafD\x1f\x96\xe6\xaf\xf8\x89\x9e\xa5\x86\x94\xf7-\x9d\xe3_\xd4\xa6}\x1e\xf6\x85\xcf\xb7\xec\x98m\xd9\xc4\x1b\xdd\xeb6\xf5\x12cH\x7f5\xb1\xd86\xd6\x08`\x93\xbe\x07J\x92\xe7\x16k\xbd\xad\x86\xd4:-\xe7\xc0\xba\xf4\xa4\x85A%\xa9{\xde3\x85\xf1\xe5\x86\xfc\xdaCOf\x09|\x80^\x02w`\xb6\xea}K\xfdi\xab\xfb\xe5D\x896\x9fS$\xf7\x8d\xe2\xd4d\x1d\x1b\x1b\xf1\x84\x82\xf3\x12s\xdb\xd2\xdb\"\xd4\x97?\x1a\x00S\x19'%\x1a\x07\xce\xf3\xbf\xf4P)\xf3\xc5\xfa#\xd6r\xee\xe1H\x07\xd8\x87\xb0\xc7F\x93\xaf\x04\xee\xd2\x00\xb8\x85\x0bJ\xb4\x83|\xd3fkuz\x8c\xf3\xac\x9bbY\x0e\xe4\xb6\x95hh\xeem\xff\x14\x1f\x000j&Z\x89\xfa\x07\x9bf\xfbD\xa7\xa8q\xe7\xb6\x95\x08\x00\xe0&\x13\xadD\x85\x84\x8cq%\xa2\xdb@\x9d\xd5\x05\x00L\x19&Z\x89\x02\x89\xa9\xae\x0b\x91:\xab;\xe8\x14\x05\x00\x984L\xb4\x12\x01\x00\x803P\"\x00\x80\xf7@\x89\x00\x00\xde\x03%\x02\x00x\x0f\x94\x08\x00\xe0=\xe3\xaaD\xfaB\x8e\xd1y\x8e.}\xad1:o4\x00\xc04\x07J\x04\x00\xf0\x9eqU\xa2\x0f\x9f{\xdd)D\x82\x12\x01\x00\xc2\x18W%\x1a\x1dP\"\x00\x80\x85i\xa7D-\xb91\xfe\xb26*[b\xf9\xd9-\x88\xc2di\xc9\xa1\xdcQ{\x81\x8f\x85\xc9r\x9aS\x0f\x07%\xfa\x91\xf0\xc2\x9b\xeb\xf3\xff\xe1#u\xa1\xa2U\x0fi\xcb\xa1}\xb4o\xfd\x92U\x0f\xabk\\3;\xe8<\xd1\x0f\xb4\x85\x8b\xa4\xc7\x85'%K\xb6w\x1eZ\xb5\xec\xc1\xdfZ\x94h\xa00\xd9\x9f\xd3\x20\xd1u\xc1\xe6\xa9\x1b+\xb8\x95\xd5\x86\xb6\xa4\xf9\x97\x8f\xdaG'0\xae\xbfr;C\xca\xa5\xad$.\xd6\x05L(\x0dt\x15\xa2\xd4{{\xa4qf\x13!t\x95\xb9*B\xac\xdf\xf9\xf6\xd4\x09\xbd\xc6n\x8f\xc9\xd3\x92\x818\xfbU\x16\xc6\xa5\xf9n\xe34\xc7H0^[\xfc*>\xba\xc7\xb9F\xdf\xd29iE\x9di\x7fR\xd6\xcc\xf2\x0f8\x85+t\x12\x92+I\xcdr\x86S\x91\x83\x98\xe6c\xae\xd8\x18\x1a\xd5Q\x89\xbe\x9b/\x08\xcb\xaeKo.\x13\xf27\xae\x17\x84\xef\xd3\xad\xaf\xe7\x0b\xcb\xee[#P\x8bjn\x07U\xa2?\x0ay\xca\xb2j\xd7\x97Q\x93X.\xdb\x0b\x82P\xb01/\xef\xab\x9c\x12\xcdK&\xf32\x09)\x94\xa4\xab\x09\x9a\x1dl&\xb7\xb2\xda\xd2\xb4\xa7J\x129\x8f\x8e(\xec\x8fkp\x0a\x89\x8a\xc5\xe0\xbex\xf6\x9f\xe8\xcfi\x19qc\x02NE\xbd6\x86\x1b\xc8\xb7:\x1brug\xb7qCL\x0a\xd0\xc6\x18\x0a$YW8h\x9d\xa3\x7f\x17\xa3\xd7\xcc\x1d&YK2\x87h\x8d\xb7\xb5\xf76\x9b/\x16\xc6\xef4\xc7\x18\x10\x20\xda\x82\xa0$`\x93A\xc5\xcc\xd6>ga}c6!g\xa4\xcb4\xdb\xe8~&>r\x92\xf8C\xd2p39iY\x04\x9a\xad\x0e\xd3|\xcc\x15\x1bC\xa3:*\x91\xb0\xfe\xf57_\x94>^&\xec\xbb.wjVQ\x7f\x8f?/\x13\x9e\xbc.\xddz\x8e\xae\xac\xcf\xedP\xee\x9d\x95\x0a?\xa69_\x176J\xfc\xde\xdf\x0aw\xbfxK\xfa\xe4A\x81S\"\x92\xd1/7\x90\x9fZ.\xafT-\xabOs+\xab\x0d\xd1\xc5S\xc3V\xb6\x8f\xc0y\x1fgz\x1d;\xbc\xc1\xfd\x80\xea!\xc9.1\xc2\x04\xf0\xb1a\xf4)\x16e\x8b\xb2\xa2\x06\x8d\x81lUk\xeb9/K\x1e\x87\x9a\x8d\x0bW\x17G\x1f\x05O\xb2\x96d\x0f\xb1\xc3wY\x1a/\xc6\xf14\xc7\x16P\xed\xd3\x16IO\xe4\\\xad8\x8clCI\xabG\xe8\xfa\xee\xea\xa2\x83\xa3vH\x1f&\xc5%\xd4\x1a\xc3z\x19\xda\xd77\xa6+\xd6\xc4Y\x89>\xa4\xef\xfb\xb4\xfb\xf3?\xa1&\xd4O\xd2\xf5\xf5%\xaa9/\xf2;\x14%zQ\xdd\xbbKx\xc1\x92m\x97\xb0\x8f\xa6?]\xc3+\x91\xd2\x0f\xdaO2\xa8\x8b\x85\"Ae\x84\x95\x93\x012\xea\xfe\x9d$\x95\xcc\xbd\xe6\x14\x12\x1d\xde\xe0\xbeD]Y\x89\xfdb\xd9z\x1a\xd9\xa2^?\xfb\xc9m\xd6(\x8cBuy\xf0\x1d\xbaS\xad\x0d\x0e5\x1b\x17\xfa\x88\xc5`\xd7\xc2$kI\xf6\x10\xd7\xe6Z\xd7U\x1f;\xe3x\x9ac\x0b\x18\x19\xd0$e\xc0\xd2aa0\xb2\x95'*\x7f>\xaa\x88\xe2W\x1c\x83\x12\x9dJ\x1a\xb1Q\"\xfb\xfa\xc6t\xc5\x9a8*\xd1z\xe5}\xad\xe6uv\x9d\xda/n\xd0>|\xfc\xf1-~\x87\xa2D\x9f\xe6\x09\xd4\x0e$\x9f\xbe\xb2{o\xad\x10\xfeU\xf9\xb0\x8fS\xa2E\xca\xfbp\x1c\x19\x90F\x92i\xd3\xdcL5\x97\x89\xbd\x91\xa2\x8e\x81\xcb\xe8J\x1fq\x07\xa5A\x1f\x9dK\xe2\xad\xe1\x19\xaf\xfb\x1bI\xea\xd2\xd3\xbd\xf2\xd8y\xc7@q\x86\xff\xde\x1b\x15r\xeeF\xa9\x91\x18\xeb\xfb+\xd8\x9b\xcb\xf3\x06\xf7\xf2\x1f\x81\xf8\xaf(\xef\xbe\xed\xe1\xa6\xf5Lr+\x89\xaf\xd9\x94\x9e\xb2r@\xe2P\xaf\x9f\xe2t\xee\x10\x92\x14Z\x9a\x9e\x90\xba<\xc3\x9a\xcd\xd6\xf6\xde\x88eK(W\xff\x10\x15\x95\xb3\xa7)\x0d%\x12\x12\xa7x\xc1\xf2g\xa1gccm\xe1\x03\xcc\xfa\x0eo\x9f\x97tW\x97\xba\x96\xb6AMV\xeb\x19r\xb65\xab\xd6\xcb\x964j\xc6|5$\xdb\xa6\xb6VgG\xa2\xf5\xaa5\x9b\x8f?!\x1d\x17N\xd3\xfe\xdf-\xcaY\x98\x98\x92\xe2\x90M\xf3\xe0\xbbZ5\xc2g\xd3\xbf}\x11\xber\xc3d0\xa7YW\"=\x96-\xd7l>\xe6\x8ae\xb62\x85E\xfc\":*\x91\xd2\xc1\xf9T\x106\xde\xa7\x90'\xbc)-\x11\xfe\x97\xbe\x9f\xdf\xa1>\xd9\xf8\xb0\xdcU\x92{A\x0fZ\xf6~B=\xd3(?\xe6\x94\xa8LMdP\xa3\xe5-\xe4~j\x9d\xc3\x8c;zC\x8d\xa4\"Dm,\xd4\xd1wW\x89\xcfb\x0d\xcfx\xd5\x848\xd0\x00\x00\x09)IDAT\xddK=\xda\\\xc2HScFVRFY1\xb9t\xb5(74,\x0d\x87\x16\x15\xb1\x83\x09{sy\xce\xe0\x9e\xee\xd0z\xf1\xf2w\xbc\xb1%\x8d7\xadg\x92\xb4\xb0\x8c=\x15\x19~\xbe\x93\xd0GZG\xcen'{\xb8C\xc8\xff\xfa_jn\xafK%7\xf8l\xb6\xb6\xf7f,[B\xfdB\xa9+\xa3K\xca\xa9gOS\x1e\xd3\x86B\xea\x9fb\xee,\x8cl\\\xac\x1d\\\x80y\xb4\xa1\xcc\xd4@\xdbVBj\xb9`\xb1\x98\xcc\x97\xff['z\xd8\x92f\xcd\x98\xaf\x86}S[\xab\x13\x0a\xef\x0c\x18\xcd\xc7\x9d\x90\x81\x0b\xa7i\xff\xef\x16\xe5,L\x0cIq\xc86\x12g\xefKl|\xfb\"|\xe5d%\xaaY\xae)\x91\x11\xcbU\xc7h>\xe6\x8ae\xb7\x8e\xe2\x8b\xe8\xa8D\xbb\xe8\xdb\x9f\x05\x93W\xe4\x0e\xce\xc7\xfa~n\x87\xa6D\xaf\x0b\xa5\x92\xf4\xa0\xf0\x13\xcb\xde\x8f\x04A\xcd\xf3:\xa7DZWe>5g\xec\"\xa97\xa5\"\xc25\x97\xd9\xd7c}\xc9\x0ckx\xc6\xeb\x9e\xba\x82\x0d\xe8\xd9r\xc8\xd2ae\xb4\xda\xa0\xfe\xa5\x9coq\xe2\x89`.\xcf\xf67/%l\xd5b\xd3\xe4\xd27\xf1\xa6\xf5\\\xd2\x97!\x1fh(=Wb\xe9S\xfe6(~$\xcc!jS\xe9?rm2\x9f\xcd\xde\xf6\x9e\x89eJ\x08\xa5J\xdb}\xdb\xa5TEt\x8d\xd3\xa4\xf8\xf5A\x81Q3\xfe\xdc\xd8X;\x8c\x00&[\xb1bGWfQ\"\xb9\xc6\x09$A\xed'y\xd5\x92l\xcdX\x1b:\xdb\xa6\xe6\x07\x12\x97\x89\xdd<\xaa\xde|\xe6\x09\xb1L\xfci\xda\xff\xbbE>\x0b\x13]R\x9c\xb2\x0d\xf2\xe3&=\x1b\xf3\xed\xb3\xff\xca\xc9Jtu\xf6UE\x89\xd8o*_\x1d\xe3\xdb\xc7\x8d\xce\xb4\xad\xa3\xf8\"\x8eN\x89>\xa5c/\x9d[\xda\xdcQ\xd8\x0eM\x89\xae\xaf\x10\xfe\xf8oB\xfe\xa7\x96\xbd\x9f\xeaF\xb1?\xe1\x94\xe8\x015\x91ANJ\xf4\xae\xd9\xa9\x11\x7f<\xdb{\x89\xa0D%z\x92\xf1\xba\xa7\x13M\xc6B\x8d9>Mr{\xe3F\xae5\x0c\xdd\xf01a|\x09\x9c\xb9<\xdb\xb6[\xf5e\x1f\x15\x13\xec\xa8\xde\xd7\xca\xc4V-\xe1\xee\xf0\xf5\x91\xaa\xae\xd6\\?-\x839\x8487sk}\xaf\xe6zkd\xb3\xb7\xbdgb\x99\x12.\x91kw}i\xd1\xb0\xfa'\xc58MJ\xb8\x12\xf1\xe7\xe6\x8b\xd0\x1d\xd21\x02\x98lj\x99\xfd\x16%\x1a*\xf3\xa5\x93\xb9\xbe\xed\xf4\x84\xbdjI\xb6f\xe6W#BS[\x95\xc8\xee6\xbb\xa1D\xc6\x09\xb1L\xfci\xda\xff\xbbE>\x0b\x13]R\x9c\xb2\xdd\x88\xb7\xed\x131\xdf>\xfb\xaf\x9c\xacD\xd2\xf2jE\x89\xd8oj\x0cJ4\x8a/\xe2\xe8\x94HZ\xa3M\xf8H\xef\xfc\xf1\xdf\xa5\xf5\x82\xfa\xa3\x8eW\xbe\xf6\x02\xbfC\xfb\xdd\xd9w\x85\x17_\x14\xfe\xd1\x9a\xed\xd6*A}\x00\xe9\xfb\x9c\x12\xa9\xa6\x88C\x84\xd0\xbfp\x15dk\x9bn\x93\xa8a\xafDF\x92\xf1\xba\xa7}*\xa3\xd7\x9d\xa3\x8f\xa6G\xe2\xfb\xaa\xc8\x8e\xb3q\x96\x99\x01\xb3\x04\xce\\\x9ei[\xd1\xa7?\xb0\x13f\x15-Y\x92j\x17\xb4\xd3tj\xa4(\xb3\x1bCq\xd4\xd8\x8c=\xc4P\xdd\xbay$-\xc0g\xb3\xb7\xbdgb\xd9\x12|}I=I}\x09\xca\x03\x1b9\xec\xa4A\xb8\x12\xf1\xe7\x16>\xc1\xc0c\x04\x98\xd9.\x13\xc5\x1dn\xd8\xa2D\x81\xd4\xba~\xd2\xbf?\x95\xb7\xafu\xb5%\xb9\x9a\xd9\xd7\x81ij\xfe\xa2\xe9\x0e7\xe0\x93\x18%b*i2\xf1\xa7\x19\xe1\xdf-\xe2Y\x98\xe8\x92\xe2\x98M\x9b'\xba\xd1\xceec\xbf}\xb6_9\xaaD\xcd\xd9\x8a\x12\xb1\xb11(\xd1(\xbe\x88\xa3T\xa2o\x0b\xf7\xdd\xa2\xef?\xa7w\xee\xf7i\x0f/>$<\xc7\xef\xd0\x94\xe8\xb7\xc2\x83\x0f\xaa\x96\xb0\xdc\xde\xc7Uu\xba\xbe\x9eS\xa2\xd9\xca\x88r\x0fQ\xb4v\x90\xa4o\xb5\xf4\x9c-J\xb4\xc3\xa2D'\xd9\x7f\xcdk\xe6M\x8b\x1cc\x9c?\xaf\xf1\x9eE\xf3\x82\xf3$\x1e\xb3\x04\xce\\^i\xdb\x06E\xb2\xcb\xe2\xce\x87\xc5r\x01f\xd2\xa7Lv\xd5\xf1\xf7\x16\xd4y\xd6d\x9a\x979\xc4i\xfa\xd7p\xb8\xd1_\xcbe\xb3\xb7\xbdgb\xd9Jf\x05\xe6J\xe9Uj\x0e\xf34%\xab\x12\xd1\x9a\xf1\xe7\x16\xe5n\x9b\xc4\x05\x98\xd9n&*eZ\xfbD\xf2\x1fMz\xefL\xed\xd9y\xd3\x92\\\xcd\xcc\xafF\x84\xa6f\x8fFk`7F\x1d\xad\x12M\xd4i\xda\xff\xbbE>\x0b\x13]R\x1c\xb3\x95\xfb\x95J7\x91\xabl6\xe6\xdbg\xff\x95\xa3JtmN;\xad.\xfbM\xe5\xab\x13U\x89F\xf1E\x1c\xa5\x12}\x98/<.\x8f\xad~\xbbJ\xf8\xae$}\x9c/\xfc@y\x9eh\xd9\x9f\xf9\x1d\xfao\xf1\xd7\xe7\xe5\x15\xdc\x0a\xcb\xf6\xd1\x12\xe1\xb9[\xd2\xa7\xbb,\xcf\x13e_\xa66\x87Z\xeds\x89?\x89\xef\xbd\x98\xe7E=Yo.\xb4(\x11\xe3u/\xb3.\xf3\xa6\x16l\xcau\xd1V\xdf1\xb2\xd5\xfa\xe4\x83Y\x02g.ox\xd2\xcb\x7f\xe1J\xc2c\xd9\x00&\xe9K\x1b\xa6Oi,V\"\x06\xbf\xa5~!\xd5\xeb'\xad\xaco\x0f{\x88\x0arL\xc9\xbb\x85\xcbfo{\xcf\xc4\xb2\x95\\\x9e[(\x15\xe6.U\x0eb\xffW\xc9\xa8\x19wnl\xec`\x85\xe5\xcf1\x17\xc0d[\x97J\xbf<\xc5a\xf3D\x92\xa8L\xd3H\xde\xb5$[3\xf3\xab\x11\xa1\xa9\xd9\xa3I7\xe7\xa9\x7f\xd8-\x8cV\x89\xc6\xfb4M\xec\xfe\xdd\"\x9e\x85\xde:\x92))\x8e\xd9\x86\x92\x0a\xe5\xab\xe5\xe6\xe2L.\x1b\xf3\xed\xb3\xff\xcaQ%\x92J\x8a\xc80\xffM\xe5\xaa\x13]\x89\"~\x11MF\xa9D\xd2\xebK\x84\xfc\xfb\xd6\x0b\xc2\xd7\xe8\xfd\xaf\xd7\xf3\x84\x15\xf7\xad\x12\xf2^\xb7\xec\xd0\x95\xe89A\xf9\xa5\x875\xdb+y\xc2\x9a\x7f\xc8\x17\x1e\xe6\x94hib\xc2\x82t\xe3\x1e{=\xe1~\xe9\xa1\xcd\xc4k\x9d\xc8\xd4\xca=\xb9$\xbe\xa1\x9f\xb3\x86g\xbc\xee%\xe9l\x1c\xfd%\x045\x9f\xa7\xd3\xfa\xea\xa8\xfd[\xfe\xe4\x9bY\xfe=l\xa9\x91\xcd\xe5MO\xfa\x07\xf4\xd9\xefH\xa6\xf5L\xd2Gr\x9a\xea\xb3\x92\xd5\x0c\xab\xb5\xe1e\x9f2\xabw\xcf\xf2\x92\x05\xec!*HREk\xb0D\xb9\xc9\xc7d\xb3\xb5\xbdgc\x99J\x96\x91\x80\x14\xa0w\x19\xd9\xd3\x94\xd3!_I(4\xcc\xd7\xcc\xc8\xc65\x09}\x884iH\xe2\xe0\x02\xcc\xa3\x89i\xe9\xb5\xcd\xab}\xe1J\xa4\xe1]K\xb253\xbe\x1a\x91\x9a\x9a=\x9a<\xa2\x0f\x93a\xb3\xf9\xf8J\xeaL\xe4i\x9a\xd8\xfc\xbbE>\x8b\xd5\xc64FO-\xa9>\xad\xa4\x1c\xb3\x1d\xf3\xe76\xb4,\x8d\x0f\xd1Z\xaa\x8ff\xd3\x1e\x8d\xf1\xed\xb3\xff\xca\x8d\x9c$\xcd\xc3Rg\xa2\xd2\x853c\x99r\x99o\x1fs\xc5\xb2\xdf\xc9H_D\x93\xd1*\x91\xf4\xd1\xe3\xeb\xf3\xf2\xef{A\xbd\x11\xff\xe1\xe3\x05ykv}h\xdd\xa1+\xd1\xc7\xe6\x9c6\x97\xed_w\xad\xc9\xbf\xef\xcdW8%*\xef[:\xc7oX\xbb\x0f\xfb\xb8!\xfcH\xb22\xba\x8cW\xee\x14\x0e,\xf6'--\x0f\xf3\xafg\xbc\xeee\xd1\x9dM\xb3\xf7\xaa\xe6\xf3\xea_\xbe\xd3\xc9\xdf\x94\x02I\xdd\x12KDsy\xc3\x93\xfejb\xb1m,cZo&}\x0f\x94$\xcf-\xd6\xbe\xb9\x0d\xa9tBC\xee\x01\x13\xfa\xfc}_Vj+{\x88\x83\x8b+\xd2\x13\xd2\x16wZ\xb3\xd9\xd9\xde\xb3\xb1L%[\xfd\xbdR\xdf\x9c\x16\xfe4\xbb\xd54\xa9\xe3kfd\xe3\x9aD\xaed\x12\xe1[\xc4\x12`\x1e\xedjI\xba\x7f\xe9\xe9\x88J\xe4]K\xb253\xbe\x1aR\x84\xa6f\x8f\x16\xf2o\x97\xac\x98\xcd\xc7WRg\"O\xd3\xc4\xe6\xdf-\xe2Y\xe8\xad#\xf7\xad\x92\xe4C%\x0e\x8f.[\xdfR\x7f\xdajY\xb0\x95\xdf\x9dQ\x94\xc1\x82\xfe\xed\xb3\xff\xcau\xcaaM\xd2\xcd\xdc\xb4\x9b\\,S\xae\xd9|\xec\x15\xcb}'#|\x11M\x1c\x94\xc8m\xces\xbf\xf4\x18\x03e\xbe&\xa7\x90QQn>^\xe9\x8c9=\x15\x13c\xcc6.\x04\xc3\x1e\x98\x8d\x86u\xc6:\x16&\xb6%c\xafY\x93\xaf\xe4\x86S\xcc\x18\x98\xd8\xd3\x9c\x01L2%\xdaA\xbe\xe9\x14\xe2@u\xfaU\xa7\x90\xd1\xb0i\x934z\xc6\xf8\xc5\x1ac\xb6\xf1\xa0!y\x8bS\x08K\xec\xd7\xbb\xc9\xc4\xb6d\xcc5\x1b\x9ak\xffS\xfc\xdbe\x8c\xa792\xa8\x12\xf9\xa7\x1a3\x85\xc9\xa4D\xfd\x83M\xb3}a]\xd6)@\xcc\xd7\x8f\xca\x18\xb3\x8d\x03bjYL_\xfd\x98\xaf\xf7\xb1\x12s\x93\xb8V\xb3q\xc5<\xcd\xbb\xb4A\x92u\xf2z\xe61\x99\x94\xa8P\xfe\x17\x89\xf5\x9b8\x09Pg(cf\x8c\xd9\xbc`\xe0\x18)s\xa3\xaa\xb17\x89[5\x1bW\xd8\xd3\x1chQ\x19\x88\x96aF0\x99\x94(\x90\x98:\x05\x85H\x9d\xa1\x0c\xbf\x17\xe0\xc4\x18\xb3y\xc1\":\x079\xe0\x14u\xfb\xc4\xde$n\xd5l\\\x89\xfd4g\x02\x93I\x89\x00\x003\x15(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\x07J\x04\x00\xf0\x1e(\x11\x00\xc0{\xa0D\x00\x00\xef\x81\x12\x01\x00\xbc\xe7\xff\x07\xfd\xa4@\x82&\x8eJ\xdf\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/chan2b.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04Q\x00\x00\x011\x08\x03\x00\x00\x00\x83\x0b\xcdh\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x03\x06\x02\x08\x0a\x06\x0e\x10\x0d\x19\x1a\x18!#\x20#$\"$%#%'$&(%'(&()'*+)+-*,-+-.,01/2313425747968:7:;9<>;>@=AB@CEBEGDFHEIKHKLJMOMPROSURUVTVXV,`\xae7]\xad[\\Z8^\xae8`\xaa]^\\:b\xab;b\xac<c\xad_a^Fb\xa1=d\xae?e\xb0ac`Kd\x9dAg\xb2cebefdCi\xb3fheLi\xafDl\xafMk\xb0Fm\xb1ikhei\x8fjliGo\xb3Ip\xb5lnkJq\xb6ll\x8dnolKr\xb7pl\x88Us\xb3Vu\xb4xp\x84Xv\xb6surZx\xb8uwt[z\xba\\{\xbbxzw\\}\xb7\x8evve|\xb8^\x7f\xb9{}z\x95wq_\x80\xba|~{a\x82\xbc~\x80}b\x83\xbd\x7f\x81~c\x84\xbed\x85\xbf\x81\x83\x80k\x86\xbb\x84\x85\x83m\x87\xbdn\x88\xbe\x86\x88\x85p\x8a\xbf\x87\x89\x86\xb3\x81_\x88\x8a\x87q\x8c\xc1\x8a\x8c\x89s\x8d\xc3\x8b\x8d\x8ay\x8e\xbe\xc2\x83Wz\x8f\xc0\x8d\x8f\x8c|\x91\xc1\x8f\x91\x8e\xc6\x87T\x90\x92\x8f~\x93\xc4x\x95\xc4\x80\x94\xc5\x92\x94\x91z\x97\xc6{\x98\xc8\x94\x96\x93\x96\x97\x94\xdd\x8bE\x81\x9a\xc4\x97\x99\x96\x98\x9a\x97\x84\x9c\xc6\xe1\x8eA\x9a\x9b\x98\xe9\x8e<\x86\x9e\xc8\x9b\x9d\x99\x87\x9f\xca\x9c\x9e\x9b\x9d\x9f\x9c\x89\xa1\xcb\x9e\xa0\x9d\xf6\x935\xa0\xa2\x9f\x90\xa3\xc8\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\xff\x952\xa4\xa6\xa3\x94\xa8\xcd\xa6\xa8\xa5\x96\xa9\xce\x97\xaa\xcf\xa8\xaa\xa7\x98\xab\xd1\xa9\xab\xa8\x9d\xac\xcc\xaa\xac\xa9\x9f\xae\xce\xac\xae\xab\xa0\xb0\xd0\xae\xb0\xad\xa2\xb2\xd2\xb0\xb2\xaf\xa4\xb3\xd4\xb2\xb4\xb1\xa5\xb5\xd5\xb3\xb5\xb2\xb4\xb6\xb3\xab\xb6\xd1\xb5\xb7\xb4\xac\xb7\xd2\xb6\xb8\xb5\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbb\xd6\xbb\xbd\xba\xb2\xbd\xd8\xbc\xbe\xbb\xb3\xbe\xd9\xb6\xbe\xd3\xbd\xbf\xbc\xb8\xc0\xd5\xbf\xc1\xbd\xb9\xc1\xd6\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbc\xc4\xd9\xbe\xc5\xdb\xc4\xc6\xc3\xbf\xc6\xdc\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xc5\xc9\xd9\xc9\xcb\xc7\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xcc\xce\xcb\xc3\xcf\xdd\xca\xce\xde\xce\xd0\xcc\xcc\xd0\xe0\xcf\xd1\xce\xc6\xd2\xe0\xd0\xd2\xcf\xd1\xd3\xd0\xc8\xd4\xe2\xd2\xd2\xdc\xd2\xd4\xd1\xd3\xd5\xd2\xcd\xd6\xde\xd4\xd5\xdf\xd5\xd7\xd4\xcf\xd8\xe0\xd6\xd8\xd5\xd8\xd8\xe3\xd2\xda\xe2\xd8\xda\xd6\xd3\xdc\xe4\xda\xda\xe5\xd9\xdc\xd8\xd8\xdd\xe0\xdb\xdd\xda\xdc\xde\xdb\xdc\xdd\xe7\xd9\xdf\xe1\xdd\xdf\xdc\xe0\xde\xe2\xdb\xe0\xe3\xde\xe0\xdd\xdf\xe1\xde\xdc\xe2\xe4\xe0\xe2\xdf\xdd\xe3\xe5\xe1\xe4\xe0\xdf\xe4\xe6\xe0\xe5\xe8\xe3\xe5\xe1\xe4\xe6\xe3\xe8\xe5\xea\xe2\xe7\xea\xe5\xe7\xe4\xe3\xe8\xeb\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xe8\xea\xe7\xeb\xed\xea\xf0\xf2\xef\xf4\xf7\xf3\xfa\xfc\xf9\xfe\xff\xfcS\x19\x91\xf7\x00\x00\x20\x00IDATx^\xed\x9d}P\x14\xd7\xde\xe7\xcd\xdd\xa7Q\x09\xa8\xf8\xae\xb9r\x91\xd82\x16\xb8S\xd9I\x14\x1c\xf7\xd6\x94\x0f\xd9\xb0\x9aD\xddK\xb6\xa2\\\xa3\x0fX>IH=\x88k\x89Z<P\xeel\x15(W\x85X\x18//F\x20\xa5\x80o1\xbe\x11\x1c\xd1@\xe2\x0bP\xb7\\\xc5\xab\xa5\xa4H\x95rE\x0b\x84\x92\x02\xce>\xcfsS\xdb\xe7\xf4L\xf7\xe9\x99\xd3\xd3\x836\x0d\xcc\xfc>\x7f\xcc\x9c9\xfd;\xa7\xcf\xe9\x9e\xfe\xce\xe9\xd3=\xfd\x1d\xf3\xeb+\x80\x00\x00\x00h\xc6h\xa9\x867\xb4*\x07\x00\x20\xc0\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05xE\xfa\xb5\x02\x80@\x02\x14\x05x\x15Z\xe2\xa7poi\x05\x01\x01\x04(\xca\x08\xe6PD\xabV\x881\xb4E\x1cb/\xe8\x9f=\xdb^\xde\xc4^\x06\x04$\x06)\xca\xb1zW\xaa\xfe\xf0\xee\xfc\xf38\xd1Q\x95o?t\xa9\xc7-\xa9\xc6\xdfv,\x89I\xee\xf3\x16\xe1A\xe1XNd\xec\x01\xadPL\xdd\xfc\xd0)\x8b\x8fM\xb9\x87\xe2\x85\"\xa1\xd7\xb5\xc2\x09G9.\xa2\x1f\x1d\x10\x0a|\xa3\x1eT>\xb9\xc8\x95l]1%dA\xbf{\xae\x1a\x9b\xb9\x8dZ!/AM\xdc\x19\xad\x10\xc2i\x13/b:!4%\xe8\x0bf\xd0%\xee03\x1f\x08X\x8cQ\x94{\xd9\xdf\x89\x89\x9er\xfb\xa9\xa6\x8b\xd97\x10j\xcf=T\xd7t~wa\x8f\"\xa9\xca'q_\xa7\x9b\x9fx\x09\xf0d3WU\x95\xc9m\xad\xaa\xe26\xab\xc6\x1c\xbd\xe8J\x1d\x09\x8d\xb0\xef\x9f\xc3q\xf5\xe8\x16.vJ\xb5\x08MW9\x17R\x85:\x0ep\xe5]\xca\x05r\xbd\x08\x95\x84J\x8a\xf6\xe6\x94\xcc\xf8\x906\xf7\\\x152\x83v\x8b\x09\xba2&\xb5\xd7\x06\x11p\xd6|B=\x90\xe2\x20\xefp\x94\xf2\xc5\x0e\xc7\xbc\x83\xc2\xa7\x92\xb1\xdbYA\xdfq\xc7Y\xd9@\xe0b\x88\xa2\xb4\xe4\xbb\x14\xa5\xdc\xde\"\xfcRg\x0b#\x96o\xf2\xf1ou\x9b\xfd\xbc\"\xa9\xc6c\xbe\x14\xf5u\xaa/g\xb1u<B\xdfbi\x08\xd9\xaa\x1a\xf3\xbb\xc5\xceD\xdb\xc4\xb7\x04Q\xe8\x98\xc9\x91\xc1\xd4\xb7>*\x0a\xea\xe0\x96\xc6#\xd4\xc4u\xb8\xe5K\xf5b\xa4\xa9\xcb6n;\xeaw\x85jMh\xde\x18\xbf\xd6\x99RT&\xd3\x1a\xe9:'Z\x9d\xca\x0c\x90Q\x04\xf88\xd2+6!\xd4\xc0_E\xc8\\\x8c?\xae\x0f\xbe\xc5\x08\xf2yC\x01\x81\x82\x11\x8ar,\xfb\x98]T\x94\x96\xec\xef\xf1\x1b\xfe\x95.\xcc'9G\x8b\x14I5\xee\xf2\xbe\x0d\xd5i\xban8\xbf\xf17\xdc\x06\x10\x14\xe1\xef8\x13kC\xee\xe1\xb7-\xdc\x8f\xf8\xcd\xe7\x03\xa5\x83\xfbf\xc2S\x86\xa2H\xf5*\xb8\xcei\x9e\xe9\xc8\xc4OuU\xca\xae\x0c\xd5qu\xce\xd4J-E\xd1\x0c`\xd0}\xd7\xa9(w\xbb\xf1\xc7\x8e\xa9\xf1\x8c\x20\x9f7\x14\x10(\x18\xa1(]OQ\x9e\xa8(\xa7\xec=\xae\xdf\xe6\x96;\xe4\xed\xe4\x01E\x92Io\xacxB\xbf\x0b\xa1\x9d|T%\xbao\xe2\x97\xe3\xa4\xa9lW\x82y\xc3\x03\x12s75\xd6\x14\x97\xfc\xc0\xbd\xa8\xfc\x8d\xcf\x8b\x08\x9d\xb5\x8a\x1c\xa3\xc7\xe7O\x1f\x17\xb6`\x06BE\xcey\x96p!s\xa6x\xbc\xb4n\xe9R\x16\xcb\x0c\x0f\x9d\x93\x89\x14\xc5\xe8\xca:\xb8\xa6\xf0|\x97\xa2\xb8b\xe9z\xdbB8.h/^\xda\x13&\xe6\xaeR\xe4R\x95]\x1a\xcbq\xeb\xaf/\x9d\x112\x1f\x9f\xfe\xf5L\xfc\x98,\xa5+\xa3\xd8>\xab\xa8\x9e\xab/\x99\x95\x89\xce8\xa7;V\xe3\xec\x81\x8aDs\xc2\xae\xe78yy\x83\xcd\x14\x9bl\x1bP\x04<1\xf3x\x0b\"\xb7\xcd\xf78=\xd6\x96\x93\x13k\xaeV\xaeDT\x14'\xebC\x18\xc2|\x0c\x14\x05Pb\x84\xa2\x088\x15\xe5PQ}\xa1}\xefI\xf9\xab\xd9\xbf\xb7\x8a\x91t\xe7\xa6\xa3\x92/p8~F\xe8\x81\xc3T\x80\x06\xaen\x8bF\xa8\xb9\xd2\xc4\xc7\x15\xfc\xd9\xf2\x19\x8e\xa85\xaf\xfe\xaa\xa6\x80/v/)IC|\xd0\x07%\xdb'\x87\xf7\xe3S\xff\xf8\x03\xe5\xf60\xae\x07u\x9c\xac\x9a5\xb7\xaa\xaaJ8\xd1\xe9\x0aR\x9c\x19\xc9\xc5\x82\xd7\x97\xac\x0f\xfe=\xa2\x8b\xd1\x95\x09\x8a\xb2}\x81SQ\xa4X\xaa^\x84\xceWU\x05o\"u}_\xb5\x9f\xdbTU\xd5\xa2\xcc\x95+\xeb\xca\xdf;c\xd6\xc4\xe9\xab\x96r\xf8\xe2\xc9E\xee\x18Y\xac\xa8L\xa6e)\xf7\x06\xf7[n\xf1\x1d\xd4y\xc5\x91\x90\xe4p8n\xe3\xec\x8c\xa8\xacs\xa5q+\x85\x13\x9b\x9f\xe6\xa5\x9f\xa8)\x8b\xe5_(\x03\x1a\x1c\x8e\x98\x02\x9c\xa07_\xefrk\xe9\xbe\x18s\xd9\x06\xf7\xedG+\xcaI\x0f\xf1\xe8\xb9w\xecw\x93\xdcGg@\x80c\xac\xa2\xe4\xdb\xf3.\xdd\xaa\xdf\x9b/\xcd\xc1\x9e\xccmc$=\x91\xcfz\xa2\xf1\xf1P\x10M\x92\x16\xe1\x076=NHu\xdb\x92\x85\xa1yo\xf5c\xf7r.i(\xe2r\xc9\xa7\xfd\xc2Hb2^{\xe6$2Vr\x9dP4q\x87X\xc5\x0esG\x84\xd7#\xf8\x82\x06U\x8c\xaaLP\x94{\xaf\xdf#\x8aB\xc5\xba\x9d\xa8\x848\xb5Cy\xd6\xe3\xcc\xa5*\x13\x8aqo\xb6\x89'\x85\xa8\x84\xbb\xe1\x8ad\x9f\xf5\x1c\x1e\xc7\x8ds^h\x91Nj\xce\xf2\x15\x08\xeb\x800\x0a)\x8d{!$K-}\x8a\x00\x8c\xa8(\xf4\xe6\xab\xe6\x1b\x85P\xbe\x19\xb9C+\xca-\xce}\x0c\xf9\x960t\x1a\xc4i\x1c\x10\x10\x18\xab(E\xf6v\xe1\xb5#\xf7[g\xf6\xa9l\xe9^\x06*\xc9\x80\xad(\xe9\xae\xe4\x05\xfe&\xbb\x9cK\x1a\x16\xcf\xec\xc1L\x13\xcem\xeeL\x9d\xb1\xc2\xfe}\xbf(j\xae\x83\xb5g,s\x8c\x12\xff[\xf2\xf6\x86\xb2\x18U\x99\xa0(h\xc1V\xa2(T\xec`\x14\x85\xaaL(\x16,m\x84BNJ\xb2\x14\xa5m\xd5\xf8i\xdc\xd4\xe0\x8f\xc8\xe4\xac$\x18i\xef\xf6\xbe\x10\xb0e\x20\xf4\xd0\xba,\xab\xecf_/R\x04`$E\x916_\x8eEx\xb9\xcd\x9fF\xee(\x15e\xbf\xdb\xd2\xa6\xc3\xd9\xb3\xc3`\x8c\x02(0VQ\x8e\x15\x8ao\x87\xc8[\xcfQ\xbbk,O%\x99\xb0\x15EJ\x16\xf3\xdd\xecr.i\x98\xe3\x9c\x8d\xc0\xb7w\xb6e\xbf3\x9b\x9b\"^Q\x96\x0eV\xe7<J\xcf\x11E\xb1\xb9\x0b\xc9\xdb\x82\x08E1\xaa2\xac(\xf9s\x88\xa2\xd0\xb1\x83P\x14\xbae(\\\x9e-9%\x9fd\xb0\x14esXv=W\x9f\x19\xf69\xfe\x20\x09\xc6\x87\xce)\x93\x14!\xfd\xa4,5\x81_rp@\x11\x80\x91\x14E\xde|\xf3\x1ecU\xf6>F\xf9\x96;\xe9\xb1\x1cUq\xdf\"\x00\xa00VQ.\xee&\xe7\x1a\xe5\xe4\xc0zZ\x94\xd7\xe2\\L%\xd9\xb8)\xca\x1e7E\xa9\xe1U\xee\xc8pI\xc3\xd2\x99\x17\x09\xc2O\xfay|Q\xb6m\x7f\x08\x99o%\x07\xab\xbdI\xba\xd6\x93\xcf\xb5\xd2\xc5\xe2g\x92\xb7\x19\xf1\x8abTeXQ:B\xcb\xc9\x18E\x8e\xa5\xea\xc5xU\x14\xaa2\xa1\xd8\xdb\xd2\xe2\x8e`\xe9\xf66Ee.z\xc8\xb5\x1eq\xa4E\x04\xa3\xe2!\x1e\xa3\\#\x08\x02\xd1\x90#h\xc9\x93\xca\x98RE\x00\xc6SQ\x1eF%?lLH\xf4\xbc\xacL+\xca\xa7\xe3\xdb=\x96\xc3\xb5\x1e\xc0\x1dc\x15\xa5\x8d\\=n'w\x9e\xb4\xee?\x20|E\xfb\xbb\x94I\x15dE1\xe7\x20\xd4\xf7\x077E\xe9\xb4&\xe1\xe1}V\x96{9\xd77\xfe\x08G\xaeP\xffQ\xf8I\xdf$\xcetD\xae\x20\xaf\x91\x08\xdd\xc3\xcb\xda&\xbe-\x1c\x9d\xfd\x913\x14\xc5J\xc8H\x7f?W\xa2(FU\x86\x15\x05\xc5/\xc6\x8aB\xc5R\xf5b\xbc*\x0aU\x99r4\xb2x\xa6\xeb\x8e\x15Ee2w&\xddq\xa6\x92\x92\x10z\xc4Wce%Wkr\x0e\x0a\xdb\x85\xbf@\x16\xedP\x04`<\x15\xe5\x1a\xbf\x84\xe7\xd7\xb9.\x945}!\xcd\xe0P\x8a\xd2?{\x01\xf2\x04\x14\x05p\xc3\x08E\xe9ji\xc9=\xdaB\xc6\x00\xe7\xed\xe7o\xd5\xe5\xe1\xbbc\x9b\xec\xfb\x9bZZZN\xe6+\x92l\xc4k=W\xc9ohb\xdc\xc1\x82D\xdeT\xd1\xfc\xb3\xc3\xb4\xed\xea\xc0\xcdm&|\x0d\xa86f\xf9\xd7\x17\xb2\xf82\xb7\x82\x173\xb9\xad\xe2}sk\xb9\xc5\xf9\x87\xe2\xb9<,\x0d\x136\x96\x14\xc6\x8b\x97R6\x06o)|3\x14\x1f\x99\x87C#r\x0f\xcd\x1f+\x8c\xec\xef8o\xb5\xc5\x83\x82\xa5Ak\x8b\xd6\x06-E\xcabRe]\xe5\xdc\x81\x0et4\x84\\\xeb\x91c\xa9z{NUU\x05\xc7W\x1dos]\xeb9\x85u\x82\xca\x95+\x132\xf1U\x1d\xd7X\xe4\xc7\xa0-\xce\x94\xdcH\x15\x0a\xa2\x8bO\x7fb\xc6C\x90\x9cyi'Ng\xe0\x99\xd9\x02\xde\xbc\xef\xac\x90\xacU\x04\xf4^u8b\xb69.?C\xf4\xe6\xbb\x16Ss\xce\xf1\xc05DY\xc8\xb9\xb4\xe3f)_\xdc\xe0Lo\xe5Xw\xee\x9eg\x9d\x0a\x01\x81\x8c\x11\x8ar>\x1bC&e\xd1\x8dC\xb9\x07\xce\xe3\xb1\xfa\xe1l\x91\"E\x92I\xb7E\xfc\x7f\x09\xb9\xfcy7)\xc6\xb2a\x0f\xcf\xef\xdc\x89\xb3\xfeb\x16^w\x0a\xd9\xb7Sm\x96D\xf7\xa9\xc5\x8e\x09\x1c\xc79\xefz?\x12\x196i.\x1ef\xe4\xcd\xfdt\xfa\xb8)\x91\xe2\xb5\xd9\xae\x0f\xc2B\xe6\x8aS\x01\xf8\x7f=\x0b\xf1=c\xf1\xce\x99\x0d|\xa7j\x7f\xe6\x9c\xd09\x99\xfd\xee\xc5\\\x95\x1d\x13\xc2\xf2Q\x7f\xc4\x94~E,U\xefwAbe\xd9\xa8k\x12I\x8c\xadW\xe4R\x95]\x123\xa5\xa1\xc0\xfa\xd7\x9dG+\xd5H6\xddY\x8bb\x92\xc4C\xbff]\xace\x0d\x1e\x9dT\xac)\xb0\x99\xacI\xb5\xca\x80\x9f\xa2\xc4\x89\x962Do\xbe+\xe4/<\xa65\xe2DJ\xee\xe4l\xb1\xda\xe7x\xa9\xf9\x19I\x1f\x0f\xf9\xc8}\xad\x98{c\xdf\xb9tO\xeb\xee_\x20\x900BQ\x80\x97c\xd5x\xd5Q\x9b\xae<2\xefx\xf4\xe2\xc5\x93\x9f>[\xa4\xfa\xc7\xa9\xfd\xe3\xe3{\x10\x8b\xc2\xd9\x1c<\xcd\x00\xa0\x00E\x19\xc1l\x9dvO+D\x0fN\x8b7\xad\xa0\xbe\xd8\x0b*\x11mS\xd9\x7f=\xc6\xdc\xbb\xe4}R\x1d\x08,@Q\x80kQ\xe2\xe9Ns\x94\xca]=\x00\xe03\xa0(@_\x86yGum\xf5\x0es\xc6\x80V(\x00h\x00\x8a\x02\xa0\x813\x1b\xac&k\xf2Y\x10\x14\xe0\x95\x01E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x19\x1d\x9cI|\xa4\xf8\xac\xea\x1b\x0a\x00\xc3\x8aA\x8a\xe2\xdd\xa5\xb4\xe5\xc8^{\xfeI\xc6#\xc2\x0c\xa0i\x1c7\xdb#\x93r\x13\x1d\x0c\xbeZ\xa9*\x0c@}\xe2\x20_\xe0vC\xab\x9ao(\x00\x0c+\xc6(\x8aw\x97\xd2{\xd9%\xf5w\xea\x0f\xec}\xea\xbd\x92!\xe2T|\xb0G\x1e\xe5&:\x18d+U\xef\xbe\xa1J\x03P6\x8a\x1aJ\xa3*<rU|C\x01`X1DQ4\\Jod\xe3\xe7\x93=\xcd\xf6\xfa\xec\xea\xa1c\x93\x87\xa2(\xdcD}\x87\xb2R\xf5\xee\x1b\xeaf\x00\xca\x84\xae\xe1\xae)\x87\x91\xcb\xf6\x0d\x05\x80a\xc5\x08E\xd1r)Edp\xd2\x9a=L\xcf\xd9\xf0T\x94A\xb9\x89\xcaPV\xaa\xdemA\xdd\x0c@\x99\xd05dX\x9f3r\xd9\xbe\xa1\x000\xac\x18\xa1(Z.\xa5$\xe6V~\xd1\xe0'.^\x95\x96\xa5S'\xbd\xed<\xebq\x99\x85\xd2n\xa2j\x16\xa2\x12\xcfR\xad&[J#RX\xa9\xb2}C\x1bM<\xbf\xe7n\xfa\xb2\x98dl\xcd%?\x14Z\xcbXT\xa8\xda\"\x0eQ\x94\xb9*\xbe\xa1\x000\xac\x18\xa1(H\xd3\xa5\xb45;;;\xd7\xf8\x99\xd9\xeb\x13g\xe5\x1e\x9a\xcf\x11E\x91\x9dGi7Q\x15\x0bQ\x89\xb3|FmuJ\x14~\x84\xabl\xa5\xca\xf6\x0d\xed\xae\xae\xb4%Xl\xbb\xd2\xe6\x11\x97\x0bIQ4\x8dE\xd1M\xdeA\xde\x95\xb9,\xdfP\x00\x18n\x8cU\x14U\x97\xd2\xd6\x96\xba\xfc\xbd\x86K\xca\xdc\x99\xc2\xe8\xa3\x7f\x0eV\x14\x85Y\xa8t\xd6\xa3f!*\xf1\xbc\xbaS\x18e\xbc\x9fB>\xb0\xcez(\xdfP!\x97\xff\xe4\x19\x1a\x10\x1f\x05\xedR\x14\x1f\x8cE\xcf\xf1\x7f\xf5\xa8\x17\xe3\xe9\x1b\x0a\x00\xc3\x8d\xb1\x8a\xe2\xc5\xa5\x14\xf5\xe4\x97{\x96\x1bR\xda8;~[\x8f\x15Ea\x16*)\x8a\x9a\x85\xa8\xcc\xe3\xd2\xe4w-\xfc\x87$\xcdR\x14\xca7T\xc8\x8d~(\x15t)\x8a\x0f\xc6\xa2\xa7\xf9\xfb\xae\xa4\x9b\xa2\xb8\xfb\x86\x02\xc0pc\xac\xa2\xb0]J\xbb\xc4\x09\x94Kv\x83'R\xces\xe4\x94k#V\x14\x85Y\xa8\xa4(j\x16\xa2\x12\x0dq\xb6\x9c\xd3\x8eu\xea\x8aB\xfb\x86\xa2\x95\xae\x19\x10$+\x8a\x0f\xc6\xa2We\x1f.\x85\xa20}C\x01`X1VQ\x98.\xa5\xfdyG\xc9\xc2\xef\x8dV\x94V\x8e8\x95\x92\x99Y\x85Y\xa8\xa4(j\x16\xa2\x12\x09\x89xJ5\x95\xad(n\xbe\xa1J=\x90\xc7(\x9a\xc6\xa2\xcf\xa3\x0b<\xea\xc50}C\x01`X1VQ\xd8.\xa5{\x89}\xb9\xf1g=(bz\x9b\x20\x1f\xafcEQ\x98\x85J\x8a\xa2j!\xea\xc2\x86\x8f\xf0\xbe\x95\x1e\x8a\xc2\xf2\x0de+\x8a/\xc6\xa2\xa9\xef\xb9n\xc4\xa5s\xd9\xbe\xa1\x000\xac\x18\xa1(Z.\xa5?f\x97\xd7\xdf\xa9\xcf7\xfe\x9e\xd9\xba\xd0\xe9\x9f\xae\x0f\x0b\x1a\x9b[O\xdb\x98Rn\xa2\xaa\x16\xa2.\x0a\xf8\xd4\xd2\x82\x95|\xecWW\x15V\xaa,\xdf\xd0\x17?\x90+5\xf7\xc5\x82\xb2\x01\xa8\x96\xb1\xa8\xc0\xed\xa8?\xbb\xd6G\xe5\xb2}C\x01`X1BQ\xb4\\JQ\xcb7\xf9\xf6\xc2S\xc3ps\xc5\xf5\x85a3>\xca\x1d\xcb\xad@\xb2Y(\xed&\xaan!\xea\xa4\xaf8!:.\xad\xe2=S\x92\xc2J\x95\xe5\x1b\xda(\x1a\x84&\x93L\xda\x00T\xc3X\x14\xb3/\xe6\x0ar\xcfU\xf1\x0d\x05\x80a\xc5\x08E\x01^\x95\x81,S\xb5[\x96\xaao(\x00\x0c'\xa0(\xa3\x82\x81b\xdb/\x8a\x0co\xbe\xa1\x000|\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a2\x829\x14\xd1\xaa\x15b\x0c\xe0\x89\x0a\xf8\x8aA\x8a\xe2\xdd\xa5T\xa0\xce\xfeR\x169CK.~\x80A\xd8\xfc\xa1|\x0c\xc9\xd7|T\xa5\xda\xb2\xcd\xdcF\xc5\xe7\x15\\P\xbeJ\xa8\x07\xda\xb1\xf1B\xdfB\xaf{\x8fA\xefd\x8a\xef\xe0\x89\x0a\xf8\x881\x8a\xe2\xdd\xa5\x14ao\xc1\x93y^\xca\x1b\xccQ\xa7\x86\xb4\xe5r_\x1c\xcd\x8d\xe0\x8ey\x0f\x7f\x15\x9e\\N,@l2\x83v+3Z\xaa\xc6mb\x87z\xa2\x1d{\xab\xaa*S\xcb\x9e\xe3;n\xad3\x05\x9e\xa8\x80o\x18\xa2(\x1a.\xa5\x02E\xe5wF\x90\xa2\xfcn\xb13Q\xc7\x1dA\xa8\x7f\xee,\xaf\xd1\xafH\x8a\x8a\xa2\xdc\x18\xbf\x16\xb9\x13\xec\xb3\xa2\xf8\x14\xfb\xad\x86\xa2\x1c\x9f&)\x0ax\xa2\x02\xbea\x84\xa2h\xba\x94\xa2\xba\xddO[F\x90\xa2HO\x94%\x8a\x822\xb9\xc1{\x20\xfb\x8e\x9a\xa2\xc4O\xf5\\\xab\x0f*!\xe1C\xac\x86\xa2\xbc\xc3-\x0e\x95\x14\x05<Q\x01\x9f0BQ4]J\xdb\xed\xd7\xd1\xb0(J\xeb\xd2\xb0i\x1f}\x146\x01\xab[fx\xe8\x1c<kP\xe4t\xd4\xc0^\x1a\xa2\xa2,\x9dF\x82]\x86\xa5\xc2\xd1\xf5\xf1\xec\x09sOM;\xec^]\xee\x14b\x00tk\xa2\xb3\x8a\x89w\xe4e/\x96\x98rl\xd6\xda,KR'mnJ\x14%\x8b\xe7\xf9\x98\xc7\x0a\xc3R\xd43\xf1cW\xd1\x1bo\x87\x8d\x9b\xb2\x00\xfb\x06\x04\x7f\xb4jV\xe8|<Xh{g\xea\xf8\xe9\x0b/!<c2\xce\xee\xca\xa5\x09\xfe\x20~j\xd8Bq\xa2\xc4\xd57eRKQ\xee\xb5\xa0I\xf28\x09<Q\x01_0BQ\x90\x96KiI9\x1a\x16E\xe9ycJ\xe6\xc6\xe0\x10\xfb\xfc\xad\xd8cc}\xc9\xfa\xe0\xdf\x0brq\x92<\xa3\xba\x0a\xcf%\xd7q%O\xeb?\xe6\xc8\xa3\xf0e\x1b\xd3\xb6\x99a\x9bKVp\x9c\xeb\xc0\x94x\x8b\x9bO\xaa\xdd\xbd]$\x97~nc\xad\x85\xdf\xb5\x8e\x8f=\xb8\xa4Xan\x8a\x15\xe5AZ\x14y\x8c\xb5lX\x8a\xd0Ei\xf6\xe6\xd8\x84\xf0\xcd\xe5\x1b9\xa1\x8d(\x98\x9b\xbd\xf7\xd0\x14\xec\xf2Q\xc4\xc5\x1f\xcb_\x18\xf4-B\xf5{\xc7r\x937m\x99\xe8\xee\xfd\x11\xcc\x85\xef\xdf?'\xb4\x0eQ}S$5\x15E\x80R\x14\xf0D\x05|\xc1XEa\xbb\x94\xd6\xe7v\x0c\x8f\xa2\xec\xe7.\xe1s\x1a|\xd0\x1d&\xa3\x91#\x1c\x19wPg=\x98\xa58I\x19\x96\xfe~\x12\x1e/\xac\xf2T\x94\xa6\xcfo\x90\xf7{M\"\xf7\x14K\xad\xe9\xe8\x1c\x7f\x06\xa5g(\xcdM\x05E)\x8e>\x8bS\x0aG\xd3\x12N\xac\x0buM\x9f\xdf\x85\xbdG\xf0\xa9b\xf0\x94VA\x14&\x0b\xa9\xa7\xf9x\xb4\xf4[bM\x16<I\x18\x9f,\x9d\x8c\x94\x04\xcf\x16\x8au\xcd\x8aP\xf4M\xd1\xcd\xc1)\x0ax\xa2\x02\xbe`\xac\xa20]J;\xec\xf5\xfd\xfd\xfdMy\xfd\x06\x1b\x80!\xb4v\x12\xc2\xe6<\x87\x84\xd7\xf8\xdf\x92\x9c7D?RYQ\xb6\x9c*\x89\x08\xc1\x9e\x1a\xb2ai\x7f(\xb9\xa8[\xef\xa9(N\x9a8\x17\x0a3\x0ek\xa5\xa0\x16\x9d('\x0d)\xccMS\x0a\xf69}~\x14\x8e\xa6\x85\xae\xc2%\xdc\xf7R\x15\xc1\xb8y\xc4\x03\x11\xb5f\xce\x9f9\x91\x9b\xe3\x96K\x11\xfcG\xfc\x9a\xc9\xb5\xd1}Sts\xb0\x8a\x02\x9e\xa8\x806\xc6*\x0a\xd3\xa5\xb4)\xdbE\x8bJ\xe9\xa1b+\xd7\x8a\x7f\xb6\xf1\x18e\xeeB\x92\xb3\x20\x02\xbf*gf\xdb\x82\xb2\x11mXz\x8b#\xbdhWU\x14TU$R\xa5\xc8\xb5^@\x0d&D\x14\x8567M\x89\xb3$|F\x8cI\x15\x8e\xa6\xa7\\G\xfbVN>I\x0c\xc6Z\xb6\x09k\xc7\xb7S\xa6\x7f\\X\x159G\x99K#\xce\xccVq\x17\xe9\xbe)\xba98E\x01OT\xc0\x17\x8cU\x14\xb6Ki+\xa6.\xb7\xb5\xd5\xe8AJS\xd0\x82\xa6K\xb3\"\xf0j\xe3g\x92\x9c\x19\xf2\x18\xc5\xde\xe4\x9a\x99\x9d\x88\x8fX\xd9\xb0\xb4?\xe4S\x1cT\xa7\xae(l\xac5\xa8!ZT\x14\xda\xdc4%\xae\xf9\xbe\xa5\x18\xa7\x14\x8e\xa6\x1d\xc1\xce\xdb\xdb\xca)\xa3/\xa2\x12D;fG`\xbf\xb4\xb7\xe7(si\x82W\xe1W;\x1e\xa3\xcc$\x19\xb8o\x8an\x0eNQ\xc0\x13\x15\xf0\x05c\x15\x85\xedRJ\x18\x8ey\x94\x8b\xdc\x14\x8e\x8b$\xb2VB\xc6\xf4\xfb\xb9\x12\xfc!2\x12\xa1{\xd8\xa0TT\x94)\xab.}J\x1b\x96.\x0e\xc37\xc7/e\xcc\xa3|q\xc3=\x8b\x82R\x14\xda\xdc\x14_=\xbe`\xc2\x13\xb3\x0aGS\xe14K\x14\xd8\x8e)\x91x\xda\xe9\x03,\x10\xb2vL\xc7\x13\xb1\xfds\xbc)\xca4<\xfd2;R\xd17E7iEi\xda\xc4\xbc3XV\x14\xf0D\x05|\xc2\x08E\xd1r)\x15\xe8o\xa9\xcbmi\xf3Z\xcb\x10p1\xb8\xbc\xa4\xaaE<p\x97\x06\xad-Z\x1bD&a\xd1\xc6\xe0-\x85o\x86\xdeA\xe8\x12\x99\xc2\x8c\\\x80\xa7\x1fd\x1b\xd3\x96)\xd33\x0f\xbc\x15\xec\xa9(\x0b=<\x07)\x9a\x17\x15?\xaf45>O[\xf7\x8027}r9q\xdb\xd5\xde\xcedk\xed#\xda\xb0T\xe0\xc7\xa0-b\xc1\xa3\xaf\xbf\x91Y\xf2\x01g\xc7\xf7\xc1\xc6\x9fB\x17\xe3\xc7U\xb5\xa0M\xdc;\x99\x9f\x87sa\x9bO\xd1\xb94\xc1\xdc\xfcS\xdfDL\xc2\x1aG\xf5MN\xde\xc1\xf7\xccnu\x19\xaf.\xe4&xl\xfe{UU\x13\x16;\xedZ\xc1\x13\x15\xf0\x0d#\x14E\xd3\xa5\x14\xdf\xfa&\xb0\xd7[%C\xc1\xc9\xf1xfd\xdc\\<\x91\xd2\x9f9'tN\xa6x\xf4t}\x10\x162\xf7[\x84\xf2\x85\xa5\x9b\x05]\x99\x15\x86\x7f\xd3]\x86\xa5\xc2\xf0*~z\xc8\x9b\xe7=\x15%wr\xb6{\x96D\xdf\x12\x9e\xaf\xb4\xf0\xe6j<O\"\x9b\x9b~\xcd\xf3|\xd4O\x95\xc2\xeb>D\x19\x96b\xd6\xbf\xee\x9c\xb8\xb8\xfe\xce\xb4\x89\x11\x85\xf8\xce\x13\xa1\xb1u\xa1\xc2\xeb\x0a\xd4\xbfuV\xf0\xe4\xc5\xb93\xc7G\xd2\xb94\xb3?}g\xe2\xd4\xa5\xe2y\xa5\xdc79\x19\xef\x9c\x18\x12\xef\x0f\xb6O\xe0\\\xd3\xe5\x12\xeb\xc9\xf2\xb1\xe4\x96\x16\xf0D\x05|\xc3\x08E\x19\xa9\xb4NX\xd1\xda\xd3\xd3\xf6\xdd\xdba/3:\xea\x18\xec<\xca\xa0Y5\xde\xe7?\x06\xbe:\x85\x9c\xb7\x8d\x00\x9e\xa8\x80\x8f\x04\xb2\xa2\x14N\x12\x87$\xfda%\x1a\x91,\x86^Q\xd0\xd6i\xca;Z\x86\x8e\xfe\xdcI\xca\x11\x8e\x12\xf0D\x05|%\x90\x15\xe5bP\x1dy\xaf\x0b\x92\xef\xf8\xf0\x1d\x03\x14\xc58Z\xc2V\xc1=\xf6\x80\x1e\x04\xb2\xa2\xf4\xc7\x87\xac\xd8\x7fl\xff\x8a\x90\x97\xf9\x0f\xdc\xf5\xc3\xdc\xaaSF_\xee\x06\x80\x91N\x20+\x0aBE\xf3\xa7\x8e\x9f:\xff\xa5\x9e\xf54W\x9a\xb4\x04\x00@\"\xb0\x15\x05\x00\x00}\x01E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14e\xd4\x01\xde\xa5\xc0\x08\xc6\x20E\xf1\xeaR\xda\xb5\x9b<\xd7\x20w$\xfe\xbb\xb5n~\xe8\x94\xc5\xc7\xa6\xdc\xf3\xcd\xd4S/\xc0\xbb\x14\x18\xad\x18\xa3(\xde]J\xdb\xb2\xbfo\x11\x18!\xbf\xbc\x0a\x8e\x84F\xd8\xf7\xcf\xe1\xb8z\x9fL=u\x03\xbcK\x81\xd1\x8a!\x8a\xa2\xe1R\xda\x96\xadxf\xfc\x08\xa2m\xe2[]\xc2hj&G\x86X\xda\x8fe\xd5\x0f\xf0.\x05F'F(\x8a\x96K\xe9\xc8U\x94\xb5!\xe4\x01%[\xb8\x1f\xf1\x9b\xd6\xa1\xa6'\xe0]\x0a\x8cN\x8cP\x14-\x97\xd2\xe1S\x94\xe3\xf3\xa7\x8f\x0b[0\x03\xd1\xae\x9f\x1b9\x8e\xdb\x8b\xf6\x0a\xaf\xeb\xd1L\xf1xi\xddB\x1e\x1e\"\x1fj\xb2\xd5\xa7\\\x03mc\xaa\x00\xbcK\x81\x00\xc2\x08EA\x1a.\xa5m\xd9\xe5\x07\xb2\xf7\x1e7\xfe\xab\xf9\x1d\x17\x7f\xa0\xdc\x1e\xc6\xf5\xd0\xae\x9f\xad\x8b#\x8e\xb7\xa3\xf6\x93s\x17\xdf\xeb\x0a\xdaJ\x87K\x87\x9al\xf5I\xd5@\xd9\x98*\x01\xefR\x20\x800VQ\xd8.\xa5m\xd987\x7f\xbf\xe1\x92\x929\x197$\x13?\x1c\x92r\xfd\xdc=\x9b,\xfcm\x1ej\"v\x83\x12\xaeC\x8d\xb2\xfa\xa4j\xa0lL\x95\x80w)\x10@\x18\xab(L\x97R\xd4_\x87\xb5\xa4k\xb7\xd6\x17Yw\xeeL\x9d\xb1\xc2\xfe}?\xd17\xd9\xf5\xf3RPW\xc7\xee\xb6\x9e\xe0K\xa8g,s\x8cBY}R5\xc86\xa6l\xc0\xbb\x14\x08\x04\x8cU\x14\xa6K\xa9\x8b\xe3\x85\xc8h\xda\xb2\xdf\x99\xcdM\xd9\x8c\x14\xae\x9f]c/m\xe5\xfe\xa9>H\x909\xe7<J\xcf\x11\xf2\xe6:\xd4h\xabO\xb9\x06\xd9\xc6T\x05\xf0.\x05\x02\x00c\x15\x85\xe9R\x8a\xca\xc5G\xd1\x1f}\xa9\xa73\xbe\x0a\xe7\xf1\x91\xd1\xb6?$S\xe9\xfa9{o\xe4\xdc\xd9\x85\xf8\xdc\xc7y\xad'\x9f#\xf7\xcaHc\x94\x99\xe4\x0d[}R5\xc86\xa6\x83\x02\xbcK\x01\xbf\xc2XEa\xbb\x94\x96\x90S\xf1\xb6\xdc\x97y\"\xfd+\xb1I\x9c9\x88\\\xa1t\xfd\\\xbcb\xfcan\x05v\xc6j\x9b\xf8\xb6pB\xd3\x1f)^\xcbq\x1dj\x94\xd5'U\x03ec\xaa\x04\xbcK\x81\x00\xc2\x08E\xd1r)\xbde?|\xbd\xe9\xbc\xbd\xc4\xf0'\xcbo\xe2&l,)\x8c\xc7\xd7Od\xd7O\x84\xbe\x08\x9d\xd8?+\x84(\xc3\xe1\xd0\x88\xdcC\xf3\xc7\x9eT\x9az\xcaV\x9fT\x0d\x94\x8d\xa9\x12\xf0.\x05\x02\x08#\x14E\xd3\xa5\xf4^\xf9\xde\xdc\xa2:\xc3\x05\x05\xe5\xcd\xfdt\xfa\xb8)\x91X\x0ed\xd7O\xa1\xbd\x93\xfe\x09m\x9e\x20\xce\x1e\xe3\xff\xf5,$\xd7Z)SO\xd9\xea\x93\xaa\x81\xb61U\x00\xde\xa5@\x00a\x84\xa2\x00z\x02\xde\xa5\xc0H\x06\x14e\xd4\x01\xde\xa5\xc0\x08\x06\x14\x05P\x05\xbcK\x81A\x03\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\xc0K\xc1\xfc'\x1e(\x0a\x00\x00\x83\xa7%~\x0a\xf3\xe9b\xa0(\x80\x933\x89\x8f\xb4B\x86\x9c\x97t`}\xc9b\x80&\xaaN\xb4\xfd\xb3g\xdb\xcbY\x1e\x16\x06)\x8aW\x97R:wt\xb1\x93\x8f\xaa\xd6\x8ayEj\xe7\xf1\x89}\xe8\x04\xcf\xcf\xabU\x0biL^dYS\xfb\xfe\x15\xb5\xe5\xbeq\x90/\x18@\x15<\xcf\x17\xa0\x02\xe1\xb5\xccK\xe8}\x13\xbf\\x\xdb&\x84\x99\xef\xaa\x879\xe69\x1fh\x19\xd3\xa8\x1e\xa4@r`\xfd\xdb\x8e%1\xc9}\xde\x83e\xdc\x8d[\xd9\xe0\xbe\xf1\x8b\x92oj\xc5\x0d\x96\x0c\x9e\xc7\x0f\xdb+\xe6\xf9\x0c\xb7%5qgX\x05\x86\x16\x9d\xbb\xa9\xe6D{\x89\xf3|n\x07\xc1\x18E\xf1\xeeRJ\xe5\x1a\xcd\xd1W{`\xd0\x03\x87\x89r\xea\xaa\xbd\xc6JR\xb0s\xbd\x07t\xd7\xf01\x0e\xd4y\x82\xaf\xe9f\x14\xc0\\3\xa5\x9c\xa8\xfc\x8c\xe7_M\xdbJ\xa3\xf0#\xf7\x9fU\xf0\x07\x1f\xa1G_\xf1\x15\xcf\xbc\xc4\x0e\\\xdd\x16\x8dp\xef\x1d\xa5\xfcU\xf5\xb0\xee+q\xc9\x0e\x81\x0a\xfe\x02\xf2\x09\xd9\x81\xf5\x93\xb8\xaf\xd3\xcdO\xbc\x06\xcbx\x18\xb7\xb2\xc1}\xab\xadHTW\xe6\x97\xe4\xa1\xf9+\xfc\xc4\xce\xc7_Y\x1e\xba-9k>\xe1Li\xeey\xfd\xd0\xa5\x9bT{U\x9ch\xbf\xe3\x8e\xb3\xb2\x0dR\x14\x0d\x97R*\xd7h~\xb7X+B\x83hJQV\xa7\xb2\x92\x14\xec\\\x8d\x80N>}\x9b0,\xe0;=\x17\x89lX7\x20\x1c\xe4\xdb^MQ\xee\x9ar\xc8{3_#\xbc\xd6\xf2\xcd^\xa3QA\xb4\xf8\xde\xe0MQ\x10Z\xb6\x03\xbf\xde\xf6QQd\x07\xd6\xc7|)\xeaS\xed\xb0\x1b,\xe3V&\xa4o}k\x12\xb4\xe2\x06\xcb\xfb\x15\xe4\xad\xecC\x8f%\xd2(Ks\xcf\xeb@k\xa4x\xea\xa7G7\xe9\xf6\xb2\x9dhU\x9fFl\x84\xa2h\xb9\x94R\xb9F\x13\xfe\x8eV\x84\x06\xb4\xa2\xacLe%)\xd8\xb9\x1a\x01\x9d|\xad\xf9\xb97EYF\xb4\xa0\x91?\xad\x16\xe0\x0b\x19V\xd1\xb4p(\x14\xa5\xb7\xd4\xdb\x80GFv`\xbd\xcb\x0f\xe2t\x81e\xdc\xcaD\xec[)\xff\\+p\x90|\xb6\x87\xbc\xe5|\xa6\x1e\xa2\xb9\xe7u\xa0\x8e\xab#\xefzt\x93n/\xdb\x89vX\x15E\xcb\xa5\x94\xca5\x94\"\xe7\x13\x10\xc3\xf1\x07\xdan\x94\xc6\x9b\xc7\xa8@t\xce\xae\x04\xf3\x86\x07\x08\x9dq\xce\x19\xacV$w\xf2\xa6\xd2\x0c\xeb\xa2\x94\xbb\x8a\\\x85\xf3\xe8\xe5\x0d6Sl\xb2m@\x19\x20\xd3\xc9\xdf_y\xc2\xa9(R\xb1}B\\%\x12\x1f\x1b\x99f\xc5\x87\xff\xc09E@\xa3\x89\xe7\xf7\xdcM_\x16\x93\xfc\xa2\x9aw\xcd\x8dT\xb3\x03\x84r\xbd\x16q\x88B+\x8al\x9a*\xf4\xa2\xcc\xd9M\xe1\\'\xcdjI\xdd\xe6\xae(\xeczEE!5DU:\xa7_\x14\x95\xa1\xbb\xa9\xb1\xa6\xb8d\x92v9\xb0\xf6\xc6\x8a\xdba\xd7\xe0\x8a]\x1a\xcbq\xeb\xaf/\x9d\x112\xbf\x876\x9a\xa5\x10\xfb\x96f\xc5i\xd6\x0e\xa0v\x96\x10\xf0\xf5j\xf3\xca\xd2\x01\xb7\x15K\xb1t\x0d\xc4k\x09\xa1\xd4\x1cE\xe7\x9f\x98y\xdcz\xa4\xb6\xe7\x95;\x80\x01\xd5!D[\xe0v|<{\xc2\xdcS\xd3\x94\xd3\x18\xdbg\x15\xd5s\xf5%\xb32U\xbb\xd9\x99\xb3\xdc\x9ct\xd5v\x81\xde\xa8\xbe}\x11\x99N\xb4\xc7\x86SQ\x90\x86K\xa9G\xaeAt\x9c\xac\x9a5\xb7\xaa\xaa\x0a\x9fm\xd1v\xa3\x0a\xbcz\x8c\x0a\x8a\xc2'T\x9eY\"\xfc:u^q$$9\x1c\x8e\xdb\x8ads\xa5\x89\xb7\x15\x14\xd8\xcc\xcdt.\xed<\xfa\xd3\xbc\xf4\x135e\xb1\xfc\x0be\x80\x8c\xa0(\xa5\xc9NE\x91\x8a=JK\xbc\xdc)\x94X\x93\xf6\x0bzh\x8bJ.\xf8\xa1\x17)\xea\xed\xae\xae\xb4%Xl\xbb\xd2\xe6=\xec\xbcl\xd9\xf7\x08=\xdag\x11J0\x03\x84r7y\x87\xb8\xb6f\xfe\\ww\xf7\x05\xac(\xb2i*\xeeE\\\xc1\x9f-\xf8G\xf8\xae%\xa1\xe2\xcc\x06\xde]Q\xd8\xf5.\xcb\xe8\xee.ND\xce\x09'q\xfa\x85\xae\x0c\xd5\x9aW\x7fUS@f6e\x07\xd6\x9b\x8eJ\xbe\xc0\xe1\xf8yp\xc5\xba\xf2\xf7\xce\x985q\xfa\xaa\xa5\\\x13e4\x8b(\x84\xbe=\xbf\x9d\xc3\x17(\xdaK\xed\x00jg!\x94\x1e\xbd\xe7\xdc\x9e\xe8t\xe5\x8a\xe5X\xba\x86\xb2\xd5\xe8\xaa\xed*ZY\xa6\xec|\x83\xc3\x11C\xd6\xc5\xde\xf3\xca\x1d\xc0\x80\xea\x10m\x81\xdb63ls\xc9\x0a\x8e\xcbD4-K\xb97\xb8\xdfr\x8b\xef\xa8u\xf3\xc9\xbb\x8b\x8a/\xec\xe4\xf9\xaf\xe9\x8d\xea\xdb\x17\xd1\xd3\x89\xb6\xe7\xde\xb1\xdfMR\x19\x19\x1a\xab(l\x97R\x8f\\\xe3\x90\xcez(\xbbQ%\xde=FQt\xdc\xdf\x84\xdd\x12G\xd2\xcc\xb3\x9e\xe8e\xc2\x90\xff\x89-Q\x91K9\x8f\x96\xc6\xe1\xafg\xa9\xa5\xcf\xad\x06\x09AQ~\x89\xf9\x85(\x0aU\xac\x82\xfc\xc2\x88\xa7\xf0\x8f\x0b\xfe`\xe2-\xd5\xc8\xcd\xd1t%\xff\xc934\x80O82\xf0\x8fhZ\x86z\x00:\xc7\xffU\\[\xb3\xf3\xf7\xa9Yi\x9a\x1am\x11~\xa2\xd3q7\xd7\xbc'\xfc\xa0\xf5}\xe8\xa6(*\xf5.\xc3U\x91\x1fK\xf1\xf4P<Y\x92+\xeb\xb6%w\x0b\x83\x92j\xe2E$9\xb0\xd2g=\x83*\x16\xce\xbd\xd9F\xce\x9ee\xa3Y\x1a\xb1o\xe9x\x80\xa1\xb2\x03\xe4\x9du\x81\xfc\xd0\xd7\x90\x19\x20y\xc5T,U\x83#\x16\xe5\x98r\xd0\"\"\xca\xd4FE(\xc6uN\xcc\xda\xf3n\xb1,\xa4\x0eQ\x16\xb8\xbf\x9f\x84\x9f;\xbe\xcaMQ\x10:<\x8e\x1bG\xc6-\xecn\xa6\xe3N\xa0,AQ\xe8\x8d\xea\xd3\x17\xd1\xd3\x89\xf6-a\xf8\xa7\xe6\xaee\xac\xa2\xb0]J\xdds\x0dDR\x14\xda\xb0\x94\x85\x8a\xc7(\x8a\xc6\xc7\xa9sV\x81\xad(\xe4t\xa2\x94\x7fL\xe7R\xce\xa3\x0f\xad\xcb\xb2\xcan\xf6\xf5\xba\xd7\x20!(\x0aJ.&\x8aB\x15k\x8c\xea~^\xf1\xe4E\xb4\xf3\xbalwM2\x7f\xce\xcd\xd1te\xb4\xeb\xc7\xaf6\xe69zn\xaeE\xaa\x01\xe8\xb4\xb0\x12B3\xff\xe7\x86\x86\x86b2\x8fB\x99\xa6\xe2\x1fk\xd2\xcd'\xe2e\xe5=n\x8a\xa2R\xef\xb2\x94\x86\x86tOEqU&\x1c\xb7\xd4E\xceBy\xd3\xb2\x15E\xb3Xx\xb03)\x1b\xcd\xd2\xe0\xbe\x9dM\x8c\xb9\x8fTw\x80\xbc\xb32\xde'E\x96oC\xf4\x8a\xa9X\xba\x06\xfeyR\xfa\x9aN\x9e\xf4\x9a\xda\xa8,EQ\xdb\x01l\xa4\x0e\xc9\x16\xb8\xfd\xa1\xe4Jy\xbd\x9b\xa2\xb4\xad\x1a?\x8d\x9b\x1a\xfcQ\xabJ7\xfb\xcc\xd8UAX\xa6T\x14\x9f\xbe\x88\x9eN\xb4M\x87\xb3g\x87\x8d\x881\x0a\xdb\xa5T\x99k(\xf2\xcc\xacl7\xca\x86\xed1J\x7f\xe3U\x14\x85|\xa9\x1c\xfc5:\x97v\x1e}R\x96\x9a\xc0/98\xe0V\x83\x04V\x94\x13+\x89\xa2P\xc5\xbaM\x8d\xc5\xfc\xbe\xdbQ\xc2ou\x039\xc3\xefKLqs4])M\xc8\xbcXt\x1a\x9d\x8e\xedC\xaa\x01\xe8\xaa\xeb\xec\x85\x9aG\xa1MS\xa5n6\x88\xa7G\xee3\xb3*\xf5\xe2y\x94f\xf1J\x08-\x0dR\xb2\x98\xa7.\x89\x9f\x92\x07\xd7lE\xd1,\x16\x1e\xeeLPF\xb3\x14\xa4oO\xa2\xb0$\xaa\xec\x00yg%\x92\x9e\xa0\xe4D\xa4h\x83\x1cK\xd5\xd0\x17\xddl\xbefn6\x89\xbf\xee\xf2Fe)\x8a\xda\x0e`#uH\xb6\xc0\xbd\xc5\x91\xa3\xa5\xddMQ6\x87e\xd7s\xf5\x99a\x9f\xabt\xf3\x818q\xdf\xe9\xa6(>}\x11\x99N\xb4U\x9e\xbe+\"\xc6*\x0a\xdb\xa5T\x91k,DQ\xecM\x0a\xbb\xd1A\xe1\xa1(\x15\x0f\x95\xc9\xe8,\xfc\xb9\x8c\x7fF\xe7R\xce\xa3\x0d9\xc2.|R\x19S\xeaV\x83\x04V\x94\xe7\xe6\x1aq\x8c\"\x1b\x96&T\xae[\x93p\x1a\x9f\xfbX\xc9\x1aP\xce{n\x8e\xa6\xd4\xb7\"+\x05}F\xa2\xd4\x02\x9e\xbb\xaeYQ\x8aB\x9b\xa6J\xdd\xfc\x1bO\x1a\x9a\xee\xa6(*\xf5J3\xb3\xce\x1a\xf6\xb8IC\x0dO\xdd\xa7!9\xb0z(\x8a\xaf\xc5\xc2\xdfv\xa5d\xa3Y\x0a\xb1o\x16\xfcc\xad\xb2\x03\xe4\x9d\x95\xf1.\x99}]\xee\x03\xcf]\x00\x00\x20\x00IDAT\x86\x87'\xf2\x8a\xa9X\xc5\xbe\xf8\xca\x8a\xac\xc5\xef\x91\x95(\x8eE\xa5\xa2\xb8\xedy\xf6\x0f\x88\x02\xa9C\xb2\x05n\x7f\xc8\xa78\xa3\xce\xfd\xac\xa7\x87\\\xeb\xc1clf7\xfb\xcc\xa4)\x7f\x91\x15\x85lT\x9f\xbe\x88L'\xdaa\xbd\xd6\x834\\J\xe9\\\x83\x89\x8cD\xe8\x1e\xb6\x17\xa5\xecF\x95x\xf7\x18U(JR\x12B\x8f\xc4\xdbB\xe4d\xf4\x12A\x0a:\xdfMR\xe4R\xce\xa3\x05\xe2\xcd\x1aI;\xdcj\x90V\x8c\x15\x05\xa5\xa7aE\xa1\x0dK\xd3\xb2L\x17\xf8\x9dx\xc7\xc7Z\xf1\xd7\xb3\x0f\x7f\x09\x14\x8e\xa6\xd4\xf7\xf5\x87\x98\x9fc~\xc0\x09\xb5\x00\x94\xfa\x9ex\xef\x04\xa5(\xb4i\xaa\xdc\xcdD\x9b\xb0\xb6\xdb1n\x8a\xa2R/\xa5(f\xe1\x84\xa2\xef\x0fn\xd2\xd0iM\xc2\xa3\xec,Q\x13]\x0e\xac\xb4\xa2\x0c\xaa\x98<\xe2\x94\x8df)\xc4\xbe\xc5e5\x16\xa8\xed\x00yg\x9d#3\x1d\x95\xf8T\x92Z1\x15K\xf789\xf13\xf4Y\xe2\x06\xb2\x12\xb6\xa2\xb0\xf6\xbc2\x96i\x08+u\x88\xb2\xc0]\x1c\x86o;Y\xea1\x8f\x82\xeeL\x12/C\xb2\xbb\x99\x1a+\xec\xb7\x81t\xa2(\xf2F\xf5\xe5\x8b\xc8v\xa2\x1dVE\xd1r)\xa5r\x8dfc\xf0\x96\xc27C\xef(\xedF\x15x\xf5\x18\xfd\xd9a\xdavu\xe0\xe66\x13\xbe0!|\xe9\x8aO\x7fb&\xc2.'\xa3\xf9\xd5\xd5e\x09\x96\xbf*se\xe7\xd1\x02\xde\xbc\xef\xac\x90\xacU\x06H+\xee\xae\xe1Ot\xa2Z3\xb9\xd6C\x19\x96\x1e4[\xfa\x12\xc876\x96\xb7\xee\xbb\x20\x14\xbbM\x07\xbc\xf8\x81\xcc\xd7\xdf\x17\xdb\xd9g\xdd`\x15\x15C%\x00\xdd\x8e\xfa3~\xa3\xef\x99\x95MS\xe9n6\x9bm\x05{\x16E\x99*\x9a\xd1C|\xcfl\xb1\xc3\xa1\xe8\x10Uo\xf7\xd5\xb8\xe4+\xae\xdbh\x12\xe3\x0e\x16$\xf2B1\xc56\xab\x8dY\xfe\xf5\x85,\xe7-\xff.\x07V\xf1Z\xcf\xd5\xbe\xc1\x15\xeb9E\xae\xdc5\x91<\xcahV\xa6\x91\x1c3\xeb\x92\xb7\xbd\xaf\xb6\x03\xa8\x9d\x95\x16\x95s6'*M\xb9\x8f\xe9Xj_d\xcd;\x88\xbe\x9a'\xe8\x1b\xbdQ{\xaf:\x1c1\xdb\x1c\x97\xc9\xc4+c\xcf\xbb\xed\x00OCXE\x87d\x0b\xdc\x96)\xd33\x0f\xbc\x15\xec\xa9(.\xd8\xdd\xfc\xd9j+=\x91\x12C\x14E\xda\xa8>}\x11\xd9N\xb4\xe7Y\xa7B\x18#\x14E\xd3\xa5T\xce5\x9a\xae\x0f\xc2B\xe6\xe2\x13B\x85\xdd(\x8d7\x8fQ\xb4S8\x055\xfd\xc5,\xbc\xee\x14>ug-\x8aIj\x20\x0b\xe4d\xf4\xae\x0c\x8b5\xfdg\xb7\\\xd9y\xb4bM\x81\xcddM\xaau\x0fp\xad\xb8v\x1e\xbe\x8f\xa4/QT\x04\xd9\xb0\xb4A\x18\xd6\x1e4\xe3\xd8?\x94\xe5,7\xc7\xa5\xdcV\xd4\xdb\x18E\xce\x8f\x93\xc5\xbaPqt\xb13\xa5\x12\x80\xf6\xc5\xe0\xff\x05\xd1\xff\xeb\x91MS\x15\xdd\xbc\x9b\xb2hYN\x85IH\xa6;O\xc2SU\xea%\xff\xeb\xa9t\xd6\x7f7)\xc6\xb2a\x8fP\x83r\x9b\xddN\xb5Y\x12]\xf7\xe6\x89\x0e\xac\xdd\x16R\x83\xe9\xf6\xe0\x8a]\x0a\"3\x0d\xa2\xfe\xd3F\xb3.\xf0}9_\x09\x0dL\x88=\x8bTv\x00\xb5\xb3\xfaJ?4\x7fX\xda\xa7\xdc\xc7\x8a\x9d%\xef\x8bs\xe6FAi\xcf(7\xeaObZ\x94=\xc6\x9ew\xdb\x01\x9e\x86\xb0\x8a\x0eQ\x16\xb8\xad\xf1\xd3C\xde<\xaf\xaa(*\xddD\x8f3l1\x9f4\x10E\x916*R\xd9\x0et{U\x9ch\xef\x8d}\xe7\xd2\xbd~\xe4\x89\x11\x8a\x12\xd0\xd07\xd5\x8ed\x06\xb2L\xd5Z1C\xceK:\xb0\xbed1O\x86sgy7\x84u\xa7C}\x8c\xe2\x0dqfv0\xa8:\xd1\x16\xce\xe6\xe0i\x06\xc3\xc1p~I\x07\xc5@\xb1\xed\x17\xad\x98!\xe7%\x1dX_\xb2\x98\x07\xc3\xb7\xb34\x0ca=0JQ\xbc9\xd1\xde\xbb\xd4\xc2\xc8\x05E\x19b\x86\xefK\x0a\x0c\x9a\xe1\xdbY\x835\x845JQ\x06\x0f(\xca\x90\xf2\x80L\xebiE\x01#\x82Q\xb4\xb3\xae\x1f\xe6V\x9db\xcdbx\xe7\xee\x05~\xd7\x0f}hH\x01E\x19R\xc8\xb4\xde}\xad(`D0\x8av\xd6\\\x8e\xe3\xc6^\xd7\x8a\xf2`\x0d\xee\xe1]\xad\xa8W\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd0HQ\xbc\xb9\x94\xf6\xe49\x1fl\xb0W\xbd\xbc\x7f\xa1\xb3\x91$\x00\x8c\x1c\x8cQ\x14\xaf.\xa5]\xd9\x17[\x04\xceg+\x9f3\xec\x87\xb8\xbc\x1f_\xc6H\xf2\xd9\xcf\xea\xcb^\xd1k\x15\x00\xf4\xc3\x10E\xd1p)\xad{*\xa4\x9e\xe6\xa9<\x13\xca\x8f\x90\xbc\x1f\x07m$\xd9WfY\xa7\xbe\xf4\x95\xbdV\x01@/\x8cP\x14-\x97RB\xc9\x81\xe1x\x86\x9b\xb1\xacT(\xca\x20\x8c$\x1bW\xf3)\x0f\xd4\x17\xbf\xb2\xd7*\x00\xe8\x85\x11\x8a\xa2\xe5R\x8a\xa9\xcf\xd6\xe7\x999#\x83\xc7\xe9\xb1\xb6\x9c\x9cXs5\xe5vI{?j\x19I*\xe9\xdc\x15e;\x8b\xd4\xa0\xbcV)_\xcb\x15\\P\x1ej\x1a\xcf\x89\x8f\x83\x97-.\x01`h1BQ\x90\x86K)&\xbf\x9cUl\x94\xd2\xbb\xdcZ\xba/\xc6\\\xb6\xa1\x98r\xbb\xa4\xbd\x1f\xb5\x8c$i\x06N[M9\xe2\xf3\x9f\xbb\xef\x8bPn5\x0a\xafU\xca\xd7\xb2\xa5j\xdc&A\xc1\xe3\x83q\x88lq\x09\x00C\x8c\xb1\x8a\xc2v)\x15h\xcaV\x1a\x94\x8fn\xaa\xf9F|N\x83}\xf9h\xb7K\xfa\xac\x07\xe3\xcdHRf'\xbf\xb2\xd9\x99Lr\x0es\xd6\x20%\xd4Y\x8f\xe4k\x89\x82\x05EA\x9b\xb0\xa2P\x16\x97\x000\xc4\x18\xab(l\x97R\x81r\x9d\x1e=<2\xc8\xb1\x08/\xb7\x89\x8b\x1b\xedvI+\x8a\x96\x91\xa4LE\xf4\xa2\x0a\xe7\x83\xc5n\x9f\x11q\xf3ZW(\x8a\xcb\xd7\x92R\x14\xd9\xe2\x12\x00\x86\x1ac\x15\x85\xedR*\xb0{\x18\xdc\xbf\x86\x8e\xe2y\x8f\xf1\xe8\x04\x0f-h\xb7K\xb7\x99Y\xafF\x92\x14w7\xf0\x89\xcd\xc8\x1b\xb4\xa2\x84\xbbR\xb2\xa2\xc8\x16\x97\x000\xd4\x18\xab(l\x97R|=\xd9\xf5\xcb\xea\x17<\x8cJ~\xd8\x98\x90\x88\x1f\xe8I\xbb]\xca\xde\x8f\xdaF\x924\xd4L\x0a\x1b\xc9k\x956\xea$\x8a\xb2\x1e+\x8alq\x09\x00C\x8d\xb1\x8a\xc2v)\xc5\xd3(\x83\xf1*\x19\xf1\\\xe3\x97\xf0\xfc:r\xb9\x97v\xbb\x94\xbd\x1f\xb5\x8d$\x95t\xee\x8a\xb2\xd6x\xe4JH^\xab\xf4p%\xf4ca\xebF`E\xa1,.\x01`\x881BQ4]JQ}\xf6\xa0\xac\x05F:\xd7bj\xce9\x1e\x88\xcf\x1c\x97\xdc.\x11\xe5\xfd\xa8m$\xe9N\xf3\x1a\xdaO\xd7\x0d\x97\xd7\xaa\xc2\xd7r\xee\xe4/>\x8f\xe0\xc6\xe6\xd6\xd3\x16\x97\x000\xc4\x18\xa1(\xda.\xa5M\x07\xbcV0\xda\xb8b\xc23#\xa65x\xf6Cr\xbbD\xb2\xf7\xa3\x0fF\x92\x83\xc2\xe5\xb5\xaa\xf0\xb5\xbc\x1e\x192q\xfe\x1f9\x0e\x1bK\xc9\x16\x97\x000\xb4\x18\xa1(\x81\xc6#\xf3\x8eG/^<\xf9\xe9\xb3EO\xb4B\x19\x18`\xd2\x04\x00C\x06(\x8a\xfe\x9c\xb6\x88C\x92\xbeX\xf7\xbb_}\x01\x14\x05\x18\xcd\x80\xa2\xe8\xcf\xb5(\xf1bos\xd4\xcb<\xaf\x00\x14\x05\x18\xcd\x80\xa2\xe8O_\x86yGum\xf5\x0es\xc6KX^\x1aa$\x09\x00C\x06(\xca\x100pf\x83\xd5dM>\xfb\x12\x82b\x88\x91$\x00\x0c\x19\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\xa3\x99C\x11#\xef)Jm\x11\x87\xb4B\x8c\xe7L\xe2\xa3\x11\xda2\xbf\xc3\x20E\xf1\xe6R\x8a\x1f\xe7~\xc0~\xe0$\xb8?\x0c\x96\xcd\xdcF\xf2\xde\xbc\xc1lM\xab\xb5>B\xdbx\x9e7\xfbv\xc3m\xed<>\xb1\x0f\x9d\xe0yo\xce\x865qg\\\xc9\xbf\xedX\x12\x93\xdc\xe7\x9e\xcbbs\xd0\x17\xacl\x83\x1b\xa9\xe0\x20_\x80\xef_Vi\x19\xa0'\xc6(\x8aW\x97R\xd4\x96WX\x7f\xab\xfe@\x9e_=\xc7\xcd\x002\x83v\x93\xf7\x1a\xf3\x1f\xca*?\xe4\xf9\xff\x8b\x1e8\x1c\xa5\xfcU\x8db\"\xdd5|\x8c\x03u\x9e\xe0k\x14^\x1d\xb2\x95*\xe6\xac\xf9\x84+\xf9I\xdc\xd7\xe9\xe6'\xee\xb9LJ\xc6n\xf7\xcc4\xba\x914\xa5Q\x15b\x82\xd92@W\x0cQ\x14\x0d\x97\xd2*\xe2\xb6\xd1\x93\x7f\xdc[\x1d\x80;7\xc6\xaf%\xef\x8f-)\xc2\xf1\xd6\xf9\x9ep\xb0\"\xec\xd3\xe1\xdb\xc1\x8a:\xf9\xf4m\x08\xdd\xe7\xdd\x1f`\xbb\x9a~X\x9c\xf4{\xff\x98/E}\xaeP\xad?2\xae\x0f\xbe\xe5\x9ee|#e\xee\x9ar\\IF\xcb\x00}1BQ\xb4\\J\xcb\xc5'\xe4\x1f\xf2'\x130\x03\x88\x9f*\x9e'\xe6\x98\x89\xc9z1OL7\x06q\xb0\xd6\x9a\x9f3\x0e\xd6\x95\xcc\xc7O\xde\xe5\xbd\x9e\xe9(\xe9\x98\xeaa\xe41\x9c\x8d\xcc\xb0Jn\xb0\x8c\x96\x01\xfab\x84\xa2h\xb9\x94\xb6\xe5\x1dk\xedi\xad\xca\x1by\xb3\x8c/\xcd\x8d\xb7\xc3\xc6MY\xd0\xe2\x96\xa4\xc9\x9db\xc7o\xb7&:\xad/&\xd2\x16h\x8d&\x9e\xdfs7}YL\xf2\x8b}<\xcfW\xa2J\xe1u\x9f\xb2\x82\x9e\x89\x1f\x8b\x89\xf72\xc8\xdb\xe3brf\x20\x1d\xac\x92=*B\x977\xd8L\xb1\xc96\xf2T~\xc9\x13\xb5\x93\xbf\xbf\xf2\x84\xf3`eZ\xa9>1\xf3|\x14~\xee6\xea\x8d\x15sw)r\xa9\xca\xa8\xf6\x92\x05\xebC\xdc\x9f\x1blh#\xcf\x0ao{P\x81\xf0\x8a\x9f\x0a\xdek\x91\x86(\xac\x96\x01\xfab\x84\xa2\x20-\x97\xd2\xae\xf2\xec\xec\xec#~\xb4\xab\x8fM\x08\xdf\\\xbe\x91\xdb\xaaL*x\x8b\x9b\x8f\xdfzvo\x17\xc9\xa5\x8d\xe4\xbb\xab+m\x09\x16\xdb\xae\xb4y\x0f\x1f\xa5%^\xeeD\x9dW\xd6\xa4\xfd\xa2\xac\xe0\"wL\x8c\x8d*\xa6\xb3\xa5\x83U\xb2GE?\xcdK?QS\x16\xcb\xe3\xa3]\xf6D\x15\x0e\xd6\xd2d\xe7\xc1\xca\xb4RE\x0d\x0eG\x0c1\xfc@7\x1d\x95|\x81\xc3\xf1\xb32W\xae\x8cj/Yp\x92;\x85\x14\x18\xdb\xc8\xe7Wl;\x1e\xa1G\xfb,\x97q\xb9\x9b\xbcC^\xb3G\xcb\x00\x9d1VQ\xd8.\xa5=\xe5\xf9\xf5-\xf5\xf9\xe5\xf415\xaa\xe9\x9a>\xbf\x0bO\x0c\xb5)\x92J\x9a>\xbfA\xde\xef5\x89\xb8\x1b\xc9\xaf\xe4?y\x86\x06\x9e!T\xb1\x9c|~\xbf\xc2-\xa0\x84\x13+\xb8/\x1a\x87\xb9p\x1d\xac\x94=ji\x1c>LK\xf1\xb3*)OT\xe1`\xfd%\xe6\x17r\xb0\xb2\xadT1.\xedP\x9eP8s\xa9\xca\xa8\xf6bnqn\x8f\"7\xba\x91\x05x\xfc\x92.\x8e\x8b\xce\xf1\x7f\x95c=Z\x06\xe8\x8c\xb1\x8a\xc2v)=\x9e\x8f\x87'=\xf9'U\x0a\x8f:J\xb8\xef\x19I&M\x9c\x0b7\x0f\xb4\x95\xd1\xe2\xcf=j\x8c\xea~^\xf1\xe4Et\xa3[\xc9Bg\x89^\x13\xf3\xe7\x9f\xb2G}h]\x96Uv\xb3\xaf\x17\xd1\x9e\xa8\xf8`E\xc9\xc5\xe4`e[\xa9b\xbc*\x0aU\x19\xd5^\xcc-w\x8fe\xa3\x1b\xf9`\xde_P\xb7\xa5\x86\xa4O\x0buHx\xb4\x0c\xd0\x19c\x15\x85\xe9R\xdao\x17\x0f\xba\xef\xed\xfd\xac\xa2\xa3\x90\xad\\\x17#\xc9\xa6\xaaH\xa4\xca-\x7f\xe5jg\xa2\xdb\xd4X\xcc\xef\xbb\x1d\xe5v\xfd\x14\x9dr\x8d\xdf\x9dS\x14\xbd5\xe4\xcdu\xb0\xd2\xf6\xa8O\xcaR\x13\xf8%\x07\x07hOTr\xb0\x9eXI\x0eV\xb6\x95*\xc6\xab\xa2P\x95Q\xed\xc5|\xcb\xb9\xff:\x18\xdd\xc8\xe4\x1ct\xc1\xd2K\x92W\xe9i`\xcf\x96\x01\xfab\xac\xa20]J]\x8ar\xd1o\x14\xa5\x9c\xbb\xc8H\x0e\x0e\xf9\x98I\xa8\\\xb7&\xe1\xf4r\xf7\x80\x8e`\xf1\xf66\x94\x13CfX\xaa\xf9G\xf8M\xfa\xf9\x97\xedQ\x1br\x84\xe4\x93\xca\x98R\xda\x13\x95\x1c\xac\xcf\xcd5\xe4\xe7\x9fi\xa5\x8a\xd1\x18\xa3H\x95\xb9\x1d\xe3\x9f\x8eoGJ\x8cn\xe4\x99E\xbd\xce\x93\x1e\xf4<\xda\xb5\x1c\xb1Z\x06\xe8\x8b\xb1\x8a\xc2v)\xfd\x86\x9c\xf5t\xe5\x7f\xe3\xad\x86\xd1D\xc7\x94H<'\xf4\xc1*ERI\xd3\x177<\x0bR\xc8GhZ\x96\xe9\x02\xbf\xd3\xf9\x91*\xb6x\xa6\xa8\xc0\x8f-\x9f\x09?\xc6}I\xcb\xc8'\xd7\xc1J\xd9\xa3\x16\x88s\x0fI;\x10\xed\x89\x8a\x0fV\x94\x9e\x86\x0fV\xb6\x95*\xc6\xab\xa2P\x95)\x15\xa5\x7f\xf6\x02W\xd2\xd5^\xa3\x1b\xd9\x1b{f\x91\xeb>\xdb\xd4\xf7\xa4;V\xa8\x96\x01C\x83\x11\x8a\xa2\xe5R\xda\xb5?\xbf\xeeN]\xfe~\xff\xb9\xd8s\xf4\xf572K>\xe0\xec\xca\xa4\x82\x85\x9c\x97\xef\xf6\x8b\x1f\xc8\xd5\x8c\xfb\xe4\xc3A\xb3\xa5/\xc1u\xd4P\xc5~\x0c\xda\"&.\x98\x13+\xcel0]A\xe8!\xbe\x1d\xb5\xd8\xe1\xc0?\xde\xb2=j\x01o\xdew\xf6t\x06\x8f\x8f0\xc9\x13\xb5\xbb\x86?\xd1\x89j\xcd\xe42\x0a\xd3J\xb5\xf7\xaa\xc3\x11\xb3\xcdq\xf9\x99\xeb2\xcaU|`R\xb9re\x8a\xf6\xe2S=i`&\xb5\xd7\xd0F\xe2:\xde\xb5\xbcp\xb6\xe1v\xd4\x9f]\xcd\xd9\xfa\xb2CF\xc0W\x8cP\x14M\x97\xd2\x9eo\x0f\xe4\x16~\xeb7\x97z\x04\xae\xbf3mbD\xa1{\x92&wr\xb6G\x9eDc\x14\x99HH&\x1f\x1a,\xfb\x04Ui\xf0,\xb6\xfeu\xe7\x9c@\xf3\x06\xf3\x92\x94\xbf\x08\x89t\xe7\x0c\x04\x1e/\xc8\xf6\xa8\x15k\x0al&k\x92\xf8\x93\xed\xf2D\xad\x9d\x87\xef\xd6\xe8K\xb4\xf6)be+U\xf4\x93\xd8\x08\xbe\x0cu[H\xc2t[\x91KU\xa6h/:\x1e\xf2\x91\xd4F\xb9\xbdF6R\xe06\x9f!5b_\xcc\x151A\xb7\x0c\x18\x1a\x8cP\x14`\x88X5>_+d\x18\xd8?>~\x04\xfc8tF\xcb\x7f.\x1c\xc82\x91\x13\xa4\x91\xd12?\x07\x14e4\xb3u\x9a\xfbm,\xc3O\xdb\xd4\x11\xf1\x07\xdf\xea\xd8\x17\xf2\x87\x81b\xdb/#\xa6e~\x0e(\x0a\xe0\x7f\x14\xd4\x0e|\xe2\xf6\xa7\x05\xc0\x20@Q\x00\xbf\xe39\xbfz\xa7\xd5\xf3\xa1\x06\x80\x11\x80\xa2\x00\xfe\xc7>\xf3\xba\xdbZ1\xc0\xd0\x00\x8a\x02\x00\x80~\x80\xa2\xe8\xcf\x97L\xb4J\x01\x80?\x00\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0\x02\x8a\xa2?\xa0(@\xe0b\x90\xa2xw)\xed\xbfTh/\x94\"F=\xa0(@\xe0b\x8c\xa2xw)\xed/\xca\xbd\xd8t\x9e<\xd8\xcd/pi\xc8\x9f\xfe\x0f(\x0a\x10h\x18\xa2(\x1a.\xa5\xdf\xdb\xb1\xf7\xd7\x8fv\x7f\xb1RwJ\xc8?\xff\xe7\xff\x06\x8a\x02\x04\x1aF(\x8a\x96Ki\xc9\x11\x92\xcc\xf3\x97A\x0a\x11\x90\x7f\xfd\xaf\xfc\x7f\x871\x0a\x10p\x18\xa1(Z.\xa5\x85\xa2\xb3\xc4\xa1\x12f\xe9\xd1\x87\x20\x1f\x7f\xfa\x1f\xa6\xff\xf2/_*\x10\x16\xdcM\x8d5\xc5%?@\xca$\x00\xf8\x11F(\x0a\xd2p)=\x99\x87\xe7g\xbbr\xfd\xc5\xed\xed\xcb/\xff\xe5\xbf\x98\xfe\xe7\x9f\x88\x8e\xfc\xe9\xff\x88\xfcIP\x94Z\xf3\xea\xafj\x0ax\xec\x85E%\x01\xc0\x9f0VQ\xd8.\xa5\x1d\xbb\x8bZ\xbbZ\x0ee\x8f\xc4\x87\xa6\xbe\x0c_\xfe\x0f\xfe\xbf\xfe\xabsd\xf2\x8f\xce\xc74\xff\xe3\x97\xa8\xdb\x96\xdc\x8dPo\xf5cD'\x01\xc0\xaf0VQ\xd8.\xa5\xa8\xad(;\xdb~\xaa\xe8\x10\xbb\xec\xa8\xe3\xcb\x7f6\xfd\xe7\x7fv*\xca\xff\xfe\x17\x91\xff\xfd%\xba\xc0\xdftEPI\x00\xf0+\x8cU\x14\xa6K)\xa6\xab\xad\x1f\xe5\xf9\x8b\x7f\xa4\xa0#\xffM\x1e\xa5H\xf3(\xc5\xbcd4J%\x01\xc0\xaf0VQ\x98.\xa5\x82\xb4\xe0\x97\xeb\xd9-\xcc\xa2\xa3\x0f\xac\x1f\xf2L\x8a\xa4(5\xfc5W\x04\x95\x04\x00\xbf\xc2XEa\xbb\x94\xd6g\xb7\x0a\x8b\xf6\x1e\xf3Z\xc3(\x82\x08\x08\xbe\xda\xf3\xbf\x14\x8a\xd2iM\xc2\xd6\xdeYY\x88N\x02\x80_a\x84\xa2h\xb9\x94\xfe\x98\xfd\xdd\x9d\xef\xf3\x8a\x9ej\xd53ZpJ\xc8\xbf\xfe\xe3\x7fW(\x0a\xaa\x8dY\xfe\xf5\x85,\xe2\xc6G%\x01\xc0\x9f0BQ4]J/\xe6\xe7\x16]\xec\xf7^\xc9(\xe2K&\xc2\x82\xdb\xa96K\xe2i\x12C%\x01\xc0\x8f0BQ\x02\x0dUE\x01\x00\xbf\x07\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14E\x7f@Q\x80\xc0\x05\x14\x05\x00\x00\xfd\x00E\x01\x00@?@Q\x00\x00\xd0\x0fP\x14\x00\x00\xf4\x03\x14\x05\x00\x00\xfd\x00E\x01\x00#h\xf5\x9f\xbf\xc2z\x05\x14\x05\x00\x0c\xa0g\xd2\x8d\xa7\x01\xa1)\x06)\x0a\xc3\xa5\xb4\xe5\xc8^{\xfeI\xf2\x88\x03\xd4r(\xf7\x88\xbf<\xc1\xcd7\x9a7\x98\xadi\xb5\xd6Gh\x1b\xcf\xf3\xe6\xbbZ\xe1\xc0h\xe7\xe9\x98\x09\xdfw\x04\x82\xa4\x18\xa3(\x0c\x97\xd2{\xd9%\xf5w\xea\x0f\xec\xc5\xcfY\xbac\xaf\xbaQe\xbf\xe3\xb5\x0a\xff\xa2\xc6\xfc\x87\xb2\xca\x0fy\xfe\xff\xa2\x07\x0eG)\x7fU+^\x8dg?\xab/;zQ}\x19`4\xedc\xc6L\xbc\xe47\x0f\x15\xf3\x82!\x8a\xc2r)\xbd\x91\x8d\x15\xe4)N\xf6\xef\xc5\xcf\xac>\xb97\x10\x14\\\xe4\xb1%\xa5\x1b\xa1\xce\xf7\x04E\x11hxYE\xe9+\xb3\xacS_\xfa\xbb\xc5\xea\xcb\x00\xa3i\x1f\x13\xff\x9b\xb0\xfa\x00\x90\x14#\x14\x85\xe9R\x8a\xc8\xc6m\xc5\x8f\xab\xae\xb7cK\xb0\xa7\xd2\x83\xf1\xfd\x9f\x1c3\x19[\x14\xf3\xb7\xf1\xdb\xcb*J\xe3j>\xc5\x8b+a\xf8;\xea\xcb\x00\xa3i\x1fSx\xfe7S\xebe\xf3;\x7f\xc5\x08Ea\xba\x94\x92\x05\xb7\xf2\x8b\x84\x8f\xe5\x87\xc9\xa7\x92\xa3\xac\xc2\xa3\x92\xcb\x1bl\xa6\xd8d\xdb\x80pZ\x92j5\xd9R\x1a\x85\xbc}<\xcfW\xa2J\xe1u\x1fz/\x83\x84=.&&\x1b\x92\xa2\x0c|\xbd\xda\xbc\xb2t@Y\x03\x1a\xa8H4'\xecz\xee\xbe\x8e\xce]Q\xb6\xb3\xee\x99\x12E\x9cH8B\x97\xc6r\xdc\xfa\xebKg\x84\xcc\xefY\xc1\x05\xe5\xa1\xa6\xf1\xdcl\x12\x93\x17\x11:k\x95\xbf\xd8\xd7\x8ft\xda\xc7\x1c\xf8\xf5\xe4k3\x7f\xf4{I1BQ\x10\xdb\xa5\xb45;;;\x17\xcf\xcc\x16\x8aF='\x0b\xd5J\x8f6~\x9a\x97~\xa2\xa6,\x96\x7f\x81\xd0Y>\xa3\xb6:%\xaa\x01\xa1Gi\x89\x97;Q\xe7\x955i\xbftG)\xecI%EI\x8f\xdesnOt\xba\xb2\x06\x94\x11\x95u\xae4ne\x9fb\x15\x03\xa7\xad\xa6\x9cN\x92\xec\xbe/\xa2\xb0\x00\xea8Y5knUU\x950\xee\xeb\xca\xdf;c\xd6\xc4\xe9\xab\x96rM-U\xe36\x09\xba\x1e\x1f\x8cC\xe2\x83>(\xd9>9<p\xce5\x87\x95\xf61\xf9\xbf\xfez\xe4\xb5\xd97\xfc]R\x8cU\x14\xa5KikK]\xfe\xdevi\xe1wy\xaa\xc5G\x19\xa5qX\x09J-\x82\x08<\xaf\x16\x0e\xfb\x81\xf7S\x84\xcf\x15\xcb\xc9\xc2\xf7+\xd0}^\xf1\xccj\x97\xa2\\\xe0k\x10\xf6\xf2\xb9\xa0\xa8\xe1,_Ab*\xe9\"h'\xbf\xb2\xd9\x99Lr\x1a\xa1\xaeAJ\xa8\xb3\x9ep\xee\xcd6\xf1d3XP\x14\xb4\x09+J\x11\x97+\xbc~\xcb\xedG\x80\x01\xb4\x8f\xd9\xff\xf7_\x7f-|-\xbc\xc9\xcf%\xc5XEqw)E=\xf9\xe5\xc2\x18\xa5\x8a\xa4\x8f\xf9\xcd\x18\xe5\xa1uYV\xd9\xcd>l\xc9\x83\x1e\x97&\xbfk\xe1?\x14R\x8dQ\xdd\xcf+\x9e\xbc\x88nD\xbd&\xe6\x18%\xe3}\xf2\xb6|\x9b\xa2\x86\xb4w{_\x08\xd82\x14\xab\xa8\x88^T1\x20&o\x9f\x11\xb9\x8d\x94\xd0\x8a\x12\xdc\xe4L\xc9\x8a\xb2xf\x0ffZ<\x02\x0c\xa0}L\x9e\xa0(\xbf\xe6\xbd6\xb7\xa9\x07\xf93\xc6*\x0a\xe5R\xda%\x8e\xb6/\xd9\xfb\x9d\x16\x83\xe8\xd07\xcc\xa2\xa3\x91'e\xa9\x09\xfc\x92\x83\xc2!\xdf\x10g\xcb9\xedX\x87\x15\xa5\xdb\xd4X\xcc\xef\xbb\x1d%\x9c\x9d8\xe7Qzk\xc8\x9bKQ\x12S\xc8[r\xa2\xa2\x86\x0f\x9dC\x90\x14\xe5*\xeen\xe0\x13\x9b\x917hE\x09w\xa5dE\x99\xe3\x9ciy\x8bQ\x14\xd0\x9d\xf61\xbb\xff\x03KJ\xe6\x98\xf9\xfe-)\xc6*\x8a\xecR\xda\x9f'\xce\xc3~/(J}6\x1e\xb9\xb4e\xfb\xcd\xb5\x9e\x86\x1cA\x09\x9eT\xc6\x94\"\x94\x90\x88\xa7TS\xb1\xa2\xa0\x84\xcauk\x12N\xe3s\x9f\x9c\x98_pF5\xff\x88\x84\xbb\xc6(\xef\x92\x89\xd8e\xe9\x8a\x1a\xd2\xde\xbdFx\xec\xb6\x12j&\x85\x0dQ\x14;\x19\x9c\x84\xbf\xed\xca$\x8a\xb2\x1e+\xca\xd2\x99\x17\x09\xad*\xc5\x01]i\x1f\x93K\x14\xe5\xd7/\xc6\xbcu\xcb\x9f%\xc5XE\xa1\\J\xf7\x1e\xc1\x19\xe4\xac\xa7\x9f\x18\x94\x1e\xf5\x9f\xfbQ\x0a\xf0T\x08BI;\x10\xb2\xa5\x0a\x89\xbe\x95DQ\xd2\xb2L\x17\xf8\x9d8\xe3\xb1\xe53\xe1\x84\xa6/i\x19\x09w)\xca92WR\xc9\x9fS\xd4P\xc3W\xe3d\xceA\x8f\xd5t\xee\x8a\xb2\xd6x\xe4JDF\"t\x8f\xcb\xc7Iy\xb8\x12\xfa\xb1\xb0\xbd#\xb0\xa2\x1c\x11\x17\xfd\xf1svi@_\xda\xc7\xd8\xff]\x94\x94\xf5c\x96\xde\xf1cI1BQ\x98.\xa5?f\x97\xd7\xdf\xa9\xcf'\xf7\xcc\xde\xb2\x1f\xbdq\xcc~K\xa3\x9a\xd1C\x01o\xdew\xf6t\x06_\x8b\x93\xa9\xa5\x05+\xf9\xd8\xaf\x04\xd18h\xb6\xf4%\xc4\x14\xe0\x88\x0b\xe6\xc4\x8a3\x1bLW\x10z\x88\xef\x99-v8\x1e\x0a\xb9iQ9gs\xa2\xd2\x945\xa0\x9cyi'\x84\xa4rfV\xa4yM*#\xd7\xc9\xc6\xe0-\x85o\x86\xdeA=\xa7\xc8e\x1fq&e\xee\xe4/>\x8f\xe0\xc6\xe6\x0a\xe3\xc1\xb5\xdc\xe2\xfcC\xf1\x9c\xdf\xcc\x87\x8fl\xda\xc7d;\x15\xe5\xd7U\xaf\xadh\xf1_I1BQ\x98.\xa5\xa8\xe5\x9b|{\xe1)q\xe2\xbb\xe5\xb0\xfd\x90\x1f\xfd\xaf\xa7bM\x81\xcddM\xc2r\xd0W\x9c\x10\x1d\x97V\xf1\x9e)I\x18\x8bX\xf6\x09\xaa\xd2@B\x9a7\x98\x97\xa4\xfcEH\xa4;\xa7I\xc8X\xa6\xf4C\xf3\x87\xa5}\xca\x1a\x84Q\xca\xbaX\xcb\x9a\x0bj+S\xa5\xeb\x83\xb0\x90\xb9\xdf\"t)\x88\xcc\x97,\x20\x99\xd7#C&\xce\xff#\xc7\xad\x10\xd2G\"\xc3&\xcd=\xec\xbd\x12@'\xda\xc7d\xfe\xdb\xbf\xff\x87x\xdc\xc4\xbf\xb6\xca\x7f%\xc5\x08E\x01\x80\x80GP\x94\xff\xe7\x1a\xa4\xfc\xfa\xf6kk\xef\xf9\xab\xa4\x80\xa2\x00\x80\x01\xb4\x8f\xd9\xde\x8f\x07)\x7f?y\xfc\xf8\xf1c\xaf\xbf\xb6\xb1\xd5O%\x05\x14\x05\x00\x0c\xa0}\xcc\xd6\x1e2H\x996\x86\xf0\x9b\xedm~s%B\x01(\x0a\x00\x18@\xfb\x98-]\xe8\xdf\xec\xff\xfek\xf9\x98\x05\xff\xb4y\xf3\x16\xfb7~\xfaP7P\x14\x000\x80\xf61\x9b;z6\xbe\xb6\xf9\xef\xbf\x8e\x9ft\xb8\xbe\xa9\xa9\xa9\xd5O\xef\xc6\x07E\x01\x00\x03\x10\x14\xa5m\xd5\x98\xff\xf4\x0f\xff\xfe\xeb\xde\xd72[z\xfa\xfb\xfds\x84\x02\x8a\x02\x00\x86\x20(J\xfc\x987>~-\xf3\xef\x7f\xff\x87Yu~:>\xc1\x80\xa2\x00\x80\x01\xb4\x8f\x09\x1d3g\xf7\xa9\xd9\xdc\x7f\xfc\xba\xf97\xf9~:\x87\x82\x01E\x01\x00\x03h\x1f\xf3ZD^]k\xf9k\xb9\x7f\xff\x8f\xdf\xbc\xe5\xc7\x7f\x16\x04E\x01\x00\x03h\x7fma~}G\x7f\xdbl\xee\xdf\xda~\x13Y\x0f\x8a\xc2D\xabr\x00\x00D\x9e\xfe\xd3qAPP\xcf\xe1\xdf\xfc\xa7\xdf\xfc\xc3\xa7?\x82\xa20\xd1\xaa\x1c\x00\x00\x91\x9e\xb6V\xf2H\xa0\xf6\xa2\x88\xf9[N\xc2<\x0a\x1b\xad\xcaG:\x8b\xb9\xb0\xdf\xfb\xcdCY\x80\x91\x8d\xf3rq\x7f\xdb\x8d\xba\xeb\xfez\x07>&\xa0\x15\xa5\xe5h\xee\xec0\xf1a\xf0m\x11\x87\\\xb9T\x12\x00\xf4\xa6\xbf\xa7\xa7\xc7\x7fG(\x86)\x8a\x86K)\x1d`,\xc7\xb8Kbbs\xd0\x17\xae<*\x09\x00\xc0\xa00FQ4\\J\xa9\x00\xa3\xf9\x96;\xe5L\x95\x8c\xdd\x8e<\x93\x00\x00\x0c\x06C\x14E\xc3\xa5\x94\x0e0\x1aYQ\xd0\xfa\xe0[\x8c$\x00\x00\x83\xc0\x08E\xd1r)\xa5\x02\x0c\x87R\x94\x8e\xa9\xf1\x8c$\x00\x00\x83\xc0\x08E\xd1r)\xa5\x02\x0c\xe7\x12wLJ\xaf\x0f\xe9b$\x01\x00\xf0\x1d#\x14\x05i\xb8\x94R\x01\x86\xd3\x13\x16q\xf2\x8eS\xe4N\xca\xe3\x15*\x09\x00\x80\xef\x18\xab(l\x97R*\xc0x\x0es\x1c\xb7PL\xde\xe2\x0e\xb8r\xa9$\x00\x00\xbec\xac\xa2\xb0]J\xa9\x00\xc3\xe9\x98<c\xeb7N\x0b\xcf[\xb2\x07\xf0-\xb0\x03\x06\x80\x97\xc1XEa\xbb\x94R\x01\x86\xf3-WN\xa5O2\x92\x00\x00\xf8\x8e\xb1\x8a\xc2v)\xa5\x02\x0c\x87\xba\xd6\x83>\x1d\xdf\xceH\x02\x00\xe0;\xc6*\x0a\xdb\xa5\x94\x0a0\x1cJQ\xfag/`$\x01\x00\x18\x04F(\x8a\xa6K)\x15`4\xa7dE\xd9\xca]d$\x01\x00\x18\x04F(\x8a\xa6K)\x1d`$=-\x17\x17\x07\xbb\xdcQ\x8f\x87|\x84<\x93\x00\x00\x0c\x06#\x14e\xc4\xf2\x16\xc7\xcd8\xe4L\xef\x1f\x1f\xdf\xe3\x99\x04\x00`P\x04\xb4\xa2\xb4\\\xbc\xe3J\xb6M\xfd\x82\x91\x04\x00`p\x04\xb4\xa2\x00\x00\xa03\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x12(\x9cI|\xa4\x15\x12\x10\x90\xed0\xb4N\xb4\xee\xab\x18\xda\xb5\x8d0\x0cR\x14\xef.\xa5\x1dU\xf9\xf6C\x97\xe0\xff\xbe\xbeS\xcc\x0b\xccK(\x1b\x10?\xd6\xc4\x9dq\x8f\xd8&\x04\x98\xef\xca\x9f\x0f\xf2\x058\xb8>,\x17\xd9\xc3\xae\xbbG3\x19L,\x8b\xc6(\xa1\x0d\x19\xd2GF#u\xa18\xe6\xcfR\xfa\xbe\x89_\xee\x99\xa4qn\x07\xb6\x13mc\xf2\"\xcb\x9a\xda\xf7\xaf0\x16\xb9\xf0\xa1\x17\x9e\xab\x08$\xdf[c\x14\xc5\xbbKi{\xee\xa1\xba\xa6\xf3\xbb\x0bAR\xd8\xd4^\xf3\xc8z|\x90\xafp\x9cK\xe3\xf7\x89\x1f\xcf\x9aO\xb8G<p8J\xf9\xab\xd2\xc7\xd2\xa8\x0a\xf2^\xce\xadB\xab\xb8oH\xfa\xa8\xc6c\xa5\xe8X6\x8c\x96Q\xbc\xb8\xba\xf2}\xc7C\xe9#\xa3\x91Z5\xf8\xc4\x87\xa6\xf7\xa5\xf4\xc0\xd5m\xd1\x9eI\x0a\xd7v`:\xd1^3\xa5\x9c\xa8\xfc\x8c\xe7\xab\xf1\x07\x95\x961{\xa1\x80\xb5\x8a\x00\xf2\xbd5DQ4\\J\xbf\xc9\xc7\xcf\x9am\xb3\x9f\xf7VG\x00\xb3:\xd53\xaf\x86o\x16\x0e\x9a\x9d\xfcm\xf1c\x9fg\x04B\x0d\xb2\xa2\xdc5\xe5\x88\x89\xf3\xdcF\xb4\xd1\xf9\x84\xba\xdf-f\x95\x92\xa1c\xd9\xb0ZF\xf3I\x12\xfd\x89\xd5H\xad\x1a\xb4\xe9\x8cJ\x8b\xea\x94?\x16D\xb3\x92.\xa4\xed\xc0t\xa2\xdd\xb0N\x18[\x0cl\x13\x15E\xade\xccMM\xc1^E\xe0\xf8\xde\x1a\xa1(Z.\xa5\x85\xf9d\xe1\xd1\"v\xf1\x80g\xa5\x9a\xa2\xa0n\xcbN\xcfE\x12\x94\xa2dX\x9f\x8b\x89\xeb\xdcV\xb4\x9d\xbbA\xd2\xe1\xef0\x8bI\xd0\xb1lX-\xa3Q*\x0a\x0b\xad\x1a\xb4\xa9\xe5\xaf\xf1\xb5\xf2G\xef\x8a\"m\x07\xa6\x13\xed2\xa2\x05\x8d\xfci\xfc\xf6\xb2-c\xaf\"p|o\x8dP\x14-\x97\xd2\x16\xf1\xb9G'\x87\xc1t\xeb\xc6\xdba\xe3\xa6,\x20\x0f\x86\xcc\x0c\x0f\x9d\x93)\xbc\xaf\xe0\xc6\xd9W\xcd\x0a\x9d\x7fK\x91T%/\"t\xd6\xaa\x0e\x84.\x8d\xe5\xb8\xf5\xd7\x97\xce\x08\x99\xdfC%\xdd\x82s\xa7\xd8\xf1\xdb\xad\x89\x9c\xc8D\xe9\x89O\x02;yS\xd9\xae\x04\xf3\x86\x07\xf8\xc3@E\xa29a\x97\xf0\xdd<\xc3\x8b\xacV\xd6$*\x0a\xda\x19\x8b\xd0\x133\xcfGU\x92\xdcg\xa9V\x93-\xa5\xd1\x19#+J\xaf\xc5\xf5\xbb\xd9\xca\xe5\xa1|\xae\x15\xa1\"g\x13\xc2I\xb6k;\xac\xe0\xc6n\x8f\x9f\x16\xb6\xf0\xba\"\x96\x8d\xa2e\x977\xd8L\xb1\xc9\xb6\x01e\x88\xac(T#\xe5XE\x0dR\x8f\xd9\xdb\xa1\xd1\xc4\xf3{\xee\xa6/\x8bI~\xa1\\G\x81\x0dY\xc5\x93\xbf\x07iVK\xaax\xaa#%\x95\xc5\xe4\xed\x80XN\xb4iV\xbcQ\x07\xceu\xd2-\xa3k\x90{\xa1h\xe4\xe3\xf4X[NN\xac\xb9\xda\xcb*\x02\xc6\xf7\xd6\x08EA>\xb8\x94\"\xd4\xbf\xb7\x8aYt(96!|s\xf9F\xe1\xa7\x18\xa1\xf8\xe0\xf5%\xeb\x83\x7f\x8fP\xfd\xde\xb1\xdc\xe4M[&\xbe\xadH\xaa\x11\x1f\xf4A\xc9\xf6\xc9\xe1\xfd\xa8+\x7f\xef\x8cY\x13\xa7\xafZ\xca5QI\xb7\xe8\xb7\xb8\xf9\xf8\xadg\xf7v\x91\\Zr\x9a+M|\\\xc1\x9f-\x9f\xe1\x0f\x19QY\xe7J\xe3V\xf6\xa1\xce+\x8e\x84$\x87\xc3q[Y\x93SQ\xcaxa\xc0\xdf\xe0p\xc4\x14\x90\xdc\xb3|FmuJT\x83\x18#+\xcaM\xde\xe1L\xf5O;\x85\xbe\x9b&\xc8x\xc7\xc9\xaaYs\xab\xaa\xaa\xc8\x94\xb9\xb4\x1dp\x8fg|\xfe\xe9\x8c\xd0::\x96\x0d\xdd\xb2\x9f\xe6\xa5\x9f\xa8)\x8b\xe5\xdd\x8evj\x8c\"7R\x8eU\xf4M\xea1{;tWW\xda\x12,\xb6]i\xf3\xe4\x99\x19\xc2\xbaT\x94\xba\x0e'\xeeZ\x12*\xcel\xe0\xa3\x15Ie1y;\x20\x96\x13\xedC[Tr\xc1\x0f\xbdH\xd17E\x0dR/\xe8F\xf6.\xb7\x96\xee\x8b1\x97m(\xf6\xb2\x8a\x80\xf1\xbd5VQ\xd4]J\x85M\x9e\xdb\xc6.;ttM\x9f\xdf\x85\x1d>\xda\xb0Y)v\xfb8\xc2\x1d\x16^\x83'\x09\x83\x92\xa5\x93\x912\xc9\xa4\x88\xcbE\xd8\xa2\x838\x10\x86so\xb69O\xe9\xa8$M\xd3\xe7\xe29\xc4\xbd&\x11\xb7\xc7\xffG[\x84\x9f\xbc\xf48\x84\xa5\x01\xcf\xee5\xf0\xe4\xf7P\xfd\xac\x07]pN\xa48\x0f\xd6\xe7\xd5\x82\xc0\x0c\xbc\x9f\"\xc6\xc8\x8ar\x8e\xff\xabG\x0d\xd4Y\x0f\xb5\x1dP\xf0\x0c\xdc\xf0\xe9\x11\x8cxO\xa4\x96\x95\xc6a-)\xb5\xb8M2(\xcfz\x9c\x8dT\xc4J5\xd0=V\xdb\x0e\xfc'\xcf\xd0\xc03\xa4\xa0\xcf\\\x8c\x8a\xcd\xb8\xae5\xef\x09C\x99\xbe\x0f\xa3\x95IE1\xc5v`8\xd1>.\xf8\x83\x89\xb7T\x8b\xc5\xe4\xad\xaeX\xb1\xb3\x17T#\xabyaTX*\xee\x10\xd5U\x04\x8c\xef\xad\xb1\x8a\xa2\xeeR\x8aNe\xbb\xff\xa0\x0f=%\xdc\xf7\xaed\xfco\xc9\xdb\x1b\xf8l7\x18\xbfl\x0cF\xca$\x93\xc53{0\xd3\xc8Irx\xb0\xd4\x05*\xc9\xa0\x89s\xa1\x8c\x8aNG\xce\xb3\xff\xb4w{_\x08\xd8\xc8\xb5W/\x8aR\xc1?&\x1f]_\xf3\xc7\xa5\xc9\xefZ\xf8\x0f\xc5\x0f\xb2\xa2\x9c\xe6\xef#O$E\xa1\xb6\x03\x0a\xfe#~\xcd\xe4|\x92w\xa9e\x0f\xad\xcb\xb2\xcan\xf6\xf5\xba-g*\x8a\"V\xaa\x81\xee\xb1\xdav\x88v\x1b\x9e`\x1a\xf9+\xddW\xf0!\xfd\x84/\xc3\x9f\xf7D+\x92\xcab\x8a\xed\xc0v\xa2\xed\xaeI\xe6\xcf\xe1\x04\xad(\xf4\x8a%E\x91\x1a\x99c\x11^n\x8b\xb3/\xaa\xab\x08\x18\xdf[c\x15E\xd5\xa5\xb4\xe7\xa8]\xbac\xc58\xb6r\xd2\xb9\xed\\\xd1M}\x01\xfem\x0e\xde(\xbcl\x12\x15EN2\x99\xe3T\x86\xb7\xf0\x87\xf0p)\x9fJ\xb2\xa8*\x12q;\xcf\x8b\xc6_V\xf2%\xfd\xd0y\x1eOF\x1b^\x14\x85|\x99\x91\xf45o\x88\xb3\xe5\x9cv\xac\xf3P\x94\xab\xd4ud\x19IQ\xa8\xed\x80\x827\xe1\xd7c\xbe\x19\x16\xc9-{R\x96\x9a\xc0/9\xa8:\x8f\x82q\x1d\x8bt\xacT\x03\xddc\xb5\xed\xe06\x97D(%\xcbKqo\xc9\xe9\x06.F%\x95\xc5\x14\xdb\xc1\xd3\x89\xb6\x81\xcc\x8a\xf4%\xbaou\xc5\x8a%E\x91\x1aY<\xef1\x1e-\x8ac\x14\xb5U\x04\x8c\xef\xad\xb1\x8a\xa2\xe6R\xfa\xb4(\xcfe\x9bc$\xe5\xf2q\x13?\x93\xbc\xcd\x20c\x14|P9\x15EN2Y:\xf3\"\x81L_\x86\xcb\xf3-\xe1^\xa6^\xd4\x91\xbf\xa4i\xef^#\x90\x11\x08\xf9nW(\x7f\x9fEE\xe9\x8ds~\xed\x9d_\xf3\x84D|\x9d!\xd5CQ\x9eG\x17\x20O\x88\xa2\xd8\x9b\x14\xdb\x01\x05\xaf\xc2\xaf\xf6A\x8cQp\xcb\x1ar\x04}xR\x19S\xaa\\.*J\xe7>\xc5@J\x11+\xd5@\xf7\xd8\xdbvp'uuCC\x03\xbe\xd2\xfb7\x9eT\x98\x1e\xadH*\x8b)\xb6\x83\xa7\x13\xad5\x8b\xbc\xe5\xbc\x87_\xa9\xad\xaeX\xb1\xa7\xa2<\x8cJ~\xd8\x98\x90(\x9e\xf1\xa9\xad\"`|o\x8dU\x14\x15\x97\xd2\xd6\xfd\x07\x84\xcd\xddo\xf8dx\xc7\x94Hf\x08$f\x00\x00\x03\xb5IDAT<\xa3\xf3\xc1*<\xf0\xc7\x83\xd2\xfd\\\x09RW\x94\xa6M\x1e?\xdcG8r\xe5\xfb\x8f\x9f\xe3W\xeaj\xac\xca\x85\xd9\xa6/\xbc]\x8b\xa5\xbe\xa45\xe2=\x119\x07\xf1k\x92p\\>\x123\xa4\x1aDE\xc9\xe1\x9d\xb7a9\xbf\xe66\xfc\xd5\xef[\xe9\xa1((\xf5=\xc6m\x14\x91\x91\x08\xdd\xc3\x1d\xa0\xb6\x03\x0a\x9e\xd2!d\xcc\x8ct\x0fft\x9ejY\x01\x7f\x81|\xde!\xc6\xba\xba)*\xcaM\xfe2\xf9\xe4l\xa4\"V\xaa\x81\xee\xb1\xcav\xa0\x0fli\x15\xd6]\xc2\xcb.\xab\xf0\x92h\x13t\xe7vL\xb42\xa9,Fm\x07\xca\x89\xd6UY\xac\x15+W\x9fX\x80\xda\xea\x1a\x8ar\x8d_\xc2\xf3\xeb\x1e8\x97\xb3W\x118\xbe\xb7F(\x8a\x96Ki\x93}\x7fSKK\xcb\xc9|\xad\x8at\xe7\xe8\xebod\x96|\xc0\xe1K\xbaK\x83\xd6\x16\xad\x0dZ\x8aPK\xd5\xb8\xf8S\xe8b\xfc\xb8\xaa\x16*\x89\xa3\x17r\x13<~\xb9\xd7r\x8b\xf3\x0f\xc5sy\xa8\xe7\x14\xb9v\"\xfc\xe2\xd3I7\x16r^\xbeW?;L\xdb\xae\x0e\xdc\xdcfr\xfc,\x1cC\xf3\xd2N\x9c\xce\x10g$\x0b\xa2\x8bO\x7fb~H\xd7@\xee\x99\xbd\x90N\xee\x99\xed\xbd\xeap\xc4ls\\~\x86\x0f\xd6\xd4\xd2\x82\x95|\xecWW\xd1C|\xcfl\xb1\xc3y\xcf\xea\xed(\xf9Nu\x89\x8d\xc1[\x0a\xdf\x0c\xc5\x17\xb0\xa9\xed\x10\xcc\x85\xe7\xdbgM\xf2P>V\xe7\xe5\x96\x15\xf0\xe6}g\x85\xf6\xd6:cI#_\xfc\xb0\xf2}\x87\xc0\xd7\xc2I\x88\xa2\x91T\xac\xdc7\xa9\xc7\xec\xed\xf0\xe2\x07r\xf5\xe5\xbe\xd4\x1c\xb2\x8a\xee\x0b|N'\xea\xcc\xe1/t\xa3f\xb3\xad`\xcf\xa2(SE3\x95t+Fm\x07\xca\x89\xd6\xb5[by\xeb\xbe\x0bBsn\xd3-\xa3k\x90{A7\xf2ZL\xcd9\xc7\x03\x97\x8e\xb0W\x118\xbe\xb7F(\x8a\x96K\xe9\xe1l\x91a\xb8\xc3\xed\xfa;\xd3&F\x90\xc9\x9d\xfe\xcc9\xa1s2\xfb\xf1M(\x1c7\xae.Tx]A%q\x88}\x02'M)K\x1c\x89\x0c\x9b4\xf70B\x97\x82\xc8\x84\x0a\xfejRI7r'g{f\xba\xd8\xc9\xf3\xbc\xe9/f\xe1\x15\xdf\xb6V\xb3.\xd6\xb2\x86\xfc\x98\xa3\xee\xacE1I\x0d\x8a\x1a\xc8\xffz\xf8ed\x02\xf2\xa7(q\xaeA\xf8\xd0W\x9c\x10\x1d\x97V\xf1\x9e)\x09\xa5;g\x20\x9c?\xaf\xfbb<\xff\xac\xd2\xf5AX\xc8\\\xb1G\xf2v\x08^\x15?q\xeaR\xcfsPf\xe7\xa5\x96U\xac)\xb0\x99\xacI\xce;\xcd\x9c\x8dlt6\x8c\x17\x0eQ\xaa\x91\x8aX\xaao\xae\x1e\xb3\xb7\x83\xb3\xb2d\xa4XE\xcd<|\xcf\xfc\x09\x9e\x9fW\x83\xd0\xdd\x94E\xcbr*L\xb8\x98\x94t+&o\x07\xda\x89\xd6\xb5[\xfeP\x96\xb3\xdc\x1c\x97\"^>s\xb5\x8c\xaeA\xee\x05\xdd\xc8+&\x9cgZ\xd3\xac\xbe\x8a\x00\xf2\xbd5BQ\xfc\x86B\xdff\x17F\"\x03Y\xa6j\xad\x18\x8283\xcb`\x14w\x9e\xc2\xb5\x1dtt\xa2}d\xde\xf1\xe8\xc5\x8b'?}\xb6\xe8\x09\xf9\xccX\x85\x8ek\x1b\xf1\x80\xa2\xf8L\x7f\xee\xa4\x15Z1#\x97\x81b\xdb/Z1\x18\x15E\x19\xdd\x9d\xa7\x10\xb7\x83\x9eN\xb4\xa7\x9dw\xe1\xf4\xc5\x8aCJ\xcfU\xe8\xb9\xb6\x11\x0f(\x8a\xcf\xb4\x84\xad2|\xee\xd8xT\x14%0:\xffR\\\x8b\x12Ow\x9a\xa3njD\x06\x04\xa0(\x00\x858\x17\x0d\x0c\x86\xbe\x0c\xf3\x8e\xea\xda\xea\x1d\xe6\x0c\xb7\xbbq\x02\x13P\x14\x80\x82\xccE3.R\x01^\x188\xb3\xc1j\xb2&\x9f\x05A\xc1\x80\xa2\x00\x00\xa0\x1f\xa0(\x00\x00\xe8\x07(\x0a\x00\x00\xfa\x01\x8a\x02\x00\x80~\x80\xa2\x00\x00\xa0\x1f\xff\x1f\xec\x88D\xdc\xfa\xfa\x88\xfa\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/error1.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x04\xc1\x00\x00\x00\xbd\x08\x03\x00\x00\x00\x8d\xa5\x9a\x96\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x02\x05\x01\x0a\x03\x01\x05\x07\x03\x1e\x01\x00\x0b\x0d\x0a\x10\x12\x0f\x16\x17\x13y\x00\x01\x19\x1b\x18\x1b\x1b\x14\x83\x01\x00\x8c\x00\x00\x8c\x00\x04\x20\x1f\x19!#\x20#$\"%%\x1e$%#&'%'(&+)\x1e()'++$*,)/,!-/,02/63(241\x98\x1b\x1b786;8,\x82%#:;9><0>?=C@4@B@\xa0*,CEB\x9c.-KH<MH7\x00f\x00\x00g\x00\x00h\x00JKI\x00i\x01\x00j\x02MOL\x04l\x05TO>\x09n\x07PRP\xa9:<WRA\x0co\x09\x0fp\x0bTVT\x0cr\x17\x11t\x19^YG\xaaDCY[X,`\xae7]\xad\x15v\x1c\\^[\x19y\x1e;b\xac_a^faO>e\xaf*{!bda)}*Bh\xb2egdLj\xafpiR.\x81.Em\xb1ikh\xb3XX0\x8301\x841/\x858Jq\xb5mol;\x86:Vu\xb4>\x89={t\\tvs@\x8b?B\x8c@@\x8dG\\z\xbay{xJ\x8eI^~\xb8\x84|d\xbbkkL\x90K~\x7f}O\x93Mb\x83\xbdN\x95UW\x95V\x82\x84\x81\x8f\x85hm\x87\xbdZ\x98Y[\x9aZ\x87\x89\x86\xc0{|]\x9c\\\\\x9dcr\x8d\xc2\x96\x8cnd\x9dd\x8c\x8e\x8b{\x8f\xc0f\x9fg\x90\x92\x8f~\x93\xc4j\xa3jy\x96\xc5\x94\x96\x93s\xa4l\xa1\x96xq\xa5s\x81\x99\xc3\x97\x99\x96\x83\x9b\xc5\xa5\x9b}u\xaaw\x9a\x9c\x98\xc7\x91\x92\x9c\x9e\x9b~\xaby\x88\xa0\xca\x9e\xa0\x9d\x81\xad|\xab\xa0\x82\x8e\xa2\xc7\xa1\xa3\xa0\xa2\xa4\xa1\x81\xb1\x85\x92\xa5\xca\x8b\xb2\x88\xb4\xa7\x83\xa6\xa8\xa5\x8d\xb5\x8a\x97\xab\xd0\xa9\xab\xa8\x8e\xb6\x8c\x8d\xb8\x93\xab\xad\xaa\xb9\xad\x88\x9f\xae\xce\xae\xb0\xad\x96\xba\x96\x98\xbb\x98\xa3\xb2\xd2\xb0\xb2\xaf\xd9\xa8\xa6\x9b\xbe\x9a\xc2\xb5\x90\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xb6\xb8\xb5\xa2\xc0\xa4\xb7\xb9\xb6\xdb\xb0\xb3\xa5\xc4\xa7\xba\xbc\xb9\xb1\xbd\xd7\xa7\xc6\xa9\xbd\xbf\xbc\xa8\xc7\xab\xcc\xbf\x99\xaf\xc6\xab\xb8\xc0\xd5\xbf\xc1\xbe\xb2\xc9\xae\xd0\xc3\x9e\xc2\xc4\xc1\xbc\xc4\xd9\xe2\xbd\xbe\xc4\xc6\xc3\xb2\xcd\xb7\xbb\xcd\xb9\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc5\xd8\xc9\x9d\xbd\xcf\xbb\xc6\xca\xda\xc0\xcc\xda\xca\xcc\xc9\xbf\xd2\xbe\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd3\xc1\xe0\xd1\xa5\xd0\xd2\xce\xc8\xd6\xc9\xea\xcc\xcb\xd1\xd3\xd0\xd2\xd3\xdd\xca\xd8\xcb\xd3\xd5\xd2\xdf\xd6\xa8\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xd4\xdb\xd0\xeb\xd4\xd2\xd2\xda\xe3\xd8\xd9\xe3\xea\xdb\xaf\xda\xdc\xd9\xd7\xde\xd3\xe1\xdb\xda\xd5\xdf\xda\xdc\xdd\xe7\xdc\xdf\xdb\xd7\xe1\xdc\xde\xe0\xdd\xdc\xe1\xe3\xf0\xe0\xb3\xe0\xe2\xdf\xe2\xe4\xe1\xee\xe1\xe2\xdf\xe5\xe7\xe4\xe6\xe3\xe8\xe5\xea\xe5\xe7\xe4\xf2\xe4\xe5\xe6\xe8\xe5\xe3\xe9\xeb\xe7\xe9\xe6\xe8\xea\xe7\xeb\xed\xea\xf6\xf0\xef\xf2\xf4\xf1\xfe\xf8\xf7\xf9\xfb\xf8\xfe\xff\xfc!l\x99S\x00\x00\x20\x00IDATx^\xed\x9d\x0fXT\xd7\x9d\xf7\xf7\xd9\xd9\xd8w\xd3$C\x03\x9b\x12-K^\xd6fm\xfb\xdc\xe1\x19\xa9\xbe+\x0c\x8d\x1d\x14\xd7?1+\xbeVQ\x8aV1\x1b1\x18\xe7a\x13\xa3\x82\xc6\x84L\x0a\x19%)\x20B\xe6\x89E\x1eY3*\xbe\">\x19Me\xc1\x96hqm\x12\xe8S\xa6\xd1\xb1\xb6\xda\xe4\xf2(\xac\xe4y\xaf\xe7\xed\xa6\xe5y\xcf9\xf7\xdf\xb9\xc3\xbd3(\x03\x97\xd1\xdf\xe7\xd1;\x87;\xbf\xf3\xbb\xe7\x9c\xb9\xf7;\xe7\xfc\xee\x99{\xfejh\x14\x20\x00\x00\x00\xf3\x18\x1a\xfa\xabH*\x15\x8eH\xee\x01\x00\x00\xc6\x10P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x173\x15,p\xa0\xaa\xa2\xfa\x18O\x92\xc2\x99\xba\x8a\xba\xceH\x19\x00\x00\x004\x98\xa8`A\xb7\xb7\xb3\xbb\xb3\xae\x0aK\x98\xe0\xf5\x9c\xee>Yq2R\x16\x00\x00\x00\x16\x13\x15\xac\xcb\xdd\x8d\xb7\xbc\x1bw\xbd\xceT\\#;*\xf8Hy\x00\x00\x00\x18LT0D\xf5*\xe8\x0e\x20\xe4=@wTB'\x0c\x00\x80;\xc1L\x05\xc3\xf4wW{\x05\x84\xea|\xf4/\xef\xfe\x08\xe6\x00\x00\x00,\xa6*X\xd0\xedv{HO\xecX\xe5\x00\xde\x0ex\xea\"\xe5\x00\x00\x00`0U\xc1P0\xd0^M\"\xf9\xbc\xc7\x1b\xec\x0fx\xdd\xd5\x912\x00\x00\x000\x98\xab`\x98\x81\xea&\xbc\xbd\xe6\xc5\xdd\xb1\x16\xaf7\x925\x00\x00\x00\x83\x89\x0a6\x20\xd0\x973n\xfa\xda\x7fM@\x95\xc7\xc2f\x00\x00\x00\xd0b\x9e\x82\x09\x95b\xf8\xfeL\x05V\xb0A\x92\xea\"\xb7%\x01\x00\x00F\x8cy\x0a\x86\xaa\xe8\x14\x0a:\x8a\xect\x07\x11\xe2\xab|\x91\xb2\x00\x00\x00\xb0\x98\xa8`]\xee\xa6\xce\xeeN\x1a\xc9\xefr\x9f\xec>S\xe9\x85\x09\xad\x00\x00\xdc\x11&*\x18\x0a4UW\xd4\xb5\x90y\x14\xe8t\xb5\xc7{Z\x88\x94\x01\x00\x00@\x83\x99\x0a\x06\x00\x000:@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]bK\xc1\\.\xbd$\x00\x00\xf7+&+X\xbb[z4~\xc0\xeb9\x10\xf1\x09\xad\x1fs;u\x92\x84z\x8e\xe3\xcaQ9\xde\xd6\x0f\xcf\xa6\xd0k\xe3\x16\xe1\x17\x176K\xeb\x09c\xa7\xe5\xb8\xe3p\x98w\xef\xd0\xd9\xe8\xc0\x07\xab\xc1/5\x1c\xc7\xea\xf7\x8b\x1c\xd7\xa8\xfcq\xeeG\x8eY+[\x97|0,\xafH-k\x1b\x81\x17Gd{w\x8d\xfa\xd9\x8b\x0e\xfb\x8f\xa2\xf28%\xed\x81\xc3\x7fX\xe3\xc3D(\xc3\xfd\x83\xb9\x0a\xc6W\x1c\xab\xa4\x89\xee\x0a_\x97\xaf\xa2;\x82y\x91\xfd\x8aN\x92\xc0\xbf\xcb\xed\xbe\x8e\xae\xbf\xc5\xbd\x1b\xf6)\x89\x1d.;\xde^\xf2\xfbk9\xa3K|8\xcdi\xe1\xae\xe3;t\xa6\xd2z6\x92\xc5p.\xa5\xbd\xd5\x87_\xfa\xde\x9aq\x89\xd9{\xc5o+\x97\xd3gm\x05\x87\x1a\x9f3\x96\x9e>\xff\xf2r\xa4\x87NqX\xbfa\xb8\xabF\xcds\xd4\xba\xd2\xfa\"Y\x8d\x04\xed\x81\xc3\x7fXw\xd7\xea#\x81\xf5\x1b\xa9\x0c@41W\xc1\xbcM\xddT\xc1\x84*\xb2\xc6\xc7\xb1\xaa\xf0_\xca=\\\x89NR\xe4\x02w\x1co[\xb9\x0b(,\xe5v\xf1\xb5\xe3\x0e.6\x14\xa9\xabpG\xce\x14~P\x18\xc9B\x87%b\x17\xb3~\x89v\xb7]Q\x9a\xd5yd\xeb\x0a\xd3y*\xd0W%\xdd\xe2\xd8G\xa2`w\xd3\xa8}\xb8/)\xf4G\xb2\x1a)\xec\x81#|Xw\xd5\xea#@\xe37\xd2\x09\x03D\x11S\x15\xac\xdd\xc3\x07\xa8\x82uV\x90\xb3\x99\xaf\xe8\x0ck\xeeR\xfb].m\x17ll\x15,\x12w\xe7l\xd9\xdd\\K\x85e\xf4\xa5,$\xaf\xaa4s\xa9\xc19\xee\x102\xc2@\xc1t\x8b3f\x0a\xd6\xc3Es\xa0u\x07\x07\xbe\xabV\x1f\x01c\xe5\x17\x88\x84\x99\x0a\xc6Wt!Q\xc1\x9a\xf6\xd3\x1d\xfb\xc3.\xf5\xd1k\xdb\xaa\x93\x94`\x14\x8c/\xcc\xb4e\x15\x9c\xc3\x7f\xbe\xc4\xd9\xeaK\x16\xa4\xad\xa6C\xae+E\x99\xe9\x85\xaea\x17[\xe3\xca\xb4\x05%X?\xcf\xd98\xae\xac\xa7h\xae}\x8d\xe6\x1b\xb4/\x8d\x13\x87d\x82\xc3\xf6jVf\xeb\xd6Yy<\xf1[\xe3\xcaJ/\xe81p\xc6\xda2\x87`\x8as\x98\x13YF\xde\xf7\xaf\xce\xb29~\x94\x854\xa8\xb5`\xd9)^(\x85;Y\xbfXi\xb6\xba2\xc5\xe2\x14fR\x0do\xa6\xbbk\x97\xa5-\xa9\x153\xf6\x14:\xf01\x88\xecc\x05\xdb\x8a\x8fl\xff\x8c\xf1\xa0)\x0e\x83\xbdDn\xbeh6\xea\xa0C<\x9a\xd8\x8d\x96\x0bi\xf0\x01\xe8\xb7\x03[!\xf5\xc0\xca\x87E\x88\xd4\xea\x06\xce\xe4\xe20\xd945fZ]\xc9\xc6\xfa\xd5\x94A\xc7\x19\x10e\xccT0o\x13\x92\x14\xacN\\(\xf2X]8s\x97\xed\x92NR\xe2\x02\xd7<00\xd0L\x14\xac\x99s\xb56\x16p\x1d\x08}\xdch\xe3\x1c\xe553\xc8e\xdf3kA\xfd\xe1\xd5\\\xe8\xc5\xe6\xe2\xb66\xd78\x96\x09h\xa0\xb11k\xc1\x8c\xac\x92\"\xaeW\xe3\xf8\xac\xdf/\xf6DZgq%y\x9cc\xb7\xa3\x86\xfa\xcd\xda]\x9e\x95v\xc1\xc0\x19c\xcb\xece\x8a\xc3\x7f\xe0_\x90\xe7\xf7\xfb\x89\xe8\x9c\xe5\x8a\x1a\x8f\xd7;8\xed\xd8C\xad\x05K\xfd\x0fPG\xd6\x07hY=\xeb\x17+\x0d\xb7\xac\xb1q\x09)No\x16\xb7\xa6\xbccP,\x8e\xbd\xac\xb9\xcc^D\x92\xadi\xcb\xde:^No\x03`\x05\xbbR\xc4\xd5t\xb0\x1e\xd8\xe2\xb0\xd8\xb9E\x8d\x87\x1d\xa4\xf9\xa2\xda\xa8\xe7\xfc\x8d\\\xb9\xdfO\x15C)\xa4\x81\xad~;\xb0\x15b\x0e\xac|X\x91[\xdd\xc0\x99R\x1c&\x1b[c\xb6\xd5\x95l\x1a\xbfl\x19t\x9c\x01Q\xc6D\x05\xeb\xf4\xf0\xb2\x82U\x9e\xa4{NV\x861\xef\xb5\xbd\xa8\x93\x94\xb9\x20}\x0d\xe2\x8b\xb8\xbf\x91|C.y\x8e\xec\xb6\xa7c\xa9+r\xe0\xd4\xca\x05x\xaf\xb0$\xe4bk\xe6\xde\xa5\x7f\xd1/\xcde\x1c\xe93\x0d\xbf\x15\x20\x9d\x90\x99E\xd8\xfc\xb08\x8d\xc3>\x17\x9b\xf5e-7r\xc6\xd8\xb2\x87P\x8b\xc3\x8c;j\x1d\xe4r\xa8\x9d\xa5U0\xb6\x16*~\x07\xdai+A\x0e\x7f\x88\xdfE\x03X\x02\x16,\xc7\xc9\xbe\xdd\xcbm\\:\xd9y\x9cvK\x8fs\xcd\xf8\xad\xac5\xd8`\xb0\x91\x84\xce\xb1\x82\xd5\xd8\x9b\x893m\xe5uG\x91\x0e\xdcSs\x91\xf2F\xb9Q\x95Q$SH}[\xfdv`+\xa4\x1dEJ\x1fV\xc4Vg`\x9c\xb1\xc5a\xb2\xa9I\xc6\xaf\xa6\x0c\x1a\xbfR\x19\x0c\x9c\x01Q\xc5<\x05\xe3+:\x05A\xe8\xae\x14\xf0\x95['\x0e\x1f}\xe1\xfa`/\xd9zu\x922\x17p\xaf\xa2\xa3\xa3\x86\xc6\xc1>\xab]3w\x16G\x83\xddv\"7$N\xd3'N\xb3(\x0b\xb9\xd8\x0a\xe7\x0e\xe2B\x08Ytr\xc22\xfb0\xb7\x14Y\xc1\x1aq6\x1e\xed|\x9e\xec\xa2\xc3\xb8Z\x8e\x9e\xbd:\xce\x18[\xf6\x10Jq\x10s\xce_\xca\x9c\xfbR\xfd9a\x10iaj\xa1\xd2\xcb\xf5\xe7\x15\xad\xec'\xdd\x14\x8d\xdfW\xc9\x9bRq\xd0@\xeb\x1ar\xd5\xb8\x16\xd1\xbf\x16Q\x15U\x87a\x05\xe5e\x92|h+\xaf\xab`jy\xa3\xdb\xa8\x8a\x821\x854\xb0\xd5m\x07\xb6B\xba\x0a\x16\xb1\xd5\x19\x18glq\x98lj\x92\xf1\xab)\x83\x9e\x82\x198\x03\xa2\x8ay\x0av\xd1-\x13@M\xe2\xac02\xac4\xe2\x0a=\x07B\x93\x0aL\x1c\xac\xc3\x91\xb5\xf3\x90?O\xbc\xd8\xc8\xb9DN\x9c\xb3\x9c\x1f\xa1\xe1A\xe7%R\xd7\x8d~\xc5/\x1b\x16\x1f\x11\x91\x15\xec8\xea\xb0!I\xc1\xe8.?G\xef\xa1\xeb8cl\xd9C(\xc5A\xec9\xdfW_\xb8\x08\x0f9\x91\x06\xb6\x16*\x82\xfdB\xda\xb9\xb4\x0b6A\xc7/-N\x07\x1d\x9a\x09+\x0bp\x07\xa9\x80f)XN&\x90\x0d(.\x0a\x1c3\x16\x89\x87\xd6V\xde0\x92O\xcb\x1b\xe5FU\x14\x8c)\xa4\xbe\xad~;\xb0\x15\xd2U\xb0\xc8\xad\xae\xc28c\x8b\xc3dS\x93\x8c_M\x19\xf4\x14\xcc\xc0\x19\x10U\xccS0!Hh\xf7\x04\x83\x02\xeat\x93\xa1\x03\xef\x0es/r+\xd7\xa3\x93T`\x14l\xd1r2\xee(\xd4^l\x9fq\xb5\xe4\xef\xd0\xa0s\xd1\xdc\xb3\x14\x12\xd66\xbc\x9f\xc4(\x98]V0z'\xa1\x9e\xa3#\x1e\x1dg\x8c-{\x88a\xd7R}/\xd6\x01\xd2\x9f\xebk\xb4\xd7j\x0e\xca\xd6\x82a\xc1[\x99(\xabf\x01\x0a\xf1K\x83\xe2\xa48\x99/Q\xb32l\xe1\x9aK\x93s]\xa4]\x98>\x98\xe3B\xef,\x1a?\x1a^yR\x1c\x16\xb5\xbcQnT\xb5\x0f\xa6\x16R\xdfV\xbf\x1dZ#\xf5\xc1\"\xb6:\x03\xe3\x8c-\x8e\xae\x821~[\x87\xf5\xc1d\xbfr\x1fL\xdf\x19\x10U\xccS0\x91\x804\x1f\x8c\x0c#}a\xe6\x83E\xe8\x82\xb1\x0a\x96EN&a\x89\xf6bC\xcb\xb3\xf0\x10\xab\xc7\x1er\xb1\x1d\x17\x835e\xb4\x03t'\x0a\xe6\xc0\xd7\x15?\x97N\xbe\xd2s\xc6\xd8\xb2\x87`\xcf\xe3<\x9c\xf9\x0ay\xaf\x9c\x16\x1d\xe5ic{l-\x18\xd6\xac|\x0e\x15\xae\\\x8dB\xfcf\x91\x88\xcc\"\xec\xd1A\xaa\x89\x04R\x95fj\xd0H\x06\x94\xfd\x99y\x838\xbd\x95\xe8.\x99M\xd1l\xeb\x08\xf1\xa0\x16\x87E-o\x94\x1bUQ0\xa6\x90\xfa\xb6\xfa\xed\xc0VHW\xc1\"\xb6\xba\xbe3\xb68\xba\x0a\xc6\xf8\xd5\x94A\xe3W*\x83\x813\x84zw\x8f\xfc\xc7\x0b@\x04\xccU0!\xd0\xee\x09\\CtN\xfe\xc5\xb0s\xf2K\xd4~W\x89N\x17\x8c\x9d\x93_\xce\x15\xd6\xee^\xc69\xde\xea\xb8\xe2\xb7\xb9:\xd0Y\x97\xcd\x7f\x05]H\xcb*/K\xe7l\xef^\x10gq\xd7\xf8\xfd\xbd8\xe3N\xee\xf9\xc6Cd\x02\xa8\xd0A\xef'\xf5\x868\x1e\xfc\xc0\xef\xb7\xbb\xfc~\x1e]H\xaf\xe9o\xb4\x9d\xeb\x7f>\xef\x12\xa27\xff\xea\x17\xa4\xf7\x20}g\x1a[e/[\x1cr:\xd7\x1c\xcaK\xbbD\x14,\xad\xac\x19\x1b\xb4j\x0e\xac\xd6B\xb3{+\xb7\x1b\xbd\xc5\xd1\x8bF\xf1K\x8a\xb3\xa6\xa3u%)\x8e\x83\xcb,;\x8e\xfd\x92&*\xe2v6\xef\xe4\xc4{\x91\xf6E\xb5\xcd[\xb9z2'\xdf\xf5\xc1`\x7fAf\xebu\x8d\x07\xb58*ly\xa3\xda\xa8\xe2\xbd\xc8\x0e\xfa}\xa5\x14\xd2\xc0\xd6\xa0\x1d\x94\x0a\xb1\x07V?\xac\xc8\xad\xae\xefL-\x0e\x93M\xe3\x81i3&\x9b\xea\x97-\x83\x9e3b\\\xc0\xfd\x08\x01Q\xc2\\\x05\x0b\x900X\x15M\x1d\xa8\xf0\x86\xf9]\xe4\xf5\xb4\"\x9d\xa4\x0a\xfb\xbbH\xa1f\x81\xddQX\xbf\xc0\x96\xf7\"\xfe\xdbv\x81L\xd0\xc1\xfd\x9b\x9e\x82\xf4\xb9%\xef\xdap\xd2%\xc52\xe87\xfe\xf1<G\xfa\xcaf2\x09\x94R\x10\xe2\xf8\xacd[/88\xaeq\x06\x97\xd6Hc\x20\xf6\x12\xd7\xac\xcc\"r:\xea9\xd3\xda*\x87\xd0\x14\x07\x0dlM\xb7\xe7\x91\xcb\xb2qey\x96-3O+`L-4\xbb\x9b\xd3\xcea\xdd\x10;0\xb2_<\xd4*/\x9c!\x16gy}\xd9\xa24\x878SM\xa8Y\x92\xb6\xa4V\xec\xd7\xf6\x14f\xcdX~\x88\xfe.\x92\xe3\xce\xe2\x82qe\x1a\x0fjqT\xd8\xf2F\xb3Q\x07f\xd1\xbd6m!\x0d>\x00\x83vP*\xc4\x1eX\xf9\xb0\x88A\x84V\xd7w\xa6\x16\x87\xc9\xa6\xf5\xc0\xb4\x99\x9aM\xf5\xcb\x96A\xcf\x191\xaew\x84\xfb\xf5.pG\x98\xab`#\xe6U\xeec\x9d\xa4yH\xe3\x04\x00\x00\xcc%F\x14l\xa2=V\x07\x14\x0c\x00&\x041\xa2`\x13\x0dP0\x00\x98\x10\x80\x82\xdd\x05b`V\xe6\xcdo=\xc4\xf2\xad7\xc3\xe4\x04\x00\x20\xaa\x80\x82\xdd\x0540\xdb+\xa6\xff\xa8\xd5/\xaaa\x7f\x0c\x9b\x1b\x00\x80\xa8\x01\x0a6J\x86\x0b\x18\x96\xb0H\x99\x00\x00\x88\x0e\xa0`\xa3\xe3M\x1d\x01{\xe8!\x18H\x02\xc0\xf8\x00\x0a6:\xf4\xba`\xd0\x09\x03\x80\xf1\x02\x14lt\xe8\x0a\xd8C\x0fE\xca\x06\x00@T\x00\x05\x1b\x1d\xa0`\x00`&\xa0`\xa3\x03\x14\x0c\x00\xcc\x04\x14lt\x80\x82\x01\x80\x99\x80\x82\x8d\x0eP0\x000\x13P\xb0\xd1qo)\x98wf0\x92\xc9\xb8sm\xa67\x92\x09p\x1fc\xb2\x82\xb5\xbb\x95\xd3\xd3\x17~\xb1\xc8\x11\xe3\xb1Z\xad\xc5\xa8\x18o+\xc2X]\x8c\xb7N\xc3/\xb9\xd8,\xb1+\x8c]$\"+X\xbe5\xae\xda0{\x08\xbb\xacqU\x91ld\xc6\xa0\x9e\xdb\xb0\xc3\xc848\x9dG\xc2\x1a\x1ct:\x9d{\xd1^\xbc=\x18\xc6\xea\xd3l\xe7*\xfc\xf2\x0a6\x9b\xffi\x18;\xb4-n[\xb8\xb7\x81\xfb\x1bs\x15\x8c\xaf8&/O\x14t\x9f\x0ck:bx\x8fu[\x10\x05\xb7Y=\xc3W\x1dbh\xc9M\xc0\xdbn\x9fo\x97\xb5%\x9c]\x04\"+X\xc0\x17?\x12]\xa0\xf0G\xa7\xeb\xdb\xfaN\x0f\xdb\x15\xfdz\xee\x8a\xf3D\xb0\xa0\xdch[\xbfW\xf7\x8d\xb6\xf3\x92\xc1A\xe7\xde\xcf\xd1\xe7\xef8\x0f\xde\xd0\xb5\x13\xb9\xfd\xf3W\xb2\xf1\xcb\xef\xdb\xda\x1a\x9c?\x0fc\x87{\x86\x8f\x96\x86}\x1f\xb8\x9f1W\xc1\xbcM\xdd\x92\x82\x05\xaa\xa3\xa5`\xa8\xddz\x00o}\xd6\xf6\xf0f\xc5\x09\xe2kK\xc4+;\x1c\x91\x15\x0c\xa1\x84\x11+\x18B\xf3\xf4m\xa7/\x1e\xbe/\xda\xf5\xbc\x18\xbf!\xbc\x81\xc2f}\x05[\xbfEJ|\xe4<\x85\xb7m\xce\x8ft\xcd\x14\xf6f\x8b\xaf\xe7#(\x18\xda\x94\x10\xe6\xe9\xbd\xc0\xfd\x8d\xa9\x0a\xd6\xee\xe1\xc5\xe7\xe4#\x9f\xdbW\x11\xc3\x0a\xf6\xbf\x7f\xf7_\xff\xf5\xeb\x7f\xfc_x\xfb\xbb\xa7\xc6D\xc1R\xc7A\xc1r\x93\xc3v\xe6\x18\x0c\x14l\xed\x16)\x11m\x05\xe3\x93s\xc3\x1b\x00\xf7/f*\x18_\xd1%\xad\xf4\x81\xfayy\xd5[]\xaa\x95\x98O5\xe2\x17'\xc7\xa7\xcc;\x83\xf7\x9ey\xd4j\xdd\xd4\xb5tj\xe2\x9cA\xd6\x98\xb9\xb2U\xdb|k\xbc{\xdd\xb4\xc4\xd9\xf4\xcb<\xb04y\xca\xc2\xdcaWv\xe5\xcc\xc4i\xebx#\xbf\xdd\x93\xad\"\x93\xd9\x0e\x81\xa8`o\x92\xb6x\xea_\xc9\xf6_e\x05\x93\xbda\x05\xcb\xcfM\x9e2\x8fF\xa1\x8e\xceN\x89O\x9a\x93B\xb3\xeeJML\xdd%z\xe9Z\x98\x14\x9f<\x87<e\x1b+X>>\xc6cA\xc6\x83W:p*\xd2\x10\xe5z\x0eL\x96\xbb`m\x9bWd?\xb3y\xc5m\x9c\xbc\xdd\xb0~\xfe\xda\x86\xdbt\xf7\xa7[\x9e\xc9\xce\xd9\xfc{D\x15\xecu\xa7\xd3\x99\x8d\x07\x89\xb7\x0f\xae\x9f\xbf\xea\x8d[\x08\x9dp\x8a\xacG\x1a\x05\xbb\xb1%'{\xc5f\"e\xaf8\xb3\x0f\xbe\xb1j>u\x80~\xbf=\xe7\xe9-\xaf\x84*\x98\xe2\xec\xa3l\xa7s\xcf\xa7\xdbWdo\xfe\x82\xbe\xb1)\xb1\x1f\x01\x80\x1ef*\x18Y\x1e2\xa0,\xd3\x1dN\xc1\xf8\xa3\x937\x05Qp\xd3\x94\xa3<\xbe\x9es}\xd5\xf3\xe2\xf0\xe5\xd8_]\x95\xf2\xe4\xe4\x94uK\xad\x9aAF\xbb\xd5\xdb\xdf\xdf\xbf\x9f\\\xd9\xaamg\xd5\xa3\xd6\xa4\xe2\xd2\xc9\x0b\xb1A\xd7\xe4i\x1e\xeflk\xe8\x95\x9d\x1b\x97\xef-MJ\x15\x0c\xfc\x0exJE<\xecR\x85\xa2\x82=\xfc\xe6\xd0\x7f\xfc\xe3C\x0f\x7f\xeb\xd7C\xff\xf6\xb0\xa4`\x8a7\xac`\xd6\xd4\xaa\xaa\xd4D\\\x9e\x93\xd6\xa5\xd5M\xee$+Q\x8c\xdc\x84M\xdeM\x09K\x89\x13_b\xea\xb6\xa6b+\x89\xf6`\x05\x0b,\x8d+ma\xcb\xc3\x1f\xf3=\x99\xe1\xf3\x85\xde\xea\x88r=O[}\xe2\xfb\xbf\xfc\xfe\xf6#\xa7\x0e>\xe3$\xe2\xb1#{\xcf\xa9=\xd9\xdb\xc9\xee\xb6\xf9\xeb\xdf9\xb5\xd7\xd9\x80\xa8\x82\xfd~\xbb\xb3\x81\x84\xbdv8_?\xd5\x90\xb3\xf66\xba\xd1\xd6\xb6jc[[\xdbo\x10U\xb0[\xb7n\x9d\"\x0av\xc2\xb9\xa3\xed\xc8f'6\xfd\xe8H\xb63g\xef;\xf3\xb7`\x83O\xe7\xaf:xb\xb33T\xc1\x14g\xb7\x8e\x1cY\xb1j~\xce\x1b\xdb\xbf\x7f\x95\xbeq,R\xff\x11\xb8o1Q\xc1:I\x08zd\x0a\x86/;2\x8cZL\x06\x13|5\xe9\xd8\xa4.\xa4\xbbS\xad\xb3\xf9\xd0u\xea\xdb\xa5.K\xbb\xd66a\x0a\xbeN\x97&\xe1T\xc6T\xbcWH\x0d\xb9\xb2\xbdV\x0f\xfd\xab\xca\xc8o\xf0\xa2\x88f\xc2\x81\x14\xf7zj\xe8\xd7\x0f}\xeb[\x0f\xfd\xdf\xa1\x7f\x94\xe2`\xac\xb7\x84i\xb8\x07\xd1?u&\xeev%\x11\xed\xda5\x05\xeb\xda\x01\xda\x83:`\xdd\x8f\xdfJ\x99\x83Eq\xa0\x9a,\xda\x84\x15l[\x82wxytG\x91Q\xad\xa7\xd7zQ4l\xc8!\xda\xd5\xf04\xeey\x9d\xa2\x9d)\xba\xbd\xb5b3\xee\x1c\xdd>B\x82\xf3X\xc1\x1a\xb2O\x10\xdb\x13\xf4v\xe3y\xf1\xe6$3\x8a\x14\xc1\x0av\x8bd\xb8-\xbe\x93\xfd4\xee\x7fm\xcf\xc1\xa9\x8d\xab\x88\xaf\xb5!\x0a\xa6u\xe6\xdcx\x03\xdd\x96n\x05t[G|;\x17\xb8\xcf0O\xc1\xf8\x8aNA\x10\xba+\x05i\x91\xc8\xf0\x0a\xe6K\xe4\x11\x9fH{\x09\xc1]s\xa6N\x96\x86T\xa9:1\xdevkiKKK)\x8d\x0f1\xb6\x09D\xfeHP\x88\xb7\xba\xc9\xdf\x9bB\xae\xec\xc5S\x07\x061)\xb9\x06~/Ze\x86\x8f\"\x1f\xfa\xfb\xa1??\xf5\xe7\xa1\xa7\x86\xfe\xfc\xb0\xa4`\xac\xb7\x04:<s[\xaf\xa1\xee\xe4\xa9\xf9\xee3\x02\xe9\xc4\xe5N\xa3\xf9\xa7a\x83\xfd\xd63\x8a\xbfy\xc5\x9b\xac\xe2\x04\x13myt\x15,\xaa\xf5\xac\x93\x15\xecj\xce\x8a\xd7\x0f\xfe\xea6\x19:\xeeXK\xf7\xacz\x85\xc8\xd8\xafdK\xac`?qR\x01C\xdbW\xdc\xfe\x02\x93\xb3\x83\xfc\xc1(\xd8;\xe7\xcf\x9fo\xa0q\xb0\x1b\x0d\x9bW\xccwR?\xd9\xc4\x8a\x04\xbfn\x88\xd3,\xf6\x84(\x98\xd6Y\xf6U\xa4\xd0m\x1d\xf1$\x13\xe0>\xc3<\x05\xbb\xe8\x96\x11WY\x0b\xaf`\x83Iu\xa8.\x89\x88]Kr\xca\x86:_\x86\xa4`\xd3\x87\x9b2\xf1!\xd6\x96\xc6\xd3\xc9\x95}R\x1c.\x85F\xb8S%}Zh\xe4\xd7\xe7\x15\xf1\xb1;%\x05{\xe8\xbf\x87\xfech\xe8\xd7C\xbf\x93\xfe\xd4x\x13#\xf9>\xebi\xb2,\xf9\xe2i\xd6$2\xbfi\xe6<\x9a\x7f\x0e>P\xa9U\x8d\xf2\xccK\x9e<M\xee^\xb2\xe5\x09\x1f\xc9\x8fF=\xd58\xd9\x8d\x83[V9\x9fy\x07K\xd8\xc6\xcdt\xc7\xe6\xf5d\x16\xd8-\xc5ts\xce\xfcU[hpl\xad\xd4\xdb\xa2vz\x91\xfc\xf39+\xf6\x9ch\xdb(*\x18\xb9\x01@\x14\xec\xbc\xb3\x0d\xa1\xe1\x91|\xad\xb3\xf5H\xa5\xc5z\x0c\x01\x80\x1e\xe6)\x98\x10$\xb4{\x82A\xb1\x13\x16^\xc1P\xfeB\xb40\x9f$\xa6\xcd$\x83\x9e\x85\x92\x82-\x1cn\xc9\\\xd9\xac\xadre_\xb3\xd2\xf8yh\x84{\xe9\xd4\xd3\x94\xa0\x91_]d\x05\xfb\x0f\xb1=\xfe]V0\xd6[\xc2:bYa\xe5\xd1I\xd2\x1b\xe3\xab\x12q\x01r\xa7\xd2\xfcSqW\xa8\xc9\xaa\xce\xf6\x9a\x97\xd4~q2\x9d\xfe\xa4-\x0fQ\xb0\x90\x15\x81\xa3\\O^\xbeez~\x0f\x16\xa7\x1bG\xb2\x1bp\x1fL\x0c\xe7\xaf\xd8A\xfa`\xe7\x15\xd3\xcd9\x1f}:\x9f\x04\xc4p\xb7\xe9<\x85\x8e\xf6\xa8\x82\x1d\xbc\xaaQ\xb0U\xeb\x89\xf0m\xd1*\xd8\x1fi4\x0d\xed\x18\xd6\x07\x0bu&S\x1c?\xd2\xdb\xa4\xc0\xfd\x86y\x0a&2\xd28\x18jI\x08$\xd0K0\x85\\tB\xaa\xa4`\xe1\xfb&\xac\xadre\xa3\xe9)\xd7\x10\xeaz,\xe4\xca>\x20\xc6Z6\xd1\x09\xe0z~u\x91\x15\xec\xcd\xa1\xa1?\xffyh\xe8\xdfd\x05c\xbd%\xa4\x900\xd7\xb4\x0c|xZ4\x94\x91O\xc2Nd`TE\x86\x8c|r\x06\x19W\xe6\x13\xa1#\xb3)\xf6\xc7\x93\x12i\xca\x93\x813\x07\xa5`P\xf76q\xb8\x17\xedz.\x9e*~\x95\xec\xa5\xfa\x836\xd2\xa1#\x89I\x1d!;n\xe4l$j\xf6\xfa\x1bH\x9cMq*\x9b(\x9ah\x80\xf6\xd0\xe9\x15\x1b7\"\xf49\xd9\xc1(\xd8\x8a-\x88D\xbc\xb4\x0a\x86\xd6\xaf\xc0*\xf5\x9b\xec\x10\x05\xd38c\x15L\x986\x07\x01\x80.\xe6*\x98\x10h\xf7\x04H\x00\xbb?\x10\xf0\xf8\x02\xe1~\x94'$\xcfN\xa6WX\xb1u\xf1\xaem\xa9x(\xd62\xd8B\xef\xd1]\xd4\x1a\xb2s\xd5U\xdb\x80/>\xb7\x05\x9d\xce\x8d\xf7\x05P{bJ\xf1\xa6)q\x8fz:\xc5\xb9\xea\xa5>\x1f\xe9\xddl\xb0.\xae\xf6\xe6Z+\x91\xbe_}d\x05\xfb\xd7\xa1\xa1\xff\xf3\xefCCO\xc9\x0a\xa6z#\xf7\"\xe7\xb44\xcd\x9cr\x91\x94=\xb1\xd8[\x97K\x87wK\xe36x7\xc4\x89\xf7\"\x1f\x9b\xe6\xde\x9fo\xad\x20s\xf2s[\x06\xf89\xc9\xbe\xa0\xc6\x03V\xa4\xd2\xba\xd9\x89b\x1fl\x9e\x95^\xcfQ\xafgW\x9c8\xf5}\xafs\xfe\xde\x13'v\xd0\x91\xdev\xe7\x9e\x13{\x9c\xe2\xbd\xc8\xecU\x0d\xa7^w\x1e$s\xf2_\xf9\xf9\xed\x1b\x9bs\xda>\xc7r\xf3\xfd\xedG\xb0-\x95\x9e\xbd\xd9\x0d'6\xce\xbf\xaa\x99\x93\xbf\xd7\xb9\xa5a\xefZ<&\xfd\xf9\xd5\xb6l\x9c\xed\x97\xafd\xb7]E\x1f\xcd\xcf\xd9\xbb\xe7ig\xf6\xc1\x8f\xd0U2'\xbf\xa1\xad\x8dD\xbd\x14g_\xfc\x82\xde\xd8\x94\x7flT\xcatR\x01@\x83\xb9\x0a\x16\x20a0\xd2\x179)F\xc4\xc2\x8d\x15J\x13\xc4\x0bL(}2!i\xb1gj|\xc6\x998\x1a\xd0\x09\xf9~V\x7f/\xe8fl\xc9$\xab\xf8\xf6D\xbc\xc5\xfd\x9f\xaeyS\xa6\xae\xf3<\x8a\x93\xb9RP\x88vE\x0ed$M\xc9\xd8\x8f\x90\xbe_}d\x05\xfb\xfb\xff\xfa\xef\xa7\x9e\xfa\xef\xdf=\xac(\x98\xe2\x0d\x8f\xf1\x8a\x17ON^J\xa2}\x95\x19\xc5)\xf1\xc9\x194>%\xd0\xf9`b\xb7\xa7kq\xca\xe4\xe9u\xe4w\x91Vk\xdc\xc9*\xbc\xdd\xa4\xf1\x80\x06\xf2\xa7$fHq*O\x12\x8d\xd0G\xbf\x9e\x9b\x1e\xa3\xd1\xa6\x83\x1b\xf7\xae\xc8\xce\xd9HCU\xb7\x1b\xd6*\xf3\xc1~\xb3%g\xfe\xfa\x13\xf4w\x91N\xe7/\x8f\xe0\xcdO\xf0\xdeS\x1b\x9fyz#\xed\xb4\xa1[\xaf?\x9d\xbd\xf1\xbc\xf6w\x91\xb7\x1bVe\xe7l?\xb8*{#\xf9\x01d\xf6\xaf\xe6\xe3-\xee\xdc}\xba\xf9\xe9\x15{\x0ef\xe3\xe4\x0e)\xf8\xb5\x051\xce>b\x02b\x08\x1dM\\\x87\x00@\x1fs\x15,\xf6yH\x9fH\xd9&&\xeb\xe2'\xe2\xa4\x85\xaa\xf8\\\xcd\x8ce\x00`\x00\x05\x1b\x1d\xf7\x94\x82\xa1\xd2\x94\x09\xf8t\x9ddx4\x05`\x0c(\xd8\xe8\x10\x05\x8bi\x91\x98V0\x00\x885@\xc1F\x07(\x18\x00\x98\x09(\xd8\xe8\x18>\x80\xfc\xea\xc3\xa0`\x000^\x80\x82\x8d\x8ea+\xde>\xfc7\xff\xe3aX\xf1\x16\x00\xc6\x09P\xb0\xd1\xf1o\x0f\x85\xf0\xb0\x05K\xd8\x9b\x91\xb2\x01\x00\x10\x15@\xc1FIh'\xec\xab\x16\xcb\xdf\xfcO\xf8\x0d\x0c\x00\x8c\x0f\xa0`\xa3\xe4\x8f!\x12\xf6UK\xee_O\xe9\x04\x09\x03\x80q\x01\x14l\xd4\xbc\xa9\xd1\xb0\xafZ\xeaNZ\x92;\xe1\x99\xa2\x000\x1e\x80\x82E\x19\xdeR=t\xcc2\xb5\x0b$\x0c\x00\xc6\x01P\xb0(C\x14l\xe8\x80e\xdaE\xf6Y\xd4\x00\x00\x8c\x0d\xa0`Q\x86\xb7T\xfdeh\xa8\xce2\x1d$\x0c\x00\xc6\x1eP\xb0(\xc3[*\xb1\x82\x0dUZ2\xbaA\xc2\x00`\xac1Y\xc1\xda\xdd\xe2C\xe1y_u\x85\xf7\xcc\xbd\xf0\x08\x02\xde\xe2\xf9\x92H\xd8.\xcbl\x900\x00\x18k\xccU0\xbe\xe2\x18}\x80\x1f\xef\xf1\xb6w\x9f\xf4\xd4\xdd\x03\x12&+\xd8\xd06\xcbB\x900\x00\x18c\xccU0oS7U\xb0\xa6j\xf2\xa4\xbfkQ[\xb6\xdbDxK\xc5\x97\xa2\x84m\xb2,\x05\x09\x03\x80\xb1\xc5T\x05k\xf7\xf0\xe2s\xf2\xeb\xc4'\xeb\xf9\xbca\xcdc\x02\xde\xe2\xfe\x93\xa8`C\xeb,\xf9\x01\x900\x00\x18K\xccT0\xbe\xa2KZ\xe9#\x20>\x01\xfe\xd8D|D\xe8\x1d\xc2[v\xfd\xe9\xcb/\xc5\xd6\xc9\xb5\xac\x03\x09\x03\x80\xb1\xc4L\x05\xf36\xb1k\x15!$Ti\x96b\x8cM\xb0\x82\xfd?\xb9\x136\xb4\xd0\xb2!x\x0f\xc4\xf6\x00`\xc2b\xa2\x82uzx\xad\x82\x1d\xf3\\3\xb6\x8e\x15xK\xa9@:a\x7f9v\xf4\xe8Q\xdfc\x96b\x900\x00\x18;\xccS0\xbe\xa2S\x10\x84\xeeJA\x90v\xb4\xb8\xb5+\xba\xc6&X\xc1\x06i',\xc5\"R\xca\x0b\x08\x00\x80\xb1\xc1<\x05\xbb\xe8\x96!\xeb\x90\xa1A\x9f\xbb3R\x96X\x00+X?\xfaS\xc5\x97CM\x969\x9b\xb6m+u7\x05A\xc1\x00`\xac0O\xc1\x84\x20\xa1\xdd\x13\xa4W8\xef\xad\x0cD\xca\x11\x13\xf0\x96m\xfc`\xb1e\xdb_\x86\xe2\xa7\xec\xef\xbcx\xb1;8`\xb9\xe7\x88\xd4\x08\x000^\x98\xa7`\"R\x1c\xecZU\x1d\x8fE\xed\x1ex\xa0\x03Q\xb0u\x96I\x7f\xfb\xe5P\x95eW`\x00\x0f\x94\x91\xe5\xe6=\x06(\x180a0W\xc1\x84@\xbb'p\x0d\xa1\xee\x8a\xaa\xee@\x20po\xcc\xa6\xd8\x96k\x99\xb6\xc1\xb2\xeb/\x7f\xf9\xdb'\xdb\xe9\\\x0aP0\x00\x18+\xccU\xb0\x00\x09\x83U!\xb4_\x8a\x88\xdd\x133Z\x13-\xa9\x9e\x96i\xd6/\x87\xb6Y\xaa\xe9\x08\x19\x14\x0c\x00\xc6\x0as\x15\xec\x1e\x84\xb7X\xa6W\xb6_k\xb2x\xfe\xf2\xa5e\xe1E2\x95\x02\x14\x0c\x00\xc6\x0aP\xb0(\xc3[\xe6Uw\xf2\x02?\xcd\xfa'\xde\x92\xd1I\x86\x91a\x14L\xef\xad\x08\x82\x17E=\x8c\xecJ\xdf\x02\x14\x0c\x980\x80\x82E\x19~\xd3Q,`h\xe0\xc0\x03\x93,_)\xee\xba\xd7\x14\x8c\xee\x00\x05\x03&\x0c\xa0`Qf\xe0Z\xb0_\x9c\x1e2}v\xe9\xb1k\x11\xe2`\xa0`\x000*@\xc1\xa2\x8d\xf4\x1b\x03\x81\xbf\xd8\xdeu\x8d\xfe\xa2\xc8\"+\x01I\xbc\xf6\xb8e\xd2w?\xc1\x7f\xbc\xfc\xc8_?\xf2\x02\xd9\xff\xe3\xaf[\x1e\xf9\xe1\x1fH\xe2q\xcb\x83/S\xab\xf7\xbf3\xe9\x81\xef`#\xcb\xb3\x0fZ\x18\x03%\xcbM\xc6\x91b\xfb\xc2#\x96\xaf\xff\xf4\xe5G,O\xfc\x8cu*\xf1\xb3Ix\xf3]\xfc\x7f\xd2\x87\xea\x9b8\xcb_?\x82\x8fH|X\x1e\x7f\x0d'\xc8\x8e\x17nj\xcar\xf3\xa7_yA\xc9Bg\x83\x81\x82\x01\x13\x07P\xb0\xb1B\x18\x18\x18\x10\xc5L\xa3`_\xdbw\xf9\xc3\xefb)y\xfb\xc1}\x97\xf7\x11}\xfa\xe9\xdf\xfd\xf4\xf2\xfb\xdf\xfc!\xde\xf3\x95\xb7/\xbf\xffO\xd4\xea\xef\xf6]\xfe\xed?\x7f\x0f'\x9f\xf8\x905\x90\xb3P_\xb2#\xd5\xf6\xfd\xcb\xff\xf2\x00\xd9|\x93\xc9\xa3\xf4\xa2\xbe\xf6\xde\xcd\x9fY>\xbc\xf9\xde\xd7\x987-\xd4\xe1\xdb7o>\xfe\xec'\x7f\xf8\xe9\xb7\xb1N=\xb8\xef\xb7\xfb\x1e\xfc\xb1\xa6,x\x1f\x9b\x85\x1e;B\xd5\x01`\xdc\x00\x05\x1b{4\x0a\xf6\x1e~\xfdO\xdc!z\xe2\xc7\xa4\xa7\x83\xf7\xfc\x03\xd9\xf3\xe1#7o~\xe3\xb5\x9b\xb2\x15\xe1\xb7\x0fJ\xd6\x8a\x81\x92\x85Z\xc9\x8e\x14\xdb\xf7o\xde\xfc\x84n\x1e`\xf2(\x0a\xf6\xcf\xcf\xde|\xd6\xf2\xf2\xcd\x1f\xfe3\xf3\xa6\x85:|\xe2\xe6\xcd\x07>\x14\x8d\xbeAw|\x83-\xcb\x0b_\x7f\x9f-\x03(\x180\xb1\x00\x05\x1b{4\x0a&'&\x91\x91\xe4'$!\xfeP\x07\xef\xfcDV\x8d\x9b\x1f~{\x92\xb8\x8b\x8c\x03\x15\x03%\x8bd\x15b\xab\xece\x9d*\xbc\xfd\xcd\x9bO|\xef\xdb7\xbf\xf1v\xe8\x11?\xc1*\xf8/\x93\xbe\xf72\x11\xb1I\xf2\x0e\xa5,?\xfc\xc6oo\xb2e\x00\x05\x03&\x16\xa0`cOx\x05\xb3H\xfd\x1fq\x8f\xf8\xe6\x13\xff\xf2\xe1\x1f\xfe\xa0\xe8\x85\xc6`\x98\x82im\xe5\xc3\xc8y\x14.O\xfa\xf0\x81\x0f'}h\xb9\xcc\xbc\xa9(\xd8\xcd\xf7\x9e\xfd\xce\xa4g\x19\x05S\xca\xb2o\xd2\xdb\xf4U\xc9B7\x91j\x0c\x00\xe3\x05(\xd8\xd8C\xf4\xea?\x89L\xb0\x0a\xa6\x0c\x09\xbf\xf1\x82$\x0eO\xbc\xa6\x88\xc4\x03Xg\xf6\xc9\xd6\xaa\x81f\x14\xa9k+o\x94<*\xff\xf0\xbd\x7f\xa0\xff\x997\x95Q$\xe1g\x0f0\xa3H\xb5,\xef}\xe55M\x16\xba\x89Tc\x00\x18/@\xc1\xc6\x1e|\xd5\x7f\xf7\xbb\x1f^\xde\xf75V\xc1\x94\xb0\xfc\xbeI/\x7fry\xdf7q\xe2A%z\xfe\xf8\xb3\x97\xdfS\xac\x15\x03m$_\xdejl\xe5\x8d\x92G\xb2\xc3<ky\x96\xfeg\xdeT\"\xf9\xdf|\xfb\xf2\xe5\x17\x1e\xa7Q\xfb\xcb4\x92\xcf\x94\xe5\xfd\x07_`\xb2<\xf26(\x180\x91\x00\x05\x1b{\xb0\x0c|\xf2O\x93,_\x7f\x8dU\xb0\x9b/?(M\x8d\xd8\xf7\xc4\x03\x96'\xf6\xe1\xc4k_\x97g0\xbc\xf7\xb8\xe5\xc1\x17\x14k\xc5@\xc9\xc2*\x98\xc6V\xd9(y\x14\x05{\xcf\xf2\xfe\xcd\xf7i\xfc_y\x93L\xc0\xa0\xb3)\xde~\xc22\xe9\xdbd\x12\x06\xd9A\xbb[jYn\xfe\xec\x91g\xd5,\xaf=\x02\xb3)\x80\x89\x04(\xd8\xd8\xa3\x88\xc8\xbd\x02(\x180a\x88-\x05s\xb9\xf4\x92\x13\x1dP0\x00\x18+LV\xb0v\xe9\x81:\x81\x03U\x15\xd5\xc7\xf8\x08\xd6\x1fs;u\x92\x84fN\xc2\x11f]\x8d\xe3\x8e\xc3\xc6oF\x07\xf6\x10\xbd6n\x11M\x80\x82iy\x91\xe3\x1a\x99?\xc7\xe1c\x91\x089\xf0]0z\x0f\x91q\xe1\xd38\xad'\xbc\xcd\xf8\xb5\xd9\x84\xc7\\\x05\xe3+\x8e\xd1g\xb4\x06\xdd\xde\xce\xee\xce\xba\xaa\x08\x12Vd\xbf\xa2\x93$\xf4\x7f`s\xf91;\xb9\xeb\xc3\xb3\xc94\xa7\x8d\xf9\xd9\xa79D\x87\xcbN_A\xc1\xb4\\\xf1\xdb\xca\x99?\xc7\xe1c\x91\x089\xf0\x1d\xd0zV|\xbd{\x0f\x0c\xb23\x03.\xf9\xfd\xb5\xdc\x07aM\xc6\xb1\xcd&<\xe6*\x98\xb7\xa9\x9b*X\x17]\xa6\x88\x8f\xb0\xd6G\x0fW\xa2\x93\x94\xb0\xd33\xab\x91\xfb\x0c\x193\x0eKnh\x0eQ\x0e\x0a\xa6\x8f]#\x03\xe3\xf0\xb1\xc8\xd8\xefR\x7f~P(\xa7\xee\xd6\x03\x83\xea\xcc\x88\x8eH\x0a6\x9em6\xc11U\xc1\xda=\xbc\xf4\x9c|\xda\xf9\x0a\xba\xc3/\xf6\xe1R\xfb].m\x17\x0c\xc9gVO\xa8\xb0\x99\x8a\xac`\xf7\x1c\x11\xea\x1d\x91(\xc8\xc0\xddq\xb7\x07^\x16M\x05[\x16\x05\x05\x03d\xccT0\xbe\xa2\x8bY\xf1\xb6\xbf\xbb\xda\x1b\xf6\x9b\xa5\xd7\xb6U')\xa3\x9cY/q\xb6\xfa\x92\x05i\xab/\x91\x1e\x19\xc7\x95\xa3r\x8e\x04/\xfa\xd28)\x86q\xce\xc6qe=Es\xedk\xc8\xe1j\x97\xa5-\xa9\xd5fc\xc0{k\\Y\xe9\x05=F\xd9\xf4\x0f\x81\x87\x1bE\x99\xe9\x85\xd2(\xb2qe\xda\x82\x12\xba\x88\x89\x7fu\x96\xcd\xf1\xa3,\xcd!\x10_\x98i\xcb*8\x87\x8c\xca\xc0x\x18u\xdd\x04\x87\xed\xd5\xac\xcc\xd6\xad\xb3\xf2x\x03\xbf\x87\xa5\x80\xe22M\x01\xca\xe8\x01\xc81\xcbpS\x97\xa8\x85\xd4\xf1\xc0\xa2\xd6M\x83}\xab+\x936*St\xd6\x83\x9a\x8d\xa9\x10\x89u\xbe*\xd5\xd8\x00\xa5}_\"FJ\x20\xb2\xa7\xd0\x81w\x93\xef<\xb6\xe8\x0al!\xf5>!M\x93\xe8U^\xc3gE\x8e\xac\x92\x12\x07\x1d\xe6\xc9\x1f\x80\x913\xd6\x80\xb5\x0d\xaf`\xecy\xa6{F\xddW\x98\xa9`\xde&u\xcd\xee\xa0\xdb\xed\xf6\x84\x0f\x83\xb9l\x97t\x922\xf6\xb2\x81\x81B\xd2\x03\xfb\xb8\xd1\xc69\xcakf\xe0/\xba~\xff\xac\xb2\xeb\xe8z\xd9,?>\xcd\xce\xfa\xfd\xa2\xca\x0d46f-\x98\x91UR\xc4\xf5\x92\xce\\Ys\x99\xbdH\x93\x8d\x81\xec\xcd\xda]\x9e\x95v\xc1\x20\x9b\xfe!P\xcf\xac\x05\xf5\x87WsT\xc1\\\xdc\xd6\xe6\x1a\xc72,)g\xb9\xa2\xc6\xe3\xf5\x0eN+\xd4\xcd\x9c\xab\xb5\xb1\x80\xeb0*\x03\xe3a\xf4uk\x9d\xc5\x95\xe4q\x8e\xdd\x8e\x1a\x03\xbf\xfc\x07\xfe\x05y~\xbf_\x1bJ\xbe\xfe\xfcJ?\x8f\xdf[\xf9\xfcu\xdc\xd4\xdc\xa2\xc6\xc3\x8eB\xa3\x92\xb1\xa8u\xd3`\xe7\x9656.\xc1\x8d\xca\x14\x9d\xf5\xa0fc*\xd4\xffA\xd6\x8bW\xe4\x1a\xeb\xa2\xb6\xaf\x18\xaf\x92\x02\x91\xadi\xcb\xde:^\xce\xd5\x20M\xd1U\x98B\xea~B\x9a&\xd1\xab<\xcb\xe0\xa2\xcc\xda2{Z\xfd\xea\x1a\xe6\x030r\xc6\x18hl#\xf4\xc1\xd4\xf3L\xff\x8c\xba\xaf0Q\xc1:\x89b)}\xb0`\xa0\xbd:l$\xbf\xd7\xf6\xa2NR\xc1N\xbe\xd8\x0a\xc4d:\xd6\xb7\"\x07I\xba\xc8\xa9\xf6\xbc<\xf1B\xe9\xa7-\xe3H\x1f\x04\xff;\xce\x1dGd\xdb\xac\xcd\xc6\xfa\x9d\x8b\xcd\xfa\xb2\x96\x1bf\xd3=\xc4\xca\x05\xf8*\x13\x96\x90\x0b\xa8\x99{\x17\x91s\x12\x7fi\xd6:h\xcfh\x96\xf6|\xebo$W\xe4\x92]M\xa7\x00\x00\x00\x11\xe6IDAT\xe7hv\xbd20\x1eF_\xb7\xcc\"\xec\xef0\x9d\x8cb\xe0Ww\x94\xf3\xae\xd8\x9bYDm\x1d\x9f\xe1\xa3\x13[#\x0f\x0al\xdd\x18\xec\x8b\x06\xb08-X.\xfd%\x15]\xf5\xa0\xc9\xa6T\x08\x95\x93\x8eK\x91\xf14\x1a\xb6}\xa9S:\x8c\x1f\xc8Z\x83\x8f6\xd8\xd8\x87\xd8\xa230G\xd3\xff\x844\xa3H\xdd\xca\xab4r\xb83W\xcb\x11qf?\x00\x16\xc5\x19c\xa0\xb5\x8d<\x8a\x94\xda\xcc\xa8\xbc\xf7\x11\xe6)\x18_\xd1)\x08Bw\xa5\xa0\xb4\xfe@uS\x18\xfb\x97l\xbd:I\x05\xbb\xab\xa3c\x89\xa4`\xe4\x1c\x17cP\xad\xf6~\xd4\x9f\xe6\x97m\x94\xab\xdc.9pI\x17\xa6K\x9b\x8d\xc1Ngm\xd4r}F\xd9\xf4\x0e\xd1\xc7\xd5\x93\x972\xe2\xacp\xee\x20\xae\xa7\x90\x85m/e\xce}\xa9\xfe\x9c\x10:\xe1\xe3\xb3\xda5sgqKhv\xbd20\x1eF_\xb7\xccF|}\xf0h\xe7\xf3\x86~u\x15\xec\x1c7\xd0\xffn\x9f`?\xa7\xb15\xf2\xa0\xc2\xd4\x8d\xc1\xfe*\xd9\x8a\x8d\xca(\x98\xea\x81\xcd\xa6T\x08]\xc2\xc200\xa3\x15\x19\xc1\xb6\xaf\xaa`\xcd\x9c:\x8a\x8dTH\x83O\x88U0\xdd\xca\xab\xecLG\xe4F\xd3!\xa4\xfd\x00X\x14g\x8c\x81\xd6v\xc4\x0afT\xde\xfb\x08\xf3\x14\xec\xa2[&\x80\xa4G\x01\x9eq\x1b\x7f\x97\\\xb1\xbbt\x92*\xe4#mnU\x92\xd2i*8\x0e\xa1C\x0e\xd9\xabz\x95\xcbQ\x9e\x95\xa2\xe6\x15,\xd7fc\x10\xf3\xf8\xb9\xb3F\xd9\xf4\x0eq\x96\xa3\xc2B\x9d-\x91\x02\x1f\xe4+\xbe\xaf\xbep\x11\x1e\xc2!\x0d\x1d\x8e\xac\x9d\x87\xfcyK\x94\xec\xa1e`=\x8c\xban\x99\xc7Q\x87\x0dQ\x053\xf0\xab\xab`\x03\xb6s5\\Y\x0f7\xa0\xb15\xf2\xa0\xc0\xd6\x8d\x81mTF\xc1\x14\x0f\x9alJ\x85\x10ZS\x82\x8e\xa7\x87\xb9\\\x99\xf6U\x9d\xd5\xd0B\x8bD,\xa4\xee'4,\x92?\xac\xf2*5\xe4n\xf8q\xda\x07c?\x00\x16\xc5\x19c\xa0\xb5\x1d\xb1\x82\x19\x95\xf7>\xc2<\x05\x13\x82\x84vO0(\x08\x95>\xba\xebL\x85\xb1\x82m\xe5zt\x92*\xd2Gz\xee3\xedi\xba\xf59\xf4\x9c\x12\xf5W\xafr\xe5[p.}\x99\xebB\x06g7\xb2\xd3\xdc\xf5\x1co\x94M\xef\x10\x9fq\xb5\xd4\x8c8+\x9a{\x96\x82\x0bv\x96\xf4\xe7\xfa\x1a\xed\xb5\x88e\xd1r2\x88)4V0\xc6\xc3\xe8\xebF\x14\xcc.*\x98\x91_\xea\xa1\xbe\x17iX\xd4\x98\xb7r\xd1!\xdaSPm\x8d<\xa8\xb9\x98\xba1\xd8\xe9-c\xb1Q\xf5\x14L\x93\x8d\x11\xd4\xc3\x8e\xc1p\xbf\xc5`\xdb\x97:\xa3\x9d\xe0V\xb6\x0f\x16\xa1\x90\xfa\x9f\x10\xdb$\xfa\x95W\xe9\xe5\xd6\xf4\x9e[\xb0\x92\x9c\xc8\x9a\xb3\x84Aq\xc6\x18hmG\xac`F\xe5\xbd\x8f0O\xc1D\xc48X\xd5\x01\xb2\x0d7\x8a\x8c\xd4\x05\x93?\xd2\xcc\x9d\xda\xd3\xb4\xc3~\xc5\xae\xc4\x91\x87_\xe5\xcd4\x8a\xd1(\xc6\x8a\xf4\x15\xcc\x81Oo~n\x9ea6\xddC,\xcf\xea\xc3c\x09;qv\\\x0c\x94\x94\xe1\xef\xc9r\xee8I\xe6i\xa3xY\xc4\xab\xb0\xc4X\xc1\x18\x0f\xa3\xaf\x1b\xa3`F~\xf3pe\xaf\x84\xde\xf0{\xfe%\xdbq\xeeE\xea[\xb55\xf2\xa0\xc0\xd6\x8d\xc1\x9eE\"S\x8b\xf2\xa4\xbf\x86)\x98&\x1b\xa3`\x83\x8e\xc3\xe9\xf2\x20\xb2\xb7|\xd8-N\xb6}\xd3\xf0\x89\x20,'\xce\xfa3\xf3\x06\xf1\xcbV\"\xf6\x91\x0a\xa9\xff\x09\xb1M\xa2_y\x95\xb3\x9c\x83\xe3\xf2\xe8\\\x1f\xcdY\xa2\xe7\x8c1\xd0\xda2\x0a\xa6SM\x82\xd4fF\xe5\xbd\x8f0W\xc1\x84@\xbb'p\x8d\xcchm\xea\xec\xee\x0c\x17\xc9/Q\xfb]%:]0yN\xbe\x7fV\xc9\x15\xbf\xcd\xd5\x81\xce\xbal~r\x1a\x09\x99\xab3i\xc7n\xf0\x03\xbf\xdf\x8emx$t\xd0\xbbA\xbd4c\x11\xb7\xb3y'WDg[3\xd9T\xc8m\xb3\xfa\x05\xe9=\x06\xd9\xf4\x0f\x81.\xa4e\x95\x97\xa5s\xb6w\xf1hb'\xf7|\xe3!\x179C\xcb\xb9\xb4\xb2f\x9c\xd4Fr\xca\xb9\xc2\xda\xdd\xcb8\xc7[\x1dFeP<\x8c\xben\x17\xd2k\xfa\x1bm\xe7\xfa\x9f\xcf\xbbd\xe8\xb7\xdc^s(/-\xe4n\xef\xee\xb4Y\xc2\x02\xfb\xee\x90\x862\xf0\xa0\xa0\xd6M\xe3\xcc\xce\xad\xe9h]\x89\x1b\x95):\xebA\xcd\xa6\xa9\x10>\xde\xdct\xb9\x9b^\xc0\xa5\xf5!-l\xfb\xaet\xec\xde\xbd\\\xfc\x00Z\xed\x8bj\x9b\xb7r\xf5#(\xa4\xfe'\xa46\x89~\xe5Y\xce\xd9[\x9b\xfdW\xc4B\xb2g\x89\x8e3\x8d\x81\x9a\xa4s\xf2k\xe4:\xebT\x939\xcf\x8c\xca{\x1fa\xae\x82\x05H\x18\xac\x8a$\x9a\xaa+\xeaZ\xd4xE(\xd7\xd3\x8at\x92*\xca\xef\"\xb9\x9a\x17\xf1\xc6v\x81L\x99\xa1_L5\xf6\x1ajqVz\xbf\x1e\x9d\x13\x13b\xe0A\xa8Y\x92\xb6\xa4V\xa0\xbfxc\xb3)\xd8K\\\xb32\x8b\xae\x20\x83l\xfa\x87\xc0\xfd\xaf\x82\xf4\xb9%\xef\xda\xa8\xb3\xe3y\x8e\xf4\x95\xe4\xcb\xb5qey\x96-3/\xe4t\x13j\x16\xd8\x1d\x85\xf5\x0blyFeP<\x8c\xben\xb8\x83\xd08\x83Kk\x14\xc37\xfa~\x07\xb6\xa6\xdb\xf3B'@\x9c\x9dU\x86U\xac#\xd4\xd6\xa0d2j\xdd4\xce\x16\x95\x17\xce\xa0\x8d\xca\x14\x9d\xf5\xa0f\xd3T\x88\x84\xc8\x95\xfew}\xda\xb0I\x1al\xfb\xf6\xe4\xd9g\xac~U,NOa\xd6\x8c\xe5\x87FRH\xfdOHm\x12\xfd\xca\xb3|`#\xe5\xb5\xad<\x87B\xce\x92\xe1\xce4\x06j\xd2%5\x89\xd8\xf5\xd4\xa9&s\x9e\x19\x95\xf7>\xc2\\\x05\x1b1\xafr\x1f\xeb$\xc7\x03et\x06L\x00\xfa\xed\xea\xc5z\x88\x0b\xed\x9cL\x00\xae\xa7\xbdx]\x10\xfa\xce\x16\xa6G\xabp\x13\xb2\x9a\x13\x88\x18Q0\xf3\x1e\xab\x03\x0a6\x91hT\xee\xbd\x0a\xef\xce\x1a\xdf\x13ad\x1c\x92F\xb9\x82#4\xfauwL\xd0jN\x20bD\xc1\xcc\x03\x14l\xc2P\xde\x8a\xf2\xca\xe4?\xae8J\x8c\x83\x0e\xe6qV\xba\xf1y\x8e\xd3\x0d\xc0\xdf1\x13\xb4\x9a\x13\x08P\xb0\xb0\x88\x91[`\"\xd0\xcf-{)s\xa2\x8f\xa8\x04W\x9a\xab\xb1\xb5\x11o#Y\x02\xd1\x01\x14,,4r\xdb\x1b\xc9\x0a\x18\x17\xca\xd2\xf2\"<\xf8o\"pxu\xa6-sMt\xc6\x90@d@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]@\xc1\x00\x00\x88]bK\xc1\xcc\xfby$\x00\x00\x13\x11\x93\x15\xac\xdd\xed\xd5I\x1a\xf11\xb7S')3\xd2\x95\xd8k\x8d\x97\xebR\xd6\xe7\x02\x00\x20&0W\xc1\xf8\x8ac\x95\xc3\x93\x86\x14\xa9\xeb\xdc\x16\x0d[\xf2v\xc4+\xb1\xf7\xf9\x97\x1b\xfeZ[Z\x9f\x0b\x00\x80\xd8\xc0\\\x05\xf36uW\x0eO\x1a\xd1\xc3\x95\xe8$U\x86=J\xce\x88\x02\xe3\xe7M\x0c{\xca4\x00\x00\x13\x18S\x15\xac\xdd\xc3\xcb\xebE2IC\\j\xbf\xcb5\xbc\x0bv\x07\x80\x82\x01\xc0=\x82\x99\x0a\xc6Wt\xc9+\xde2ICzm[u\x92\x12\xba\xab\xd77\xe2}\xe5\xca:\xf5\xea\xb2\xeeX\xc1\xb6\xe2\x9dv\xb2\xca\x8c\xbar\xfc\x95\xa2\xcc\xf4B\x18E\x02@,a\xa6\x82y\x9b\x945\xbb\x99\xa4!.\xdb%\x9d\xa4\x8c\xde\xea\xf5\xfd\xfeYe\xd7\xe5u\xea\x99e\xdd\xb1\x82])\xe2j\xc8\x83\xbf\xd4\x95\xe3{f-\xa8?\xbc\x9a\x03\x05\x03\x80\x18\xc2D\x05\xeb\xf4\xf0\xb2l1ICzm/\xea$Y\x94U\xbb\x94\xd5\xeb\x91\x8b,\x97\xf0<\x99x\xc1.\xeb\x8e\x15\xac\xc6N\x9f\xe0\xc4\xac\x1c\xbfrA?Ys\x0b\x14\x0c\x00b\x08\xf3\x14\x8c\xaf\xe8\x14\x04\xa1\xbbR\x10\xd8\xa41/\xa9O\x1ad\x92,\x8a\x82\x11\xc5\x12\x03Z\xad\xf6~\xd4\x9fF\x16\xd0f\x97u/(/\xe3\xc4\x99\x17\xea\xca\xf1}t\x89!q\x8dT\x00\x00b\x04\xf3\x14\xec\xa2[&\xc0$\x0d\xcd#.y\xab\xb7r*\x12\x1c\x87\xd0!\xba:\x04\xbb\xac{\x81c\xc6\"q-+u\xe5\xf8\xb3\x1c\xd19\x88\xe4\x03@La\x9e\x82\x09AB\xbb'\x18\x14\x98\xa4\xa1\xf9Vu\x9d\xdb\xad:K\xde\x12t\x14\x0cm}\x0e=G\xa3\xfe\xec\xb2\xee\x05\x8e\x0b\xbd\xb3\xe8R\x8b\xea\xca\xf1\x9fq\xb5\xd4\x0c\x14\x0c\x00b\x08\xf3\x14L\x84\x09~\x85\x8d\x83\x8d\xa0\x0b\xa6\xab`\x1d\xf6+v\xbaT\x07\xbb\xac;\x99M\xd1l#\xbb\x99\x95\xe3\x97g\xf5!\xd4c\x97\x14\xacww\x0c<\x92\x1d\x00\xee{\xccU0!\xd0\xee\x09\\\x0bM\xeaQ\xa2\xf6\xbbJ\xf4\xba`\xfa\xab\xd7c\xb7\x99\xab3C\x96\x80\xef\xf3/w}0\xd8_\x90\xd9z\x9d]9\xfeBZVyY\xba\xb8N=Y\xec\xfdG\xc3\x0f\x02\x00\xc0\x04\xc3\\\x05\x0b\x90\xd8WUhR\x87\xebiE:I\x06\xfd\xd5\xeb15\xf6\x1a\xd1BY\xd6\xbd\x96\xd8\x9d%s\xc5\xc8\xe2\x83\xea\xca\xf1=\x05\xe9sK\xde\xb5\x89\xd9\xea\x1d\xf5:G\x01\x00`ba\xae\x82\x8d\x98W\xb9\x8fu\x92\x00\x00\xdc\xe7\xc4\x88\x82\xc1cu\x00\x00\xd0!F\x14\x0c\x00\x00@\x07P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\x00\x00b\x17P0\xf3\x18\xe8\xef\xef\x1fDh\x10\xbf\x0cD\xb2\x05\x00@\x0fP0\xd38\x16g\xb5Z\x13y>\x11\xbf\xc4\x1d\x8dd\x0d\x00\x80\x0e\xa0`c\x88wf\x10\xa1k3\x0d\xd6\"\xaf\xb6z[Z\xda\x11joi\xf1Z\xab\xf5m\x00\x00\x08\x8b\xc9\x0a\xd6\xee\xa6\x97w\xbf\x87>c\xda\x13\x8d\xc1\xd4~\xabDR\x18oMI\x06\xb2\x12\x9ek\xf9I\x89sF\xbc\xb0\xee6k1}\x89\xdb\xa6\xfbv\xb5\xb5[Nv\xdf\x81\x82\xdde\xd1G\xca\xa9\xef;Ern\x871\xca9a\xfc&\x00\x8c#\xe6*\x18_q\x8c>\x98\x95w\x9f\x09`\x82\x91\xecG\x02\x7f,>\xd7\x87\xd9`\x0d\xe3\xce\x9b8r\xc9`\x98\x9d\xec\xceM\xe4#YI\xec\x8a\xf3\x88\x09\xef\xa3\xa5z\xefGR0\xdf\xe9\xe1\xfb\xd0]\x17}\xa4\xdcj\xcb~\xa5\x0d\xb3\xc7\xf9\xb9\xb1\xd1\x89\xf9G\x8c\xdf\x04\x80q\xc4\\\x05\xf36uK\x0a\xa6\\\xccQ\x20\x81v}*\xc3)\x18\x1aqG\x8a\xe5\x9a\xb5\x14\x09#\x15\xb0\x8b\xf1\x1b\xe4\xe4\xa6\x04\xbd\xeaER\xb0\xe9\x8b\x87\xef#\xdcU\xd1\xef\x80\xec\xbdd{\xd0y#\x8cM\x98\xfe\x19\x00\x8c'\xa6*X\xbb\x87\x0f\x8c\x99\x82u\xad\x8bdw\xc7tY\xef`\x00\x97\x9b\xach\x1d\x9f\x9c\xabc\x10I\xc1R\x0d\x14l\xac\x11\x15\xec7o\x80J\x011\x80\x99\x0a\xc6Wt\xa1\x91)X\xb5\xd5j-F\xc5x[\x8d\xf8\xc5\xc9\xf1)\xf3\xce\xe0\xbdg\x1e\xb5Z7u-\x9d\x9a8gPc-*\x18&\xdf\x1a\xef^7-qvw\x88\x87D\xab5\x8e>\xd0Z\xebaWjb\xea.m6\x86\x81$1\xbc\xb6\x8e\x18\xc4U\xe2>\x96uZ\xa8m\xd7\xc2\xa4\xf8\xe49t\xc9\xb8\x81\xc9J\x17\x0cw\xc2\x12\xfb\xd10\xf4\x14\xec\xe8\xec\x94\xf8\xa49)\xb8w*\x05\xf3R\xb5\x85T\x8b\xae9ppiR\xca\xbauI\x9a\xf1e\xf7d\xc9\xc5dm=n7\xac\x9f\xbf\xb6\x81\xcaS\xdb\xe6\x15\xd9\xcfl^\x11\"U\xa2\x82a^qf\x1f|c\xd5\xfc\xcd\xbfG\xe8\x88\xd3\xe9\xdc\x8b\xf6\xe2\xed\x11tc>}\xc1|\x94\xedt\xee\xf9t\xfb\x8a\xec\xcd_0~\x99l\x000\xd6\x98\xa9`\xde&\xa4(XS\xb5\xbb\xea\xa8\xcee.\xc2\x1f\x9d\xbc)\x88\x82\x9b\xa6\x1c\xe5\xf1\xb5\x9d\xeb\xab\x9e\x17\xd7\x82P\x7fuU\xca\x93\x93S\xd6-\xb5j\xaf\xd1\x84M\xfd\xfd\x8bI\x0f\xac\xb3\xeaQkRq\xe9\xe4\x85Z\x0f\xe8\xa4\xcf'\xaa\x9c\xc6Cn\xc2&\xef\xa6\x84\xa5\x9al,g|U\xd6b\x9f\x0f\xebS\xc0\x17\x8f\xb3\xb7\xe4&\x84\xd8\xfa\x12S\xb75\x15[i\xd4\xeb\xb4\xd5\xa7f=fmA\xc3\xd0Q\xb0\x93\xd6\xa5\xd5M\xee$+\x96\xaac\xbe'3|>_gH!\x95\xa2\xb3\x07\x1e\x98\x96\xbc\xab8!\xb1b6\x1bo\x1b\xf0\x94\x8a\x84\xdc\x1f\xd9\x91\xbd\xe7\xd4\x9e\xec\xed8\xf5\xcb\xefo?r\xea\xe03\xce/4\xef\xa3\xec\x9f\xdc\xba\xb5\xe5\x0d\x9c\xf8\xe8H\xb63g\xef;\xf3\xb7\x20t\xa3m\xfeO>G\x9f\xef}\xba\x0d\x8f-\xcf\xb7\xb5\x89*w\xeb\xc8\x91\x15\xab\xe6\xe7\xbc\xb1\xfd\xfbW\x19\xbfL6\x00\x18kLT\xb0N\x0f\xaf*X\xe5\x99\xee\xce\xea*\xe3\xbb\x87\xb9dH\xb5\x98\x0c\xc6\xf8j2:K\x15\xe5%\xd5:\x1b\xff\x15\x12\x9aJ\x20=\x8fybr\x0a\xbe\xea\x97&i=\x10\x12\xe5~\x9a\xe2\xe1\x80\xf5\x00\"\xdb\xfd\xdal,\xea(\x92\xaaHq\x02\xd2\xd8\xf6\xa7\xcc\xc1\x15\x18\xa8\xa6+.y\xad\x17\xd5\x8c\xba\xa3D\x1d\x05\xdb\x95D\xfb\x82Sh\xa8\x8b\x19Ej\xaa)\x17]=p\x95\x15wIwY\xdb\x91\x86\xe0E\x11m8\xf0\x94\xf3\x94\xbcm\xc8!\xda\xd5\xf0th\x1f\x8c\xdc\x89\xdc,&\x9f\xc6\x1d\xa9\xed9$\xb9\x83h\xde\xf6\x1d\xb2\x8d\xdcO[\xeb\xdcx\x03\xdd\xbe\xa1\xf1\xcbf\x03\x80\xb1\xc5<\x05\xe3+:\x05A\xe8\xae\x14\xf0\xe5*\xb4\x93\xeeW\xbfG\xa7\xa7\"\xe1K\xe4\xf1\x10\x8avk\x82\xbb\xe6L\x9dL\x86W\x98T\xbd\x18yBnKK\xaa\xa4`D\xb1D\xa5a<\x20V\xc1d\x0f\xb9\xd3\xe8\xcb\xb4\\m6\x16}\x05Sl\xf7\x13!\x91\xa9\xd3*\x98\xce*L:\x0a\xd6\x9d<5\xdf}F\x10\x85\x9cU0\xb6\x9a\x8a\x82)\x07\xde0\x05\x0d\x0f\xd2]\x94g\x95h{\xa8;\xd6\xd2\x97U\xaf\x20t5g\xc5\xeb\x07\x7fu;4\xde\x95\xbd\xe3\xfc\xf9\xb5\x92\x82\x11\xc5\xda\x9bM\x92m\xd9\xb7\xd0\xad\xf9m\xb2\x8d\xa2`\xd9W\xc5\x04\xe3\x97\xcd\x06\x00c\x8by\x0av\xd1-\x13\x90w\x1d\xad3\xb4\x1eL\xaaCuI\xa4o\xd2\x92\x9c\xb2\xa1\xce\x97!)\xd8t\x1d[\"/\xfb\x9b\x94\xa4\xa44\xaa\x07\x82\xaa`\xb2\x87\x99\xa2\xe6\xcd\x99\xae\xcd\xc6\xa2\xaf`J\xb2\xd4\xca\x0c\x83[\xd8\x81c\x8b\xf5\x18\x1a\x86^\x1c\x8cw/\x9efM\x12\xe7\x8f\xb1\x0a\xc6VSQ0\xe6\xc0A\xd2{\x0c\xe9\x83\xf9\xbc\"\xcch\x16\xb3Q\xd4\xa6\xcd\xeb\xf1\xe6\xc6\xc1-\xab\x9c\xcf\xbc\xa3\x13\x07;\xd5\xa6$%)\xfa\xe2\xe9\x13\xe8\xc43\xb2\xa9\xaa`\xeb\xa5\x04\xeb\x97\xc9\x06\x00c\x8by\x0a&\x04\x09\xed\x9e`P@M\xa22\xf8\xc2\xdc\xea\xcb_\x88\x16\xe6\x93\xc4\xb4\x99d4\xb5PR\xb0\x90X\x15E\x8a\xe4\x9f\x09j\xa5H\xf1@P\x15L\xf6\x90;\x95\xbeL\xcdE#U\xb0M!\x0a\xd6defp\xf1\xca\xfd\x04\xf2v\xbc\xce\x1c\x0c\xbd8\x18\x89\xfe\xf3U\x89\xe4~\x82\xa8`\x15\xd4FS\xcd\xe1\x0a\xd6\x1d7\xa7\xfb\xcc\xd4\x99#\x9af\xb1\x83\x06\xeeo\xaf\xc0\xdd\xa4\xf3{p\xf2\xc6\x91\xec\x06\xad\x85\xa4N\x1f\xdd\xd0J\xd1\xeb[\xd0\x96\xd7Cl\xb0\x82m\x91\x12\x8c_P0`\xfc0O\xc1D\xc48\x98\x97v\xbe\xaey\x98QX(-\x09\x81\x04\xda\xabI!W\xb3\x90*)\x98\xde\x8c\x03I;\x927h\xa5H\xf1@P\x15L\xf6\xe0\xa5#\xbd**R\x11\x15,\x11\xfb\x16\xa6\x87(\x18\x9f\x9cA\xc6\x7f\xf9\xe24\x8e\xc5S\x15E\x11\xa6\xcdA\xc3\xd1Q\xb0b\x1a\x8bC\x19Th32\xf0\x88Y|CS\xcd\xe1\x0av\xda\x9ad\xb5f(]\xd9\xb0\x9c\xa2\xb7\x11\x8f\x90x\xd5^\x1a\xb4B\x1b_\xa1oto\x93\x86\xbd\x92:\xe5\xec\xd1J\xd1/\xb2\xaff\xffB\xf62\\\xc1\x18\xbf\xa0`\xc0\xf8a\xae\x82\x09\x81vO\xe0\x1a\xbez\xdc\x07\xba\xbaOVx\xc3\xf4\"\x84\xe4\xd9\xc9\xf4\xedb\xeb\xe2]\xdbR\xf1P\xabe\xb0\x85\xde\xafc\xe2M\x04yN\xbeo\xf2\xba\x80/>\xb7\x05\x9d\xce\x8d'7\x10U\x0f\x03->_B\xae\xef(\x8f4\x1e\x96\xc6m\xf0n\x88[Jo52\xd9\x14\xc4{\x91-\xd4\xc5\xcc\xa4m\xdbfZ\x1f\xf5tjl}\x8fMs\xef\xcf\xb7VP\xf3\xae8\xe5\xce`\xa9Uoz\xbd\xae\x82%\x16{\xebr\xc5\xdb\x98\xc5\x09\xa5u\xb3\x13\xbb5\x85T\x8b\xce\x1e\xf8tB\x93\xd7\x17\x18Q\x17\x0c\xa1\xed\xce='\xf68I\\~\xafs\xfe\xde\x13'v8\xc5\x11\xe3<+\x95YyN~\xdb\xfc7\xae\xe2\xe4\xcfo\xff\xf2\x95\xec6\x12\xeb\xba\x9d\xb3Y\xfc\xa1\xd1\xed\x9f\xb7Q\x9b\x1b\xe8\x8b_\xb4\xad\xda\xd8\xd6\xf6\xa9\xd6\xaf6\x1b\x00\x8c)\xe6*X\x80\x84\xc1H\xd7'\xd8T\xe5\xf1\xb6\x87\xbd\x06K\x13DE\x10J\x9fLHZ\xec\x99\x1a\x9fq&\x8e\x06\xaaC\xfa7\xca\xef\"\xad\xa5\xf9x\x13\xdfN\x9e\xfd\x90\xcfz8)\xe6\xb3\xba\x91\xc6\x83@\xe7\x83\x09d\xaa\x95&\x9b\xc4\xc0\x14j\xfbh'\xf9\xa3+#q\xf2\xec\x0d\xd8@k\xdb\xb58e\xf2t9\x98\xb7\xe91)\xf8u4Qwrm\xb5\xb5K~\xbaN\x97\xa4`\x95\x19\xc5)\xf1\xc9\x19b\xe4j\x20\x7fJb\x06\xee4\xb2\x85T\x8b\xce\x1e\xf8X<\xd9\x17\x9f\x11\x12\x08\xd3\xe7v\xc3Zi>\xd8\xc1\x8d{Wd\xe7l\x94\xa2\xf3\x9e$7y9\xe5\x94ix\x05o\xb2\x7fEf\x7f\xd1^Z\x834\xdc\xfc\xa5\xf4\xfeA\xf4\x91\x98\xd8\xac\xf5\x1b\x92\x0d\x00\xc6\x12s\x15\xec\xdef]<\xd5\xa5\xaa\xf8\\\xed\x8c[\x09:iUz\xba\x0e\x9d\xc3q\xb7\x04\x13\xf3\x83\x83\x83\xfc\xc9\x85SF\xfa\x8b'\x00\xb8W\x00\x05\x1bCJS\xc8\xd3u\x92\xf5\x1fM\x81\x06\xcf\xb4\xc8O\xd7i9\xa3\xabq#\xa4N\x9c?\x86\x84\xa4\xd1\xe8\x20\x00\xc4\"\xa0`\xb1\xcf\xe98q\xf8\xd8\x1e\x17\xe6N\x08\x00\xdc\x93\x80\x82\xc5>Bnb~\x95\xaf*?Q\xef\xf7\xe3\x00pO\x03\x0av/\xe0\x9d\x9d\x1c\x9f<\xe7\x0e\x1e\x9c\x01\x00\xf7\x08\xa0`\x00\x00\xc4.\xa0`\x00\x00\xc4.CC\xff\x1f\xf8\xaa\xf0z\xf7O\xc9\x8f\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/help.html": "<!--{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"Title\":\x20\"Static\x20analysis\x20features\x20of\x20godoc\"\x0a}-->\x0a\x0a<style>\x0a\x20\x20span.err\x20{\x20'font-size:120%;\x20color:darkred;\x20background-color:\x20yellow;\x20}\x0a\x20\x20img.ss\x20{\x20margin-left:\x201in;\x20}\x20/*\x20screenshot\x20*/\x0a\x20\x20img.dotted\x20{\x20border:\x20thin\x20dotted;\x20}\x0a</style>\x0a\x0a<!--\x20Images\x20were\x20grabbed\x20from\x20Chrome/Linux\x20at\x20150%\x20zoom,\x20and\x20are\x0a\x20\x20\x20\x20\x20displayed\x20at\x2066%\x20of\x20natural\x20size.\x20\x20This\x20allows\x20users\x20to\x20zoom\x20a\x0a\x20\x20\x20\x20\x20little\x20before\x20seeing\x20pixels.\x20-->\x0a\x0a<p>\x0a\x20\x20When\x20invoked\x20with\x20the\x20<code>-analysis</code>\x20flag,\x20godoc\x20performs\x0a\x20\x20static\x20analysis\x20on\x20the\x20Go\x20packages\x20it\x20indexes\x20and\x20displays\x20the\x0a\x20\x20results\x20in\x20the\x20source\x20and\x20package\x20views.\x20\x20This\x20document\x20provides\x20a\x0a\x20\x20brief\x20tour\x20of\x20these\x20features.\x0a</p>\x0a\x0a<h2>Type\x20analysis\x20features</h2>\x0a<p>\x0a\x20\x20<code>godoc\x20-analysis=type</code>\x20performs\x20static\x20checking\x20similar\x0a\x20\x20to\x20that\x20done\x20by\x20a\x20compiler:\x20it\x20detects\x20ill-formed\x20programs,\x20resolves\x0a\x20\x20each\x20identifier\x20to\x20the\x20entity\x20it\x20denotes,\x20computes\x20the\x20type\x20of\x20each\x0a\x20\x20expression\x20and\x20the\x20method\x20set\x20of\x20each\x20type,\x20and\x20determines\x20which\x0a\x20\x20types\x20are\x20assignable\x20to\x20each\x20interface\x20type.\x0a\x0a\x20\x20<b>Type\x20analysis</b>\x20is\x20relatively\x20quick,\x20requiring\x20about\x2010\x20seconds\x20for\x0a\x20\x20the\x20&gt;200\x20packages\x20of\x20the\x20standard\x20library,\x20for\x20example.\x0a</p>\x0a\x0a<h3>Compiler\x20errors</h3>\x0a<p>\x0a\x20\x20If\x20any\x20source\x20file\x20contains\x20a\x20compilation\x20error,\x20the\x20source\x20view\x0a\x20\x20will\x20highlight\x20the\x20errant\x20location\x20in\x20red.\x20\x20Hovering\x20over\x20it\x0a\x20\x20displays\x20the\x20error\x20message.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='811'\x20src='error1.png'><br/>\x0a\x0a<h3>Identifier\x20resolution</h3>\x0a<p>\x0a\x20\x20In\x20the\x20source\x20view,\x20every\x20referring\x20identifier\x20is\x20annotated\x20with\x0a\x20\x20information\x20about\x20the\x20language\x20entity\x20it\x20refers\x20to:\x20a\x20package,\x0a\x20\x20constant,\x20variable,\x20type,\x20function\x20or\x20statement\x20label.\x0a\x0a\x20\x20Hovering\x20over\x20the\x20identifier\x20reveals\x20the\x20entity's\x20kind\x20and\x20type\x0a\x20\x20(e.g.\x20<code>var\x20x\x20int</code>\x20or\x20<code>func\x20f\x0a\x20\x20func(int)\x20string</code>).\x0a</p>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-field.png'><br/>\x0a<br/>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-func.png'>\x0a<p>\x0a\x20\x20Clicking\x20the\x20link\x20takes\x20you\x20to\x20the\x20entity's\x20definition.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='652'\x20src='ident-def.png'><br/>\x0a\x0a<h3>Type\x20information:\x20size/alignment,\x20method\x20set,\x20interfaces</h3>\x0a<p>\x0a\x20\x20Clicking\x20on\x20the\x20identifier\x20that\x20defines\x20a\x20named\x20type\x20causes\x20a\x20panel\x0a\x20\x20to\x20appear,\x20displaying\x20information\x20about\x20the\x20named\x20type,\x20including\x0a\x20\x20its\x20size\x20and\x20alignment\x20in\x20bytes,\x20its\x0a\x20\x20<a\x20href='http://golang.org/ref/spec#Method_sets'>method\x20set</a>,\x20and\x20its\x0a\x20\x20<i>implements</i>\x20relation:\x20the\x20set\x20of\x20types\x20T\x20that\x20are\x20assignable\x20to\x0a\x20\x20or\x20from\x20this\x20type\x20U\x20where\x20at\x20least\x20one\x20of\x20T\x20or\x20U\x20is\x20an\x20interface.\x0a\x0a\x20\x20This\x20example\x20shows\x20information\x20about\x20<code>net/rpc.methodType</code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='470'\x20src='typeinfo-src.png'>\x0a<p>\x0a\x20\x20The\x20method\x20set\x20includes\x20not\x20only\x20the\x20declared\x20methods\x20of\x20the\x20type,\x0a\x20\x20but\x20also\x20any\x20methods\x20\"promoted\"\x20from\x20anonymous\x20fields\x20of\x20structs,\x0a\x20\x20such\x20as\x20<code>sync.Mutex</code>\x20in\x20this\x20example.\x0a\x0a\x20\x20In\x20addition,\x20the\x20receiver\x20type\x20is\x20displayed\x20as\x20<code>*T</code>\x20or\x0a\x20\x20<code>T</code>\x20depending\x20on\x20whether\x20it\x20requires\x20the\x20address\x20or\x20just\x0a\x20\x20a\x20copy\x20of\x20the\x20receiver\x20value.\x0a</p>\x0a<p>\x0a\x20\x20The\x20method\x20set\x20and\x20<i>implements</i>\x20relation\x20are\x20also\x20available\x0a\x20\x20via\x20the\x20package\x20view.\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='716'\x20src='typeinfo-pkg.png'>\x0a\x0a<h2>Pointer\x20analysis\x20features</h2>\x0a<p>\x0a\x20\x20<code>godoc\x20-analysis=pointer</code>\x20additionally\x20performs\x20a\x20precise\x0a\x20\x20whole-program\x20<b>pointer\x20analysis</b>.\x20\x20In\x20other\x20words,\x20it\x0a\x20\x20approximates\x20the\x20set\x20of\x20memory\x20locations\x20to\x20which\x20each\x0a\x20\x20reference&mdash;not\x20just\x20vars\x20of\x20kind\x20<code>*T</code>,\x20but\x20also\x0a\x20\x20<code>[]T</code>,\x20<code>func</code>,\x20<code>map</code>,\x0a\x20\x20<code>chan</code>,\x20and\x20<code>interface</code>&mdash;may\x20refer.\x20\x20This\x0a\x20\x20information\x20reveals\x20the\x20possible\x20destinations\x20of\x20each\x20dynamic\x20call\x0a\x20\x20(via\x20a\x20<code>func</code>\x20variable\x20or\x20interface\x20method),\x20and\x20the\x0a\x20\x20relationship\x20between\x20send\x20and\x20receive\x20operations\x20on\x20the\x20same\x0a\x20\x20channel.\x0a</p>\x0a<p>\x0a\x20\x20Compared\x20to\x20type\x20analysis,\x20pointer\x20analysis\x20requires\x20more\x20time\x20and\x0a\x20\x20memory,\x20and\x20is\x20impractical\x20for\x20code\x20bases\x20exceeding\x20a\x20million\x20lines.\x0a</p>\x0a\x0a<h3>Call\x20graph\x20navigation</h3>\x0a<p>\x0a\x20\x20When\x20pointer\x20analysis\x20is\x20complete,\x20the\x20source\x20view\x20annotates\x20the\x0a\x20\x20code\x20with\x20<b>callers</b>\x20and\x20<b>callees</b>\x20information:\x20callers\x0a\x20\x20information\x20is\x20associated\x20with\x20the\x20<code>func</code>\x20keyword\x20that\x0a\x20\x20declares\x20a\x20function,\x20and\x20callees\x20information\x20is\x20associated\x20with\x20the\x0a\x20\x20open\x20paren\x20'<span\x20style=\"color:\x20dark-blue\"><code>(</code></span>'\x20of\x0a\x20\x20a\x20function\x20call.\x0a</p>\x0a<p>\x0a\x20\x20In\x20this\x20example,\x20hovering\x20over\x20the\x20declaration\x20of\x20the\x0a\x20\x20<code>rot13</code>\x20function\x20(defined\x20in\x20strings/strings_test.go)\x0a\x20\x20reveals\x20that\x20it\x20is\x20called\x20in\x20exactly\x20one\x20place.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='612'\x20src='callers1.png'>\x0a<p>\x0a\x20\x20Clicking\x20the\x20link\x20navigates\x20to\x20the\x20sole\x20caller.\x20\x20(If\x20there\x20were\x0a\x20\x20multiple\x20callers,\x20a\x20list\x20of\x20choices\x20would\x20be\x20displayed\x20first.)\x0a</p>\x0a<img\x20class=\"ss\"\x20width='680'\x20src='callers2.png'>\x0a<p>\x0a\x20\x20Notice\x20that\x20hovering\x20over\x20this\x20call\x20reveals\x20that\x20there\x20are\x2019\x0a\x20\x20possible\x20callees\x20at\x20this\x20site,\x20of\x20which\x20our\x20<code>rot13</code>\x0a\x20\x20function\x20was\x20just\x20one:\x20this\x20is\x20a\x20dynamic\x20call\x20through\x20a\x20variable\x20of\x0a\x20\x20type\x20<code>func(rune)\x20rune</code>.\x0a\x0a\x20\x20Clicking\x20on\x20the\x20call\x20brings\x20up\x20the\x20list\x20of\x20all\x2019\x20potential\x20callees,\x0a\x20\x20shown\x20truncated.\x20\x20Many\x20of\x20them\x20are\x20anonymous\x20functions.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='564'\x20src='call3.png'>\x0a<p>\x0a\x20\x20Pointer\x20analysis\x20gives\x20a\x20very\x20precise\x20approximation\x20of\x20the\x20call\x0a\x20\x20graph\x20compared\x20to\x20type-based\x20techniques.\x0a\x0a\x20\x20As\x20a\x20case\x20in\x20point,\x20the\x20next\x20example\x20shows\x20the\x20dynamic\x20call\x20inside\x0a\x20\x20the\x20<code>testing</code>\x20package\x20responsible\x20for\x20calling\x20all\x0a\x20\x20user-defined\x20functions\x20named\x20<code>Example<i>XYZ</i></code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='361'\x20src='call-eg.png'>\x0a<p>\x0a\x20\x20Recall\x20that\x20all\x20such\x20functions\x20have\x20type\x20<code>func()</code>,\x0a\x20\x20i.e.\x20no\x20arguments\x20and\x20no\x20results.\x20\x20A\x20type-based\x20approximation\x20could\x0a\x20\x20only\x20conclude\x20that\x20this\x20call\x20might\x20dispatch\x20to\x20any\x20function\x20matching\x0a\x20\x20that\x20type&mdash;and\x20these\x20are\x20very\x20numerous\x20in\x20most\x0a\x20\x20programs&mdash;but\x20pointer\x20analysis\x20can\x20track\x20the\x20flow\x20of\x20specific\x0a\x20\x20<code>func</code>\x20values\x20through\x20the\x20testing\x20package.\x0a\x0a\x20\x20As\x20an\x20indication\x20of\x20its\x20precision,\x20the\x20result\x20contains\x20only\x0a\x20\x20functions\x20whose\x20name\x20starts\x20with\x20<code>Example</code>.\x0a</p>\x0a\x0a<h3>Intra-package\x20call\x20graph</h3>\x0a<p>\x0a\x20\x20The\x20same\x20call\x20graph\x20information\x20is\x20presented\x20in\x20a\x20very\x20different\x20way\x0a\x20\x20in\x20the\x20package\x20view.\x20\x20For\x20each\x20package,\x20an\x20interactive\x20tree\x20view\x0a\x20\x20allows\x20exploration\x20of\x20the\x20call\x20graph\x20as\x20it\x20relates\x20to\x20just\x20that\x0a\x20\x20package;\x20all\x20functions\x20from\x20other\x20packages\x20are\x20elided.\x0a\x0a\x20\x20The\x20roots\x20of\x20the\x20tree\x20are\x20the\x20external\x20entry\x20points\x20of\x20the\x20package:\x0a\x20\x20not\x20only\x20its\x20exported\x20functions,\x20but\x20also\x20any\x20unexported\x20or\x0a\x20\x20anonymous\x20functions\x20that\x20are\x20called\x20(dynamically)\x20from\x20outside\x20the\x0a\x20\x20package.\x0a</p>\x0a<p>\x0a\x20\x20This\x20example\x20shows\x20the\x20entry\x20points\x20of\x20the\x0a\x20\x20<code>path/filepath</code>\x20package,\x20with\x20the\x20call\x20graph\x20for\x0a\x20\x20<code>Glob</code>\x20expanded\x20several\x20levels\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='501'\x20src='ipcg-pkg.png'>\x0a<p>\x0a\x20\x20Notice\x20that\x20the\x20nodes\x20for\x20Glob\x20and\x20Join\x20appear\x20multiple\x20times:\x20the\x0a\x20\x20tree\x20is\x20a\x20partial\x20unrolling\x20of\x20a\x20cyclic\x20graph;\x20the\x20full\x20unrolling\x0a\x20\x20is\x20in\x20general\x20infinite.\x0a</p>\x0a<p>\x0a\x20\x20For\x20each\x20function\x20documented\x20in\x20the\x20package\x20view,\x20another\x0a\x20\x20interactive\x20tree\x20view\x20allows\x20exploration\x20of\x20the\x20same\x20graph\x20starting\x0a\x20\x20at\x20that\x20function.\x0a\x0a\x20\x20This\x20is\x20a\x20portion\x20of\x20the\x20internal\x20graph\x20of\x0a\x20\x20<code>net/http.ListenAndServe</code>.\x0a</p>\x0a<img\x20class=\"ss\x20dotted\"\x20width='455'\x20src='ipcg-func.png'>\x0a\x0a<h3>Channel\x20peers\x20(send\x20\xe2\x86\x94\x20receive)</h3>\x0a<p>\x0a\x20\x20Because\x20concurrent\x20Go\x20programs\x20use\x20channels\x20to\x20pass\x20not\x20just\x20values\x0a\x20\x20but\x20also\x20control\x20between\x20different\x20goroutines,\x20it\x20is\x20natural\x20when\x0a\x20\x20reading\x20Go\x20code\x20to\x20want\x20to\x20navigate\x20from\x20a\x20channel\x20send\x20to\x20the\x0a\x20\x20corresponding\x20receive\x20so\x20as\x20to\x20understand\x20the\x20sequence\x20of\x20events.\x0a</p>\x0a<p>\x0a\x20\x20Godoc\x20annotates\x20every\x20channel\x20operation&mdash;make,\x20send,\x20range,\x0a\x20\x20receive,\x20close&mdash;with\x20a\x20link\x20to\x20a\x20panel\x20displaying\x20information\x0a\x20\x20about\x20other\x20operations\x20that\x20might\x20alias\x20the\x20same\x20channel.\x0a</p>\x0a<p>\x0a\x20\x20This\x20example,\x20from\x20the\x20tests\x20of\x20<code>net/http</code>,\x20shows\x20a\x20send\x0a\x20\x20operation\x20on\x20a\x20<code>chan\x20bool</code>.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='811'\x20src='chan1.png'>\x0a<p>\x0a\x20\x20Clicking\x20on\x20the\x20<code>&lt;-</code>\x20send\x20operator\x20reveals\x20that\x20this\x0a\x20\x20channel\x20is\x20made\x20at\x20a\x20unique\x20location\x20(line\x20332)\x20and\x20that\x20there\x20are\x0a\x20\x20three\x20receive\x20operations\x20that\x20might\x20read\x20this\x20value.\x0a\x0a\x20\x20It\x20hardly\x20needs\x20pointing\x20out\x20that\x20some\x20channel\x20element\x20types\x20are\x0a\x20\x20very\x20widely\x20used\x20(e.g.\x20struct{},\x20bool,\x20int,\x20interface{})\x20and\x20that\x20a\x0a\x20\x20typical\x20Go\x20program\x20might\x20contain\x20dozens\x20of\x20receive\x20operations\x20on\x20a\x0a\x20\x20value\x20of\x20type\x20<code>chan\x20bool</code>;\x20yet\x20the\x20pointer\x20analysis\x20is\x0a\x20\x20able\x20to\x20distinguish\x20operations\x20on\x20channels\x20at\x20a\x20much\x20finer\x20precision\x0a\x20\x20than\x20based\x20on\x20their\x20type\x20alone.\x0a</p>\x0a<p>\x0a\x20\x20Notice\x20also\x20that\x20the\x20send\x20occurs\x20in\x20a\x20different\x20(anonymous)\x20function\x0a\x20\x20from\x20the\x20outer\x20one\x20containing\x20the\x20<code>make</code>\x20and\x20the\x20receive\x0a\x20\x20operations.\x0a</p>\x0a<p>\x0a\x20\x20Here's\x20another\x20example\x20of\x20send\x20on\x20a\x20different\x20<code>chan\x0a\x20\x20bool</code>,\x20also\x20in\x20package\x20<code>net/http</code>:\x0a</p>\x0a<img\x20class=\"ss\"\x20width='774'\x20src='chan2a.png'>\x0a<p>\x0a\x20\x20The\x20analysis\x20finds\x20just\x20one\x20receive\x20operation\x20that\x20might\x20receive\x0a\x20\x20from\x20this\x20channel,\x20in\x20the\x20test\x20for\x20this\x20feature.\x0a</p>\x0a<img\x20class=\"ss\"\x20width='737'\x20src='chan2b.png'>\x0a\x0a<h2>Known\x20issues</h2>\x0a<p>\x0a\x20\x20All\x20analysis\x20results\x20pertain\x20to\x20exactly\x0a\x20\x20one\x20configuration\x20(e.g.\x20amd64\x20linux).\x20\x20Files\x20that\x20are\x20conditionally\x0a\x20\x20compiled\x20based\x20on\x20different\x20platforms\x20or\x20build\x20tags\x20are\x20not\x20visible\x0a\x20\x20to\x20the\x20analysis.\x0a</p>\x0a<p>\x0a\x20\x20Files\x20that\x20<code>import\x20\"C\"</code>\x20require\x0a\x20\x20preprocessing\x20by\x20the\x20cgo\x20tool.\x20\x20The\x20file\x20offsets\x20after\x20preprocessing\x0a\x20\x20do\x20not\x20align\x20with\x20the\x20unpreprocessed\x20file,\x20so\x20markup\x20is\x20misaligned.\x0a</p>\x0a<p>\x0a\x20\x20Files\x20are\x20not\x20periodically\x20re-analyzed.\x0a\x20\x20If\x20the\x20files\x20change\x20underneath\x20the\x20running\x20server,\x20the\x20displayed\x0a\x20\x20markup\x20is\x20misaligned.\x0a</p>\x0a<p>\x0a\x20\x20Additional\x20issues\x20are\x20listed\x20at\x0a\x20\x20<a\x20href='https://go.googlesource.com/tools/+/master/godoc/analysis/README'>tools/godoc/analysis/README</a>.\x0a</p>\x0a",
-
-	"analysis/ident-def.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xf5\x08\x03\x00\x00\x00\x8b\x0c=\xff\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE!#\x20#$\"$%#($#&'%'(&-'\")+(4,\",.+01/>/\"241A2%685G6$8:7;<:Q9$>@=W>#AB@CEB\\B'cC$GIF\x00f\x00\x00g\x00\x00h\x00gF'\x00i\x01KLJ\x00j\x02\x02k\x03\x04l\x05mJ&\x06m\x06sJ(OQN\x0bo\x08\x0ep\x0awN&\x0aq\x16TUS\x10q\x0c\x0cr\x17\x0fs\x18~R%WYV\x12u\x1a,`\xae7]\xad\x15v\x1c\x86T)\x16w\x1d[]Z9a\xab\x19y\x1e^_];b\xac<c\xad\x8dZ(>e\xaf)z\x20ac`+{\"(|*\x92]%cebAh\xb2egd+\x7f,\x9a_)Li\xafDl\xb0.\x81.ikh0\x830Ho\xb31\x841/\x858Jq\xb6mol\xa3f);\x86:Us\xb3\xabg->\x88<Wu\xb5\xaej(sur@\x8b>B\x8c@\xb3m,vxu@\x8dGC\x8dA\\z\xbbxzwI\x8dH]}\xb7K\x8fJ\xb9r*_\x80\xbaM\x91L}\x7f|\xc1s-O\x93MP\x94Oc\x84\xbeN\x95U\x81\x83\x80\xc7x+W\x95VX\x97Xm\x87\xbcY\x98Y\xd1z(Z\x99Z[\x9aZ\x87\x89\x86\\\x9b[r\x8c\xc2\xd6~-^\x9d]\\\x9dc\x8a\x8c\x89d\x9ddz\x8f\xbff\x9ff\x8f\x91\x8eh\xa1h\xde\x85+~\x93\xc4j\xa3j\x92\x94\x91k\xa4ky\x97\xc6s\xa4lq\xa5s\x95\x97\x94\xec\x8a,\x83\x9b\xc5\x98\x9a\x96\x9a\x9b\x98u\xaaw\x86\x9e\xc8\xf1\x8e/\x9b\x9d\x9a~\xaay\x88\xa0\xcb\x9e\xa0\x9d\x80\xad|\xf7\x93-\xa0\xa2\x9f\xfd\x92/\x81\xb0\x85\xa2\xa4\xa1\x92\xa5\xca\xff\x952\x82\xb2\x86\xa4\xa6\xa3\x83\xb3\x87\x8b\xb2\x88\xa6\xa8\xa5\x96\xa9\xce\x8d\xb5\x8a\xa9\xab\xa8\x8e\xb6\x8c\x9e\xad\xcd\x8d\xb8\x93\xac\xae\xab\x95\xb8\x95\xa1\xb1\xd1\x97\xba\x96\xaf\xb1\xae\x98\xbb\x98\xa4\xb3\xd4\xb2\xb4\xb0\xa5\xb5\xd5\x9b\xbe\x9a\xb5\xb7\xb4\xac\xb7\xd1\xa3\xbf\x9d\xa2\xc0\xa4\xb7\xb9\xb6\xa4\xc2\xa6\xb9\xbb\xb8\xa5\xc4\xa8\xb1\xbd\xd7\xbb\xbd\xba\xa8\xc7\xaa\xb7\xbf\xd4\xaf\xc6\xab\xbe\xc0\xbd\xb9\xc1\xd6\xc0\xc2\xbe\xb2\xc9\xae\xc1\xc3\xc0\xbb\xc3\xd8\xbc\xc4\xd9\xb1\xcc\xb6\xc4\xc6\xc3\xb3\xcd\xb8\xb9\xcc\xb8\xc1\xc8\xde\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xbd\xcf\xbb\xca\xcc\xc8\xc7\xcb\xdb\xbf\xd2\xbe\xc4\xcf\xdd\xcd\xcf\xcc\xcb\xcf\xdf\xc8\xd3\xc1\xc6\xd4\xc7\xcd\xd1\xe1\xd0\xd2\xcf\xc8\xd6\xca\xd2\xd2\xdd\xd2\xd4\xd1\xca\xd8\xcc\xd3\xd5\xd2\xce\xd6\xdf\xcc\xda\xcd\xd5\xd7\xd4\xd6\xd8\xd5\xcd\xdc\xcf\xd4\xdb\xd0\xd8\xd9\xe3\xd2\xdb\xe3\xd5\xdc\xd1\xd9\xdb\xd8\xd7\xde\xd3\xd5\xdf\xda\xdc\xde\xdb\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xd8\xe2\xdd\xdd\xe2\xe5\xe0\xe2\xdf\xe2\xe4\xe1\xdf\xe5\xe7\xe4\xe6\xe3\xe8\xe5\xea\xe2\xe7\xea\xe5\xe7\xe4\xe6\xe8\xe5\xe4\xe9\xec\xe7\xe9\xe6\xfe\xff\xfc\x93\x8dkM\x00\x00\x20\x00IDATx^\xed\x9d\x7ft\x14\xd5\xdd\xff\x07%\x064*\x15\xe1y<\xb3=lbJ0@\x94\x86F\xac(\x98o\xe5\xb4\x86\xf4\x89i\xfa\x8d\xf6\xa4R\x7f`A\x10\x1a\xcd\x93\xc3\xb1\"\x02\x15\x1e\x8c\xf5l\xea\x81\xd8\xb4\x91`h\xf6(\xb89r\xb2\x12\xe4\xc8\xba(<\x12\xda''\x94\xd2\xf6!\xc5\x08\xc8S(\xc8\x93v\xd7\xd4\xb3\xde\xef\xf9\xde{\xe7\xd7\xbd\xb3wfv\x03a\xc8\xec\xe7\xf5\xc7\xee\xec\xe43\xf7\xde\xf9\xcc\xbc\xf7\xde;;\x99\xb7\xf4\xff.\x00\x04\x00\xc0e\x86\xe4$[;\x9c\x0a\x07\x00\xe0R\x03\x92\x06\x00O\x01\x92\x06\x00O\x01\x92\x06\x00O\x01\x92\x06\x00O1\x92$]_/Z\x04\x00\x80\xc1=I\xf7w4\x07Zv\x9dS?u\x07\x82\xb6\xd1\x98?\xc9\xeb\x04\x8b\x84_\xcb\x849\xed\xc9\xdbX\xf0\xb1O.u\x8a\xb1'\xc5\x12\x9e\x95\xe5\x90S\xccP\xe9$;]\x82\x17z\x17\x14\x16TE\xca\xf6!\x94h\x983\xcd7\xed\x9eF\x84\xa2\xb2\\\x95@!\x1c\x11q*\xc7\x0e\xf1n\xa6\xb8\xf3\xa8\x0eW\x9f\xd7\xe7\x14\xa5s\xb6\xbe(wA\xc2)*\x89\xc8\xf4\x9dN!\x19\x85k\x92>\x11\x08\xf6\x1c\xeb\xd9\xd2<@?\x9d\x0b\xecjr\xd8\x00\xd5\xe6\x9e\x16,\x12\xce\xbf*\xb7G\xbb\x96\xca\x0d\xc9\x1bYp\xa0\xce\xef\x14\xe2\x80}\x09\x91^\xe5\xfdT\xd4\xd7h\x13\x96\x1aZa&\x06\xf6E\x0b\x16\x1d\xc6\x8a\xf6=\xda\xb9}\x11\xfd\xee\x88\xc8\x0b\xda\xba\xda\x17\xcaQ\x14\x8f\xc8\xb9Q\x14\x0b\xc9\x91\xb8p\xe3T\x11\xeff\x8a\xe9;\x1e\x8d\xb6\xc9\xfb\x9c\xa2t\xaa\x8b\xda\xea\xf2\xce;E%\xd1\x95\xa7}kZ$*\xc3pM\xd2\x87\x02\xc7\xf0\xeb@\xa0\x87~\x0av\x1cs\x92t\x9f\xbcZ\xb0\xa8\x10\x91\xf1\xa9\x8d\xbb\xc4?\xa3TiL\xe9\x9c\xb4\xc3\xb6\x84\x7f[\xa2-\xf9/\\\xd2Faf\x0a\xd7\xe2\x97\x9aj\xb2XG$\xbd\xba\x80\x088>\x05\xa7'&\xd7\xd6\xe1\xfeT\x8eYm\x9b\"\xe2\xddL9}\x07S\x97\xf4y\xb9\x15%\x86\xd2\\\xbdc\xb7NT&\xe1\x9a\xa4\x11\xed\x9eO\x06\xfa\xc9[w\xd3@\xbf\x93\xa4\xeb\xfc\xa7\x04\x8b\x0a\x8a\xa4\xe3\x05+Q\xaa\xa4|NZb[B\xf9\xc5\x94t\xb9\xbd\xa4K\xe8\xe0\xa4W\xee\xc4\xfd\\\x05]]QC$\x1d\xc9\x8f\x8d(I\xf7\xc9\x17:\x80\xb6NT&\xe1\x9e\xa41\xb1\xa3-A\xf2\x15{.p\x089I\xfac\xdf*\xc1\xa2\x8a\"i\xb4\xb2\x90\xbcn\xaf\xca\xbbg\xb5r&\xf7-*\xf4\x15-\xa0\xfao+\xcf+k\xa3+O\xd5\xce\x98\xb2H\x1d92\xb1\x1a\xbd>Yn\xe8\xab-\xc9\xadI\xb0\x01\x03Kf\xf8J\x16\xf6\x9aK\x88\xd6\x94\xf8\x0a\x17\x94p%\xec\x94\x15\xca\xc9\x07\xff\xda\xd5\xf7\xe4\xd5\x1c\xa7\x7f\x10\xd4\xb6R\xf6\xb5'\x07\x1c\xc6mX\x88f\xcarA\x9c+\xcc\x0c\x95\xf4\xd2\"\xba\xf3]x\xbb\xaaEt\xf5\xa2*\"\xe9\x8f\xcbC\x02IkU\xf0\x15\xa7\x91(v\xad\x06\x99\xb37\xa2F\x99\x8c\xfe\xd9D\xe9\x92^)\xcb\xdb\x8d)\xb8\x20\x0f\x83\x85\xcan\xae6\x1f\x00\xb59\x89\"\xdf\x8b3gDV\x15T\x0fp\xdb\x9d\xcf\x93\xd5\xcb\x15\\\xa2D\x87%SpQ\xd2'\x03\x18zy,\xd8\x81\x1c%]\xef;.XTQ%\xdd.\xe3\xe3]/\xaf\xeaj\x9d^NN\x87H~\xf9\xab\x91F<\x9e#\x1d{CW\x83\xff)\xbc\xd4WpO\xfb\xce\x1a\x99\x9e\x93L\xacN<\x14*\x99\x93?su\xad|\x9c\x0d\xe8\x92\xeb#\xa1\x85\xf2A\xbe\x84\xdf\xcaO\x85\"\xed\x852W\x02\x9e\xe4\xce\xa9\x8eF\xa3t\x1a\xe0\x97KC;\x8b\x16Y\xd5\xf6\xa7\x90O\x9e\xde\xf8\xeb|>\x20q\xa0Q>\x80\xde\x94\xb7\xf7\xf2\x85\x99\xa1\x92>^\"\xd74\x1e\x18$\x9f\xcb\x96\xd1\xd5\xcb\xca\xa8\xa4[\x17(\x92\x8e\x7f\xac\x10g\xab\xe0*N#Q\xecZ\x9dX\xb4\xa0\xe1o\xe8o\x0d\x05\xd1\x18\x9b(\xa4KZ\xb9\xa6\xa0N\xc1Ey@\xbd\xd1\x90\xdc\x18\x8d\x9e6\x1d\x00\xbd9\x91\x02yu\xb5\\\xb8\xb1\xa8\x95\xdb\x0co\x17U\x06Bl\xa2\x84\x87%SpQ\xd2\xe8d\x7fwK3\xd6tO`\xc0Q\xd2\xc7}\xcf\x0a\x165TIw\xe1\xc9t\x97\xfc&\"g\x12\xfe\xe6\x8e\x97\xd4\xe0\xb3x0t\x1e\xa1w\xe9\x85\xdf\x88\xdc\x85{\xb29\xf8,O\x94\xf9i\xbc\x1e\xcbQ.\x93\xbe`\x80\x0b\x88\x85H\xb7R\xb6\x10q%\xb4M\xa7=I\x81\xf9\xdca\x06\xdeEg\xf1I<\x1dY\xd6\xe6\x9f\x82\xcf\xdc\xda\xa4\x80\xba\x8a\xb337\x9a\x0b3C%\x8d\xceo\xac\xf0\xc9S\xc8V\xa5\xb5tum)\x95\xf4\xe9\xdc\xd3T\xd2\xd5j\xffU\xc5WaT\x9cN\xa2\x98\xb5,\xf5K\xf1\xcb2\xf2\xd3\"\x93(\xc4\x0c\xbc\xa9\xee\x1a\xed\xb2\xce\x0c\xbc\xf5\x03\xc04\xa7\xa8\x16o\xb9\x13\xd5%\xff|\x99\xab\xcdm\xf4DY\x1d\x96\x8c\xc0MIc\xe2-\x1d\xe4\x12Y\"\x918\xda\x94\xb0;\x00+}\x1f\x0b\x165\xf4^\xfa<Zz\xc7\x20.-1\xb3\x9e\x9c;\xfa\x15\xd0\xfa2\xfaVZ\x87\xce\xcb\xf4\xb7\xae\x06rr1\xb1\x1c\xe5~u\x18\xc0\x06\x9cm\xab\xb9\xa3@.C\\\x09\x9f\xce(Y\xd9\xde\x9b\x184\x15\xc0J\x9al\xdbhS\x9b\xbfN\x18\x10/+z4\xa903\x8a\xa4It\xe4G\xe4\xb4W{\xe9\xa5J/\x8d\x16\xb4RI\xf7\xedT\xe8\xe3\xab0*N#Q\xecZ\x96Hn\x0c\xc5\xf2\xa2dQO\x14A\x20i\xab\xac\xb3\x92\xd6\x0e\x80\xd1\x1cT\x14\xc2\x85\x0d\xa0\xb5\xcb\x90\x99dI[\x1d\x96\x8c\xc05I\xc7\x15\x01\xef\x0f$\x8e\x044\xfa-\xa3O\xf9\xeb\x05\x8b:\xaa\xa4\xd7\x16\xe0\xb3Z\xed\x92p/\xd1*\xeb?\xe0T)\xf2x\xb4\x02\xf5\xca\xf4\xbc\xa3'\x17\x13\xcbQ\xaeM\\\x99\x80\x83E%k;\xa3\xd5e\x88+\x01\x9do_R*\x17\xbdj*\xc0|y\xcc\xae6\xab\x80\x90~a\xc9A\xd2\x07\xe9\x148Q\x857\xabR6]\xa8\xcc\xa5Q\xa8\xcc<\x97f\xab0*N#Q\xdc\xce3$\x0a;Qg!9\xa6F\xa2\x08\x02I[e\x9d\x95\xb4v\x00\x8c\xe6\xa0\xa2w\xd1A\x1fB\xebR\x91\xb4\xd5a\xc9\x08\xdc\x92t\xa2i\x07}\xc7\x92N\x9c$t\x07N\x9e\xb4\xee\xa6W\xc9}\x82E\x1dE\xd2\x83\xd3\xf1!\xad\xbd\xa3\x97r\x96\xac5:\x9f;\xe8[I\x1d:+\xd3k?tV\xc7\xc4r\x94/R\x17\x98\x80\xd2\x0a\"\x8eE\xf8LeK\xe8%\xb7\xbc\xfc=\x94\xdbf.\x81\x9c\\\xed\xa4\xab1Ne\x8b\xda,\x02N\x155\x94\x9c5\x17f\x90\xa0sk*\xe9\xa2\x95tM\xc3\x1c<\xc4V\xa4P^\xa3H:\x96\x171I\x9a\xad\xc2\xa88\x8dD\xb1k9V-D\x8b\xe8UK#Q\x04^\xd2\x0dvYg%\xad\x1d\x00\xa39\xa8(\x82\x0e\xfaS\x904I\x94\xd5a\xc9\x08\xdc\x924j\xee\x20\xafd\xe0\xad`;\x97>M\x07\x89\xe6E\x03E\xd2\xeb\xc8\x99\x19Q\xe6h\x0dx\x1e\x1a+\xaa&C\xafU\xab\xc8\xd0\x92\xac\x0d\x91\xc1iE\x09\x9e2\xf6\xe5*\xa7\xb2\x1e\xcb\xa1\x7f\xdb3\x01%\xe4,K\x94\x913\x95)\xa1Q~\x97\x04T\x9b\x07\x0e\xd5\xd5\xb8\xa5\xca\x8c\x95\x11\x8e\xb06q\xc0`E\x03\xaa\xafN\x98\x0a3h#\xbd\xe5Y\xf9u\xbcX8\x93\xdc\x9e\x91\x202X\x9dO\x7f\x97\xce\xabW$\x8d\xea\x96\x99$\xcdVaT\x9cN\xa2\x98\xb5\x1c\x07\xfc\xa7\xfc\x07\xc8\x02\x93(\xc4H:\x0f\x7f\xfb$*\xec\xb2\xceJZ;\x00LsR\x90\xb4\x9e(\xab\xc3\x92\x11\xb8&\xe9C\x81\x8e\x9ec=-\xea\xddc\x89\xfe\xee@\xff\x19\xcb\xe0\xb5F\xcf\xbcV\xd0I+w\x8f=\xa5\xdc=\xb6N^\x16\xea\xac\x97\xb7#2\xc1+m\xebZEg\x7f\xb5\xf2\xba\xaeu2\xb9zt8ofc\xc34\xd9\xf7\xe6a.V'q\x80^9U\xe6\xebF@\xa3\xbc\xa4mc\xb9\\\xf8\xea\x01\xb6\x84F9\xbf\xa1\x0b\x07\x98\xef\xbal\xf4\xff\xba\xb3:\xefSr\xa5\xb7\xee\x00\xea\xad\xf3EO\x89k\x13\x07\xc4\xf7=;\xfd8\xea+X\xbd/\xce\x14\xc6\x12\x91\x17\x84\xde\xac($+\x0b\xe5\xa2\x86wq@\x1fY[\xd3\x19\xed\xac\x91;\xc9\xddc\xa1\x18\x8a\xe6\x99\x7f\xc4\xd2\xab\xe0*N#Q\xecZ\x96\xc4\x8c\x9a\x19\xf4\x1b\x88I\xd4\xa7\xe4\xee\xb1\xd6h\x94\x0c0\xaa\xa6\xbf\xba\xb1\xc2:\xeb\xea\x15\xef\x03\x09\xd3\x01\xd0\x9bsxZk,\xe4\xeb\x8d-\xab\xe6\x86+\x83\xfb\xa2Q\x7f]4JO#=QV\x87%#pM\xd2\xa8\x7fGK`\xebnu\x12\xd7O\xa6\xd2\xcdV\xa1\xa7\xf3j\x05\x8b\x06\xca=\xde%\xea=\xde\x91\xea\xc2)U]t\xb1o\xc9\xcc\xfc\x8aN\xb2\x94x\xbd,\xaf\xac\x8d\x9es}\x0b\xa7\x95\xac}\xd3'?\xcb\xc7j\xf4*3\xbdGM\x85%Z\xe7\xf8\xa7/m\x9f\xe3\xabfK\xd8^\xd5X\xe2+\xaaN:u\xe2\xab\xa6\xe5V\x1f\xa4\xf7x\xcb\xbe\xc3\xe4\xb7S\x8b\xda\xc4\x01\x11\x99\xfcB\xbbJV\xee\xd0\xd6\x0a\xe3\xe8,\xcf+x\x94\xca\xaa\xa2\xbd\xa14o\xfaB\xf2M\x97h\x98S\x20\x17\xcciL\xd0\x12B\xb8[,2Of\xb4*\xf8\x8a\xd3H\x14\xbb\x96\xa5\xd5\xdfJ\xdf\x99D\xd5\xa9\xb3f\xd2\xe7\xf6U\xe7\xe6\xd7\xbch\x99\x87x\x01\x8d\xf4\xfd\xd9t\x00\xb4\xe6$\x8a\xf0\xfe\xe4\xcby!\xd3\x1c\xfc\xb7j\x15\xf4\xd8\xeb\x89\xb2:,\x19\x81{\x92N\x83\x17\xe5?\x09\x16\x01\x00HfDH\x1a\xfe\xab\x12\x00ReDH\x1a\x00\x80T\x01I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x18I\x92\x86[\xbd\x01\xc0\x11\xf7$m\x18\xe8\xc4\x9a\x94\xe7\x149\xf8BX\x1b\xe8\x10\x86\xcdF%U\xb7\x98\xa1\xe3\xd8t\xc7\x00\x95\xa1\xda\xf5\xa4it#&\xd5FR\xd2O\xeaP\xf7-\xf3pM\xd2\x8c\x81\xce\xb9\xc0\xfe~\xccI\x87-\xac\x0dt\x08\x86\x8d\x8a#i\xfa\xac\xa4f\x95s\x018:\xc08\xed\xdb\x85\xda\xf5\xa4it#F\xd8H\xcb\xec\x08\x92j\x9f\xc9\xa1\xee[\xe6\xe1\x9a\xa4\x19\x03\x9ds\x81\xa3N\xd1\xc8\xde@\x87\x90\xfa\x03^\xd3\xf5YI\xd1*g\xe88:\xc08\xec\xdbE\xb0\xebI\xc3\x15\xc3\x0aQ#\xad\xb3\x93\x9cT\xa7L\x0ey\xdf2\x0c\xd7$\xcd\x18\xe8\xa4&i;\x03\x9d\xf4H\xd7g%E\xab\x9c\x8b\xc0\x10\x0b\xbb\x08v=\x17A\xd2\"\xacw(9\xa9N;?\xe4}\xcb0\xdc\x934\xd2\x0dtR\x92\xb4\xad\x81\x8ea\xa3\xc2\xf8\xc2\xe0\xc5\xd6\xfa\x99\xd3\xc8\x13|\x18\xff\x16\x0bC\x1a\xc3\xf6\x85s\x96\x11\xb9\xc50\xf6,|a\x9a\xf5\x8c\x85\x05\x8f\xd8\xd5\xc5\xc2\x01F\x14\xc0{\xdeh\xa4c\xd7s\xe1F7LR\x11c\xb6#l$\xbfC\xf6\x16<\xe2Lr\xf8W\xd5\xcf\xa0\x15w\xe1\xb8\x17\xd5\xbd0`\xf7-\xa3qQ\xd2\xba\x81\xce\xb9@\xc7\x96@s\xd8\xf4\xe0;\x13\xb6\x06:\x86\x8d\x0a\xe3\x0bC\x16K66\x96\xe4\x1df\xfd[,\x0ci\x0c\xdb\x17\xd6YF\xe8\x16\xc3\xd8\xb3p\x85\xe9^/\x16\x16<\x16\xae.B\x07\x18a\x00\xe7y\xa3\x93\x8e]\xcf\x85\x1b\xdd0Ie\xcdv\x84\x8d\xe4Z\xe6`\xc1#\xce$\x87_.\x0f\x85\xcap\xc5\xb1}%\xf5\xa7\xd5\xbd0`\xf7-\xa3qQ\xd2\xba\x81\xce\xb9@S\xf7\xd1\x9e\x96f\xbb+\xde\xf6\x06:\x04\xed\xd1\xaf\x86/\x0c\xf2\x97\xe0\xd1\xfd\xf9\x12b\xe7h<\xe1V<\xc2cm_\x8c\x12\xc4n1\x9c=\x8b^\x18\xe3\xf5\"\xb6\xe0\xb1vu\x11<[^\x1c\xc0\xec\x1bK\x1av=\x17ntc$\x95\xdbcq#\x99\xa7\xf7:Y\xf0Xd\xd2\xc0_\x8aO\x90\xf8\x1cr4\x1bIg\xfe\x94\xf9\x87Lc\xdf2\x1a7%\x8d\xd4\xe7x'\xba\xc9\xc9\x15k\xdam\x13ho\xa0C\xd0\xcf(\xf2\x9coE\xbc\xfe\xff\x20\xafm\xf2ygI\xb3\xb6/z\x09\x16n1\x9c=\x8b^\x18\xe3\xf5\x82\x84\x16<\xd6\xae.\xa9K\xda\xd87\x964\xecz.\xdc\xe8\xc6H*\xb7\xc7\xe2F\xea-s\xb6\xe0\xb1\xc8\xa4\x81\xffE\xf2J\x8f\xe6q\xf90\x8a\xe7\x9b\x1f\x00\xca\xec[&\xe3\x9a\xa4\x0d\x03\x1dmMx\xabe\xb0\x93\x81\x0eA?\xa3\x0c\xf1*C\xc1(yb\xbf\x93\xa4Y\xdb\x17=\xd6\xca-\x86\xb5g\xd1\x0bc\xbc^\x90\xd0\x82\xc7\xda\xd5%uI3{\xc1\x90\x86]\xcf\x85\x1b\xdd\x18I\xe5\xf6X\xdcH\xbde\xce\x16<\x16\x994`\x8e&\xfa\xd1Z\xf4\xee\x14\xf3\x97\xa3\xb1o\x19\x8d[\x92f\x0ctPG\x90.\xee\x08Z\x87;\x18\xe8\x10D\x92\xa6\x97\xd1\xa8E\xad\xe1\xdf\xc2\xf8\xac0\xb0\xb6/z\x09\x16n1\x9c=\x8b^\x18\xe3\xf5\x82\x84\x16<\xd6\xae.\xc9\x0e0\x16\x01v\x92N\xcd\xae\xe7\xc2\x8dn\x8c\xa4r{l#i\xd2\xb2\x14,x\xc4\x994\xf0\xd3_.\xe9\xd1D;\x0b\x07\x05\x16\x96\xfa\xbee4nI\x9a5\xd0\x09n!\x8bg\x02\xfb-\x83\x9d\x0ct\x08\"I\x17\xe1\xb3v\xe0\x8ej\xc4\xfa\xb7\x88\x0diX\xdb\x17\xa3\x04\xb1[\x0cg\xcf\xa2\x17\xc6x\xbd0=\x0e\xe3\x16c\xed\xea\x92\xec\x00c\x11`!\xe94\xecz.\xdc\xe8\xc6H*\xb7\xc7\xe2F\xea-K\xc1\x82G\x9cI\x03\xffL\xe2\x98[J\x8e&\x1a,\xdc9-\xf9\xc1\xfb\xfa\xbea>\xdex\xa1\xb7\xc3\x8dT\\\x934c\xa0s4\xb0\xed\xd0\xd1\xbd\x81\xa0\xf5\x90\xc9\xc1@\x87\xb1Q\xe1|a\xc85\xd2\xf69S\xc8\x06\x8c\x7f\x0b\x12\x19\xd2\x18\xb6/l\x09b\xb7\x18\xce\x9e\xc5(L\xf7z\xb1\xb4\xe0\x11\xb9\xba\x88\x1d`\x84\x01\xdc\xbe\xb1\xa4l\xd7\x83.\xdc\xe8\x86M\xaaa\xb6c\xd5Hc\x87\x9c-x\x04\x994U\\s\x20R5E9\xfc\xeb\xee\x98\x92|\xba\xe8\xfb\x86Y(/H\xfa{f\xe0\x9a\xa4Y\x03\x9d\x13\x1d\xcd\x81`\xb7\xb5\xa2\x9d\x0ct\x18\x1b\x15\xce\x17\xc6\xbf\xba\xbe`F-=\xffY\xff\x16\x91!\x8da\xfb\xc2\x95\x20t\x8b\xe1\xecY\x8c\xc2t\xeb\x19\x0b\x0b\x1e\xb1\xab\x8b\xd8\x01F\x18\xc0{\xde0\xa4l\xd7C\xb80\xa3\x1b.\xa9\x86\xd9\x8eU#\x99\x1dr\xb4\xe0\x11d\x92\xa3\xb4qI\xbeZ1\xb9\x81PtEE\xdb7L\xfb\xf4vA@&\xe0\x9e\xa4\xd3`\xa8\x06:p\xbf\xd10py$5\xe6\xcfL\xc3\xab\x14\x18\x11\x92\x1e\xea\x7fU^\x1eg\x9f\xc7\xb8<\x92\x1a\x82+\xdbV\x8c\x08I\x0f\x95\xcb\xe3\xec\xf3\x18\x97AR\x1b#\xa8\xba\xc1)(c\xf1\xb0\xa4\x95\x0b5\xc0E\xe5rHjL._Yt\xde)*c\xf1\xb0\xa4\xe9\x85\x1a\xe1\x8df\xc0\x90\xb9,\x92\xda\x90_m\xbe\x11\x1e\xd0\xf1\xb0\xa4\x01\x20\x13\x01I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x00I\x03\x80\xa7\x18I\x92\x1e\xea\xad\xde\x00\x90A\xb8'i\xc3@\x07\xd3\xb3\xad\xa9e\xaf}\xbc\x83\x81\x0e\x00\x00\x04\xd7$\xcd\x18\xe8\xa0xG`\xf7\x91\xbd\x81C\xf6[\xd8\x1b\xe8\x00\x00@pM\xd2\x8c\x81\x0e\xea\x20\x9e\x1b'\xe9\xa25N\x06:\x00\x00\x20\x17%\xcd\x18\xe8\xf4+O\x1d;g\x1f\x7f\xf1\x0ct\x00\xc0\xc3\xb8'i\xa4\x1b\xe8\xec\x0e\x0c:\x19\xb99\x18\xe8\x00\x00\xa0\xe2\xa2\xa4u\x03\x9d`\xb0gk\xa0y\xd7\x85\x18\xe8\x00\x00\xa0\xe0\xa2\xa4u\x03\x9d\x16j\xa0\xd3\xdcra\x06:\x00\x00\x20w%\x8d\xb4\xe7x\xd3\xbez\x20\xb0\xc7&\xd0\xd9@\x07\x00\x00\xe4\xa2\xa4\x19\x03\x1d\xd59'l\xe3\xb6\x91\x82\x81\x0e\x00\x00\xc8=I\xb3\x06:{\x9b\xa8\xbc;.\xcc@\x07\x00\x00\xe4\x9e\xa4Y\x03\x1d\xc5:\xe7\\\xc0\xfa\xf6\xb1T\x0ct\x00\x00@.J\x9a1\xd0A{\x03{\x8fv7m\x15\xd8\xb4\xaa8\x19\xe8\x00\x00\xa0\xe2\x9a\xa4Y\x03\x1dt(\x18\xd8\xb2\xd7Z\xd1\x8e\x06:\x00\x00\xa8\xb8'\xe94\x18\xaa\x81\x0e\x00d\x1e#B\xd2\xf0_\x95\x00\x90*#B\xd2\x00\x00\xa4\x0aH\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\xc5H\x924\xdc\xea\x0d\x00\x8e\xb8'i\xdd@g\xb0)\xa0\xd0l\xbf\x81\x9d\x81N\xef\x82\xc2\x82\xaaH\xd9>\xf36\xb6<+\xcb!\xa7\x18\xf2\x88a\xb9\xd4)\xe6\xa2\x11\x99\xbe\xd3)D\xe7l}Q\xee\x02\xc7\x87%#T%\x93\xfd\x0c\xe1\xd7*\xa7P\x0b,\x12U\x87\x8b\xcc\x13\xfd\xf7z\xaa-\xa3\xa4\x91_-;\x96\x15'\x93\xda1\xf6\x14\xaeI\xda0\xd0\x89\x05\xf6\xf6c\xf6*\x0f\xe8\xb7\xc6\xc6@\xa7\xd7\xf7h\xe7\xf6E\xa9\x1e\xbdH\xaf\xf2~*\xeak\xb4\x8f\xa4\x1c\xa8\xf3;\x85\xa4\x88V\xb1\xf5\xda\xae\xbc\xd4v\x81P]\xd4V\x97w\xde)\x0a\xa1\xbe\xd5r$\x86bQyuj*H\xc6\"Q\xc7\xa3\xd16Y\xf4-\x9aj\xcb\x14\x04\xf9\x15'J\xcf\x8ee\xc5\xc9\xa4r\x8c-j\x1b\xa9\xb8&i\xc6@\xa7\x9b<\xd9d\xa0i\x97\xfd\x06v\x06:5\xd5\xe4\xb5.EI\xff\xdb\x12m\xc9\xefx\xb8\x09\x8d\x17K\xd2F\xc5\x96kS\xed\xdb\x10:/\xb7\xa2\x84\xfd\xb3\xcfUZe\xf2\xa0\x89\x04\x8e\x1f2V\x89:(RV\xea-SH\xce\xaf8Qlv\x84\x15\x0bq>\xc6V\xb5\x8dP\\\x934c\xa0C\xd9\xb6\xc5\xfa\xa9&\x14;\x03\x9d\x92\x06\xf2\xda+w\xa2T(wK\xd2\xe5\xc2sG\xbc\xd6\x91>9\xd51\xfa\xa5\x96t\xea-SH\xce\xafsJ.\xa6\xa4\x9dk\x1bQ\xb8'i\xa4\x1b\xe8\x10z\x02'\xeccm\x0dt\x96\x16\x1d&o]\xb4k\xd8^\x95w\xcfj\xa5\x93`\x165v\xca\x0a\xe5\xe4\x83\x7f\xed\xea{\xf2j\x8e[\xc5\xe2q[\xed\x8c)\x8b\xd4\x81a[y^Y\x9b\xb2\xbaoQ\xa1\xafh\xc1)\xb4R\x96\xb7+\x93\xc1D\x91\xef\xc5\x993\"\xab\x0a\xaa\x07\xd8\xc2V\xca\xbev\xb5\x0a\xb6\xe2\x81%3|%\x0b{M\xcd9\x9f'\x1bs\x07\xad6\xa6\x04\x86\xc1Be\xb3\xd5\\l\xafO\x96\x1b\xfajKrk\xb8\xce\xde\x90\xb4Q\x18\xd7^\xa39\\\x09\xd1\x9a\x12_\xe1\x82\x12R\x84\x91(#\x96\x90\xac\xac\xb4Z\xc6\xe5W\xcb\x998Q|v\x8c\x8a\x99F\x1a\xb0\x8d\xf4\xaf\xaa\x9f1m\xa12\xe70\x92\xaa\x1d7\xfe|\xf0\x04.JZ7\xd0!\xb4t\xd8\xc6:\x18\xe8\x1c/\x91k\x1a\x0f(\xdd|\xbd\xbc\xaa\xabuzy\x82_\xd4\x19\xd8\x17\x9dS\x1d\x8dF\xffL>\xf8\xe5\xd2\xd0\xce\xa2E\xa6\xcd\x0c\xfa\x0a\xeei\xdfY#\xd3S\xae\xce\xdf\xd0\xd5\xe0\x7f\x8a,F\xf2\xcb_\x8d4b\x89(35:\x19\x8c\x14\xc8\xab\xab\xe5\xc2\x8dE\xadla\x7f\x0a\xf9\xe4\xe9\x8d\xbf\xce_\xc4W\xdc%\xd7GB\x0b\xe5\x83\xa6\xe6\xf4F\xa3Z\x9f\xa2\xd7\xc6\x94\xc0\xd2\x1b\x0d\xc9\x8d\xd1\xe8i.6\x1e\x0a\x95\xcc\xc9\x9f\xb9\xbaV\xe6\x12dH\x9a)\x8cm\xaf\xd1\x1c\xb6\x84\xdf\xcaO\x85\"\xed\x852I\x89\x91(#\x96\x20\xe8,\xd3i\x19\x9b_=g\xe2Dq\xd91*f\x1bi\xc0n\xe6\x97\xcbC\xa1\xb2<\xf2\x9d\xaf7\x879n\xdc\x01\xf0\x04.JZ7\xd0\xc1\x1c\xa13k\x1b\x1c\x0ct\xceo\xac\xf0\xc9S\xc8wx\x97\xfc&\"G<\xc4-r0\x03\xef\xa2\xb3\xf8\\\x9a\x8e\xacb\xab\xe6\xe0^#QFN\xb9w\xe5\x08~\x8d\xc8]\xf8\xfc,\xa9\xc1\x1a\x19\x0c\x91\x0b@\xf4$\xa3#\xc7\xa2Z\\\xc8NTW\xcf\x17\xe6\x9f\x82O\xe2\xda\xe9|\xc5\xb1\x10\x19\x0e\x94-\xe4\xd7\x12r\x95\x93\x96\xa9\x8d+\x81A\x1f\xde\xb2\xb1\xa8\\\xa6\xdd.\x17\xc9\x0e\xbc\x8d\xc2\x98\xf6\xf2\xcd\xd1Jh\x9bNt\xd2V@%\xad'\x8a\x8bu\x18x;\xb6\x8c\xc9/w\x00\xc4\x89\xd2\xb3\x83\x8c\x8a\xd9F\x1a\xb0\x9b\xf9K\xf1\xde\xc7\xe7T\x98\x92\xaa\x1f7\x18x\xb38\x15\xeeL\\\xed\x9d;Z\xec\xe3R0\xd0\x89G~D\x0e\xd6\xd2;\x06\x13\x98\x99\xf5\xdc\"\x07#i\xf2'z`\x85\xb1\xe7\xe5v\xf2\xd6@\x02\xea\xcb\xe8\xaa\xd2:r\xf6\x19\x97H\x19I\x87\xf0y6\x80\xd6.\xe3\x0b\xa3\x8f\x1dO:w\xce\xb6\xd5\xdcQ\x20\x97\x99\xd6\"\xfd\xa4ej\xe3J`\xd0\x85\xc3\xc6\xa2r\x7f\xb2\x05\x20'i\xbd0\xa6\xbd|s\xb4\x12>\x9dQ\xb2\xb2\xbd7A\xc7>F\xa2\xb8X\x07I;\xb5\x8c\xcd/w\x00\xc4\x89\x12I\x9am$\x03\xb3\x99\xffE\xf2\xda&\x9f\xe7\x93\x0a\x92\x16\xe2T\xb8\x1d\x8c\x81\x0e\xa6\xc9\xfa\xb1\xfc\x14\x07\x03\x9d\x83\xf4rY\xa2\x0a\x7f-\x97\xa9s#~\x91\xc3ty\x8c\x1eXal\xaf\x1cEZ@\xd5\xa3t\xd5\xa3\x15\x9aD\xcc%\x14\xbd\x8b\x0e\xfa\x10Z\xb7\x8c/Lx\xee\x1c,*Y\xdb\x19\xad\xb6\x964S\x1bW\x02\x83.\x1c6\x16\x95\x0b\xe6\x84m\xf2\xdf\xf1kL&\xb3Ha{\xf9\xe6\xe8%\x9co_R*\x17\xbd\x8a\xb8\xcd\xb8X\x07I;\xb5\x8c\xcd/w\x00\xc4\x89\x12I\x9am\xa4\x01\xbb\x992X\x8f\xe2\xafa\xab\xa4\x82\xa4\x0d\x9c\x0a\xb7\x815\xd0!~\x1bG\xec\xc3\x1d\x0ct\x8aV\xd2\xb7\x869xPyG/\xe5,\xb7\xc8A\x0fa;\xe93\x8c\x03+\x8c=KU\x80\xe8\xe5\x9b\xfa;\xe8\xaa\x92:2t3\xf5\xd2\xb4\x9b)\x8a\xa0\x83~E\"laI\xe7\x0e\xa9\xb8\xb4\x82\x0c\x0c\x17\x95\xf1k\x09Z/m\xd4\xe6(i6\x16\x95\x9b\xe6\xdc\x84(m\xaf\xa2\x1fF\xd2F{\xf9\xe6h%\xf4\x92\xdby\xfe\x1e\xca\xe5\xbf\x09\xb8X\xa7^\xda\xa1el~\xb9\x03\x20N\x94H\xd2l#\x0d\xd8\xcd\xfc\xf4B];\x1e\x90$%\xb5\xc1tX\xbc\x81[\x92f\x0dt\xc8TZ\xbbL&\xc6\xc9@\xa7p&\x99\xd7&\xc8Y\x13Qfc\x0d\x1b\xb9E\x8e\xeaj\\\x8c2\xd1\xd5\xcfTqlE\x09.\xb7/\x97\x04t\xd1\x80\x10\x19\xdb\xc7\x8a\xaa\xc9@o\x15\xb9\xee\x9e\xb7\x16\xd7[a\x92\x08[\x18+H\xbd\xe2\x12rz'\xca\xcaL\xcdA\xfaI\xcb\xd4\xe6(i6V\xd8\xe3\x0cL#\xe3\x9a\xfai\x03\xc8B\xd2\\s\xf4\x12\x1a\xe5w\xc9[u=\xb7\x19\x17\xeb\x20i\xc7\x961\xf9\xe5\x0e\x808Q\"I\xb3\x8d4`7\xf3\xcf$\x17>J\xab\xf9\xe6\x18\xc7\xcdt\x00F>\xaeI\x9a5\xd0A=\x01;oig\x03\x9dB\xb9\xa8\xe1\xdd\xcejz\x93\xe0:yY\xa8\xb3^\xde\xce/\xb24\xfa\x7f\x8dc?%\xd7=\xeb\x0e\xa0\xde:_\xf4\x94E\xec\xe1\xbc\x99\x8d\x0d\xd3d\xdf\x9b\x87q7\"\xaf\xebZ'\xd7\x92\xd5\x91\xdc\xd2\xb6\xaeUt\"X5\xfd\xd5\x8d\x15$\xe0\xf0\xb4\xd6X\xc8\xd7\x1b[V}\x9c)\x8c\xabB\xaf\x18\x9f\x88K\xda6\x96\xcb\x85\xaf\x1e`\xd7\x0e\xee\x8bF\xfdu\xd1(I\x89^\x1b_\x82\x8er]\xf9\x00\x9d\xb5\xe8\xb1\x89\x03\xf4\xeam\xd2\xa5\x86\x90\xfclW=9g\x99\xc2\xd8\xf6\x1a\xcdaKh\x94\xf3\x1b\xba\xf0^D\xb860M\xff\x94\xdc\xc4\xd5\x1a\x8d\xf2\xfd[:-c\xf3\xcb\x1e\x00Q\xa2\x98\xec0\x15\x1b\x8dda\xf3\xeb\x97k\x0eD\xaa\xa6\xf4!\xee\x10\xea\xc7\x8d\xad\xcd\x1b\xb8&i\xce@\xe7\xc8\x16\xdbPG\x03\x9d\x8a\xf6\x86\xd2\xbc\xe9\xea\x8f\x8f\x91\xea\xc2)U]\xe6E\x86\xf8\xaai\xb9\xd5\x07\xe9\xfd\xbf\xb2\xef0\xf9\xb9\xf3Y\xab\xd8\xbe\x85\xd3J\xd6\xbe\xe9#\x01\x89\xd7\xcb\xf2\xca\xda\x94+\x00}Kf\xe6Wt\xd2\xa5\xea\xdc\xfc\x9a\x17e\xb9\xbeH\x96C\xf9r^H\x99\x0dj\x85\xf1Uh\x15\xa3D\xeb\x1c\xff\xf4\xa5\xeds|\xd5\xec\xda\xdf\xaa\xd3I\xf2U\xa1\xd7\xc6\x97\xa0\x11/\xa0\x91>\xfa\xd3\x8b\x1e\xdb\xabl\xff(2\xd3U\x9eWNv\xcd(\x8ck\xaf\xd1\x1c\xb6\x84\xedU\x8d%\xbe\xa2\xea\x08\xdf\x06\xa6\xe9uj{\xb9\xee7\xbd\x961\xf9e\x0f\x80(QLv\x98\x8a\x8dF\xb2\xb0\xf9-m\\\x92?\xa3V\xb9\xd8b\x1cB\xed\xb8q\x87\xc5\x1b\xb8'\xe94\x00\x03\x1d\x00H\x95\x11!i\xf8\xafJ\x00H\x95\x11!i\x00\x00R\x05$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9e\x02$\x0d\x00\x9eb$I\x1an\xf5\x06\x00G\xdc\x93\xb4n\xa0\x83\xd0\xc0\xae-\x81-\xbb\x06\x1c6\xb03\xd0\xd1\xb9\xf4\x86)\xe9x\xde0\x88Mf:\xc9\xff\x0c\x92'\xd8\x1a\x8e@\x89\x869\xd3|\xd3\xeei$O'\x91\xab\x12\xd4\x09\xc7\xf4\xbf\x84Cm\x83\x90\xce\xd2\xdc\xb2Py\xd2\x7f\xa4\xda\x93\x86\xa5\x0d0\xcc\xb8&i\xc3@\x07\x9dk\xda\xdas\xb4gK\x93\xfd\x93M\xec\x0ct\xd26\xc5\xb9\x88\xa4\xe3y\xc3\x206\x99\x19\xd8\x17-Xt\x98s\x04\x8a\xc8\x0b\xda\xba\xda\x17\xcaQ\x14\x8f\xc8\xb9Q\x14\x0b\xc9\x11\xf3\x03#\x84m\x18\x9a/\xcc\xebrm\xe7Z9\xdd\xc7\xf8\xa7ai\x03\x0c3\xaeI\x9a1\xd0\x09\xb7\x90\xe7\xfe\x0c\xb6\x84m7\xb03\xd0I\xdf\x14\xe7\"\x92\xba\xe7\x0d\x83\xb5\xc9L\xe1Z\xc49\x02\xad.\x20\x02\x8eOYM\x9e\x08X[\x87\xd0\xc7r\xf2v\xa26\x0c\xc9\x17\xa6On\xc0\xaf\xab\xd3\x954J\xc7\xff\x02\x18V\\\x934c\xa0\xd3\xb1\x95\xae\x08\xda?\x9d\xdf\xce@'\xe9\xa9\x9f\x97=\xd6&3T\xd2\x8c#P5}\xbe&\xaa\xa8!\x92\x8e\xe4\xc7\x84\x92\x161\xa4\x07_>5\x9d|\x81\xfcI\xe6\x1f\xcf\x97\x0a\x20\xe9\xcb\x04\xf7$\x8dt\x03\x9d3M\xe13\xf13\xe1\xa63v\xb1v\x06:\xe9\x99\xe2\xe8\xf67HhSC\xe6\xaa\x8d\xa8QV&\xe5Z\x09\x16\xce2ix\xde0\x01\xbc\xc9\x8c\x09*i\xc6\x11\xa8Jy\xb2\xe6\xa2*\"\xe9\x8f\xcbCI\x926\xda`a\xd7\xc3y\xff\xe8\xf0N8\x1a\xd3\xd6\xd2\xb7\xd7\x8f[l\xc6fG\xe8\xa5\xc3x\xd3\x20\xab\x03\x00\x0c'.J\xda0\xd0\x89u\xe0\xa5\x0e\xfb#og\xa0\x93\x96)\x8ea\x7f#\xb6\xa9\x89E\x0b\x1a\xfe\x86\xfe\xd6P\x10\x8d1%X9\xcb\xa4\xe1y\xc3X\xf0\xb0&3f\xa8\xa4\x19G\xa0\xb2et\xf5\xb22*\xe9\xd6\x05\xc9\xbd\xb4\xde\x06\x0b\xbb\x1e\xd6\xfb\xc7\x80w\xc2QQ\x1f\x96\xaf\x20\xda\x8c\xcd\x8e\xd0K\x87\xf1\xa6\xb1:\x00\xc0\xb0\xe2\xa2\xa4u\x03\x9dxGKO\x7fOK\x87\x9du\xa5\x83\x81N\x1a\xa68\x8c\xfd\x8d\x85MM\xfdR\xfc\xb2\xac\xde\\\x82\xd0Y\x06\xa5\xeey\xc3\xd9\xc98\x0c\xbc\x19G\xa0R\xe5\xf9\x89\xb5\xa5T\xd2\xa7sO\x8b\x06\xde\xda\xd3p\x85v=\\\xc5:&o\x1a\x85\xc3\xca\xc5\xf4x<n\xb5\x19\x93\x1d\x0b/\x1d\xe3\x01\xc1V\x0eF\xc0p\xe2\xa6\xa4\x91\xfa\x1c\xefp\x0b\xbd\x00\xd4bg0\xedd\xa0\x93\xb2)\x0ek\x7fcaS\x13\xc9\x8d\xa1X^\xd4\\\x82\xd0Y\x06\xa5\xeey\xc3\xd9\xc98I\x1a\xe9\x8e@j/\xbdT\xe9\xa5\xd1\x82V[I3\x15\xeb)\xe1*6\xe0\xbdi\x14\xfeN{\xe9e\xf4w2\x8b\xcd\x8c\xecXx\xe9\x18\x92\xb6r0\x02\x86\x13\xd7$m\x18\xe8$\x02\xfb\xb5E\xcbh\x07\x03\x9d4LqX\xfb\x1b\x0bG\x95Da'\xea,L\x98K\x10:\xcb\xa0\xd4=o8;\x19\x07I3\x8e@UJ\xf3\x17*si\x14*\xb3\x954S\xb1\x9e\x12\xaeb\x1d\x937\x8d\x0a\xad\xfdt\xa7\xbc.n\xb1\x19\x93\x1d\x0b/\x1d\xa7\x03\x00\x0c/nI\x9a1\xd0\xd1$\xfd\xa1\x8d\xa4\x1d\x0ct\xd20\xc5a\xedo\xacljV-D\x8b\xe8\x158\xde\xd5E\xe4,\x83R\xf7\xbc\xe1\xecdD\x92N\xd0\x89/\x15\x15\xe3\x08T\xad|\x93\x94\xd7(\x92\x8e\xe5E\xd2\x914I\x09W\xb1\x8e\xc9\x9bF\xe5\xa9\"\xf2\x85\xd7I\xae4\x887c\xb2c\xe1\xa5cx\xd3X9\x18\x01\xc3\x89[\x92f\x0dtv\xa8\x03\xef\x1d\x96\xc1N\x06:\xe9\x98\xe20\xf67V65\x07\xfc\xa7\xfc\xc4\x07\x83/A\xe8,\x83R\xf7\xbc\xe1\xecdD\x92n#\xaeUg\xe5\xd7\x11\xe7\x08\xb4:\x9ff'\xaf^\x914\xaa[\x96\xa2\xa4\xf5\x94p\x15\xeb\x98\xbciT\x94\xdf\xa5\xab\x89\xa4\xc5\x9b1\xd9\xb1\xf0\xd21\xbci\xf8\x03\xf0\xf1F\xb8\xbd\xecR\xe0\x9a\xa4\x19\x03\x9dXsK\xf7\xb1\xee\x96f\xebK\xdeN\x06:\xe9\x98\xe2\xb0\xf67\x1665\x89\x1953\x94\x11\x83^\x82\xd8Y&-\xcf\x1b\xc6\xbf\x855\x99a\x1a&/\x08\xbdYQH\x9c\\\x18G\xa0\x88\\\xd3\x19\xed\xac\x91;\xc9\xddc\xa1\x18\x8a\xe6\x99$m\xb4\xc1\xc2\xae\x875\x8e1\xe0L|\x0cZ\xe5\xfa\xaez\xe5\xee1\xe1fLv,\xbct\x18o\x1a\xee\x00,\x94\x17\x98\x8b\x02\x86\x01\xd7$\xcd\x1a\xe8\xc4\xf7l\x09l\xddcm\x8b\xe5h\xa0\x93\x96)\x0ec\x7fceS\xd3\xea\xd7\xee\x9e\xd2J\x10;\xcb\xa4\xe3y\xc3\x04p&3\x0c\x9d\xe5y\x05\x8f\x1e&K\x8c#P\xa2aN\x81\\0\xa71\x81\xc5M~\x0dNT\x14\xf1_\x05F\x1b,\xecz8\xef\x1f\x1d\xce\xc4\x87\xa1\xb34\xaf\xa2\xab\xa4\xcbj3dd\xc7\xc2K\x87\xf5\xa6a\x0f@\xfbt\xe6\x072`\xd8pO\xd2i\x00\x06:\x00\x90*#B\xd2\xf0_\x95\x00\x90*#B\xd2\x00\x00\xa4\x0aH\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\xda]6_0N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d@\x86\x01\x92v\x17'\xc1:\xe3T\x03\x90a\x80\xa4\xdd\xc5I\xb0\xce8\xd5\x00d\x18\x20iwq\x12\xac3N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d\x97\x92K\xfbD\xa2K[\xdb\x88\x01$\xed.N\x82u\xc6\xa9\x86KF\x7f\xe5u\xd2\\\x84\xe6I9\xf3{\x9cb/\x1c\xb56\x20\x09\xefK:8\xf9\xa4S\xc8\xa5\xe1\xcc\xe4`\xf2J'\xc1:\xa3\x16\xe4\xfan&&N\x0ct\x1c%\xffa\x17\x98\x983@W\x09\xf7\xf8\xe2\xa0\xd5\x06$\xe1\x9e\xa4\x19\x03\x9d\xc4\xfe\xad\x81\xad\xf6\xdf\xec\xff\xbb\xe1;\xb3\x9f\xfe\xc26D\xcc\x1ai\x85\xbatd\xb44\xd164\x897\x8a1_\xff\xfe[_:\x05j|2\xab\xf8\x01\xeb\xbf\xae\x19\xf5\\\xd2\xbaoK\x84\xeb\xff\xaf\x93pu~v\xa5t=\xb7B-[\xdfM!\x1d9C\x12\xd7\x99\x1f\xe4d\xdf\x9e\xe2\xf8\xb6[\xda\xa6-\x86%\xe595\xc2=\xbe80\xb5\x01<\xaeI\x9a1\xd0I\x04\x03\x1f\x1e\xd9\x1b\xd8k\x17\xfe\xe4}o\xbd0\xfb3\xbb\x081\xebG5\xe9\xcb\xbb+\xb3l\"\x05|\xf6\x9b\xe2\xb7?z\xff\xf9\xe2\xd7\x9c\x025\xbe\xfc\xdd\x86;m\xfe\x1c\xbcb\xbdy\xd5+\xdf\x96\x1e\xfc\xc9\xe37KwY(8\x99\x9f\xdcr%\xf7\x99\x16\xc3\xee\xa6\x88`\xf6\x96\xe4\x95;l3N\xb8\xed\xba\x97*\xb3\x1d|\x8d4\xf6Hacq\xb7\xba$\xd8\xe3\x8b\x03S\x1b\xc0\xe3\x9a\xa4\x19\x03\x9d\xfd\x813t\xc5\x80u\xf4g\xc5o\xa0/\xfea\xfdw+\x8e\x8c^\xcc|Z\x91\xaa\xa4ONUF\xb1\x1f\x14\xff\x11\xebtC\xf1_\xec\xc3\x19^\xb3\x934Z\x9ee\x1e+n~B\xfa)\xd6\xe5\xad\xd2\xcf\xc4\x02\x16\xf0\x7f\x92%\xcd\xef\xa6\x08QW;y\x9e`%\xcb\x19i=J\xd8\x1c\x15\x0eC\xc7\xecb\xf2\x1e_\x1c\x98*\x00\x1e\xd7$\xcd\x18\xe8\xa8\xce9M6\x9d\xc6'\xc5\xefY\xff\xd1\x86\xca\xeb\xd832eIwK\xdd\xf4\x9dJ\x1a}~\xf7\x06\xfbp\x06{I\x0f\\WiZ\xa3J\xfa\x97W\xdd*\xd6\xaf\x00\x81\xa4\xf9\xddL\x95IN\x92>$\xa51\\\x17K:y\x8f/\x0e\x20iK\xdc\x934\xd2\x0dt\xb6*c\xa8\xa0\xd5\xec\xe8\x8b\xef\x14S^FhCq\xf1;\xea\x8cuC\xf1\xac\xb7^~`\xf6\xd3\xffCc>y\xe6;\xb3\xeeS\x97\x0d\xe2c\xb5\xde\xab\x7f\xfe\xb8\xab\xbf\xa5\x0e\xbc\x9b&gOxD\xd1\xc0\xa1o\xe5\x8c\xbe\xee\xf6~n\xa3\xf5\x13\x82=ROp\xc2K\x9a\xa4\xd1\x86\xef\xe0\x97/\xdf\xfe\xf1\xdd\x0f\xbc\xfc\x99\xd61\x82\x00\x00\x0f\xfaIDAT9\x0d1j\xfb\xf2\xad\xc7f?\xfc\x06\x9dl\xff\xcf\xf3\xdf\xbd\xf7\x19e\xe0\xad\xc7\xfeqVq\xf1\xa6O\x9e\xbf\x7f\xf6\xd3\xff\xa4\x1b.\xcf6=`M\x95\xf4\xe6[\xc7\x90\xd7\x07o\xbc\xea\xfao\xfc\x92*\xf5g7\x8f\xb9r\xccW\x7fN\x16\xbfw\xc3U7|\x8f\xae\xfc\xf9\xd7\xae\x19s\xb3:\xf0\xd6b\x91\xb1\x9b-xZ\xbe\x02\xad\xc0\xaf-l\x1d\xe7\xb2%iT3Y\xfa\x814:\xf0\xc8\x84\xec\xdbq\xcf\x19\x94\x14&\xd1\x10-%\xfb\xaf\x90\xa4\xe5\x87\xe6\x8f\xcf\xbe}0\x9e\xa3\x04<BJ\x987n\xf4\xb8\xb9\xea\x04\x99\xc9\x19\x93I<\x81\xd6E\xd6\xcd\x8c\x8a\x93\xf6\x18\x09kc\x16q\xc0K\x93\xb2'\xe1\xf4#~-K\x18$m\x85\x8b\x92\xd6\x0dtv5\xd1g`\x06\x04\xd3=\x85?|\xf4N\xf1k\x1f}\xf4W,\x9b\x8ff\xbd\xa6\xceX\xff\xfb\x9dY\xc5\xf7\xbd\xf6\x9b\xbb\x9f!\x11\xffy\xf7c\xbf\xf9\xe05<:\xe7\xd9\xab\x9d[\x87\xc6N\x08\x04o\x93\xa8\xa4+G=\x14\\\x9f3\x89\x0cE\xc3c'\xad\xe9X!\xad\xe16\xea\x9f/M\x94n\x92\xe6\x1d\xd3%\xfdV1\x1e\xf3\xbfP\xfc\xf2\xfbo\xdc\xf70\xb9D\xc7\xd4\xf6\xc2\x9d\x9b\xde\xdft\xe7\xf3x\xe9\x93\xbb\x1fx\xfb\xbd\xa7\x8b\xa9\xa4\xf5\xd8\xcf\xdfy\xe7\xfe\xef\xdf\xfd\xdd\x97\x9f\xff\xfa_i\xd9\xbb\xccg\xa2&\xe9\xefIX\x9d\xb7H\xb7>\xfe\xbd17\xfc\x0a\x7f\xfe\xc9U7|\xfb\x89\xbb$\xa2\xe4[\xae\xbc\xeb\xf1\xbb\xae\xbc\x85\xc8\xfc\xaa\xeb\x1f|\xfc_%*i=\x16\x19\xbb9\x10\x1e\xbb\xfc$:\xb9\xfc\xea0\xdfi\xef\x0d\x87\xb3\xe8\xd5\xb3\x9e\xe6+\xa4\x9c\x15k\xc6~\x8bxz\x87'L\x0d\x87\xc3\xf4\xaa\xa4\x9e\x92XK\xf3W&\x8c\x1d\xf7\xc8|\xe9(\xda\x1fn\x96V\x84\xc3D\xbbA\xa92\xdc2w\xd4\x1e\x12\xcb\xe4\xcc\xc8\xe4\xe0\x89\xf0\xe4\xab\xf5J\xe39\x93w\x1dS\x87\xfaI{,\xae\x8d\xad\x18Uf-\x0f.\xcf\x9a\x8f\xb8\xe60\xf0\xb5\x01<.JZ7\xd0\x19h\x0a\x9e\x8c\xf5\x07\x03-\xd6\xa1\xc6\xc0\xfbNr\xadJ\x19\xde\xdey/\xee'\x9f\xbf\x0f/}~\xff\xd3\xb8K\xfc\xe2\x1d\xf3\xf5\xb3\xa0tDY\x98:\x9e\\\x86\x9b\x94E\xd7\x05\x10\x19\xb8\xe1n+6\xee\xf68y\xda\xb0\xd9_o\xdbhi4\x1d2\xa8\x92~\x1fO\xa6\xdf+~\x1b/\xfd\x1e\x0f\x12\xd8\xda\xde/\xfe\x80\x86\xbd\x8f\xd0\x8f\xbfOV>LZ\xc6\xc4\"\xf4p\xf1\x93\xff@_\xaa\xd7\x01\x8eJ\xa6\xef-M\xd2O\xe0\xc9\xf4\xe3\xd2\x83x\xe9\xdf\xa5\x1f\xe2\x81\xf85\xff\x8a\x85\xfd\xcb\x1f\xbeB\xfe\xf2\xc4f\xf5\xf5\xc6k\xb1\xee\x7fu\x03\x91\xb4\x11\x8b\x98\xddD\x95d,=O0\xd6\xcdV/\x88g]\x8d\xc51?\x87.\xeb\x03o&%x\xadt\x1b>&\xf4\x9a\x98>\xf0\x1eh!\x02\xba\x89\xfc\x0e\xcc\xe4\x8c\xd9l.\xee\xce\x99A\xfa6\xfc\xf1\x9b\xcab\xd2\x1e[\xd6\xa6/n\x93\xc8L\xacC\xb9\xa6\xcd\x04\xe8\x98j\x038\xdc\x944R\x9f\xe3\x8d\xce\x04q\x7f\xbd;hs\x94\xc4\x92~A[|\xbf\xf8\x0f\xc2\xcd\xb6\xaa\xe7\xfa9z\x16\xa1\xe5D\xd2\xf3\xc6\xc7\x071\xe3*\xc9\xb9\xb3_\xb0\xd1\x99GF\x8f\x93\xc6e->\xa3K\xfa\xed\xe2\xcf\xd0\xf3\xf7\x7f\xf1O\xccw_\xe0j{A\xf9\xcd\xea\x81\x0d\xe8\xb3\xe2\xb7\xc8\xd2&\xd2\x1c&\x16K\xfa\xce\xbf\x1ae\x1fUNd\x03M\xd2\x0fJ\xafl\xbe\xf9\xda_\xfe\x0as\xcd-\x9b\xb5\xb5\xb4;V~\xb3\xba\xfe\x96\xcd\xaf\xd0N{\xf3]D\xd2F,2v\x13w\xa1\xd9\x03h\x20[\xf0@t]\xd2D\xee\xea5\x05]\xd2LJ\xf0Z\xe3\x82\x961\x97>\xf9\xd2\xed\xe3\xc7J7!.g\xccfG\xb7\xe9?Fc\x06r\xc6\xaf\xdf\xa16)i\x8f-k\xd3\x17+o\xa2o\x13\xcd\x01:|m\x00\x8fk\x926\x0ct\xc8[\xecL\x025\xd9xb\x89%\xad/\xbeQ\xfc\xb9p\xb3\xdd\xea\xa8O\x1d\x99\xd2Sy\x92:\x89\xc4]\xcezI\xf4\xe8\xf059\x01<\x97^\x9f\xf3\x9c.\xe9_\xdcM:[\x85\xa7\xb9\xda~\xfc4}{\xfa1\xdc'\x7fD\x96hs\x98X\xfc\xe11\xa6\xec=\x92i'5\xf1~\xe3\xaa\xcd\x9boP[\xf6Uu\x1c\xaep\xe3W\xe9\xdbWo\xdc\xfcS\xe9'\xba\xa4\x8dXd\xec&\x1e\x92\xe6lE[s\x12(\x09]\xd2\xe4\xdd,i&%\xf8\xc3$}#]\xd2{\xae\x1b\xb7xk\xf86\"5&g\xdcfxv\xbbG\xfb\xc3\x1e\xc9\xb0\x0aO\xdac\xcb\xda\xf4\xc5\xa9J\x07\xff\xcd\xc9\xa6\x00\x16\xa66\x80\xc7-I3\x06:\xf8D$K\x87\x02\xfcU*\x0e\x93\xa47\x99$\xfdA\xf1\xef\x85\x9b\x0d(SHtF\"\x17[\x10\xbd<6\x7f\xfc^\xcaI2\xb6\xfbP\xb4U\x9c^\xf1&\xf3{E\xd2_\xdc\xf7\x0c\xe9y\x7fO\xf9\x8c\xab\xed\x85\xfb\xc9\x95\xb1/\xef\x7f\x01\xfd\xaf2\x91\x7fA\xe9\xa5\xf5X,\xe9g\x98\xa2W\x8c6\xfd\xca\xab]\xf1\x1es\xf3\xe6\xcd_\xbb\xf6\xa7\x94\x9f\xf3\xbd\xf4\xb5\xf4\xedZ\xbd\x97\xa6\x97\xc7\x8cXd\xec&\xe6\xa1\xb9h\xeeC(\x19KI\x07\x8er)\xc1k\xbf\xa5o\xa4Kz\xe2d\xd2'~\x8bH\x9a\xc9\x19\xb7\x99\xc5\x15\xef\xe4=\xb6\xacM_\xac\x1cO\xdf\xc6W\x9a\x02X\xe0\x8a\xb7%nI\x9a5\xd0\xe9\x09\xe0\xa3{\xae\xd9\xee\xde\x01C\xd2\xb3\x7f\x815\xf6\x98I\xd2\xff\xb8\xefIr\xd9\xea\xe5\x97\xcd\xdb\xcd\x1b\xaf\xf4X\x93\xc7\xe1a\xf4\xa1,r*w(\x97\x83\x97?G~a\x99J\x84\xfbP\x92\x06\x8e]}\x8c\xbe+\x92\xdeD$\xfc\x8123\xde\xf4\x1b\xae\xb6\xf7\xe9\xdaw\xc8\\\xfa\xb1\xfb\xb1\x82\xff2[\xf9\x86\xd1cyI'&~\x13\xf1\xa8\xe2\xbd\x8b\xbc>Af\xd1x\xf9\xdb\x9b7\xbf2\xe6_H7}\xeb7\xc8\xac\x99\xac\xfd\xa1\xf48\xee\xb0\xafy\x85\\##\x926bI)\xdan\xe2\x0e;\xab?Kt\xb2\x8b$=u*B'H6\x98\x94p?m\xe9\x92\x1eGt\x95\x98D$\xcd\xe4\x8c\xdb\xccB\xd2\xc9{lY\x1b3\xb5'c\xf5f\xa5r\x8b_\xda@\xd2\x96\xb8&i\xc6@\xe7P`\xcf\xb1\xfdMA\xeb\xc9\x91r\xc5\xfbw\xf4~\xd0\x1f\xdf\xf7\x9b\xd7\x1e+\x9e\xf5\xf6\x7f\xff\xf5\xa3Y\x1b~\xf7\xe5\x1f6\xcc\"W\xc2\xffs\xf6\x03o\xbd\xff\xb22\x9de94J\xb9\x9a\xdd\x9d=n\xc5\xf2\x9cQW\x90;[\x16K\xf3Z\x82\x95\x12\xb9\xddjG\xd6\xc4\x97\xb6=\xa4L\xb4\x05pw\x8fm\xfa\xfa\xf3\xef\xbc\xf7\x02\x15+S\xdb\xf3\xc5\x9b\xde\xdbTL\xaex\xffq\xf6w_\xdbt/i\x19\x13\xfb\xcf\xff\xfa\xe8\xfbO~\xf4\xd1'j\x81k$\xf3o\xef\xf4\xee\xb1'nQ\xee\x1e\xbbK\xfa\xda\x0f\x1f\xbf\x85^\xf8\xfa\xc9U\xd7\x7f\xef\x89[%r\xa3\xe8\xd7\xa4\xbb\x1e\xc7\x7f\xc1K?\xbd\xea\x9ao\xdf5F\xba\xf2\xc1\x9f1\xb1\xa4\x14m7\xb1\x84\xc6\xdd>\xce<\xee\x8e\xef\x0e\x87\xb3*\xc3\xe1s\xa8?<\xbar7\xda[9\x9a^\xc7^\x91\xb5f\xebm\xd9\xe4\xcbKO\xc9\xe0nz\x1d\x9c\xce\x83\x95+\xde\xbbIi+\xa4y/=7I\xcaY\xb3\x9b\xcb\x19\x93I2\xb9\xd1G\xd8\xc6D@\xb0\xc7\xe2\xda\xd8\x8a\xd1\xfcQ\x8b\x83\x8bG\xcd7\xad\xe5\xd8\x9b4\x9e\x07T\\\x934k\xa0\xf3aK\x20\xf8\xa1`\x02\xa8\xf2\xf9\xbdtf:\xeb/\xe4\xc3'O\xce\xbe\xfb\xe9M\xc5\xc5\x1b6\x90U\x7f\xb8\x1b\xbf\x92\x1bA\xfe\xf2\xccw\xef~\xec\xbd\xe4m\x97g)\x87\xfe\xd0\xdc\x9c\xf1\x8b\x03WH?\xc0\xcb\x1d\xb7\xe5\\=U\xf9\x11\xfc\xd0\xbcqc'oM\xdeL\x81\xde\xe3]|\xbf\xfaE\xf1\xc1\x93\xdf\xb9\xf7\xc7\xef\xd3E\xa3\xb6/\xdexx\xf6\xc3o\xd0/\x9bO\x9e\xbe\xf7\xfe_\xbc=\x8b6G\x8b\xfd#3\xa9&\x17\xaf\x92n\xf2R\xee\xf1\xbeV\xf9\xd9y\xf3\x13\xff2f\xcc\x8dO\xd0\xc5\x9f\xdd|\xcdU7>N\x96~E\x7f\x97\xfe\x15]\xf9\xd51\xd7~\xe3\xc1+\xa5[\x99XZ\x8c\xb6\x9bx\xae\x9b\xc5\xff$\x87\xd93J\x99\xbc\x06\xd0\x0f\xf0\xeb\xe8\xeel\xfcJ\xf2\x10\x7f('{\xaa2%\xd5R\xb2_\x09%=k\xfcj\xbax\x05\xf9\x95+\xb1fBV\xce\xbc\xc0\xf8\xd1\xb8_gs\xc6d\x12\x9d\xb8b\xde\xfe\x13\xf8\x20\xc6\xfb\xf7\xce\xcb\xd2\xe6P\x82=\x16\xd7\xc6,\xe2\xea\xd6\xdf\x94}\xd3K\x09\xd3Z\x0e\xad6\x20\x09\xf7$}\x89xht\x8bS\xc8\xa5\xa2yt\xa5\xf9\x8e\x89\x8b\xf6\x9fX\x97\xc1nn\x9dH/y\xcd\x95\xa4\xafh\x17\xcaE{|\x91Pk\x03\x92\xf0\xbc\xa4\xd1\x9aq'\x9cB.\x0dg\xae{.y\xa5\x93`\x9dQ\x0b\xba\x1cv\xf3\xc4~\xdc;\xf7\x7fxL\xfb,\xdc\xe3\x8b\x06\xad\x0dH\xc2\xfb\x92\xbe\xbcq\x12\xac3N5\x00\x19\x06H\xda]\x9c\x04\xeb\x8cS\x0d@\x86\x01\x92v\x17'\xc1:\xe3T\x03\x90a\x80\xa4\xdd\xc5I\xb0\xce8\xd5\x00d\x18\x20iwq\x12\xac3N5\x00\x19\x06H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\x1a\x00<\x05H\xda+\xc0\x0d\xcf\x00\x05$\xed\x09\xc0N\x06\xd0\x00I{\x01\xb0\x93\x01t\\\x95tw@\xfd\x97\x9d\xfe`\xa0\xc3\x9d{\xf0\x19g\x19\x0b\xb7\x18{S\x9c!\x13\xbc:\xf5\x07\xe2i\x8d\xac\x94$)\xfb\x90\x20\x00\xecd\x00\x1d7%}.\xb0K\xf9\xef\xf9c\x81\xf0\xa1p@\xff\x07\x9eK\x09\xe3,c\xe1\x16\xe3`\x8a3T\x16KN\x06\x19\x06Z#\x8f\x86\xc3/\x09\x9f\xe6\x01v2\x80\x8e\x9b\x92\x0ev\x1c\xa3\x92N4\x93\xff\xdf\xdf\xd5\xec\xca\x05\x1e\xbdRk\xb7\x18{\x07\x8d!\xb2\\Z\xee\x14b`dF\xfc\x80\x1exl\x0f\xa0\xe3\xa2\xa4\xbb\x9b\x06\xfa\xa9\xa4{\x02\xe4\xa1\x93\xd4\x1e\xcbE\xac\xddb\x86E\xd2+\xec\xad&\xad\x00I\x03\x0e\xb8'\xe9s\x81CH\x91t\x872\x11\xdc&x\xfc\xf4\xf0b8\xcb\xb0n1,\"S\x1cda\xd7#r\xcd1\x1b\xe8\x18\xacQ<>\x8e\x8eU*\x96\xc6\xb2\xf3\x0e\xc6\xe8\x86i$A,^\xb0\x93\x01t\xdc\x9341\xb7S$\xbdUyn\xd6.\xcbg\x80\x0d\x1b\xba\xb3\x0c\xeb\x16\xc3\x204\xc5\xb1\xb2\xeb\x11\xb9\xe6\x98\x0dt\x0c\xd6K\xd4\xa65\xde\xb4^!\x10g\xfe\xc8\x18\xdd\xb0\x8dDBI\x83\x9d\x0c\xc0\xe2\x9a\xa4{\x88\xf7\xac\"\xe9&\xe5\x91v{\xec-\x92\x87\x09\xedi\xb8\xc2\x81\xb7\xd8\x14Gl\xd7c\xe5\x9a\xc3\x19\xe8\x18\x04\xd4\xe7\x92\x9e8\xa2`z\xcc\x10kt\xc34R$\xe9\xb9\x12\xd8\xc9\x00\x06nI\x1a\xcf\x9c\x13\x89\xc4\xd1\xa6DBw\xae\x0c_\xfa^\x1a\xd9K\xda\xc2\x14Gl\xd7c\xe5\x9a\xc3\x19\xe8\x184)\xcf\xca=\"i\xf0O\xb6e\x8dn\x1c$\x0dv2\x00\x8b[\x92>\x12\xd0\xe8G\x1d\x8a\x96\x82\x97|.M\xb0\x93\xb4\x85)\x8e\xd8\xae\xc7\xca5\x873\xd01\xd8u\xb5\xa2\xcdpP\xc1\xf4+\x14\xfb\x08}\x07I#\xb0\x93\x01\x18\xdc\x92t\xe2$\xa1;p\xf2d\x02\x8f\xc1\xc9\xaf\xc1\xe7\xdc\xb9\xe2m'i\x0bS\x1c\xb1]\x8f\x95k\x0eg\xa0\x932\xe9I\x1a\xaex\x03:nIZ\xa1_\xfd]\x9atQ;\xdc\xf9]\xdav.-6\xc5\xe1\xedz\x8e<\xa7\x0c\x99\xad\\s\xac$m\xbf\xb7\x20i`\x88\xb8)\xe9D\x7fw\xa0\x9fx;\x1f\x0d\xec8\x12&~k\x97\x18\xc3Y\x86u\x8ba\x10\x9a\xe2\x98\xecz\xe6J\xb7+\xc1\"\xd7\x1c\x93\x81\x0eCp\xac\xcd%-\xd6\xe8\x86i\xe41r\xf7\xd8\xfap8)S`'\x03\xe8\xb8)\xe9~2\x95\xa6\xbf\xb8\xf6o\x0b\x04]\xb8\xc7\xdbp\x96a\xddbXD\xa68\x88\xb7\xeb\x09\xe4h\x96Z\x02\xd7\x1c\xde@\x87e[\x8e\xcdm\xd9\xac\xd1\x8d\xd1Hz\x8f7!\xc9\xf9\x0d\xecd\x00\x1d7%\x0d\\4\xc0N\x06\xd0\x00I{\x04\xb0\x93\x01\x14@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)\\\x95\xb4n\xa0\x83P\xd8\x95G\x9a\x8c\x14\x86\xc9\xc4\x07\xf0\"nJZ7\xd0A\xe8D\x20\x13\x1e\x9e\xb5c\xafS\x84\x05\xc3d\xe2\x03x\x117%\xad\x19\xe8\x20\xd4\xdf\x92\x11\x92\x9e\x9c\xf4\xec\x82\x94\x19\x16\xc7\x0f\xc0\x8b\xb8(i\xdd@\x07\x85\x03\xe1\x8c\x90\xf4$\x9040\xec\xb8'i\xc3@\x07\xc5\x06\xb4\xc7\xf3{\x82\xfdWH\xd2\xf2C\xf3\xc7g\xdf>\x88?5M\xce\x9e\xf0\xc8\x00\x1e\x93\xa8O\x19\x9aD\x9eC4\xaa\x09\x1d\x19-M\xe4bY\xd7\x1c\x96\xe13\xf1\x01\xbc\x88{\x926\x0ct\x08^\x92t\xac\xa5\xf9+\x13\xc6\x8e{d\xbe\x84\xd5Y9\xea\xa1\xe0\xfa\x9cI\x094\xb0+<aj8L\xae\x03\xf6\x87G\xaf@hwe\x16\x17\xcb\xb9\xe6\x18\x0c\xa3\x89\x0f\xe0E\\\x934c\xa0C\xf0\x92\xa41\x93\xa4\xdb\xce\xe1\x81\x08\xe9\x9b\xc9\xc3\x06\xf7H\xf4\xa9\x89\xc6\xc0\x9b}\xa6\xaf\x1ekr\xcdQ\x19F\x13\x1f\xc0\x8b\xb8%i\xd6@\x87\xe05Ig\xa9\xc3\xe7y\xe3\xe3\x83\x98q\x95t\xadX\xd2Z\xac\xc95Ga8M|\x00/\xe2\x96\xa4Y\x03\x1d\x82\xd7$=I[Pg\xd0\xf4\xf1\x9d\x16\x92\xd6bM\xcf\xe3W\x18N\x13\x1f\xc0\x8b\xb8%i\xd6@\x87\xe05Ik\x13\xe2\xf9\xe3\xf7RN\xd2\xb5D\xd2\xd4\x82\x80\x8awy\x16\x1f+\x94\xb4\x8b&>\xc0\x88\xc4-I+xw.\xad\xf5\xc7\x1dR\x0by[\xfe\x1cy\x9d:\x15\xa1\x13tE\xf6b\xfc\xad69\x8b\x8f\x15JzXM|\x00\x0f\xe2\xa6\xa4u\x03\x9dX\x7f\x7f`G\xbf\xc9ay\xe42\xb8\x9b^\xdbVT\xb6X\x9a\xd7\x12\xacT\x9cgWd\xad\xd9z[\xf61\xbc45\xe7\xb9\xe7&KW\x04z\x98X\xd65\x87a\x18M|\x00/\xe2\xa6\xa4u\x03\x9d\xbd\xca\xac\xfa\x9c\xd3\x06#\x84\xfd\x8a\xe5\xcd7\x95O\x1d\xb7\xe5\\=U1\xcb\x89?\x94\x93=\x95\x0eG\x0eM\xcd\x1e{\xfbbI\xfa\x01\x13\xcb\xba\xe6\xb0\x0c\x9f\x89\x0f\xe0E\xdc\x944\x00\x00\x17\x1d\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x0a\x904\x00x\x8a\x8c\x96\xf4<)g>X\x02\x00\xde\"\xa3%\xdd\xbf#01g\xc0)\x0a\x00F\x12\xaeJZ3\xd0\x19\x08\xb7\x04\x82\xfb\x07\x1d\xa2\x87\x85\xb0\xb4\xdf)\x04\x00F\x12nJZ3\xd09\x17\x08v\x1f\xd9\xdb\xb4\xd5\x0dM\xef\x91v;\x85\x00\xc0H\xc2MIk\x06:;Z\xc8\xf3\xc7\xce\x04\x86\xea\x18u!\x80\xa4\x01\x8f\xe1\xa2\xa4u\x03\x9d\xad-\xf4\xf3\x0e\xdd\xc6\xf2\x12\x02\x92\x06<\x86{\x926\x0ct\xfa\x8f\xd1\x15\xbb\xb6\xd8\xc6\x0f\x0f\xddR\xd8)\x04\x00F\x12\xeeI\x9a7\xd0A(\xd1\xec\x86\xb8\xe29\x93w\x1dK8E\x01\xc0\x88\xc15I\x9b\x0ctp'\x1d8c\x1d=|l3\x1e\xfc\x07\x00\x1e\xc0-I\x9b\x0dt\xd0\xee\xc0\x11\xdb\x0d\x86\x89\x81\x9c\xf1\xebw\xb8R3\x00\x0c\x0bnI\xdad\xa03\xb8#\xe0\xcem\\{\xa4\x0e\xa7\x10\x00\x18I\xb8%i\xde@g\x20\xd8\xc4=\x8e\xfe\xd2\x01W\xbc\x01\x8f\xe1\x96\xa4\x15\xd4\xb9\xf4\x99\xe6-\xe7\xb0\xcac\x0e\xd1\xc3\x01H\x1a\xf0\x18nJZ3\xd09\x1ah>\xd2\xdf\xdf\xbf\xab\xc5i\x83a`7H\x1a\xf0\x16nJZ3\xd0\xd9\xa6\xce\xaa/\xf9\xad&\xf1\xfe\xbd\xf3\xb2\\\x1a\xf1\x03\xc0\xf0\xe0\xa6\xa4]g\xae$}\xe5\x92\x7f\x8f\x00\xc0\xb0\x92\xd1\x92\xee\xff\xf0\x98S\x08\x00\x8c02Z\xd2\x00\xe0=@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)@\xd2\x00\xe0)\xfe??\xe8B\x81\x97E\xcd\x14\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/ident-field.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xde\x08\x03\x00\x00\x00\xe6g\xc8\x0a\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x02\x05\x01\x0a\x03\x01\x05\x08\x03\x0c\x0e\x0b\x0c\x10\x1c\x0e\x11\x14\x10\x12\x0f\x0d\x15$\x16\x17\x14\x1c\x1b\x15\x1b\x1d\x1a\x1f\x1f\x19\x13#A!#\x20$$\x1d#$\"$%#&'%\x19(G((!'(&+)\x1e\x14+N()'++$*,)/-\"*.0-.,02/63(241685<9-5:=:;9=?=CA5AB@CEBKH<MH7HIG\x00f\x00\x00i\x01JLI\x00j\x02SN=MOL\x05m\x05PRO\x0co\x094U\x98XSBTUS\x0fq\x0b\x0cr\x177Y\xa3WYV,`\xae7]\xad\x15w\x1c\\^[c^L9a\xab\x19y\x1e_`^;c\xad=d\xae)z!ac`De\xa3?f\xb0)|*Bh\xb3egdghfLi\xafDl\xb0qjSikh/\x82/Ho\xb3/\x859Jq\xb6mol;\x86:Ut\xb4Xv\xb6?\x8a>|u]tvsB\x8c@@\x8dG\\z\xbby{x]~\xb7e|\xb8K\x90J\x85}e_\x80\xba}\x7f|O\x93Nb\x83\xbdN\x95Ud\x85\xbf\x81\x83\x80W\x95Vl\x87\xbc\x90\x86hZ\x98Yo\x89\xbf\x87\x89\x86]\x9c\\\\\x9dds\x8d\xc3\x95\x8cn\x8b\x8d\x8az\x8e\xbfe\x9ef\x8d\x8f\x8c|\x90\xc1\x9b\x91s\x90\x92\x8fi\xa2i~\x93\xc4x\x95\xc4\x80\x94\xc5\x93\x94\x91\x9f\x95w{\x98\xc7s\xa4lq\xa5s\x95\x97\x94\x82\x9a\xc4\x97\x99\x96\x83\x9c\xc6\x99\x9b\x98u\xaaw\xa6\x9b}\x87\x9f\xc9~\xaay\x9c\x9e\x9b\x89\xa1\xcb\x80\xad|\x9f\xa1\x9e\x8f\xa2\xc7\xab\xa1\x82\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\x82\xb1\x85\xa5\xa7\xa4\x8a\xb2\x87\xb4\xa7\x83\x8b\xb3\x89\x96\xa9\xce\xa7\xa9\xa6\x98\xab\xd1\x8e\xb6\x8c\xaa\xac\xa9\x9e\xad\xcd\x8d\xb8\x93\xba\xad\x88\xad\xaf\xac\x95\xb9\x95\xa1\xb0\xd0\xaf\xb1\xae\xa3\xb2\xd3\x98\xbc\x98\xa5\xb5\xd5\xb3\xb5\xb2\x9b\xbf\x9b\xc2\xb5\x90\xab\xb7\xd1\xb5\xb7\xb4\xa3\xbf\x9d\xa2\xc0\xa4\xad\xb9\xd3\xb7\xb9\xb6\xb9\xbb\xb8\xb0\xbc\xd6\xa6\xc5\xa8\xbb\xbd\xba\xb3\xbe\xd9\xbd\xbf\xbc\xa8\xc7\xab\xb7\xbf\xd4\xaf\xc6\xab\xbf\xc1\xbd\xce\xc0\x9b\xb9\xc1\xd6\xb2\xc9\xae\xc1\xc3\xbf\xbb\xc3\xd8\xc2\xc4\xc1\xbd\xc4\xda\xb2\xcc\xb7\xc4\xc6\xc3\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xd9\xc9\x9d\xc6\xca\xd9\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xc9\xcd\xdd\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xc8\xd3\xc1\xcc\xd0\xe0\xcf\xd1\xce\xe1\xd1\xa5\xd2\xd2\xdd\xc9\xd7\xcb\xd2\xd4\xd1\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xcf\xd8\xe0\xd5\xd8\xd4\xd2\xda\xe2\xd8\xda\xd6\xd8\xd9\xe3\xd5\xdc\xd1\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xd8\xdd\xe0\xd5\xdf\xda\xdc\xde\xdb\xdc\xdd\xe7\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xdf\xe1\xde\xdc\xe2\xe4\xde\xe3\xe6\xe1\xe3\xdf\xe3\xe5\xe2\xe1\xe6\xe9\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xeb\xe7\xe9\xe6\xf1\xf3\xf0\xfa\xfc\xf9\xfe\xff\xfc\xc5\x83\x89%\x00\x00\x20\x00IDATx^\xed\x9d\x0fX\x14\xd7\xbd\xf7/\xd7\xbc\xf5m\xea\x9d(o\xb9o/)\x04S\xac\xb6Y\xd9\xe6\x91\x96p\xcd<f\x09\xe8\x8d\x18\xb9\x8a\x20\x1aR\xa4&J\xa3VL\x8c\x18b\x1e5\xd6\xb8\xc1\x10,i@\xafJ\xb34\x06\xb4\xa4P\xe3\x1fb\xc0\x98\x08j0&$/)i\xc0\x98\x0d\x1a\x93\x9a?\xf8\xc8B\xe0\xb4<\xef9gfg\xce\xcc\xce\xec,\x08;\xec\xf2\xfb<\x0f\xbbgg\x7fs\xe6\xec\xd9\xf3\xdd\xf3g\x86\xf9\xfeK\xff\xa0A\x00\x00\x8c8\xfe\xc5H\xb8\xfa\x18e\x0d\x00\x80\xff\x01I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x18Zz\x8d\x02\x86\x17\x904\x00\x0c!\xce\xf4\x89\xdc,\xa3\xa0a%\xd8%]6\xcdi\x14b&\x1d\xd3\xca\x8cB\x02\x91Q\\\xebS\xa6\xd8+?4\x0a\x1aV\xcc\x93t\xd3\xbe\xa2\x92cb\xfa\xb4\xdd\xe15\xf6\x9b\x8ds\x13s\xfb\xbc\x86h\xf3\x18\xb7\xc6(d\xa8h]\x95\x94\x92w2\xe5K\xf5\xf6Ol\xfc\"\xadx\x81\xc7\xc6\xaf\xf3\xd8V\xc4a\xa2f\x1c\xd7\x08gh\x09\xe5\xa6\xf8\x1a\xeb#$\xb35h\x0d~,\xf0\x12%\x1c\xd8\x1bC_\xeb\xfbyL\xf2\xaaw\x8c\xe2|D\xab\xd6\x87\x86\x06n\x9fQ\xc8pc\x96\xa4]\x95\xf6\xc3-\xc7\xed\xcd\xf4\xc5\xe5\x82C\xc5^\xa3\x1fJ\xa9\xc8O\xba\xe65D\x93\xcd\xe3\x8b\x8cB\x86\x8a\x13I\xbf\xaa\xa8\xce\xe2\xf9\x0f\xd4o\xf4\x9d\xd9h\xd3\xdaA\xc41a\xb3z\xd3\x95\"n]U\xd14\xaeJ+^\xe6pz\x98\xcf\xb1\xde\xa9\x12\x7f\x11HfN\xe4|\x8c+\xba\xe2-\x9c\x1e\xd8\x0b\xc3P\xeb\xd7\xf6\xf3{O\xee\xcf\xbe\xf3\xa4Q\xa07N\xbe+%5j}h\xa8\xe5j\x8cB\x86\x1b\xb3$]Y\x80\x87fN{\x13}\xe1\xa8l\xf7*\xe9\xaf\xf8r\xd4\xd7\xe5-B\x9b\x96\xd0e\xde\x03:\xe2:\xbc\x07\xf8\xccW\xc9\xb9=\x08uexJ\x1a\xa1Ro\x92F+\xc2\xda\xd5\x9bN\xd3\x9f\xfa\xb8\xc9\x1a\xd1,k\xc2|\x8f\xf5\xca\xeds\xc4\x84\x90Y\x15w\xda[\xb4x`]\x86\xa5\xd6[\xf9\x13\xf8\xd71'\xc3(\xce\x1b\xd9k\xe5\xb4F\xad\x0f\x09\xb5\xdca\xa3\x90\xe1\xc6$I;\xedo\x92'\xa138]\xe4rz\x95\xf4y\xfe\x88\xb7\xb7uI\x9f\xd8\xe9=\xe0\xb4Q\xe3\xf5\x99\xc2\xa4\xcf\xc8S9\xff\x91\xe7{\xde%\xdd91]\xbdIP\xd6f\xce\xa0\xf4\x8c\xa4\x0dc\xbd\x123\xa4\x92\x1e\x96Z\xa7\x92\xc6\xd5;\x88\x1fv\x89,F\xd2\x1a\xb5>$\x8c^I\x1f.\xe8\x96\xd2W\x0a\x9a\x91\x17I\xf7\xcc\xe5)O#\xb4\x85\xe7\xab\xc5\xb9\xe9\x16\xdeV\xf1tF\xd2\xaa\x8b4\xe6\xfc\xda\xb9\xb6\x94\xdc\x8b\xaa=]\x11Rw\xd1<'*t\xe2\x0c\xe5\x9a\xcd\xe6\xc9\x8e&\xae\xc91\xf9)\x9cn\\\x95f\x9b\x9b\x9bF\xa6\xeb}\x7f\xcaN\xcax\x1a7\x9d\xf7m<\xbf\xe3|~Z\xe2\xaao\xab\xf1\xf1KQ)O\x8e\xaf\x19\x8026\xd1<\xbf(\xc7}u_EvRV\x05\x9d\xfa_\xccKM^+\x0c\xbc\xa5\xdd\x90\xaa\xbc+\xc2]H\x89\xa0\xacy\xd1\xf4E\xf1\xb4\xf0\xc9K\x88H\xae\xcc\x99\x18\x1a}w\x03\xdd\xe8\x9c71rN\xba,iu,\xea\\6%\"\xeep\xf4>\x94\xc9\x8d/\x96\xa7\xbfr@\xcd\x8c\xe8\xd0\xa8\x19x7\x07'\x10\x83T\x9268\xb0\x1c\xd00\x81\xe3V4\xcf\x9b\x14>\x83|\xa9\xeeZWn\x95\x90k\x9d\xa9>\xfcm\x96oJM\xce=OC\xb4\xbeMA\xd2y\xa9$\xcd\xd4dW\xe1\xa2\xa4\x9c3\xa9ul\xd3P\x04H_\xec\x11\xa1\x15\xf1\xd9b\x86\x9e\xb5\xae\xf9\x81\x94\x9f\xe2\xa9\x98\xf0\x18\xd2\\t>\x1b\"u7Z%]\xe6h\xdae/>Dk\xd5Q\x89\xbcI\x1a}\xd0X\xcd\x9766\xe2^\xf0b\xa3\xadT\x9c\x9b\xb6V\xdb\xf8\x94\xd2?$\xe7\x92\x88\x93I\xd9{O\x94\xe2\xd1\xb9\x92\xe3\xd2\x0c\xb3*\"\xe6\xb1\xca5\xdc\x06\xc5\xdb\xcey\xdc\x14\xee6n\x0e\x1e\x81\xbdsg\xfe+'*\xe6\xf2\xdf\xe2\xcd\x9b\xf8mu\xe5)Y}\xa8\xa7\xba:-\xe3\x9e\xd4\xa7\xf3\xee\xfc\xb4\xab1\xf9\xb9/\xd1\x97\xcf%7vi\x07\xf4\xb0\x07\xcf\xb7\xed\xa8\xdba\xcb\xc7\xa9\xf3\xc9\x19\xfb\x8f\xac\xe2\xa9\xa4\xa5\xdd\xd4\xe5=\xe4\xd1\x0aNs\x0eW\xd32\x8e.\xe1\xa4\x8f\xcftl\x8e\x8a\xe9%\xdaK\xaf*\xb9{|-\xde\xd8\x1c1\xb9\xa8l:\x17\xa6\x1b{yR\xd4c\x8eL\x8e{\x0a9kB\xd7H\xd3_9\xa0\x96\x9b\xb7\xab\xd2\x1e\xc5u\xa3\xceC5\x93\xe3jjj\x9a\xc4\xcc\\\xae}T\xd2F\x07\x96\x03\\%\xc5\xd1\x93#\xa2\x97\xcc\xe3\xc8R\xaf\xbb\xd6\x95[%\xe4Zg\xaa\x8f|\x9bi\xa5\xa5iI\xadH\xe7\xdbl\xe5\xeb\xba>*\xc4\xbf\xab\x88\xad\xc9ki\xc9\xe5uX\xcd\x15l\xd3`\x03\xe4/\xb6\xebLcFNcc\xa3{\x14\xe5Y\xeb\x9a\x1fH\xf1)\xd2\xc3V8V\x84\xcd\xd3\xfdl\xdd\xce\xaa\xdb#\xafg\xb84$\x98$\xe9\x12{qC{Sq\x09\xd6tSQ\xa7wI\xb3\x03o\x1b\xf9N\x85\x81\xac-\x19\xff\x8e\xe7\xa7\xe0TO\xda*\xdc7\xf6T\x7f\xa5\xda\xcd\xc1\xb5\x08\x09W\xf4\x0c\x17\xf9\x1e\xd4S\xb8}\xa1\\(]\xa0\xacH!b.O\xc6\x8d\xe0U~?N\x9e#\xdd1\x1e\xaa\xf1\x0f]C}d]nS\x1e~\xc8#]\xb1f\xc0'\xcc\xd4\xa0\x8ev('\xf8:\x84r2\xf0O@_\x96M\xb9\x9b\xaa\xbc\xed\xdc.\xa4\xe44\xed6\xe7\x91\xa4\x83#KM\xb5\xdc\xf3\xa4\xfc\xa4\xb5\xdcFNz\xc6M\xc2\xc9\xde\x980\xdd\xd8y\x91dD\xb2\x84#]J\x18Y~\xa6ce&\xe0\xa9(\xd2\xbfl\x8e\xa4\xc7c\x06\xde\x02\xa7}80\x13\x80s\xe0\xa6_\x11\xe7QR\xad+\xb62H\xb5\xce\xd6\xaf-\xed\x1aQh\xb6\xde\xb7\xd9J\xbb\xd8|\xf2\x83\xc8\xd4d>i\x03h\x1b\x964\xdb4\x98\x00\xe6\x8bU\x0e\xbc5j]\xef\x03I\xc9}t\x0c#<j~\xb6Y\xb8\xea\xbc\x9f\xba\xf1\x07&I\xdaQ@*\xa3\xb3\xa8\x16u\x164\xf5\xf6\xf6~X\xec\xed\x92\x1bmI\xe7\xbb\x93uZkR\x982w\xe3rpoj\xbc\xdd\xb1$4\x9a\x9b\x18\xb6\x04\x0b\xfd\xd3\xd4\xb4m\x15\x1f\xf4\xe1\xa6\x84\xf2\xd2z\xbe\xc5\xa4\xd2\x81t\x96\xedS1\xf8db\x17\xeaJ:\xa9\x17\xd0c\x93;\x95M\xc29\xabE\x1b\xd15\xda\xd6\xd0\x0e\x9br7Uy\xdb\x85F\xc4p\x9a\xdbp\xd81-\x9c\x94\xfe\xdeI\xaenL4\x99\xf9u<5cR\x04w\x1b\xee\x839;\x09[\x11\xa6\x1b\x1bN\xcf\"5\xa9$\xcd\x04\xb4O\x9c\x94i\x7f\x13\x09\x83OF\xd2\x1bjkk7\x10I\x1b\x1e\x98\x0d@1aRwU\xc6H:L\xd1\x89Q\x98Zg\xeb\xd7VH\x1e\xcb\xf9\xaft\xbe\xcdV\xfe\x0f\xe7^\xcdN\xfc\x04\xb15\xd9\x97T*\xbc\xa7\x944S\xd5\xcc\x17\xeb!iu\xad\xeb}\x20)\x99~\x1b}\x9a\xa2\x0e\x90\xf8p\x9f}\xca\xa8\xed\xa5\xab\x84\x9f\xc8\xaa2\xd4bw\xa3\x7fu\x82\xb6\xa4\xa5d9\xdf\xa3\xb9\xdba\xf7\xd8j3\xe79oB\xe8\xb1(;\x9e\xd5m\x8e\"c\xd6k\x15k3\xf8\xb9{\xfbH\xc7!@G\xf4Y\xee\x99\x17\xfa6\xf9\x08:2\x97\xfc\xd8k\x07\x88s\xe9\x1e\xdcA?H\xdfA\xb9\xd9\xb8\xa3h$)ZHf7Uyk\xb9CH\x09\x9d\xd2^\x1eO\xe4\x13#\xf6\x9b\xb8\x8b\xac\x9d\x18\xbdlW\xcdt\xdc\xae\x8e\x09gJ\xe4\xe51u\xac\xd8\x05]QI\x9a\xc9\x0c]\xb6\xcf\x99\xc2E=F\x8f\xa7\xb5<fx`63\x14s\xbbT\xf8\xc3\xf2\x88\x96\xd9*\xc1\xd6:S\xbf\xf4\xdbD\x8d\xfc\xbb:\xdf&\x9dK\x0b?\x91rM^\x14\xdaE\x97J\xd2\xec7$\x7f\xb1*I{\xd6\xba\xde\x07\x92\x92\xd3\xee\xa6O3\xa6\xa9\x02Xj\xb8Z\xcd\xed~\xc4$I\x1f/\xa2\xbdr%\x1e\xa6t81\xa7\x8b\x9c\xfa\x8aVKz\x87J\xd2'\xf8\xf75w\xeb\x0c\x13\xafx\xa8\xe44/\xc5p\xd1\xb5W\xa2\xf6s\x85dbV\x9dXA~\xe2\xdf\xa5|A\"\x98F\xb0-\x17\xe5n#\x09\xed\x80\xc2D\xfa\xba\x9a\xff\x12m\x12V\xd9\xd2\xf2\xd17B/\x9doS\xee\xa6*\xef\x9aP\xf5\xd0TPV\x04)\xfd\xbcI\xc7)\xb8S\x9b2\x8d\x14u\x0eVV\x07\x95*b\x96\xc7T\xb1\xbdB/}Z\x964\xedX\x99\xcc\x8e\x915\xac+\xcf\x87\xd3\x8c\xa8\xa4\x0b>TH\xda\xf0\xc0L\x00\xf3\xa3\xc0\xd4\xbab\xab\x8c\\\xebl\xfd\xdah\xddV\xf0\xd7t\xbeMay,\x99|\xe7rM\x8a\xbd\xf4\x07\xb2\xa4w\xa8\xaa\x9a\xf9b\xc5\xa3\xed\x17\xc7\x05\x9e\xb5\xae\xf7\x81\xa4d\xfa$\xfa4)]\x15\xc02zW\xbc;\xe8I\xac+\x05\xee\xcb\xc7|\x9dK'\xe1\xf1Y\xdf\xafT\x92\xeeJ\xc9!?\xec\xdb\xb6\xa9\xf7\x9b3Y\x18\xcewN\x8c#M(s\x89:\xa0=R8;YJ&\xbex\xea\xbb\x91\xe8\x8dN\x92\x0b\xf7\x92GF\xd2o%~\x96\xf8\x16Ih\x07\x08\xe7\xa5\xfbr\xd2\xc8\xb8\x9a\x04T\x93,\xb3\xd3\xf0\x8c\xf0\xa3D\x9br7ey{\xa7\xcc@*\x04eM\\\xd2\xb0\x06\xcf\xdcJ\xc8\x96\x15\xb8S\x8b&\x8d\xa87\x86\x8c\xfe\xa6E\xe3v\xd7\xfc\x830\xdd\xd89Q\xa4a\xce\xa3\x0a\x0c\xc7\xea\xed\xbd\x9d\xc42\x01k\x84\x19a\\&}\x8c\xc3\xdf\x00y\x8f\x91\xb4\xe1\x81\x99\x00e\x03w\xd7\xban\xb3w\xd7\xbaB\xd2s\xbbp\xc5\xa4\xe5\xa8k\xa7e\x9d0\x8c\x17$\x9d\xb2\xad\xb5\x94\xad\xc9\xb5s\xb1l\xfb\xf2\xa9\xa4\xe5\xa6\xc1\x040_,~\xc4\xb9\x7f)\xbc\xa7U\xebz\x1fHJ:\xe8X\xfdya\xba\x0c\x92Vs\xac\xe0X\xfb\xe9\xe2]\xdd\xf4E/\xe9\xa5u/?\x10V\xbc\xcf\xd0\xb1\xd3\x83){K\xb3y\xdb\xfe\xd6\xcf\x1am\x1b\xcf\xf4\xbd\xb3\xd1FV\xc2O&.\xaa\xa8\x13\x16I\x144\x8f\x17\xd7\xb8\xab~0\xe5)G\xa6\xfee\x8e\xa5|R\xe9\xabG6\xf1d\xae\\xg\xde+8Y\x8d\xbe}\x8b\xae\x91~\"\x84\xf4\xa5\xaeJ\x15.I\xd5\x0e\xa8Kzp\xff\x91U\xb638\x99\xc7\x17\xbeZ\xc8\x93\xf5\xb4\xd6\xa4\xd4\xd2\x1d\xc9\xa4\xbc\xccn\xaa\xf2n\xf0\x1cB\x08W\x15N\x9fA&o\xcb\xb8{K\xca\xd2\xb9b\xa2\xc29O\xad\x8b\xc1\x83\xe5\xc3\xe8tx\xf4\x9a\x15\x91\xe3'\x145\xe9\xc4:'F?\xb5kV\x18\x95\xf4\xb4\xa8u\xeb\xa6q$V\x91Y\xc4\x1a\xc7\xaetauzM\xd8\x86\xb2\xe9\xe1\xed\xca\xab\xc7\x8c\x0e,\x07t\x1f\xa6k\xe6\xee)\xb4X\xeb\xaa\xad\x9e(\xaa\xcf\xc6gWWd$\x93\xf5hE\xed\xcc\xe2\x04\xe9\xb5Rm\xe6\xe4n\xccbk\xf2\xb3\x94\xb4\x8aWr\x13i\xac\xd44\xd8\x00\xf6\x8b\xc5\xbf\xff\xe5G\x1eJ\x12zi\x8dZ\xd7\xfc@\x8aO1o\xfc2\xc7\xb2\xf1\xf3\xbc}\xb6c\x1e\xe3y\xbfc\x96\xa4QsY\xd1\xaec\x82\xa2\x91\x93L\xa5\xf5\xfa\xe9\x9ed:1\xb2\xd1\xb3\x0f\xe7s\x12\xefY\xb5\x83\xe7\xb7l!\x9b>H\xc2\x8f[\xf0\xe6\x8f\xd6\xa6\xde\x93-\xaf9K\xac\xf8\x81X\xc1\xcds\xa2#\xa6\xa9\x978e\xfe\x94S\x9afK\xc9\x11.7<\x91379\x077\xa0\xf7\x9993\xa6\\Z\x01\xd3\x0eh]\x9547\x97\xae\xec\xf4\x95g%e\x95S\xfd\x9f\xcfMN+\xdco\xa3\x85t\xef\x86\x14\xe5\xad\x09\xf7\x18;\x94\xe0\x09\x1d\x9e\xe46L\x8e\"\xfd\xc1\xbe\xe9Q\x91qD\xb6\xbd\x1b&\x87E\xdd[49\x14\xf7\xa9\xcdwGNZR4\x81\xcb\xd4\x89E\x1d\xe9\xd1\xe1\xd3\x8fQI7\xc7\x85G\xccX\xc6q\x99l@q\xdc\x9a\xe8\xd0\x89q\xe2\xf9\xa6\xcc\xc8\xf0\xb8Z\xf6\x1ao\xbb\xe1\x81\x99\x80\x86\xf1t\x0e*u{B\xad\xab\xb7z\xa0\xa8>\xdb\xd3\x9b\x92S\xf3\xe9\xe5:\x8ao\xb3(\x8a.\xc8\x91\x0b\x03p\xa7\xdb\x9a1\xf7U\xc4\xd6\xe4\x17\x9b\xd2\x12\x1f:G%-5\x0d6@\xf1\xc5\xf6lKN\xcc9G\x93\x1a\xb5\x8e4?\x90\xf2Sl\xbe-\xfc\xb6\xcd\x1e[Y\x9c\x13\xe648\xcd\xfd\xefJ\xd3$\xed\x1f\x96\x84\x96\x18\x85\x98\xcb\xf3\xa1\xe9\xddF1\x83\xa6S\x98\xfa\xfa\x9dA\xd4\xba\xb0<68\xba<\xc7g\x06\x0cc\xad\x97M\xe1\xe0\x9f+\x87\x95\x0d\xd1^\x96\xdd\xcc\xa7c\xe2:\xa3\x90\xeb\xc0,I\x0f\xa2\xd6\xfd*\xe9\xe1\xadug\xc3@?\xfc\xd0\x12\xec\x92\x1e\xd5\x98&\xe9\x81\xe3WI\x077\x20\xe9\xe0\xa5y\x1f\xb7\xc4\xf4\xf5W\x9f\xb8H\x17;\x8d\xa2t8_\xc7?\xfd\xd6`w\x0eB@\xd2\xc1K\x1c\xc7q\x13\x9a\x8d\xa2F\x02t\xb1\xf3\x13\xa3(\x1dr\xc8\xce\xe7\x8d\xa2F\x0f\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\xb38\x92\xfd\xe5\xf0Z\xb9\x00\xa3\x13\xf3$\xed6\xd0q\x15\xd1\xdb\x14\x15i\xddK(\x88\xd9\xcb\x97\x92\x8b\x18\x87\xcf\xca\x05\x18\xa5\x98%i\xd9@\xe7\xb2\xfdMr\xab\"s\xff{\xc5\x1f0\xfe-\xe4\xfec\x7f\x12\x12\xc3f\xe5\x02\x8cR\xcc\x92\xb4l\xa0s\xd9n\xae\xd1\x9f\xdf`\xfd[\xce\x0bw\xc4$\x0c\x97\x95\x0b0J1I\xd2\x8c\x81\xce\xa8\x914{\x83\xcaM)]\xee\xe4pY\xb9\x00\xa3\x14\x93$\xcd\x18\xe8\x98(i\x0d\xa7\x16\xd6\x14G\xd3\xa9\xc5\x87X-7\x1e\xa5\x7fK\xcf=R'\xadm\xe5\x02\x00\x83\xc5$I3\x06:\x97\xed\x958YcB\xb3\xd6rja\\]\xb4\x9dZ\x8cc5\xddx\x94\xfe-\xef\x087\xf8\x16\xd0\xb0r\x01\x80Ac\x92\xa4\x19\x03\x9d+4Y\xf2\xbc\xdf5\xad\xe7\xbb#\xb9\xba\xe88\xb5\x18\xc5\xea\xba\xf1\xc8\x03\xef:\xd6\xe0\xd2\xd3\xca\x05\x00\x06\x8fI\x92\x96\x0dt\x10:M\xc4\xec*\xf2{W\xa5\xe7\xbb#\xb9\xba\xe88\xb5\x18\xc4\xea\xbb\xf1\xc8\x92>\xc23\xff\xef\xefi\xe5\x02\x00\x83\xc7$I\xcb\x06:nj\xfc\xdeU\xe9\xf9\xeeH\xae.:N-\x06\xb1\xfan<\xb2\xa4\xcf\xf0g\xe4<<\xad\\\x00`\xf0\x98$i\xc6@\xa7\x92\x9a\x17\xa0*\x87\xd7\x1d\x86\x01=\xdf\x1dIz:N-\x06\xb1\xde\xddx\x04\xff\x96.\xf6\xeey\x9eV.\x000xL\x924c\xa0\xe3\xa0\xddsG\x91\x96\xb9\xe4\xb0\xa2\xed\xd4\xc2\xc8T\xc7\xa9\xc5(V\xcf\x8d\x87\xf5oY\x9b!\xdd\xffN\xc3\xca\x05\x00\x06\x8fI\x92f\x0ct\xda\xed\xfb\x9a?<V\xe0\xf7NZ\xdb\xa9E\xe1\xea\xa2\xed\xd4b\x14\xab\xe9\xc6\x83\x94\xfe-\x1f\xf1\x7fp\x97B\xcb\xca\x05\x00\x06\x8dY\x92f\x0ct\x9c\x95\xc5E\x8e\xd3F\xf1\xc3\x81\x86S\x8b\xd2\x14G\xd3\xa9\xc5(V\xd3\x8d\x07)\xfc[\x10z.Q\x9cMk[\xb9\x00\xc0`1M\xd2\x81\xc8\x10\xde\x03\xbeo\x9b\x8dv\xdd\xc3h\xe5\x02\x8cN@\xd2\x03`\x08%\x8d\xfa\xcaS\xbf\x18n+\x17`4\x02\x92\x1e\x00C)i\x00\x18\x1e@\xd2\xbe\x03N-@\x00\x00\x92\xf6\x1dpj\x01\x02\x00\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x04)\xbdF\x01A\x0aH\x1a\x08F\x9c\xe9\x13\xb9YFA\xc1\x09Hz\xd4A\x9d{\xae\x9f\x91\xed\xfd3e\x8a\xbd\xd2\xb4;\xcf\x9a\x8by\x92v\x1b\xe8(\x93\xfe\xa52J\xfa7\xed\x8e\xcc\xa8\xf0\x19\xa6\x8c\xd5>\xb1\xf1\x8b\x8cb\x10\xb9\xaf\x12\xe6\xce\x8c\x0a\x9f\xafH\xd5\xc9Wt\xee\xe9\x98\x1e\xf9\x98\xc6\xbb\x03`\x88\xbd\x7f\x1c\x91\xbe\xff\xcb\xbc\xfb{K\xe78.\xbcY#\xa0\x81\xdb\xa7\xb1ut`\x96\xa4e\x03\x1d6\xe9o\x1c\xe1\xd2\x1d\xcf\xa6O|*=\xfc\xb2\xb7\xe0\xe1\xa2\xef\xccF\x9bQ\x0c\xe6\xab\xbd\xfc\xfe\xc6\xba<\xfe9\xa3@7\xda\xf9\xba\x9d{\x96Lzl\xfcu\x9a\x16\x0d\xad\xf7\xcf2n\x99Q\x88\x84\xfb{k\xaf\xa9\xd9\xacy\xcb\xe4Z\xaeFc\xeb\xe8\xc0,I\xcb\x06:l\xd2<:8\xdc<;\x8d\xa2\x86\x89R_$\x8dN\xf0\xadX\xa7[\xd8\xfb\x05\x1b\xa0\x91\xaf\xe4\xdcs\xfb:\x14~\xbd\xcd~H\xbd\x7fVp+\x8cB\xb4\xa8\xd5\x91\xb4\xdfo8;b0I\xd2\x8c\x81\x0e\x934\x91f\xce\xf7a\xdf\x903\x00I\xa3\x9e\xe4-F\x81\x12\x1a\xf9J\xce=\xb7\x15\xb5s\xd7;0\x1aR\xef\x9f5\xdc\x1a\xa3\x10-@\xd2jL\x924c\xa0\xc3$\xfd\xcb\xe5p\x8e\x1b_LR\xae(\x8e\xe2q\xcb\xa0\xe2i\xe1\x93\x97\xe0\xbe\xbba\x02\xc7\xadh\x9e7)|F7\x93T\x05\x8b\xb7/j\x8f\x102\xe3\"T]\x98\x86]\x0fB\x17\xf3R\x93\xd7\x0a\x03d\xc6\x82G3V\x904\xda2W7\xb6\xaf\";)K\x98l\xeb\xe4+;\xf7\xccX1\xeb6\xfcY&4i\x1f\xcd7#!\xd9\xfbG\xfc\xf0\x0a\xa4\xdd\x98\xcc\x14\xf9*x\x8c\xa3s{\xed\xea\xcb\xe4B\xedK&\x87\xcf\x20\xdb\xe4\xef\x8d\xa0-\xde*\x90\xf4`0\xca\xda\x1b\x8c\x81\x0e\x93\xf43\xc7jj\xc2\x84\x9e\xe1\xcd\x9a\xe7\xb9555\xea\xb9e\xfa\xf8L\xc7\xe6\xa8\x98^\xe4*)\x8e\x9e\x1c\x11\xbdd\x1e\xf7!\x93TE\x8b7\x19t\x15m\x16P9fk\xd9\xf5\xa0\xf3\xc9\x19\xfb\x8f\xac\xe2\xa9\xf4d\x0b\x1e\xedXQ\xd2\x15|\x97^l\xbemG\xdd\x0e[\xbe~\xbe\x8cs\xcf\x9a\x88\xb0c\xdd3\xe2\x0e\xeb\x1c\xcd7#!\xd9\xfbG\xfc\xf0\x0a\xa4\xdd\x98\xcc\x14\xf9*\xd8\xcc\xd1\x99\xb9v\xf55\x15O\xe0\xa2\xd6l\x88\xa0\xe7\xa5\xe4\xef\x0diJ\xba\xdbYu{\xa4Y\x93(\xf31I\xd2\x8c\x81\x0e\x93\xf4?\xe1\xee\xa6\xa15\xf0vpE\x88\xb4\x19j\x86\x11\xc3M\xbf\"N\x0f\x98$\x8b\xfbV\xc0\xce\x16\x01\xe5\x0f\x84\xb6]ON\x06\xd6g_\x16\x91\x1ec\xb6\xa3\x1d+J\x9a\x98\xefh\xc7\xd6\xf1'hX\x9d^\xbe\xacs\xcf:\xce\x8e\xae\x84\x93\x0f}\x1dFB\xb2\xf7\x8f|\x1fd\x09\xa5{\x90;3E\x92\xc5\xce\x09\xfd\xbcv\xf5\xa1\xb0H\xdcC\xcf\x8b\x12_\x85{\x93\xf4,\xdc\xc7\x9b8\x8d2\x1b\x93$\xcd\x18\xe8\xb0^:~\xc7\xab\xa4\xef\x9d\xe4\xea\xc6D\xd3\x09cL\x98\xd4+3I\x0dZ87\x8aF\xaei\xd7sM\xd0\xc6\x0e\"=\xc6lG\xdb\xdaG\x94\xf4~\xfe+\x9d\xd8M\xc29\xabE\x1b\xf5\xf2e\x9c{J\xb8\xc8%h\xc3D2y\xb8\x0e#!\xaf\xde?J\xf7\x20\x9b\xd4+3I\x96\"\xfa\x03\xaaW}(\x8c|\x0bk\xc2\xc4W^%\xfd\xe1>\xfb\x14\xe8\xa5\x07\x83Q\xd6\xde`\x0ct<\xbdt\xfc\x88WI\xc7\x88m\x8b\x8e\xf6bn\x97\xb7\xcbI-j\x1c\x02\xca\xf5dM\xbb\x9es\xc28\x98.c1f;\xda\xd6>\xa2\xa4\x0b\x93\xf5b\x1f\x14n?\x9c\x9b\xad\x97\xaf\xec\xdc\xe3\x0c_R\xf5\x83\x96I\xf4\xd3_\x87\x91\x90W\xef\x1f\xa5{\x90;3E\x92\xe5P\xa4\xa0M\xed\xeaCt\xa8\xed\x9b\xa415\x9c)=\xc4\x88\xc0$I3\x06:L\xd2\xffx\x95\xf4\xbcI\xc7)\x1d\xe4E\xcc\x1ci;\x93\xf4\x1dM\xbb\x9eo\x04m\xe4\x0b\xbd\xa9d\xb6\xa3m\xed#\xaex\xa7\xac\xd5\x8b\xdd$XZ\xa7\xe5\xeb\xe5+;\xf7\x94\xe1>p\xd6\xa4\x88\xcbB\xbe\x836\x12\xf2\xea\xfd\xe3\xe9\x1e$\xc0$\x07\xc0\xc0$\x0d+\xde\x83\xc2(ko0\x06:L\xd2\xffx\x95\xf4>\xae\x84<\xad\xa0\x17I\x19KZc:\xc9\xa0m\xd7\x93\x9d\x86g\xb0\x1f%\x12\xe91f;\xda\xb1\x82\xa4\x0b\x89\x00\xb5c\xeb\xe8\xd6j2\x97\xd6\xce\x17I\xce=\xbb\xb8f\xf4&w/\xea\x8dn\xb9\x0e#!\xc6\xfb\xa7e\x8d\xc7\x191\xc5\x81A\xd2~\xc3$I3\x06:l\xd2\xaf\xb8\x0e\xd7\xd4\x84\xa5\xd7\xd4\\q\xafx{\xb4\x82e\xdc\xbd%e\xe9\\1\xea>\\39\xae\xa6\x864v&\xa9Bk\xd1\x97A\xcb\xae\x07\xb5&\xa5\x96\xeeH\xe6m\xfb[\x15f;Z\xb1\xc2\xd5c\xf9<\xed'\xb5c\xf3\xf8\xc2W\x0b\xf9<\xfd|%\xe7\x1eg\xf8\x9c]\xd1\x93C3\xd7\x85:\xaf\xc3H\x88\xf1\xfe\x99\xc5\xc5!5\xd2nLf\x8a|\x158\"\xbc\x8c\xd3\x9c5\xa1\xe9\x87\xd1\xf1\xf4\xd0\x1a'\xfb\xbd\xd1\xab\xc76\xd7\xd4x\xacm\x1c\x1b\xc5n\xa0fI\x9a1\xd0a\x93\xfe\xa4v\xbc0U\xb6#W$ML\xf0\xb8\x80m\xdf\xf4\xa8\xc8\xb8}\x085\x08\xa1\xa4\xb13I\x15Z\xa7fY4\xecz\x10:\x9f\x9b\x9cV\xb8\xdf\xc6\x93\xebG\x18\xb3\x1d\x8dXz\x8d7\x9f&\x0ey5c\xfb\xca\xb3\x92\xb2\xca\xfb\xbc\xe4+9\xf7TN\x8e\xca\xec\xac\x9c\x1c\xf9\x94\xce\xd1|1\x12b\xbd\x7f6\x87E!\x0f\xdc\xbb1\x99)\xf3e\xd9\x17\xe5\xe5\xb2\xecL\\\xe5\xa1\xa7\xc3\xf1c&\xf3\xbd\xd1k\xbc\x09\x1e\xc3&\xe7\x849\x0dNS\xae\xd87\x1f\xd3$\x0d\x98\x83\xdb\xb9\xe7z\x10\x96\xc7\x94\xde?\xb3\xa6\xebE\x9bB\xd9\x14\x0e\xfe\xb9r\xc0\x18e\x0d\x8cH\x04\xe7\x9e\xeb\x82JZ\xe9\xfd\xb3n\xc4\x9d\x09v6\xa8\xaf\x1c\x1a%\x80\xa4\x81\x01\xe3i$\xd4\x1e\xb5Y3\x12\xf0?\x20i`\xa0\x80\x91\xd0\x88\x06$\x0d\x0c\x140\x12\x1a\xd1\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa80O\xd2\xa2kNw\xb1]\xa0\x18\x01\x00p\xdd\x98%i\xc95\xc7e?\xee\xc4\x1c\xb37\x18\xed\x12\xe8T\x1dG\x000\xec\x98%i\xd95\xe74\xb9\xdb\xaf\xab8\xf8\xefBq\xfb`nY\x06\x00\x03\xc4$I\xab]s\x1c\xfe\xbfO\x91\xdf\x19\xd4]\x08\x01`\x80\x98$i\x95kN\x93=x\xfe]]\xe9\xb0\xe3\xb6\xe0q\x88\xb7\xd4\x89!7\xdd\x19_\x8cZB\xb9)\x8aX\xd6\"\x86e`.4\x00`\x92\xa4U\xae9%\x95^\xa3\x03\x0a\x85\xc3\x8ed\xc1\xd3y\x88\xde\x85\xb0\xa6\x89\xde\x1ao\x0d\xfeQK\x0fS\xc4*,b\x18\x06\xe6B\x03\x00&IZ\xe9\x9a\xd3b\x1fBS\xd3\x11\x80\xe4\xb0\xa3\xb4\xe0\x91\x06\xde\xec\x0dle7\x1e\xa5E\x8c\xc8\x00]h\x00\xc0$I+]s*K\xbcG\x07\x1a\x92\xc3\x8e\xd2\x82G[\xd2\x92\x1b\x8f\xd2\"Fd\x80.4\x00`\x92\xa4\x95\xae9E\xa6\xdc\x96\x7f\xf8\x90\x1cvb\xc4\x19\xb4`\xc1\xa3-i\xc9\x8dGy\xf3y\x91\x01\xba\xd0\x00\x80I\x92V\xb8\xe6t\xd8\xbd\xd9T\x04\x20\x92x=-x\x0aH\x9fL\xc5\xbb\"L\x19\xab-\xe9\xa1u\xa1\x01F\x01&IZ\xe1\x9a\xd3b\xbfl\x10\x1e`H2UX\xf0\xc4\xc5!\xe4\xa4\x1b\xc2\x97!\xd4{\xbbO\x92\x1eZ\x17\x1a`\x14`\x92\xa4\x15\xae9Mv\xf7\xcaw0\xa0p\xd8\x91,x\x10Q\xeb\x86\xb2\xe9\xe1d!pZ\xd4\xbau\xd3\xb8\x09EML,k\x11\xc320\x17\x1a\x000K\xd2\xackN\x8b\xdbw<(P:\xec\xb8-x0\xae\xcc\xc8\xf08\xba\x1e\xd8\x1c\x17\x1e1c\x19\xc7e2\xb1\xacE\x8c\x82\x01\xb9\xd0\x00\x80i\x92\x06\x00`8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\xc5(\x96\xf4\x1c.j^\x93Q\x10\x00\x04\x18\xa3X\xd2\xce\xaa\xa2)Q\x9dFQ\x00\x10X\x98'i\xd1@\x07\xa1\xceC\xbb\x0av\x1d2E[U\\\xd0{|\x00\xa3\x0d\xb3$-\x19\xe8\xa0\xcb\xc5\xbb\x9a\xda\x9bv\x15\x9bqg\x93Z\xee\xb0Q\x08\x00\x04\x16fIZ6\xd0\xa9)!7B\xe8.\xa91\xdae\x18\x00I\x03A\x87I\x92f\x0ct*\x85\xbb\x84\x96\x99qw~\x904\x10t\x98$i\xc6@\xa7\xa3\xb8\xaa\xc3\xd5QS\xdc\xe1-~\x98h\xe0\xaa\x8cB\x00\x20\xb00I\xd2\xac\x81\x0e\x9eV\xdb\xed\xfbL\xb9\xa3\xa0+j\xda\xa1\xf6^\xa3(\x00\x08\x20L\x924c\xa0\xe3\xaa,ir6\x95T\x9ab]\xb9\x8f\xe3\xb8\xbb\x8d\x82\x00\x20\x800I\xd2\x8c\x81N\x0d5\xc6r\x95\x98a0\xdd\x195isU\x90\xf9\x02\x00\xa3\x1c\x93$\xcd\x18\xe8\x14\xd0\x852\xf4f\x81\xb7\xf8a\xa2\x963cQ\x0e\x00\x86\x11\x93$\xcd\x18\xe8\x88\x92>n\x8e\xa4a\xc5\x1b\x082L\x924c\xa0S%\x0e\xbc\xcdX{\x06I\x03A\x87I\x92f\x0ct\\\xcf\x97\x9cn?]\xf2\xbc\x19K\xde\x87A\xd2@\xb0a\x96\xa4\x19\x03\x1dW\xed\xae\xa2]\xb5\xfeW\xb4\xcby|N\x98\xd2\x80\x0a\x00\x02\x1e\xd3$m>\xb38.\xba\xcc(\x08\x00\x02\x8cQ,i\xe7\xf1v\xa3\x10\x00\x088F\xb1\xa4\x01\x20\x18\x01I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*@\xd2\x00\x10T\x80\xa4\x01\x20\xa8\x00I\x03@P\x01\x92\x06\x80\xa0\x02$\x0d\x00A\x85y\x92\x96\x0ctz\x1b\xca\x0av\x8d\x1c\xbf\xb9\xd6\xdc\xe4\xe4\x9c\x93Yg\x8c\xe2\x04N\xa4\x1c\xd1\x7f\xb3\x94\xb7\x91w\xeb\x92\xf8R\xed\x80-<_\xad\xfd\x0e\xfa\xc4\xc6/\xd2ykh\x09\x88B\x02\xbec\x96\xa4e\x03\x1d\xe4(:\xder\xac\xe0\x98\xd1\x1e~\xe2][\xee+\xd5\xb9\xfa\xadX\xc5\xabI\xaf\xe8\xbf\xf9E^\xd2C\xf8\xe9\xa1\xc4\xbc/\x94o\x9c|Wx\xbe\xd8h\xd3\xd1\x11\xea;\xb3\xd1\xa6\xf3\xd6\xd0\x12\x10\x85\x04|\xc7,I\xcb\x06:o\x16\x90\x9b\xf27\x17\x98\xe2s\xe7\xc9\xaa\x9c>\xdcT7\xfa*i\xd4\xe7\xed\xcd\xc2\xdc\xa4k\xe8\xab\xc4\xdcB\xd5\xf6\xec\xb5\xee\x94\xaeZp\xf7\xe9'\xb5\x04D!\x01\x9f1I\xd2\x8c\x81\x8ec\x1f\xddR<B\xba\xe94\xda\xb2[y/\xe3i\xdf)\xcc{\xa8\x1a\xfdiU\x9eZ-Y#I-\x01QH\xc0gL\x924c\xa0\xb3K\xf0\xb7+s\xe8\x06\x0f\x0f\xef\xdbx~\xc7\xf9\xfc\xb4\xc4U\xdf\xb2\x9b\xf3RZ\xf1c_]\x17y\xfcSvR\xc6\xd3]\x8a\xd8j\x9e\xc7\x93\xceR\x9e\x0c\xcd\xaf%\xf1\xf2\x08\xfd\xfc\xda\xb9\xb6\x94\xdc\x8b\xecnX-\x15\xb9(\xb7\x82\xaaE\xdaz\x84\x17\xc8&{\xd9\x0a\x9f\xceHZE\xf6B}\x15\xd9IY\x15\xb4\xd7\xbf\x98\x97\x9a\xbcV5\xa6m\x8f\xe0\x04\"Twn\x90\x0f,\xa1\xf8lrqPW\xe1\xa2\xa4\x9c3\xa9u\x8a\xfd\x87\xb2\x90\x80\xf9\x98$i\xc6@\xe7P1\xbdCh\xd1.\xa3}\x86\x98\x9e\xea\xea\xb4\x8c{R\x9f\xce\xbb\xf3Sv\xf3\xa7i\xfc\xaa\xd2\xb7zhz\x13\xbf\xad\xae<%\xab\x8f\x8d\xedjL~\xeeK\xf4\xe5s\xc9\x8d\xb8\xe1\x9fklL\x14{\xb0\x93I\xd9{O\x94\xf2\xe5\xecnX-\x17\x93\xbeI\xfc\x8c\xaaE\xda\xdau\xa61#\xa7\xb1\xb1\xf1#\xb2\x9b\x8d\xcf\xa8>27\x97$\xf3m;\xeav\xd8\xf2q\xea|r\xc6\xfe#\xabx\xa5Z\\E\x9b\x05\x8a\x94\xb7ic\x0e,\xa1\xf8lrq\xae\xa5%\x97\xd7m\xe1\xf9\x0aE\x06CYH\xc0|L\x924c\xa0\xd3Y\xe4p\xba\x9ce\xf6\x12\xa3}\x86\x9e,\xfe\xa1k\xa8\xef\x9ar\xe3W\xa5\xbf\xb2\xf1\xc9\xa4\xef}\x95\xdf\x8f\x1f\xcf\x09\xfd\xb0\x1c\xbb)\x0f?\xe4m\x12\xc3EI\xf7\xa4\xad\xea!R\xfaJ\xb1[a\x1e\xca\xda\x98\x8d\x88Z\x94\x99\xc9c\xda\x94op\x8e)8U\xc7\x9f\xc0\x8f'x\xdc\x85\xe6d\xe0\x9f\x8b\xbe,\x95Z\x9c-\x02\xca;\x202\x07V\x20\x95\x979p~2\xe9i\xb7yHz\x08\x0b\x09\x98\x8eI\x92f\x0ctP\x87\xc3n\xb7\x1fv\x98pg\xbf,\x9b\xa2\x83\x96\xe89\xb1\x8a4\xda\xbc\xb4\x9eo1\xa9\x9b\x94\xb1'\x13\xbbPW\xd2I\xf1\x95(\xe9:\xfe\x03\xf7\xde\xccnX-{\xf9\xbdT-\xca\xccd\xb5\x90\xd7tB\xbaI8\x1d\xb4h#\xba&hn\x87R--\x9c\x1b\x85\xe3\x0fs`\x05Ry\xe5\x03\xf7%\xd1\xb2\xb6zJz\xc8\x0a\x09\x98\x8fI\x92f\x0ct0\xae\x8e^Tl\x82'VV\xb6\xe7\xb6s\xc2\x94\xf1\xc1\\\xd2\xd1\x09\xe4*c\xbfM>\x82\x8e\xccu\xaft\x8b\x92.\xe7{\xdc\xef3\xbba\xb5|Q\xf8%U\x8b23\xe5\xca\x13U\xcb\x83\xf4\x1d\x94\x9b\x8d{\xc9F\x84<W\x9ej\x1c\x025\x8a\xad\xcc\x81\x15H\xe5\x95\x0f|QX\xf3\xeb\xf2\x94\xf4\xd0\x15\x120\x1d\x93$\xcd\x18\xe8\x20\xbaP\xd6l7\xe1\x8e\xdar\xa3\x95I\xd9F\x9f\x0a3H\x9f\xf5.\xe5\x0bU\xec\xb6\\\x94\xbb\xcd\xfdB\x94\xf4\x09\xfe}\xf7\x16f\xb7\xc2<aK\xa1Vf\xfbI7*\xabeS\x1a\xf9\x95\xe8K\xcbG\xdf\xf0\xe5\xbd\x1dW\\\xf9>\xa9\x859\xb0\x02\xa9\xbc\xf2\x81\xc5^\xfa\x03OI\xd3\xb8\x81\x16\x92\xe6\xe2[!\x01?b\x92\xa4\x19\x03\x9d&\"\xe6+\xc5f\xf8\xe7\xb0\x92nY'\x8cg\xe7\xa6\x92Yi\x1fy\xeb\x840\xa7,\xdc\xab\x8a}+\xf1\xb3\xc4\xb7\xdc/DIw\xa5\xe4\x90\xder\xdb6\xc5n\x8cZ\x14\x99\xe5\xe4\x20\xf4%\xdd\x20\xab\xa5\x8e\xbe\xae&#\xfe\xec\xff\xfa\xd1\x981?\xfa\xb9Oja\x0e\x8c\xe4O\xc1\x94\x979\xf0\xda\xb9X\xab}\xf9\xa2\xa4\xdd\xb1\x83-d\x1a\xae\xa8\x8f\x12}*$\xe0GL\x924c\xa0\xd3l\xafm\x7f\xb3\xd8\xe1w\xb7\x8do\xdf\xa2k\xba\x9f\x88/gq3\xe8\xf3\\>\xa5\xb4\xee\xc8CId\xa9\xb7\xf0\xce\xbcW\x8el\xc2\xadX\x19\xdb\x97\xba*\x95\x8e\xbb{\xce46&nll$\x8bf'\x13\x17U\xd4\x09+O\xd2n\xdf\xe4\xe5|\x86_\x7f\x96\x93\xf7\x0d\xb3\x15\x11y\x94\xe3C|\x8a>k\xb4m<\xd3\xf7\xceF[#\x8e\xcb\xe3\x0b_-\xe4\x89\xbe\xde\xff?\xdf).\x18\xf3\x7f\xff\xb3\xa2\x15\x19\xc3\x1cX\xfa\x14\x8a\xf2\xca\x07\xfe,%\xad\xe2\x95\xdcDe\xec`\x0b\xd9\x9a\x94Z\xba#\x99\xb7\xed\xf7\xa5\x90\x80\xff0K\xd2\x8c\x81\xce\xf1\x92\"\xc7q\xa3\xf0\xa1\xe7}f\xda\x88)\x8a\xb2\xd3\xe7_U\x14.JJ\xc9\xa5'o\xd0\x89\x9c\xb9\xc99u\x1e\xb1\xe56\xe1\x94\xd1;\xe2\xd4\x93J\xe4\xa3\xb5\xa9\xf7d\x1fQ\xecV\xca\xf3dai#O/\x9fvo\xc5\xf4lKN\xcc9G/\x9f\xe6m\x1f\x90\xb3\xdb[\xf0/EyVRV9\xf9\xadp\xfdpV\x7f\x7f\xe4\x8f~N\xb6\x1a\xc3\x1c\xd8\xfd)\x94\xe5\x95\x0f\xfc\xc5\xa6\xb4\xc4\x87\xce\x89\x92\x16c\x07[Ht>79\xadp\xbf\xcd\xb7B\x02~\xc34I\x03\xfatF\xce\xc1\x92\xbe\xadyxF.\xea\xe51\x20\xb8\x00I\x8f@\xa8\xa4#nk\x02I\x03\x03\x07$\xad\x84\x1f\x09\xfc\xe7\xff\xc6\x92\xfe\xe1\xff\xfa\xb7\x7f\xfb\xf9p\x88\x1a$\x1d\xdc\x80\xa4\x95\x18\xa9\xcd/PIG|\xe7\x87\xdf\xfdN\xc3.\xc7\xe5n4\xa4\x9c\xaf\xe3\x9f~\xcb\xeb\xff\x8f\x01\x01\x0dHz\x04B\x07\xde\x13;\xfa\xbbC0\xa1\x87\xdb;\x87R\xd59\xf87\xc3v\xde(\x0a\x08X@\xd2#\x8f\xde+D\xd2w\xe3*\xfe\xde,W\xf3\xd8\x90\x90\xef\xd9;{\x8dv\x02\x00\x01\x90\xf4\x88\xa3%.f,\x96\xf4f\\\xc5\xd3\x9b\xfa\xfb\xd3\x97\x1c\x8a\x0b\x99\xde\x01\x9a\x06|\x03$=\xd2pE|\xef\xf6\x1b\xb0\xa4kq\x15/\xfb\x07\x96\xb6\xb3\xbf\x7fF\xf80\x9d\xd0\x02\x82\x0f\x90\xf4H\xa3!\xe4p\x7f8\x964\xc2U|\x0c\xff\x1d\xc6\x7fs\xc2\x1aF\xc8}\x9c\x80\x11\x0fHz\x84\xd1\xbb!\xe4\x1f\xfdd.M\xf8\xa7\xf8\x07\x92\x06|\x06$=\xc2\xe8\xce\xfc^\x7f\xff\xc49\xfd\xbd\xae\x7f\xf6w\xe3?\x17\xfe\x03I\x03\xbe\x03\x92\x1ea\xb8\xe6\x85\xf5\xf7\xc7d\xfe\xf3\x1f\xfd\xc7\xff\xf1\xcf\xfe\x86\xde\xfe\xfe&\x9040\x00@\xd2#\x0c\xd7\xacHZ\xbb\x9b\x1fs\xf6oXw\xa5\x7f\xdd:\x04\x92\x06\x06\x00Hz\x84\xe1\x9a\x1e\xfdO\x0f@\xd2\x80\xcf\x98#\xe9\xeeb\xbb@1y\xe5,+\xdag\xc2=MF&\xaei\x93\xff\xe1\xc1,\x904\xe0+\xe6H\x94>:\xac\x00\x00\x0c\x08IDAT\xdae?\xee\xc4\x1c\xb37\xe0\x17\xed\x055\xcd5\x05\xaa\x9bS\x8fZ\\\xd3&zn\x8c\x8e\x02I\x03>b\x8e\xa4\xd1iz\xefnz\x0b\xc1^\xfax\xa8\x18.\x8f\xa2\xb8\x96\x8d\xa9\xb9\xa2bW\xc8\xbd\xa7A\xd2\x80o\x98$i\x8a\x83\xdc\xa7\x085\x15Py\x17\x8c\x1c\xefJS\xe9m\x0a\x0d\xb9\xe1\xbb\x94\xb1\x84\x1b0!?(iq\xa1\x90\x00\xc5\xe8\x13\x03C\x8b\x89\x92n\x12n\x0aZ)xb9\xcc\xb8\x9f\xe0H\xc4uz\xc5\xac\xe9230\x99\x8e\x86\xcb\xbd(\xe4j@\x02\x92\xf63&J\xba\xa4\x92>\xed\x12n\xe0}\xc8\x84[\xf3\x8fL\\\xce\x96&\x05\xcd-N\xf2\x9fX\x20i\xc0\x17\xcc\x93t\x8b]X\x11+\xae\xa5O\xb5\xc5\xde\x82G\x17\xdd.%\xddt\x9d\x01$\x0d\xf8\x82y\x92\xae\x14M\xb0D\xe7\xca*\x7f\xdb\xdc\x05\x1c\x20i\xc0\x17\xcc\x93t\x91h(M\x1d7\x10*\x83\xb9\xb4\x01D\xd2O\x8e\xc5\x8f\xac\xb6C<\x12\xde\xf0)HB/Z7\x17\xcd7@\xd2~\xc64Iw\xd8E_\x88&;q\xbc\xbbb\x87\x15o\x03\x88`\xc6\xfd\xf9\xaawI\x7f~\xdfMcn\xf8\xe9\xee\xab\xdahi.\xe4\x16\xe1\xf9\x16\x8fl}\x94t\x88F\x8a}\xdb\xe8s\x01C\x8bi\x92n\xb1_\x16\x12\xbd\xd4;\xa7\x0a\xceK\x1b\x11\xa2%\x1a\xb5\xa4\x7f\xf1\xb3\xd7?\x7f\xfb\xc9[\xd5a^\x08\xb9\x89\xfe\x00\xec\xbe\xe9\xfa%\xad\x09H\xda\xcf\x98&\xe9&\xbb\xfb>\x1d\xed\x05U-Up\xf5\x98!d\xc8-\x80\x85\xf2\xcc\x7f\x8c\x19w\x9f\xa8\xa7G\xc7\xfd\xeb\xb8\xdf\x88\xc2\x1a\xf37\xb7\x94\xa4\x88\x07n\x0c\x19{\x01'.\x8c}\x9b\xeey\xf3\x98\x1b\x1fe\xdf\x7f\xfc\xc7$\xfc\xc7\x8f3\xd9\x0aG\x09y\xfc\xe61c\x7fA2\xfc\x0d9\xc2U\xd5\xa1^\xff\xe9\xd817?\xee\x8e\xc5G!\x85a\xf6\xb9Q\x08\x05I\xfb\x19\xd3$\xdd\"/\x879\xf7\x15\x94\xc15\xde\x86H\xbd4~x\xf1\xdf_\xbc\xf0\xfa\x8f\xef\xa3\xe9\xdf\xdf\xb8\xfb\xc2\xee\x1bE\x9d\x8d{QT\xb4\x1cq\xeb\xdbW\x7f\xf28\xde\xf2\xf8Oh\xf4w\x9f\xb9\xf0\xfa/\x149\xdc\x84G\xf3\x7f\xfe\xbe:[\xda\x7f_x\xfbg?\xc3B\xbfq\xf7\xe7\xbbo|Fu\xa8\x9b\x1f\xf8\xdb\xe7/\xfe\xc4\x1d\x8b\x8fB%\xcd\xec#\x84\x82\xa4\xfd\x8ci\x92\x06\x06\x0a+\xe9[\xc9\x9c\xfa\xedqB\x1ak\xed\xea3\xa2\xce\x9e\x19\xfb\xd3\x07\xa8\xaa\xe5\x08\x9c\xa0#\xf1[\x9f$\xd1\xb7<)\x0429<\x8e\x15\xf8\xb3'\xd5\xd9\x0a{^\xfd\x7fc\xf1>\xf4\x08\xb7\xa8\x0eu\xc3\xdb\xc2\xb3\x1c\x1b\xc2\xec#\x85\x82\xa4\xfd\x0cH:``%=\xd6=\x02'i2\xcc\xfd\x9b\xa8\xb3\xab\x7f{\xf4\xae\x9bIW-G|~\xf5\xea\xe7c\xdf\xbe\xfa\xf6\xd8\xcfI\xb4{d\xce\xe6\xf0\xfd\xd7_\xff\xbeG\xb6\xe2\x03y\xbc\x81\x1e\xe1\x06\xd5\xa1\xfe{\xec]\x8f\xbe-\x95\xe9sQ\xd2\xca}@\xd2\xfe\x07$\x1d0\xb0\x92\x1e#\xf6\x90\x0a\xf1H<\xfe}e\xc4\xd5\xabw\xddw\xf5\xbe\xbb\xe4\x1f\x80\xab\xca\xf7\x9f\xbc\xeb\xae'=\xb2\xd5\x92\xb4\xf2P\x7f~\xe0\xa77<\xc0\xc6\x82\xa4G\x02\x20\xe9\x80\x81\x95\xf4-\xbf\x91\xb5\xa7\x18\x0dS\x88\xfa\xd8\x08<I\xbe\xe9\xeaM/\x0a\xd1\xe2\xc0[\xf1\xfe\xcd7_\xf5\xc8\x96\x91\xa7\xf6\xc0\x9b\xf0\xfa\x0dz\x92\x86\x81\xb7Y\x80\xa4\x03\x06V\xd2\xbb\xc7>\xfa\xb7\x0b\xbb\x7fL\xd3\x8a5\xab[\x9f|\xfb\xf3\xd7\x7f\xf6\x0be\x04\xe6\xa6\x07n\x12\xf7\xbc\xf1\xf7tyL\xf5\xbe*\xdbq\xbfw\x1f\x8c<\x0aK]\xea\xe5\xb1\x1f\xff\xfe\xc2\x85\xdf\xdc\xcc\xc6\xb2\x92~f\x1c\x0e\x1d\x07\x92\xf6?\x20\xe9\x80\x81\x95\xf4\xd5\xdd\xb7\x8e\x19s\xebn!\xfd\xe8\x8d\xf2\x99\xa5\xdd?\xbda\xcc\xb8\xff\xbe\xa0\x8a\xb8z\xf5\xbe\x7fu\x9f\xf2z\xe6?\x84\x93X\xca\xf7U\xd9>3.$D\x96\xe7\xd5\xdf\x8c\x0b\x11Ob1\x87\xfa\xfd\xadc\xc6\xfe\xe4u6\x96\x954=\x89\xf5\xc0\x18\x90\xb4\xdf\x01I\x07\x0c\x92\xf6\x02\x07<\xde\x07I\xfb\x1b\x90t\xc0\x10`\x92\xfe\xc5\x9f/\xbc\xf8\xef\x0f\x80\xa4\xfd\x0eH:`\x080I?\xfa\xfd17aE\x83\xa4\xfd\x0dH:`\x080I\xbb\x01I\xfb\x19\x90t\xc0\x00\x92\x06|\x01$\x1d0\x84\x04(F\x9f\x0b\x18Z@\xd2\x00\x10T\x80\xa4W\xaf\xd6J\x02@\x80b\x8e\xa4\x95\x06:\x08U\x99wK\x93\xbfZ\x9e\xd0H\xbay\xd9\x82I\xc0\x89\xf7~\x19\x1f\xbb\xf0\xe8\xfc7pr\xeb\xcc;\xa6\xde1s;B\xf5\x16\xcbB\x84\x0e\xe0\x88\xa3\xea\xfd\x86\x89\xa3\xf1\x7f\x91\xd2mS-\xb3\xbd\x84z\xe7a\x8b\xe5\x80Q\xcc\x80\x18\xba\x8aZ\x8d\xc3\xacmFQ\x80.\xe6HZa\xa0\x83\x90\xd3^k\xb0\xc3\xf0\xb1\xd2zI#\xe9\xc6\xf5F}\xec\xf2\xf7\x10:;u\xe9\x81\x97\x96S\x1d\x1c\xb5\xfcr\xcf\xc1\x17\x96Z\xea\x91\xeb\xa8\xc5\x8a\x1f\x0fX\x8e\xba\xd0\x10s\xf4\xac\xe6\xe6\x83VF\x88\xa7V[5\x83|\xe1R\xfd\xd4\xedF1\x03b\xe8*\xea\xe3\xfa\xfa\xff\xb1\xbca\x14\x05\xe8b\x8e\xa4Y\x03\x1d\xac\xe8\x12\xf3$\xddfY\xaf\x91d\x89']\xf7\xe2\xc5$\xb9\x9a\xb4\xd4\xf5\xb1\xb4\xec\xb18\xd8eY\xb9\x9a\xec\xe7CC\x1d\x20\xf3\x97\x1bE`\xb6\x0f^\xd2\x08Y\x87V\xd2h(+\xea\x14H\xfa:0I\xd2\x14\xc1@\x07U\xd9\xab\x0aL\x93\xf4j\xb9g^\xed\xd9I\x13hKM\xd8J\x92\xef\x91\x96\xbax\x01\xdd\xbc`1i\xa9Gq\xb3\xf5\xb9\xa5\x0e\x80\x80\x95\xf4\x90T\x14H\xfaz0Q\xd2\xa2\x81\x0er\xb9\xdc\xb7\xe7\xf7?mS\xd7k$\x15\xd0\x96\xba<\xfe=\x92>\x88\xdb\xe4BAm\xcb\x17\x92\x96\xda6\xff\x80\xba\xa5\x9e\x9dj\xb1lm[\x99`\xbd\x9f\xdc\x20\xf1\xa5\x85\xd6\x99\xeb\xe9\xfb\xae'f\xc7.|#\xe1\x20z\xc4byI\x9e\x09\xcb\x01\xf5\x8b\x13\xa6\xc6\xff\x12\xcfG\xffb\x11\x98\x8f\x14|m\xb5\x90=)\x97V\xc6\xc7.\xf7\x1cx\xb7-\x8f\xc7Y\xe0_\xa6N\x9cHXJF\xef\x8fX\xa6\xeeY?\xd3\xba\xf8cU\xa8u\xfd\xea\xf8;\x96\xb6\xd1\xb4\\\x06\x19\xcd\x1c\x0e\xe2\x12\xfc\x16m\xb7h\xce\xc4\x07ZQdn\xbd]\xccL>\x1aA\x94\xb4^E!\xf4B\xfc\x1e\x04\xe8`\xa2\xa4E\x03\x1d\x82i\x92^=\xf5c\x8d\xa4\x02\xdaR?N\xb0\xdc\xbf\xfd\x14\x1dT\xcc\xff5\xdd\xfc\xeb\xf9\xb4\xa5\xee\xfc\xa5\xba\xa5\xba\x0e\xbc\x94036a\xfdJ\xcb\xc7d\x04\xba\xfe\xe0\xce\xf8\xf9X\xdc_'\xc4\xef<\xf8\xb0\xc5\xb2G\x9c\xc7\x8a3a9\xe0\xace\xe5\x81\xa3{\xe2-\xbdd^:sa}}}\x9b\xaa$g\xeb\xeb\xc5\xbe\xb5-v\xe6\x0b\x7fYlQK\xfa\xb5\xd8\xf9\xbf;\xba\xdd\xb2\x93ho\xf5k\x07\x96ZN!\xf4\xd7\x97\xa6Z\xe2\xb7\xef\x8cUw\xfbV\xcb\xfc\x97^\x9ao%\x02\x94\xcb\xc0\xa0\x99\x83\xeb\x8d\x84\x87/\xa1K[c\xeb5\xfa\xdb\x01WT}\xecVwf\xf2\xd1\x08\xa2\xa4u*\x0a\xb3\xdcr?\x02t0O\xd2n\x03\x1d\x82Y\x92\xfex\xea\xc3\x1aI%\xb4\xa5\xa2\xaf\x9f]0\xd5\x12K\xfa\xa6\xd9+\xe9\xe6\x95\xb3iK\xbdd\xbd\xe49\x9e\x9coY\xdc\x89\xfb9\xa2\x8b?\"\xd2Bq\xdf\xba2\x96\x0c\xeb\xd7[H\xf7B\x85I\x87\xcdL\xc0\x9ex\xd2\\\xff'V\xc8Ag\xe0-Jz\xe1L|\xc8\xde\xf9*I\xbb\x12\xee\xc7\x9b\xbb\x0f|M~WH\x99\x84\\\xac\xb1\xf8\xb7ee\xbc:\xa7\xd98\xc25s\x81\xa2\x0clf\xda9l'C\x87\x95\x9a'\xfb\x06^Q\xabI\xee\xbf&\x99\xb1Gc\x06\xde\x9a\x15\x85i{\xb6\x0d\x01:\x98'i\xb7\x81\x0e\xc1,I?2\xb5M#\xa9$\xde}f\xcbu\xf4~\xcbA\xa9\xf3Y.t>\xe8\x97;5$m\x15;\xfc\xe5\x09\xdd\xbd\x98\x04\xdcj\xadt\x92\xf9W\x95\xa4\x99\x80\x8f\xe3\x13\x1e\xd9s\x16u\x0b9x\x95\xf4\xd74\x17\xb4U%\xe9\x83\x16y\x9d\xfc\xef{\xeeO\x88\x15\x86\xeeV\xa2\x19\x8fy\xb7\xf5\xb7\xe4q\x8f\xe5k\xb6\x0c,\xda9|ly\x0f\xb9b5\xcfE\x0d\xbc\xa2^\xb3\xba\x90\xcbZO\x92\xcc\xd14%\xadSH\xc0\x13\xf3$\xed6\xd0!\x98$\xe9K\xd6\xd5\x1aI\x15\xb4\xa5\x9e\x12V\xce\x16.\x15\xfe0K\x85)\":0_C\xd2\xeeY\xf0|qV\xbc\x1cK\x81\xce>]*I\xcb\x01X\xa8{\x96\xcf\xb6\xc4\xffN\xd8\xd1\xab\xa4\xcfZ\xa8\x0c\xd42\xdd)\x17\xe4T|\xc2\x13\x07\xea\x17\xcf\x97\xf6\xf1\x944\xcd\xa9\x1e\xff\x0a\xb0e\x90\xd1\xcb\xe1\xfe'\xd0\xd1\xd8n\xa4\xc1\xc0+\xaa7\xfe\x00z\x99\x0eN\xd8\xa3iJZ\xbb\x90\x80\x06\xa6IZ2\xd0!\x98$\xe9\xf5\xb8\xa5y&%z\xe9&\xdaR\xe3\x1f\xa1[\xb6\xceDHlw\xf3\x17\x0b-\xd5e=\xea)iw\xc3[\x99p\x96\xf2w\xd4+H\xe8=Y\xd2\xb4\x8f\x95\x03\xd0Yr\x9c\xaf_\xb2\xee\x91rx\xc1sr/\xe4\xf2w\xa1\x97V/\x8f\x1d\x95{\xe9\xd9\x0bH\x99\x96{\x934]\x0c|\xc1\xd2\xc9\x96\x81A/\x87\xbf\xc4w{\\d7\xe8\x8aZ\xbf\x1c-\xa7\xe5`\x8f\xa6\x96\xb4\xba\xa2\x00\xef\x98&i\xc9@\x87`\x8e\xa4\x8d:\xe9=\xa43\xfc;YmB\xf1\x09_\x93-Di\xe2\xe9V\xb2\x03i\xa9h\xf5\xaf\xf5%}T\xe8\x9b\xb7>K\x96\x82Ik\\)H\x1a7\xfe\xde\x05Ve\xc0v\xe1\xd2\xaa\x85tJ\xbf\x10wm\x974\x96\x95\xc5\xb9\xf4\x02R\x9c6\xabJ\xa6\xae\xf8\x85\xa4\xfb\\\x8fE\x92@J\xd0;\xdf\x9b\xa4\x13\xc8\xbc{\xf6BE\x19\x18\xf4r\xe8\x8e\xff\xcb\x1d\xeaq\xf7\xa0+\xea\x94\xf5\x92\x95.\x89\xb1Gc%\xadUQ\x98\xb6\xedm\x08\xd0\xc14I\xcb\x06:.\xa7\xb3\xa8\xcai\x82\xdd\xc6\x13r\xcf\xfc\x84F'M.\x7f:\xf0\xc7\x05\xf1\xa4\xaf\x8c\xb7\xc4o=z`1\xb9P\xf1\xa8\xe5\xfe\x97\xeb_^ly\x99\\\x14u\xc0\x85\xea\xad\xca\x96\xda{\x8a\xaeW\x0b\xf9=a\xf9\xf5\x81\x97W\x93E\x9dK\xf1\x09{\x0e,\xb7RI/\x8c\xff\xdd\xb3\x0b,S\xff\xf8\x1e\x1b\xb0\xdd\x12\xbb\xf5\xe0\x81\xd5\x96\xd7\xc8~\xdb\xad;_^lU\xf6\xd2\xddo\xd4\xd7[W\xd7\xd7w\xe2\xce\xde\x9a\xb0}\xeb\x1dB\x0e\x0cG\xad\xb3\xf7\x1c\\oy\x81d\xb6|\xcf\xb3\xf3\xf10\xfe\xd4\xa5\xfa\xa9\xabO\xa1\xb3\xab\xa7\xd6+\xcf\xba[-\xf7\x9f:\xba0\xb6\x0d\xb1e`\xd0\xcd\xe1\x89\x84X\xb5}\xd9\xe0*\x8a\x10\xbfXX\xb6\x93\x8f&\\=\xb6\xb3\xbe\x9e\xe4\xa6YQ\x98\xa5\xe4\x02S@\x1b\xd3$-\x1b\xe8\x1c\x13.\xf7\xbe\xe2-z8\xb8d]\xa9\x91d90\xdf\x1a\xbb\x94\xaaf\xc1\x0b[g[\xe3\x85\xd3\xb8[g\xc6Zb\xc9\xa5\xcb\xaf\xd1S\xaa\xbd\x0b\xe2\x15M\xfc\xac0\xe9\x13&\x92\xe8\xe8\xe2\xf8\xd8\x85\x07I\xea\xef\xab\x13\xac\x8b\xcfRI\xb7-\xb4\xc6.\xfe\xad\xc5\xf20\x1b\xf0\xd2\xc2\xed\x09S\xe3\x17\xbeFws\xad\xbf\xc3\xba\xf0\x14R\x20f,\xe4\xb0\xf4\x8e\x84'\xfe8\xd5\xa2Z\xa5o[\x9e\x10\xbb\x80tg\xbd;gZ\xe3\x97\xbf0s\xea\xc2\x87\xf1\x1eS\xdf#\xa7\xb4\x95\xb1\xb3\xb7/\x8f\x8d_)\xc8\\.\xa4\x8cn\x0em\x16\xcf\x01\xcd\xa0*\x8a\xb0\xd3\xba\x93>\xcbG\xa3\xd7x\xbbg\xcd\x9a\x15EwS/\xe0\x03\x12\xa6I\xda|~k\xf9\xabFrx\x11\x96\xc7\x02\x1a\x97\xf55\xa3\x90\xe1g\xe9b\xa3\x88\xd1\xcb(\x96\xb4\x19\xffU\x19\x04\x92>\xe0\xd9\xd7\xfa\x9dg-\xaa1\x05\x203\x8a%m\x06\x81.\xe9\xed\xaf\xa1\xc5[\x8d\x82\x86\x9d\x8f\xe3w\x1a\x85\x8cb@\xd2\xfe\xa4\xed\xa8e\xbdj\x86\x1cP\xb8,\xf3\x1f\x89\xff\xda(\x0a0\x15\x90\xb4?YHV\x9a\xda\x8c\xa2F0[c\x17\xb7\x19\xc5\x00\xe6\x02\x92\x06\x80\xa0\x02$\x0d\x00A\x05H\x1a\x00\x82\x0a\x904\x00\x04\x15\x20i\x00\x08*\xfe?\xb6^u\x0b\xa5[\x1f\x81\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/ident-func.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x03\xd2\x00\x00\x00\xda\x08\x03\x00\x00\x00}\xf6\x8a\x1c\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x01\x04\x00\x02\x05\x01\x0a\x03\x01\x05\x08\x03\x09\x0c\x08\x09\x0f\x11\x0e\x10\x0c\x10\x12\x0f\x13\x15\x12\x15\x16\x14\x0f\x17&\x19\x18\x11\x1a\x1a\x13\x1a\x1c\x19\x1c\x1c\x16\x13\x1e7\x20\x1f\x19!#\x20$$\x1d#$\"$%#'(&)(\"+)\x1e\x14+N++$*,)/-\"-.,.2402/63(241:7+685;9-:;9?<0=?=C@4AB@CEBGE8KH<MI8HIG\x00f\x00\x00i\x01JLI\x00j\x02SN=MOL\x05m\x051S\x96WRAQSP\x0co\x09\x0fq\x0bUVT\x0cr\x175[\xa4XZW,`\xae7]\xad\x15w\x1cb]K\\^[9a\xab\x19y\x1e;c\xad=d\xae`b_)z!?f\xb0)|*Bh\xb3egdLi\xafDl\xb0qjRikh/\x82/Ho\xb3/\x859Jq\xb6mol;\x86:Ut\xb4Xv\xb6?\x8a>|u]tvsB\x8c@@\x8dG\\z\xbby{x]~\xb7e|\xb8\x84|dK\x90J_\x80\xba}\x7f|O\x93Nb\x83\xbd\x8b\x81cN\x95Ud\x85\xbf\x81\x83\x80W\x95Vl\x87\xbc\x8f\x86hZ\x98Yo\x89\xbe\\\x9a[\x87\x89\x86\x93\x89k^\x9d]\\\x9dds\x8d\xc3\x8b\x8d\x8a\x96\x8doz\x8e\xbfe\x9ef\x8d\x8f\x8c|\x90\xc1\x9b\x91s\x90\x92\x8fi\xa2i~\x93\xc4x\x95\xc4\x80\x94\xc5\x93\x94\x91{\x98\xc7s\xa4l\xa0\x96xq\xa5s\x97\x99\x96\x83\x9b\xc5\xa3\x99{\x99\x9b\x98u\xaaw\xa7\x9d~\x87\x9f\xc9\x9c\x9e\x9b\x7f\xabz\x89\xa1\xcb\xab\xa0\x82\x9f\xa1\x9e\x8f\xa2\xc7\xa1\xa3\xa0\xa2\xa4\xa1\x92\xa5\xca\x82\xb1\x85\xa5\xa7\xa4\x94\xa8\xcd\xb3\xa7\x82\x8b\xb3\x89\xa7\xa9\xa6\x96\xaa\xcf\xb6\xa9\x84\x8e\xb6\x8c\x9d\xac\xcc\xaa\xac\xa9\x8d\xb8\x93\xba\xad\x88\x9f\xaf\xce\xad\xaf\xac\xa1\xb1\xd1\xaf\xb1\xae\x97\xbb\x97\xc0\xb3\x8e\xa5\xb4\xd4\x9a\xbe\x9a\xb3\xb5\xb2\xab\xb7\xd1\xb5\xb7\xb4\xa3\xbf\x9d\xa2\xc0\xa4\xc5\xb8\x93\xb7\xb9\xb6\xae\xba\xd4\xb9\xbb\xb8\xb0\xbc\xd6\xa6\xc5\xa8\xbb\xbd\xba\xb2\xbd\xd8\xb6\xbe\xd3\xbd\xbf\xbc\xa8\xc7\xab\xaf\xc6\xab\xcd\xc0\x9a\xb9\xc0\xd5\xbf\xc1\xbe\xba\xc2\xd7\xb2\xc9\xae\xc2\xc4\xc1\xbc\xc4\xd9\xb2\xcc\xb7\xd2\xc5\xa0\xc4\xc6\xc3\xd5\xc6\x9a\xc0\xc8\xdd\xbb\xca\xde\xc7\xc9\xc6\xbb\xce\xba\xd8\xc9\x9d\xc0\xcc\xda\xc7\xcb\xdb\xca\xcc\xc9\xbf\xd2\xbe\xc9\xcd\xdd\xd7\xcf\xa1\xcd\xcf\xcc\xc4\xd0\xde\xdf\xcf\xa3\xc8\xd3\xc1\xcc\xd0\xe0\xcf\xd1\xce\xe1\xd2\xa6\xc9\xd7\xcb\xd2\xd4\xd1\xd2\xd3\xdd\xdf\xd6\xa8\xcd\xd6\xde\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xd0\xd9\xe1\xd8\xd9\xe3\xd5\xdc\xd1\xd3\xdc\xe4\xda\xdc\xd9\xe6\xdd\xaf\xec\xdc\xb0\xd5\xdf\xda\xdc\xdc\xe7\xdc\xde\xdb\xda\xdf\xe2\xd7\xe1\xdc\xe0\xde\xe2\xde\xe0\xdd\xf0\xe0\xb3\xdf\xe1\xde\xdd\xe3\xe5\xe1\xe3\xdf\xe3\xe5\xe2\xe1\xe6\xe9\xe8\xe5\xea\xe5\xe7\xe4\xe4\xe9\xeb\xe7\xe9\xe6\xf1\xf3\xf0\xfa\xfc\xf9\xfe\xff\xfcd\x82\x05\xe8\x00\x00\x20\x00IDATx^\xed\x9d\x0fT\x14\xd7\xdd\xf7\x1fZ\xf3\xc6\xe6M\xda\xd7Q\xf6\xe9S\xe2K\xa9%F\xdbd\x95x\xdeJ\xa0fN\\@\x13\x90*\x82\xc4\x98*M\xa2\xb4Q\xe2\x9f\x9ch0\xc4\x1c\xff\xb4.\xc1@\x0c\x09h\"I\xa4\xc1\x83A\xa4V\xadx\x0cA\x03\x96'\xc1D\x92\x87\xa4\xa6nj$QL#\x09\x1c\x16\x02\xb7\xf5\xbc\xf7\xde\x99\x9d\xb93;\xb3\xb3\xc0\xee\x0e\x0c\xbf\xcf\xd1\xdd\xbbw\x7f\xf7\xcf\xdc\xb9\xdf\xbd\x7ff\x98\xdf\x7f\\\x1b<\x08\x00\x80\xe1\xc6\x7f\x18\xe9\xd6\x07Fy\x03\x00\x10r@\xd2\x00`)@\xd2\x00`)@\xd2\x00`)@\xd2\x00\x10`\xfa\x8c\x0c\x82\x0aH\x1a\x00\x02\x89+c\x127\xc7\xc8(\x98X^\xd2e3\xdb\x8cL\xcc\xa4}f\x99\x91\xc9Hd\x14\xb7\xfa\xd4\xa9\xce\xcaO\x8c\x8c\x82\x89\x89\x92n\xdeWTrB\x0c79\xcb}\xda~\xb3y^bN\xbfO\x13m\x9e\xe4\xd6\x19\x99\x04\x8as9I\xa9\xb9\xa7R\xbfR\xc7\x7f\xee\xe0\xef\xd3\xb2\x17xr\xc2\x06\xaf\xb8\"\x0e\x135\xfb\xa4\x869Ck87\xd5_[?!\x99\xadC\xeb\xf0k\x81\x0f+\xa1`_\x04\xbe\xd5\xabxLr\xce\xfbFv~\xa2\xd5\xea\x81\xa1\x81\xdbgd\x12dL\x93\xb4\xbb\xd2y\xb4\xf5\xa4\xb3\x85~h/8\\\xec\xd3\xfa\x91\xd4\x8a\xbc\xa4\x0e\x9f&\x9al\x9dPdd\x12(\xea\x93~Sqp)\xcf\x7f\xa4\xfe\xa2\xff\x9d\xcd\x0e\xad\x04\"\xe5\xe1[\xd5QW\x8b\xb8\x0d\xd5E3\xb9j-{\x99\xa3\x196\xbfm}S-\xfe\"\x90\xcc\xdaP\xdb\x93\\\xd1U_\xe6\xb4`\x1f\x04\xa1\xd5\xbb\xab\xf8\x97NUe\xddu\xca\xc8\xd0\x17\xa7\xceJA\x8dV\x0f\x0c\xb5\\\x8d\x91I\x901M\xd2\x95\x05.\x84\xda\x9c\xcd\xf4Cy\xa5\xcb\xa7\xa4;\xf8\x0a\xd4\xdf\xed\xcbB\x9bV\xdbr\xdf\x06mq\x81\x9a\x20v$\xaf\xe9\xc5=/\xd3[\xd2\x08\x95\xfa\x924Zis\xa9\xa3\x9a\xe8O\xfd\xcc)\x1a\xd6,\xebl\xfe\xdb\xfadF\x8a\x18\x102\xab\xe6\x9a|Y\x8b\x05\xeb\x12\x94V?\xc7\xd7\xe3_\xc7\xecL#;_d\xad\x97\xc3\x1a\xad\x1e\x10j\xb9\xa3F&A\xc6,I\xbb\x9c\x0d\xe4M\x18\x0c\x9a\x8a\xdc\xbe%}\x81?\xee\xebk]2&u\xfa6h2\xea\xbc~S\x98t\x99\xbc\xed\xe5?\xf5\xfe\xce\xb7\xa4;'e\xa8\xa3\x04em\xe5\x0cj\xcfH\xda\xd0\xd6'\xd3\x03*\xe9\xa0\xb4:\x954\xaa\xe0\x07\xf1\xc3.\xb1\x94\x91\xb4F\xab\x07\x84\xd1+\xe9\xa3\x05=R\xf8jA\x0b\xf2!\xe9\xdey<%\x1f\xa1m<\x7fP\\\x9bn\xe3\x1d\x15\xf9\x99I9_P\x9b\x0b\xeb\xe79R\xc5\xb0\x8c{\xa24\\\xb4\xa4D\x85O\x9a\xad\xfca\xde:\xa5\xbc\x99k.\x9f\xe2\xc4\xe1\xc6\x9ct\xc7\xbc\x9ct\xb2\\\xef\xaf\xcaJ\xca\xcc\xc7]\xe7C\x07\xcf\xef\xbc\x90\x97\x9e\x98\xf3\xedA\\~)*\xe5I\xf9\x9a\x06(s\x0b\xcd\xb3c/\x1e\xab\xfb+\xb2\x92\x96V\xd0\xa5\xff\x17\xb9i\xc9\xeb\x85\x89\xb7\x94\x0c\xa9\xea\xbb2\xc2\x8d\x94\x08\xca\x9a\x1fM?\x14\xcf\x8c\x98\xb2\x8c\x88\xe4j\xca$[\xf4\x1c\xfaS\x88\\\xf3'E\xa6d\xc8\x92V\xdb\xa2\xce\xe5S'\xc6\x1d\x8d\xde\x87\x96p\x13\x8a\xf1\xc0).\x7fe\x83\x9aY\xd1\xe1Q\xb3q\xb2rN`:RI\xda\xa0`\xd9\xa0!\x9c\xe3V\xb6\xcc\x9f\x1c1\x9b\x9cTO\xab+c%\xe4Vg\x9a\x8f\x9c\xcd-i\xc9k.P\x13\xad\xb3)H:7\x8d\x84\x99\x96\xec.\xbc/)\xfb\x9d\xb4z\xb6k(\x0c\xa4\x13{\\\xe8E|\x96\x98\xa1w\xabk\x1e\x90\xf2(\x9c\xd3#\xa6\x93\xee\xa2sl\x88\xb4\xddh\x95tYy\xf3ng\xf1a\xda\xaa\xe5\x95\xc8\x97\xa4\xd1G\x8d\x07\xf9\xd2\xc6F<\x0a~\xd1\xe8(\x15\xd7\xa6\xe7\x0e:\xf8\xd4\xd2W\x92\xe9\x0f\xef\xa9\xa4\xacW\xeaK\xf9\xbd\xaa\x84'\xa5\x15f\xf5\xc4\xe9OV\xae\xe36)\xbev\xcd\xe7\xa6r\xb7s)X\xe8\xef\xdf\x95w\xa4\xbeb\x1e\xff-\x8e\xde\xc2\xe7\xd7W\xa4.\xedG\xbd\x07\x0f\xa6g\xde\x93\x96\x9f{\xd7\xe7\xdd\x8d\xc9/|\x85\xbez!\xb9\xb1[\xdb\xa0\x97-<\xcf\xb1\xb3~\xa7#\x0f\x87.$gV\x1d\xcf\xe1\xa9\xa4\xa5d\xea\xfa\x1e\xf6\xea\x05M\\\xb9\xbby9G\xb7p2&,)\xdf\x1a5\xbd\x8fh/\xa3\xbad\xce\x84Z\x1c\xd92qJQ\xd9,\xce\xa6k\xdb>9\xea\xc9\xf2%\x1c\xe7D\xae\x9a\xf0u\xd2\xf2W6\xa8\xe5\xe6\xef\xaetFq=\xa8\xf3p\xcd\x94\xb8\x9a\x9a\x9af13\xb7{\x1f\x95\xb4Q\xc1\xb2\x81\xbb\xa48z\xca\xc4\xe8e\xf39\xb2\xd5\xebiue\xac\x84\xdc\xeaL\xf3\x91\xb3\x99^Z\x9a\x9et\x0e\xe9\x9cM,\xe9\xeeO\x0b\xf1\xef*b[\xb2#=yo=Vs\x05\xdb5X\x03\xf9\xc4v76ff766zfQ\xde\xad\xaey@\x8a\xa3\xc8\xb0\xad,_i\x9b\xaf{l=m\xd53\"\x872]\x0a\x04fI\xba\xc4Y\xdc\xe0j..\xc1\x9an.\xea\xf4-iv\xe2\xed\x20\xe7T\x98\xc8:\x92\xf1\xefx^*\x0e\xf5\xa6\xe7\xe0\xb1\xb1\xf7\xa0z\xff\xac\x9ck\x15\x02\xee\xe8\xd9nr\x1e\xdaU\x06\xfb\xc2\xb9p\xbaAY\x91J\xc4\\\x91\x8c;\xc1q\xbe\x0a\x07\xcf\x92\xe1\x18O\xd5\xf8G\xba\x85U\xfc\x96\\\xfc\x92K\x86bM\x83\xcf\xf9\xbfH\xb9\xd6\xd3\x01\x85\xbefg\xe2\xb4\xfdK\x1d\xcad\xaa\xfa\xba\xb8\xddHI\x13\x1d6\xe7\x93`9G\xb6\x9aj\xb9\x17I\xfdIo\xb9\x9d\\\xf4\x9c9\x19\x07\xfb\xa6\xdbtm\xe7G\x92\x19\xc92\x8e\x0c)6\xb2\xfdL\xe7\xca\x8c\x813\x8a\x8c/[#iy\xcc\xc4[\xa0\xc9\x8f\x82\x19\x03\x9c\x037\xeb\xaa\xb8\x8e\x92Z]\x11\xcb\x20\xb5:\xdb\xbe\x8e\xf4n\xa2\xd0,\xbd\xb3y\x8e\x0e\xb1y\xe4\x07\x91i\xc9<\xd2\x07P>\x964\xdb5\x18\x03\xe6\xc4*'\xde\x1a\xad\xaew@Rp\x1f\x9d\xc3\x08\xaf\x9a\xc76\x077\x9d\xefK7!\xc0,I\x97\x17\x90\xc6\xe8,\xaaE\x9d\x05\xcd}}}\x9f\x14\xfb\xba\xe5F[\xd2y\x9e`\xbd\xd6\x9e\x14\xa6\xcc\xd3\xb9\xca\xb9\x06\x8d\xaf\xdb\x97\xd9\xa2\xb9I\xb6eX\xe8\x97\xd3\xd2\xf3+>\xea\xc7]\x09\xe5\xa6\xf7~\x8bI\xa3\x13\xe9\xa5\x8e\xcfE\xe3S\x89\xdd\xa8;\xe9\x94\x9eA\xafC\x1eT\xb6\x08\xd7\xac\xee\xdbL\xb7\xf50;\x1d\xcad\xaa\xfa\xba\x84N\xc4\xd0\xc4m:Z>3\x82\xd4>e\xb2\xbb\x07\x13MV~m\xce\xd9\x93'r\xb7\xe3\x9aS\xa9\xa2\x956]\xdb\x08z\x15\xa9Y%i\xc6\xc05i\xf2\x12g\x03\x12&\x9f\x8c\xa47\xd5\xd6\xd6n\"\x926,\x985@\xd3m\xd2pU\xc6HZ\x8e\x95`Z\x9dm_G!y\xad\xe0;t\xce\xe69\xfe\x95\xb3\xc7\xb3\x12\x89\xb9\xdc\x92\xfdI\xa5\xc2wJI3M\xcd\x9cX/I\xab[]\xef\x80\xa4`\xc6\xed\xf4m\xaa\xda@\xe2\x93}\xce\xa9\xa3v\x94\xae\x16~\"\xab\xcbP\xab\xd3\x83\xfe\x16\xa4\xb6\xa4\xa5\xe0^\xbeW3\xd9Q\xcf\xdcj+\xe7\xbdnB\xe8\xc9('^\xd5m\x8d\"s\xd6\x8e\x8a\xf5\x99\xfc\xbc\x97\xfa\xc9\xc0!\xb0\x86\x98,\xf5\xac\xbc\xd0\xb7\xc9G\xd0\x91y\xe4\xc7^\xdb@\\K\xf7\xe2\xa1\xf9a\xfa\x0d\xca\xc9\xc2\x03E#\x09\xd1J2\xc9T\xf5\xad\xe5\x0e#%tI\xdb>\x81\xc8g\xba8n\xe2!\xb2vR\xf4\xf2\xdd5q\xb8_\x9d\x10\xae\x94\xc8\xdbcj[q\x08\xba\xaa\x924\x93\x19jw\xa6L\xe5\xa2\x9e\xa4\xe5im\x8f\x19\x16\xccf\x86\xa6\xcf\x90*\x7fT\x9e\xd12\xb1\x12l\xab3\xedK\xcf&j\xe4\xcf\xea\x9cM\xba\x96\x16~\"\xe5\x96\xfc\x82?B\xbe\xebVI\x9a=C\xf2\x89UI\xda\xbb\xd5\xf5\x0eH\x0a\xce\x9cM\xdff\xcfP\x19\xb0\xd4p\xb5\x9a\xf1\xa1\xc3,I\x9f,\xa2\xa3r%\x9e\xa6\xb4\x11\x9a\x8a\xda|\\\xd8PIz\xa7J\xd2\xa7\xf8\x0f5\x93u\xda\xc4;\x1e*9\xcd[1\xdct\xef\x95\xa8\xfdl!Y\x98\x1dL\xac\x20?\xf1g)t\xde\xc7t\x82\xfc5h}>\x09h\x1b\x14&\xd2\xcf\x07\xf9\xaf\xd0\x16a\x97-=\x0f}#\x8c\xd2y\x0ee2U}\xd7\xd9\xd4SSAY\x13I\xed\xe7O>I\xc1\xad3u&\xa9j\x8a<X2\xdbc*\xdb>a\x94n\x92%M\x07V&\xb3\x13d\x0f\xeb\xea\x8b\x114#*\xe9\x82O\x14\x926,\x981`~\x14\x98VW\xc4\xca\xc8\xad\xce\xb6\xaf\x83\xb6-\xd9\xd1\xd6>\x9b\xc2\xf6X29\xe7rK\x8a\xa3\xf4G\xb2\xa4w\xaa\x9a\x9a9\xb1biU\xe2\xbc\xc0\xbb\xd5\xf5\x0eH\x0afL\xa6o\x933T\x06,\xa3w\xc7\xbb\x9d^\xc4\xbaZ\xe0\xb9}\xcc\xdf\xb5t\x12\x9e\x9f\xf5\xffF%\xe9\xee\xd4l\xf2\xc3\x9e\x9f\xafN\x972E\x98\xcewN\x8a#]h\xc92\xb5\x81+R\x98\x1a\x94\xd2\x0e\x83\xb27\x93Y1]$\x17\xbeD^\x19I\xbf\x9bx9\xf1]\x12\xd06\xe8H^O\xf6\xba\xb3\xd3=\x06\x07I\x96Y\xe9\xb8[}\x9a\xe8P&S\xd6\xb7o\xeal\xa4BP\xd6\xa4e\x0d\xeb\xf0\xca\xad\x84\xc4\xac\xc4\x83Z4\xe9D}\xd3\xc9\xecoF4\x9e\xb7\xb6\xd8l\xba\xb6)Q\xa4c\xce\xa7\x0a\x8c\xc0\xea\xed\x9bAl\x19\x83u\xc2\x8a0n\x09}\x8d\xc3\xbf\xac\xe4;F\xd2\x86\x053\x06\xca\x0e\xeeiu\xddn\xefiu\x85\xa4\xe7\xe1\xb5twz\xb6\xbauZ7\x08\xd3xA\xd2\xa9\xf9\xe7J\xd9\x96\\?\x0f\xb7o\x7f\x1e\x95\xb4\xdc5\x18\x03\xe6\xc4\xe2W\x9c\xfbW\xc2wZ\xad\xaew@R\xb0\x9c\xce\xd5_\x14\x96\xcb\x20i5'\x0aN\xb8\x9a\x8aw\xf7\xd0\x0f}\xae\xa6\"\x97z\xefJB\xd8\xf1~\x87\xce\x9d\x1eN}\xa94\x8bwT\x9d\xbb\xdc\xe8\xd8\xfcN\xff\xfb\x9b\x1dd'\xfcT\xe2}\x15\xf5\xc2&\x89\x82\x96\x09\xe2\x1ew\xb5m\xaa\xb3|\x89\xfem\x8e\xa5|R\xe9\xf1#[x\xb2V.\xbc+\xf7\xc8_\xb6\xe03\xff\xed\xbbt\x8fT\xfcU\xefO\xcbI\xa3U\xd01\xa8Oz\xb8\xeax\x8e\x83\xcc\xb4s\xf9\xc2\xe3\x85<\xd9O;\x97\x94V\xba3\x99\xd4\x97I\xa6\xaa\xef&\xef)\x84pWa\xdcl\xb2x[\xce\xa5\x94\x94ep\xc5D\x85)\xce\x0d\xd3\xf1d\xf9(j\x8a\x88^\xb72rBxQ\xb3\x8e\xadkR\xb4s\xf7\x1c\x1b\x95\xf4\xcc\xa8\x0d\x1bfr\xc4V\x91\xd9\xc4u\xe5\xbb3\x84\xdd\xe9u\xb6Me\xb3\"\\\xca\xbb\xc7\x8c\x0a\x96\x0dz\x8e\xd2=s\xcf\x12ZluU\xac7\x8a\xe6s\xf0Y\x07+2\x93\xc9~\xb4\xa2u\xe6p\x82\xf4\x04Ig\xe7l^\xca\xb6\xe4\xe5\xd4\xf4\x8a#k\x12\xa9\xad\xd45X\x03\xf6\xc4\xe2\xdf\xff\xbdG\x1e\x11\xee\x1f\xd0ju\xcd\x03R\x1c\xc5\xfc\x09\xcb\xcb\x97O\x98\xef\xeb\xd8Nx\xcd\xe7C\x8di\x92F-eE\xbbO\x08\x8aF.\xb2\x94\xd6\x1b\xa7{\x93\xe9\xc2\xc8A\xaf>\\\xc8N\xbc'g'\xcfo\xdbF\xa2>J\xc2\xaf\xdbp\xf4\xa7\xeb\xd3\xee\xc9:\xe2\x9dv\xa5Ml\xe0\x96\x94\xe8\x893\xd4[\x9c2U\xd9\xa5\xe9\x8e\xd4l\xe1v\xc3\xfa\xecy\xc9\xd9\xb8\x03}(\xac\xc8rD\x9b\xbd\xd2\x0e\x98\xb6\xc1\xb9\x9c\xa4yk\xe8\xceN\x7f\xc5R\xcfu\xe9\x0bk\x92\xd3\x0b\xab\x1c\xb4\x92\x9edHQ\xdf\x9a\x08\xaf\xb9C\x09^\xd0\xe1En\xc3\x94(2\x1e\xec\x8b\x8b\x8a\x9cId\xdb\xb7i\x8a-*\xa5h\x8a-\x0e\x1f\xcf\x9c\xc8\xc9\xcb\x8a\xc2\xb9%:\xb6\xa8-#:b\xd6\x09*\xe9\x96\xb8\x88\x89\xb3\x96s\xdc\x12\xd6\xa08n]t\xf8\xa48\xf1z\xd3\x92\xc8\x88\xb8Z\xf6\x1eo\xa7a\xc1\x8cA\xc3\x04\xba\x06\x95\x86=\xa1\xd5\xd5\xb1^(\x9a\xcf\x91\xbf%9-O\x90\x1b{6\x8b\xa2\xe8T\x9f\xdc\x18\xf0\x0an\xe3\xccyd\xbe&\xb7d\xc7\x96\xf4\xc4G\xceRIK]\x835P\x9c\xd8\xde\xfc\xe4\xc4l\xe1\xa6P\x8dVG\x9a\x07\xa4<\x8a\xad\xb7G\xdc\xbe\xd5+\x96\xa5-<\xa5\xa1\xcd\xd4\xbf\xae4O\xd2\xa1a\x99\xad\xc4\xc8\xc4\\^\xb4e\xf4\x18\xd9\x0c\x9aNa\xe9\x1br\x06\xd1\xea\xc2\xf6\xd8\xe0\xe8\xf6\x9e\x9f\x19\x10\xc4V/\x9b\xca\xc1\x1fW\x06\x95M\xd1\x03\xbf\x9f8\x84\xb4O\x0a\xd6\x9f\x04\x11\xcc\x92\xf4\x20Z=\xa4\x92\x0en\xab\xb75\x04\xe7\xf6q?\xb1\xbc\xa4G5\xa6Iz\xe0\x84T\xd2\x96\x06$maZ\xf6q\xcb\xcc\xde\x7f\xf5\x8f/\xe8f\xa7\x91\x95\x0e\x17\xea\xf9\xfcw\x07\x9b\xd8z\x80\xa4-\xccL\x8e\xe3\xc2[\x8c\xac\x86\x03t\xb3\xf3s48\xb2I\xe2\x0bFV\xa3\x06\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x0a\x90\xb4i\x1c\xcf\xfa*\xb8\xae\\\x80Q\x89\x89\x92\xf68\xd0q\x17\xd1\xc7\x14\x15i=K\xc8\xc2\xbc\xc4\x97\x92\x9b\x18\x83\xe7\xca\x05\x18\x9d\x98&i\xd9\x81N\xbb\xb3\xc1\x85\x19\xe8\x9f\xee\x8c<\x18\xff-\xe4\x91<UB\x20h\xae\\\x80\xd1\x89i\x92\x96\x1d\xe8\xb4;\xbd\x1f\xb5hIX\xff-\x17\x84'b\x12\x82\xe5\xca\x05\x18\x9d\x98%i\xc6\x81\xce\xa8\x914\xfb\x80\xca-\xa9\x92'\x98`\xb9r\x01F'fI\x9aq\xa0c\xa2\xa45<\xb5\xb0Nq4=\xb5\xf8a\xab\xe5\x8dG\xe9\xbf\xa5\xf7\x1ei\x90\xd6v\xe5\x02\x00\x83\xc4,I3\x0et\xda\x9d\x958XcB\xb7\xd6\xf2\xd4\xc2xu\xd1\xf6\xd4bl\xab\xe9\x8dG\xe9\xbf\xe5}\xe1\x01\xdf\x02\x1a\xae\\\x00`\xb0\x98%i\xc6\x81\xceU\x1a,y1\xe4\x9a\xd6\xf3\xbb#yu\xd1\xf1\xd4bd\xab\xeb\x8dG\x9ex\xd7\xb3\x0e.\xbd]\xb9\x00\xc0\xa01K\xd2\xb2\x03\x1d\x84\x9a\x88\x98\xddE!\x1f\xaa\xf4\xfc\xeeH^]t<\xb5\x18\xd8\xea{\xe3\x91%}\x84g\xfe\xde\xdf\xdb\x95\x0b\x00\x0c\x1a\xb3$-;\xd0\xf1P\x13\xf2\xa1J\xcf\xef\x8e\xe4\xd5E\xc7S\x8b\x81\xad\xbe7\x1eY\xd2\xef\xf0\xef\xc8yx\xbbr\x01\x80Ac\x96\xa4\x19\x07:\x95\x82\xaf\xbf\xear\x9f\x09\x82\x80\x9e\xdf\x1dIz:\x9eZ\x0cl}{\xe3\x11\xfc\xb7t\xb3O\xcf\xf3v\xe5\x02\x00\x83\xc6,I3\x0et\xca\xe9\xf0\xdc^\xd4`\x90$\xe0h{jad\xaa\xe3\xa9\xc5\xc8V\xcf\x1b\x0f\xeb\xbfe}\xa6\xf4\xfc;\x0dW.\x000h\xcc\x924\xe3@\xc7\xe5\xdc\xd7\xf2\xc9\x89\x82\x90\x0f\xd2\xda\x9eZ\x14^]\xb4=\xb5\x18\xd9jz\xe3AJ\xff-\x9f\x12\xdf\x11\x02Z\xae\\\x00`\xb0\x98&i\xc6\x81N[eqQy\x93\x91}0\xd0\xf0\xd4\xa2t\x8a\xa3\xe9\xa9\xc5\xc8V\xd3\x1b\x0fR\xf8oA\xe8\x85D\xf12\x96\xb6+\x17\x00\x18$\xe6Iz$\x12\xc0g\xc0\xf7\xe7;\xe8\xd0\x1dDW.\xc0\xa8\x04$=\x10\x02(i\xd4\xbf7\xad#\xd8\xae\\\x80Q\x08Hz\x20\x04R\xd2\x00\x10\x14@\xd2\x03\x00<\xb5\x00\xc3\x1f\x90\xf4\x00\x00O-\xc0\xf0\x07$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0d\x00\x96\x02$\x0dX\x95>#\x03k\x02\x92\x06,\x89+c\x127\xc7\xc8\xc8\x92\x80\xa4G\x1f\xd4s\xcf\xd0\x19\xde\xbe\x7f\xa6NuV\x9a\xf6\xe4YS1Q\xd2\x1e\x07:\xca`h\xa9\x8c\x92\xfeL\xbb}IT\xc4lS\xe6j\x9f;\xf8\xfb\x8cl\x10y\xae\x12\xe6\xae\xcc\x0a\xbf\xefH\xd5\xc9W\xf4\xdc\xd3>+\xf2I\x8do\x07@\x80}\xff\x94G\xfa\xff'\xf3\x9e\xf3\x96\xc1q\\D\x8b\x86A\x03\xb7O#vT`\x9a\xa4e\x07:l0\xd4\x94GHO<\x9b5\xc9\x99\x11\xd1\xee\xcb8X\xf4\xbf\xb3\xd9ad\x83\xe9x\x89\xafj\xac\xcf\xe5_02\xf4\xa0\x9d\xaf\xc7s\xcf\xb2\xc9ON\x18\xa2\xd3\xa2\xc0\xfa\xfeY\xce-72\x91\xf0\x9c7WM\xcdV\xcdG&\xd7r5\x1a\xb1\xa3\x02\xd3$-;\xd0a\x83\xe6\xd1\xce\xe1\xee\xd9id\x15$J\xfd\x914\xaa\xe7\xcfa\x9dnc\x9f\x17l\x80F\xbe\x92\xe7\x9e\x19\x1bP\xc4P\xbb}@}\xff\xac\xe4V\x1a\x99hQ\xab#\xe9\x90?pv\xb8`\x96\xa4\x19\x07:L\xd0DZ8\xff\xa7}\x01g\x00\x92F\xbd\xc9\xdb\x8c\x0c%4\xf2\x95<\xf7\xdc^\xe4\xe2\x86:1\x0a\xa8\xef\x9fu\xdc:#\x13-@\xd2*\xcc\x924\xe3@\x87\x09\x86\x96\xf6\x08\x8e\x9bPLB\xee(\x8e\xe2\xf5\xc8\xa0\xe2\x99\x11S\x96\xe1\xb1\xbb!\x9c\xe3V\xb6\xcc\x9f\x1c1\xbb\x87\x09\xaa\x8c\xc5\xc7\x17\xb9&\x0a\x99q\x13UC\x98\x86\xbb\x1e\x84\xbe\xc8MK^/L\x90\x19\x17<\x9a\xb6\x82\xa4\xd1\xb6y\xba\xb6\xfd\x15YIK\x85\xc5\xb6N\xbe\xb2\xe7\x9e\xd9+\xe7\xdc\x8e\x8f%\xbcY\xbb4\xff\x1c\x09\xc9\xbe\x7f\xc4\x83W\x20%c2S\xe4\xab\xe0I\x8e\xae\xed\xb5\x9bo\x09\x17\xee\\6%b\x16\x89\x93\xcf\x1bA[\xbc\xd5\x20\xe9\xc1`\x94\xb7/\x18\x07:L0\xc4\x9c\xa8\xa9\xb1\x09#CC\xcd\x8b\xdc\xba\x9a\x1a\xf542c\xc2\x92\xf2\xadQ\xd3\xfb\x90\xbb\xa48z\xca\xc4\xe8e\xf3\xb9O\x98\xa0\xcaZ|\xc8\xa0\xbbh\xab\x80\xcac\xb6\x96\xbb\x1et!9\xb3\xeax\x0eO\xa5'\xbb\xe0\xd1\xb6\x15%]\xc1w\xeb\xd9\xe69v\xd6\xeft\xe4\xe9\xe7\xcbx\xeeY7\xd1v\xa2gv\xdcQ\x9d\xd2\xfcs$$\xfb\xfe\x11\x0f^\x81\x94\x8c\xc9L\x91\xaf\x82\xad\x1c]\x99k7_sq8\x17\xb5n\xd3Dz]J>oHS\xd2=m\xd53\"\xcdZD\x99\x8eY\x92f\x1c\xe80\xc1\xd0\x13\xe1\xe9\x1aZ\x13\xefr\xae\x08\x91>C\x9daL\xe7f]\x15\x97\x07L\x90\xc5\xf3(\xe0\xb6V\x01\xe5\xe6\x93\xb6\xbb\x9e\xecL\xac\xcf\xfe\xa5Dz\x8c\xb3\x1dm[Q\xd2\xc4\xf9\x8e\xb6m=}\xda0}\xd5\xce\x97\xf5\xdc\xb3\x81s\xa2\xab\x11\xe4\xa0\x87\xe0HH\xf6\xfd#?\x07YB\xe9=\xc8\x93\x99\"\xc8\xe2\xe4\x84q^\xbb\xf9\x90-\x12\xff\xe0\xce\x8f\x12?E\xf8\x92\xf4\x1c<\xc6\x9b\xb8\x8c2\x19\xb3$\xcd8\xd0a}\xe9\x84\x1c\x9f\x92N\x99\xec\xee\xc1D\xd3\x05\xe3t\x9b4*3A\x0dZ9\x0f\x8aN\xae\xe9\xae\xa7C\xd0\xc6N\"=\xc6\xd9\x8e\xb6k\x1fQ\xd2U|\x87\x8e\xed\x16\xe1\x9a\xd5}\x9b\xf5\xf2e<\xf7\x94p\x91\xcb\xd0\xa6I=hH\x8e\x84|\xfa\xfeQz\x0frH\xa32\x13d)\xa2?\xa0z\xcd\x87l\xe4,\xac\xb3\x89\x9f|J\xfa\x93}\xce\xa90J\x0f\x06\xa3\xbc}\xc18\xd0\xf1\xf6\xa5\x13B|Jz\xba\xd8\xb7\xe8lo\xfa\x0c9^\x0ejQS.\xa0\xdcO\xd6t\xd7sV\x98\x07\xd3m,\xc6\xd9\x8e\xb6k\x1fQ\xd2\x85\xc9z\xb6\x0fS?=('K/_\xd9sO[\xc4\xb2j[\xebdz\xf4Cp$\xe4\xd3\xf7\x8f\xd2{\x90'3E\x90\xe5p\xa4\xa0M\xed\xe6Ct\xaa\xed\x9f\xa415\x9c)#\xc4p\xc0,I3\x0et\x98`\xe8\xf1)\xe9\xf9\x93OR\xe8\x14pz\x8a\x14\xcf\x04\xfdG\xd3]\xcf7\x826\xf2\x84\xd1Tr\xb6\xa3\xed\xdaG\xdc\xf1N]\xafg\xbbEpi\x9d\x9e\xa7\x97\xaf\xec\xb9\xa7\x0c\x8f\x81s&O\xa4\xd7\xe1\x87\xe0H\xc8\xa7\xef\x1fo\xefA\x02Lp\x00\x0cL\xd2\xb0\xe3=(\x8c\xf2\xf6\x05\xe3@\x87\x09\x86\x1e\x9f\x92\xde\xc7\x95\x90\xb7\x95\xf4&)cIk,'\x19\xb4\xdd\xf5d\xa5\xe3\x0e\xffi\"\x91\x1e\xe3lG\xdbV\x90t!\x11\xa0\xb6\xad\x10{\x90\xac\xa5\xb5\xf3E\x92\xe7\x9e\xdd\\\x0bj\xe0RP_t\xeb\x10\x1c\x091\xbe\x7fZ\xd7y]\x11S\x14\x0c\x92\x0e\x15fI\x9aq\xa0\xc3\x06C\x8a\xfbhM\x8d-\xa3\xa6\xe6\xaag\xc7\xdb\xab\x17,\xe7RJ\xca2\xb8b\xd4s\xb4fJ\\M\x0d\xe9\xecLP\x85\xd6\xa6/\x83\x96\xbb\x1et.)\xadtg2\xef\xa8:\xa7p\xb6\xa3e+\xdc=\x96\xc7\xd3qR\xdb6\x97/<^\xc8\xe7\xea\xe7+y\xeei\x8bH\xd9\x1d=\xc5\xb6dCx\xdb\x10\x1c\x091\xbe\x7f\xe6p3\x91\x1a)\x19\x93\x99\"_\x05\xe5\x13}\xcc\xd3\\5\xe1\x19G\xd1\xc9\x8c\xf0\x1a\x17{\xde\xe8\xddc[kj\xbc\xf66N\x8c^o\xa0\xa6I\x9aq\xa0\xc3\x06CI\xed\x04a\xa9\xecD\xeeH\x1a\x08\xf7\xba\x81m_\\T\xe4\xcc}X\xf2\x82)\xe9\xecLP\x85\xd6\xa5Y\x16\x0dw=\x08]X\x93\x9c^X\xe5\xe0\xc9\xfd#\x8c\xb3\x1d\x0d[z\x8f7\x9f.Ny5m\xfb+\x96z\xaeK\xeb\xe4+y\xee\xa9\x9c\x12\xb5\xa4\xb3rJ\xa4S\xa74\x7f\x1c\x09\xb1\xbe\x7f\xb6\xda\xa2\x90\x17\x9edLf\xca|Y\xf6E\xf9\xb8-{\x099=M\x11\xf8u\x09s\xde\xe8=\xde\x04\xafiS[xJC\x9b)w\xec\x9b\x8ey\x92\x06\x82B_\xfbU\xdfW\x03=\x9e{\x86\x82\xb0=\xa6\xf4\xfd3'N\xcf\xda\x14\xca\xa6r\xf0\xc7\x95\x03\xc6(o\x20\xf4\xb8&\x8d\x193\xc5\xe5S\xd4\x82\xe7\x9e!A%\xad\xf4\xfd\xb3a\xd8]\x09nk\x08\xe0\x0d\xe8#\x08\x90\xf4\x88\x81\xf7\x83_\xfe\xd7\xff*.\x18\xf3_\xbf\xd4\xfe\xd6\xa8\x04\xbf\xf1v$\xe4\x8a\xda\xaai\x09\x84\x1c\x90\xf4\x88A[\xa6J~\xf9\xbf\xe7\\\xbb\xf6\x7f\xff\xcf\xff\xd3\xfe\xd6\xa8\x04\x7f\x01GB\xc3\x19\x90\xb4\xa5\xe8\x8cL\xb9v-\xf2\xf6\x96\xe0\xde\\\x0b\x8e\x84\x863\x20iKA%=\xf1\xf6\xe6\xe0J\x1a\x18\xce\x80\xa4-\x85\x20i[\xdc\xac&\x10\xf5h\x05$m)\x04I\x8f\x8d\xfc\xfe\x0d\x0d\xbb\xcb\xdbC\x7f\xa9\x1f0\x1f\x90\xb4\xa5\xa0\x92\x9e\xd4~\xad\xe7;aaa\xb6\xa3\xaeNP\xf5\xa8\x03$m%\xfa\xae\x12I\xcf\xc6\xe7\xe6\xfbs\xdc-c\xc3\xc2\xbe\xef\xec\x1c\x9d\xb7P\x8db@\xd2\x16\xa2u\xe6\xf4\xeb\xb1\xa4\xb7\xe2s3\xab\xf9\xda\xb5\x8ce\x87g\x86\xc5\xb5\x83\xa6G\x17\x20i\xeb\xe0\x9e\xf8\xfd\x19\xd7aI\xd7\xe2s\xb3\xfc_X\xdamx\xc4\x8e\x08\xf2\x05-`\xb8\x01\x92\xb6\x0e\x0daG\xafE`I#|nN\xe0\xffG\xf1\xff\x14[\xc3\xa8}\xbc\xc7(\x05$m\x19\xfa6\x85\xfd\xeb\x1aYK\x13\xfe-\xfe\x07I\x8f:L\x94\xb4\xe85\xa7\xa7\xd8)P\x8c\x80\xa1\xd0\xb3\xe4\xfb\xd7\xaeMJ\xb9\xd6\xe7\xfe\xf7\xb5\x1e\xfc\xdf\x8d\xff\x13I\x87\x01\xc3\x17\xa3\x93:\x08L\x93\xb4\xe45\xc7\xed<\xe9\xc2\x9c\x10\x1e\xd0oe\xaaO\xa2`\xe2\x9eo\xbbvm\xfa\x92\x7f\xff\xeb\xda\xc9\x7f\xfd\xfbZC\xdf\xb5k\xcd\x82\xa4\xbb\x80\xe1\x8a\xa5$-{\xcd\xa17:\xb9\x8b\xad\xff\x14\x8a\x19\x83yd\x99\xff\xb8\xe7D\xd2\xd3\xb2\xf5I\xd7\xb5M\x1b\xae^\xdb\xb0\x01\x81\xa4\x879V\x92\xb4\xdakNy\xe8\x9fS\x14r\x06\xf5\x14B\xffq\xcf\x8a\xfe\xb7\x17\x20\xe9a\x8d\x95$\xad\xf2\x9a\xd3\xec\x1c\xa2\x13\xc5a\x84\xd2\xc3\x8e\xc7\x05O\xb9\xf8H\x9d\xe9\xe4\xa1;\x13\x8aQ\xab\x8d\x9b\xaa\xb0e]\xc4\xb0\xf8\xed\x85\xc6=s\xca\xbf\xbc\x98\x03\x92\x1e\xceXI\xd2*\xaf9%\x95>\xadG\x14\x0a\x0f;\x92\x0b\x9e\xce\xc3\xf4)\x845\xcd\xf4\xd1x\xeb\xf0\x8fZ\x86Ma\xabp\x11\xc3\xe0\xb7\x17\x1a\xf7\xccI\xc8\x8b\xe8(\"\xe9gn4\xd4\xf5\xfd\xb7\x1aYx\x13F\xff\xe9\x7f\x190\xbc\xf2\xba\xf5~-3\xdf(2Q\x1d\xaeAe\x8d\xda\xef\x89\x1f|\x87\xbe\x87\xdd\xf8\x18y\xf3\xbfvV\x92\xb4\xd2kN\xab\xd3Z\xcf\x94\x91<\xec(]\xf0H\x13o\xf6\x01\xb6\xb27\x1e\xa5\x8b\x18\x11\xff\xbd\xd0\xb8\x97\x8f\xa9\xb9\xaabwXJ\x13\xee\x8d\xe3^7\xea[\x17\xc7\xbeE\xbb\x98\x91\x9d\x02}I\xbf>\xde8\xab\xb0\xb0\xb017\xdd\xf6\x94\x91\x19\xc1+\xaf\xb7\xc6^\x14\xbf\x19\\&\xe2\xe1j~\xa7Qq\xa3\xf6\xbb\xe1\xf9/\xe9\xfb\x97\xcf\xdfH\xde\xa4\xda\x19b%I+\xbd\xe6T\x96\xf8\xb6\x1eiH\x1ev\x94.x\xb4%-y\xe3Q\xba\x88\x11\xf1\xdf\x0bM_\xb3-\xec\xfa\x1bn\xb8\xe1{\xdf\xfb\xde\xd8\xb1c\xaf\xc7\\w]\x98\xad\xa4\xd5\xe7X\xea\xe1\x89\x9fuu\xdd\xf1\xdb+aW~{\x87\x91\xa9\x8c~\xb6\xbf\xfa\x95\xeeW\x128\xf5\x95\xbf\xfe\xe1\xc7\xb7^12\xd4*\xe8\xd6\xa7\xa4o\x06\x93\x099\\=4\x8e\xca\xa8\xfd\xc2\xbe\x14\x03_\x0a\x96\xb7\xfa\xf5\x1b\xd3e-I+\xbd\xe6\x14\x99\xf2X\xfe\xe0!y\xd8Q\xba\xe0\xd1\x96\xb4\xe4\x8dG\xf9\xf0y\x91\x01x\xa1q7\xad\x9c3+n\x96\xcc\xec\xd9K\xca\x1b\xda\xc3\xc8P\x16&vK\xa2\xef\xa7n\x1e3\xf6\x17\x1f\xe3\x0f\xcf\xde<\xe6\xa6\xc7\x84\xbeu\xdb\x13X\x1b\x8f\xde\x12v\xcb\xa3X\x1c\xcf\xfeh\xcc\xb8\xfb\xbf\xd4\xb2|t\xdcw\xc7\xd1\x14\x8f\xe1\xc0\xa3a\xaa\xfc\x1e\xfd\x81\x10\x89\x87\xb5?\x93o\xde\xbam\xec\x98\x9b\x9fb\x92\xc9\xa6]\x1e\x9d|y\x0b\x99\xa5zJ\xd4/H\xae\xd4\x83d\x16\xfc\xc4\x1dC\xca\x04\x1f\xee\xc7t(\xbd8\xf6c1\x1bO\xdd\xe8\xe5beq4\xe6\xad\xdb\xae\xbf\xee6\xb6-\xa4\xe2X\xc9\x0b!O\xed\x94\x95\x16j.\xb5\x05\x8d\xf2:\x89C\xc7,I+\xbc\xe6\xb4;}\xb9\xa9\x18\x81H\xe2\xf5v\xc1S@\xc6d*\xde\x956\xa5\xad\xb6\xa4\x07\xe2\x85\xc6\xdd\xd6\xda\xac\xa0\xa5\xd5\xd5\xd9'\x8e\xd2\xb2\xa4\xc7\xbf|\xf1\xbd;p\xa7{\xfe\x86g/\xbe\xf5\x0b\xa1\xef\x8d{K\x96\xf4\xeb?|\xfd\xe2[d=\xe8e\xf9\xcc\x8d/\xff\xe3\xe5\x1b\x9f\xc5\x11?x\xf5\xe2\xab7\x85)\xf3{\xd6\x13\xd9\xf5\xc6x\xfa\xcd\xcd\x0f\xfe\xfd\xca\xeb?g\x92I\xa6\x8c\x0e^\xff\xcf.\xb9D\xfd\x82\xe4J\xfd\xf4\xbfq\xaa\xb7\xc6\x0d)\x13r\xb8?#?6O\xfd\xcc\xabYh\x96\xca\xe2H\xd4\x0f_\xbe\xf8\x8f\xbb\xef\x96s\x97,\xf0\xef\x82\xb0\x92&|\x87N\xb9=\xb5S\xe5B^\xe4\xb6\xa0Q\xde'q\xc8\x98%i\x85\xd7\x9cVg\xbb\x81\xf9\x08C\x92\xa9\xc2\x05O\\\x1cBm4\"b9\x9e'\xcf\xf0K\xd2\x03\xf3B\xd3\xe3V\xd2\x83\x7f8\xbd$\xfd\x06~\xff\x9f\xb1]]?\xfe\x83\xd4\x13\xbb\xc6\\\x94'\xde\xb7\x10\x83\xf7\xc6iX\xfe\xf8\x19\xfc\xf2\xcc\x8f\xbb\xba~\xf2,\x09\x84)\xf3\xa3\x91\xcf\x92r\xc8\xbc\x1b\xbf_\xf7\x9e*\x99d*V\x85pqL\x97\\\xa2~Ar\xa5\xfe\xecI5\x84L\xc8\xe1\xfe\xe1\x16\xfc\xe1\x96?x\xb2\x91\xeaF\xb3T\x16\xe7\x19\x85\xffq\xa3\x9c\xbbd\xd1u\xe5\xb1\xf1]\x1e\xc6?F\x96\x00\x9e\xda\xa9r!/r[\xd0(\xad\x938D\xcc\x92\xb4\xc2kN\xb3\xd3J\x7f-\xa4\xf0\xb0#\xb9\xe0AD\xad\x9b\xcafE\x90\x8d\xc0\x99Q\x1b6\xcc\xe4\xc2\x8b\x9a\x19[\xd6E\x0c\xcb\xc0\xbc\xd0h\xe0%iO`\xcc\xc7RO\xa4}\xdcc46L\x9c|zY^\xffw\xfc\xf2\xf7\xeb=\x810e~R$\x99w\x93\x88_\x8d\xbd\xfb\x89\xf7\xd8d\x92)\xf3F\xba\xbfT\xa2~Ar\xa5\xaexR\x0d!\x13r\xb8W\xc6\xbe\xd7\xf5\xde\xd8+\x9el\x94\xed\xa3,\x8eD\xfd\xf7\xcf\xc7*r\x97,\xf0T]\xfem\xfc\x03\x8d\xf1\xd4N\x95\xcb\x15\xb6RB\x94\xd1\xc9\x1b\x04\xa6I\x9a\xf5\x9a\xd3\xea\xf1;n\x09\x94\x1ev<.x0\xee%\x91\x11qt?\xb0%.b\xe2\xac\xe5\x1c\xb7\x84\xb1e]\xc4(\x18\x90\x17\x1a\x0d\xc2\xf4$}=#\xe9q\xcc\x0e\xf0\x18qp\xf5\xb6\xf4S\xd2\x7f\x1e'&\xfe\xf3\x83\xb7]\xff\xa0\x81\xa4\xc9\x9cY*Q\xbf\x20U\xa54&\xde\x03\xc9\x84\x1e\xee\xdd\xf7w\xdd\x7f\xb7\x94\x8d\xb2}\x94\xc5\x91\x97\x9f\xfc\xea\xbd//2m!Yt]\xf9-3J\xff\x96(\xd5S;\xef\\Tma-I\x03!B\xec\xa5c\xff\x07\xbf\xbc\xc1\xf6\xdd\x9f0\x13o\xb2=\xe6\xe1\xc7\x8f\x8a\x01/K\xed\x89\xb7d\xe5\x99x\xd3\xfdnQl\x7f\xbd\x8e\x9dl2\xd9\x8ao_\x92\xa5\xa6T\xa2~A\xaaJ\xa9\xb6\xc7\x06\x9a\x09=\xdc\xd7\xc7w\x8d\x7f]\xcaF\xaa\xdbw\xc8\x96\x97\xb28\xf2r\x1d\x1e\xd8_e\xdb\xc2c\xa1\xb1\x96\xf6\xd4\xce;\x17U[\x80\xa4\x81A\x20v\xd7;\xeex\xef\xe2\xcb\xe3\xd9\xbe\xfb\xea\x8d\xcfK\xdbc\xecU\x9d\x97\xaf\x7f\xe2\xe3\x8b/\xdf\xaaa\xf9\xccMd\x9fI\xbd=\xe6\xb1zv\x1c\x8e\x1c\x87\x03\xe3\xdf\x10\"n}\xfe\xe2\xc5Gof\x92\xc9\x92\x16\xd2]yO\xb8\xfe$\x95\xa8_\x90\xaaR\xf42\xd1\xe03\x11\x0ew\xfc\x83\x9e\xe1\x95=\x8cq\xcf{\xb5\x01y\xb9\xf9\xc1\x8bo\x8cg\xdaB\xb2\xe8\xf2\xa4\x95C\x9e\x8bX\xde\xb9\xa8\xda\x02$\x0d\x0c\x02\xb1\xbb~\xfc\x8b\xb1c~\xf4\x14\xdbw\xbb\x9e\xf9\xd1\x98\x1f\x88\x17\xb1\x14\xf7^\xbc\xfa\xd3\xeb\xc6\xfc\xf4e-\xcbG\xc7}G\xbc,\xf4\x03\xf9\"\x96d\xf5\xe8M\xdf\x1d\xf7\xe0\x18a\xdeM\"\x9e\xff\xc9\x98\xb1?\xff+\x93L)ir\x97\xc8\xcf\x9eR\x94\xa8_\x90\xb2R\xc2\xcd\x1c\x83\xcfD8\xdc\xfb\xbf\xeb\xb9\xcd\x8b=\x8cg\xc6\x91\xd5\xaf\xa28\xf2\xf2\xc6\xcdcn\xfa-\xdb\x16Rq]\xea\xeb\xd2\xf2\xad&^\xb9\xa8\xda\x02$\x0d\x0c\x82\xb0.\x7f\x18\xcc\x0d\xa1Z\xe0\xd9,\x9dw\x7f9\xc6\xc8r(\xf8\x7f\xcb\xa5\x0e\x81:\\\x81\x9b\xa4\xbb\xc7n\"o\xfe\xd7\x0e$\x0d\x0c\x02\xff$\x1d\x08~\xf1\xe7\x8b\xaf\xff\xf0Aa\x81\xfa\xfa\xcdF\xd6\x16\xe2\x89\x9b\xc4{\xbcox\xcc\xc0R\x05H\x1a\x18\x04\xa1\x93\xf4\x13\xff9f\xfc\x83B0l\xfc\xab\xbem\x01\x02H\x1a\x18\x04\xa1\x9340P@\xd2\xc0\x20\x00I\x0f_@\xd2\xc0\x20\x08\x03\x86/F'o\x10\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x8cfI\xa7pQ\xf3\x9b\x8d\x8c\x00`d1\x9a%\xed\xaa.\x9a\x1a\x05\xeee\x00ka\xa2\xa4E\x07:\x08u\x1e\xde]\xb0\xfb\xb0)\xda\xaa\xe6,\xef\xe3\x03\x18e\x98&i\xc9\x81\x0ej/\xde\xdd\xecj\xde]l\xc6\x93Mj\xb9\xa3F&\x000\xa20M\xd2\xb2\x03\x9d\x9a\x12\xf2\x20\x84\x9e\x92\x1a\xa3$A\x00$\x0dX\x0d\xb3$\xcd8\xd0\xa9\x14\x9e\x12Zf\xc6\xd3\xf9A\xd2\x80\xd50K\xd2\x8c\x03\x9d\xf6\xe2\xeavw{\x8d)\x13\xef\x06\xae\xda\xc8\x04\x00F\x14fI\x9au\xa0\x83\x97\xd5N\xe7>S\x9e(\xe8\x8e\x9aq\xd8\xd5gd\x05\x00#\x07\xb3$\xcd8\xd0qW\x964\xbb\x9aK*Mq]\xb9O~\xf0\x1f\x00X\x01\xb3$\xcd8\xd0\xa9\xa1\x8e\xb1\xdc%f8\x98\xee\x8c\x9a\xbc\xb5\xdab~\x01\x80\xd1\x8dY\x92f\x1c\xe8\x14\x08\x97\x86\x1b\x0a|\xd9\x07\x89Z\xce\x8cM9\x00\x08\x1efI\x9aq\xa0#J\xfa\xa49\x92\x86\x1do\xc0Z\x98%i\xc6\x81N\xb58\xf16c\xef\x19$\x0dX\x0d\xb3$\xcd8\xd0q\xbfX\xd2\xe4j*y\xd1\x8c-\xef\xa3\x20i\xc0b\x98&i\xc6\x81\x8e\xbbvw\xd1\xee\xda\xd0+\xda\xed:\x99b\xb3\x96\xafz\x000O\xd2\xe63\x87\xe3\xa2\xcb\x8c\x8c\x00`d1\x9a%\xed:\x09C4`9F\xb3\xa4\x01\xc0\x82\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x98(i\xc9\x81N_CY\xc1\xee\xe1\xe3o\xee\\Nrr\xf6\xa9\xa5\x8dFv\x02\xf5\xa9\xc7\xf5\xbf,\xe5\x1d\xe4\xdb\xfa$\xbeT\xdb`\x1b\xcf\x1f\xd4\xfe\x06}\xee\xe0\xef\xd3\xf9*\xb0\x8c\x88J\x02~c\x9a\xa4e\x07:\xa8\xbc\xe8d\xeb\x89\x82\x13F)B\xc4Y\xc7\x9a#\x07\xd7\xeb\xf7b\x15\xc7\x93\x8e\xe8\x7f\xd9\x91\x9b\xf4\x08~{$1\xb7C\xf9\xc5\xa9\xb3\xc2\xfb\x17\x8d\x0e\x1d\x1d\xa1\xfew6;t\xbe\x0a,#\xa2\x92\x80\xdf\x98&i\xd9\x81NC\x01y(\x7fK\x81)~\xee\xbc\xc9\xc9\xee\xc7]u\xb3\xbf\x92F\xfd\xbe\xbe,\xccI\xea@\x1d\x899\x85\xaa\xf8\xac\xf5\x9e\x90\xaeZ\xf0\xf0\x19\"\xb5\x8c\x88J\x02\xfeb\x96\xa4\x19\x07:\xe5\xfbhL\xf10\x19\xa6\xd3i\xcf>\xc7\xfb\x18|\"\x05\xd7\xcf\x00\x00\x0d\xafIDAT\xfd\xa70\xf7\x91\x83\xa8*'W\xad\x96\xa5\xc3I-#\xa2\x92\x80\xbf\x98%i\xc6\x81\xcen\xc1\xbf]Y\xb9\xaeqp\xf8\xd0\xc1\xf3;/\xe4\xa5'\xe6|\xcbF\xe7\xa6\x9e\xc3\xaf\xfd\xf5\xdd\xe4\xb5*+)3\xbf[a{\x90\xe7\xf1\xa2\xb3\x94'S\xf3\x8e$^\x9e\xa1_X?\xcf\x91\x9a\xf3\x05\x9b\x0c\xab\xa5b=\xca\xa9\xa0j\x91b\x8f\xf3\x02Y$\x95\xa30?3\x89\xa6B\xfd\x15YIK+\xe8\xa8\xffEnZ\xf2z\xd5\x9c\xd65\x91\x13\x98\xa8zr\x83\\\xb0\x84\xe2\xd8\xe4\xea\xa0\xee\xc2\xfb\x92\xb2\xdfI\xabW\xa4\x0fd%\x01\xd31K\xd2\x8c\x03\x9d\xc3\xc5\xf4\x09\xa1E\xbb\x8d\xd2\x04\x98\xde\x83\x07\xd33\xefI\xcb\xcf\xbd\xebs6\xfa\xf3t>\xa7\xf4\xdd^\x1a\xde\xc2\xe7\xd7W\xa4.\xedgm\xbb\x1b\x93_\xf8\x0a}\xf5Br#\xee\xf8g\x1b\x1b\x13\xc5\x11\xecTR\xd6+\xf5\xa5\xfc^6\x19V\xcb\x17I\xdf$^\xa6j\x91b\xbb\x1b\x1b3\xb3\x1b\x1b\x1b?%\xc9\x1c|\xe6\xc1\xe3\xf3\xe8x\x98\xe7\xd8Y\xbf\xd3\x91\x87C\x17\x923\xab\x8e\xe7\xf0J\xb5\xb8\x8b\xb6\x0a\x14)\x1f\xd3\xc6\x14,\xa186\xb9:\x1d\xe9\xc9{\xeb\xb7\xf1|\x85\"\x83@V\x120\x1d\xb3$\xcd8\xd0\xe9,*os\xbb\xca\x9c%Fi\x02\xcfR\xfe\x91n\xd4\xdf\xad\x8c\xec(\xfd\x8d\x83O&c\xefq\xbe\x0a\xbf\x9e\x15\xc6a\xd9vK.~\xc9\xdd\"\x9a\x8b\x92\xeeM\xcf\xe9%R\xeaP$+\xccEK7g!\xa2\x16ef\xf2\x9c6\xf5\x1b\x9cc*\x0e\xd5\xf3\xf5\x9e\xd7\xecL\\N\xffR\x95Z\xdaZ\x05\xda\x14\xb1L\xc1\x0a\xa4\xfa2\x05\xe7%\x93\x916\xdfK\xd2\x01\xac$`6fI\x9aq\xa0\x83\xda\xcb\x9dN\xe7\xd1r\x13\x9e\xec\xb7\xd4\xa1\x18\xa0%zO\xe5\x90N\x9b\x9b\xde\xfb-&m\x8b\xd2\xf6Tb7\xeaN:%~\x12%]\xcf\x7f\xe4I\xcd$\xc3jy\x85\x7f\x89\xaaE\x99\x99\xac\x16\xf2\x99.H\xb7\x08\x97\x83\xee\xdb\x8c:\x04\xcd\xedT\xaa\xa5\x95\xf3\xa0\xf0\xf8\xc3\x14\xac@\xaa\xaf\\p\x7f\x12\xad\xeb9oI\x07\xac\x92\x80\xe9\x98%i\xc6\x81\x0e\xc6\xdd\xde\x87\x8aM\xf0\x89\xb54\xcb;\xee\xac\xb0d|x\x0d\x19\xe8\x04\xd6(m\xbfM>\x82\x8e\xcc\xf3\xect\x8b\x92\xde\xcb\xf7z\xbeg\x92a\xb5t\x14~E\xd5\xa2\xccL\xb9\xf3D\xd5\xf20\xfd\x06\xe5d\xe1Q\x92^\x14W\xef<\xd5\x94\x0b\xd4(b\x99\x82\x15H\xf5\x95\x0b\xfeB\xd8\xf3\xeb\xf6\x96t\xe0*\x09\x98\x8dY\x92f\x1c\xe8\x20\xbaQ\xd6\xe24\xe1q\x9dr\xa7\x95I\xcd\xa7o\x85\x99d\xcc:K\xe9P\xd9\xe6\xafA\xeb\xf3=\x1fDI\x9f\xe2?\xf4\xc40\xc9\x0as\x85\x98B\xad\xcc\xaa\xc80*\xabeK:\xf9\x95\xe8O\xcfC\xdf\x08\x9a\xcb\xf3K-L\xc1\x0a\xa4\xfa\xca\x05\x8b\xa3\xf4G\xde\x92\xa6vA\xac$\x10:\xcc\x924\xe3@\xa7\xd9\x89\x17\x87W\x8b\xcd\xf0\x9f\xc3J\xbau\x830\x9f\x9d\x97F\xfas?\xf9\xaa^XS\x16\xbe\xa4\xb2}7\xf1r\xe2\xbb\x9e\x0f\xa2\xa4\xbbS\xb3\xc9h\x99\x9f\xafH\xc6\xa8E\x91Yv6B_\xd1\x08Y-\x82\xc1A2\xe3\xcfJ\xc7u\xf84\xd1/\xb50\x05#\xf9(\x98\xfa2\x05\xaf\x9f\x87\xf3\xed\xcf\x13%\xed\xb1\x0dA%\x81\xd0a\x96\xa4\x19\x07:-\xceZWCqy\xc8\xbdm|\xfb.\xdd\xd3\xf5\xac\x90\xe7\x88~\xa6\xe7\xf1\xa9\xa5\xf5G\x1eI\"[\xbd\x85w\xe5\x1e\xf9\xcb\x16\xdc\x8b\x95\xb6\xfdi9it\xde\xdd\xfbNcc\xe2\xe6F\xb2\xf7\x8dW\xd8\xf7U\xd4\x0b;OR\xb2or\xb3/\xe3\xcf\x97\xb3s\xbfab\x11\x91\xc7^\\\xc4et\xb9\xd1\xb1\xf9\x9d\xfe\xf77;\x1a\xb1]._x\xbc\x90'\xfa:\x97\x94V\xba3\x99wT\x9dC\xc60\x05KG\xa1\xa8\xaf\\\xf0\xe5\xd4\xf4\x8a#k\x12\x95\xb6!\xa9$\x102L\x934\xe3@\xe7dIQ\xf9I#\xf3\xc0\xf3\xa1\xb0l\xcc\x11?\x16E9\xe9\xfbo*\x0a\xefKJ]C/\xde\xa0\xfa\xecy\xc9\xd9\xf5^\xb6{\x1d\xc2%\xa3\xf7\xc5\xa5'\x95\xc8\xa7\xeb\xd3\xee\xc9:\xa2HV\xca\xf3dci3Oo\x9f\xf6\xc4bz\xf3\x93\x13\xb3\xcf\xd2\xdb\xa7y\xc7G\xe4\xea\xf66r\xc9w\xa9\xe7\x92\xef\x855\xc9\xe9\x85U\x0e\x12k\x0cS\xb0\xe7(\x94\xf5\x95\x0b\xee\xd8\x92\x9e\xf8\xc8YQ\xd2\xa2mh*\x09\x84\x0a\xf3$\x0d\x98\x85z{\x0c\xb0\x14\x20\xe9\xd1\x07H\xda\xd2\x80\xa4G\x1f\x20iK\x03\x92\x1eu\\\xa8\xe7\xf3\xdf\xf5\xf9\xf7c\xc0H\x06$=\xea\xc8&\xbb]\x17\x8c\xac\x80\x91\x0aH\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x05H\x1a\x00,\x85I\x92\xee)v\x0a\x14\x93O\xae\xb2\xa2}&<\xd3\x04\x00,\x88I\x92v;O\xba0'\xe8\xb3M\\\x055-5\x05\xa0i\x00\x08\x00&I\x1a5\xd1gw\xd3G\x08\xf6\xd1\xd7\xc3\xc5}\x06I\x00\x000\xc6,IS\xca\xc9s\x8aPs\x01\x95w\xc1\xf0\xf1]\x09\x00#\x173%M\x9f#\x88P\xa5\xe0\x13\xab\xdc\x8c\xe7\x09\x02\x80\xd50S\xd2%\x95\xf4m\xb7\xf0\x00\xef\xc3&<\x9a\x1f\x00,\x87\x89\x92n\x15\x9f\xdc]\\K\xdfj\x8b}\x19\x03\x00\xe0\x17&J\xbaRt\x82%z\xae\xac\x0e\xb5\x9b;\x00\xb0\"&J\xbaHt(])x\xa1-\x83\xb54\x00\x0c\x1d\xf3$\xdd\xee\x14\xfdB4;\x89\xc7\xbb\xabN\xd8\xf1\x06\x80\xa1c\x9e\xa4[\x9d\xedB\xa0\x8f\xfa\xce\xa9\x86\xeb\xd2\x00\x10\x00\xcc\x93t\xb3\xd3\xe32\xc7UP\xddZ\x0dw\x8f\x01@\x200O\xd2\xad\xf2v\x98k_A\x19(\x1a\x00\x02\x81y\x92\x06\x00\x20\x08\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\x01\xc0R\x80\xa4\xd1\xda\xb5ZA\x00\x18\x99\x98$i\xa5\x03\x1d\x84\xaa\xcd{\xa4\xc9\xdf\xecOk\x04=\x1c\xb0c\x12p\xe0\x83_\xc7\xc7.:\xb6\xe0m\x1c\xdc>\xf7\xceiw\xce\xdd\x81P\x9d\xdd\xbe\x08\xa1\xfd\xd8\xe2\x98:]\x908\x16\xff')|~\x9a\xfd^\x1f\xa6\xbeYk\xb7\xef7\xb2\x19\x10\x81k\xa8\xd5\xd8,\xe6\xbc\x91\x15\xa0\x87I\x92V8\xd0A\xa8\xcdYk\x90\x20x\xac\x8a\xb9\xa4\x11\xf4\xe0~\xbb.v\xc5\x07\x08\x9d\x99\xf6\xd0\x81\xfd+\xa8\x0e\x8e\xd9\x7f\xbd\xe7\xd0k\x0f\xd9\xeb\x90\xfb\x98=\x06\xbf\xee\xb7\x1fs\xa3\x00s\xec\x8cf\xf4\xa1\x18F\x88\xa7W\xc7h\x1a\xf9\xc3\xa5\xbai;\x8cl\x06D\xe0\x1a\xea\xb3\xba\xba=\xf6\xb7\x8d\xac\x00=L\x924\xeb@\x07!W\x89y\x92>o\xdf\xa8\x11d\x89'C\xf7\xe2\xc5$\xb8\x9a\xf4\xd4\x8d\xb1\xb4\xee\xb1\xd8\xd8m_\xb5\x9a\xa4\xf3\xa3\xa3\x0e\x90\x05+\x8c,0;\x06/i\x84b\x02+i\x14\xc8\x86:\x0d\x92\x1e<fI\x9a\"8\xd0A\xd5\xce\xea\x02\xd3$\xbdZ\x1e\x99W{\x0f\xd2\x04\xdaS\x13\xb6\x93\xe0\x07\xf6\x03\xb8\xd3.\xa4\xd1\x0b\x17\x93\x9ez\x0cw[\xbf{\xea\x00\x18\xb1\x92\x0eHC\x81\xa4\x87\x80\x99\x92\x16\x1d\xe8\x20\xb7\xdb\xf3x\xfe\xd0s~\xdaF\x8d\xa0\x02\xdaSW\xc4\x7f@\xc2\x87p\x9f\\$\xa8m\xc5\"\xd2S\xcf/\xd8\xaf\xee\xa9g\xa6\xd9\xed\xdb\xcf\xafJ\x88y\x80<\x20q\xff\xa2\x98\xb9\x1b\xe9\xf7\xee\xa7\xef\x8d]\xf4v\xc2!\xf48\x99\x96J+a\xd9\xa0nq\xc2\xb4\xf8_\xe3\xf5\xe8\x9f\xec\x02\x0b\x90\x82\xafc\xec\xd2\x0a\xf8\xd2\xaa\xf8\xd8\x15\xde\x13\xef\xf3+\xe2q\x16\xf8\x97\xa9\x13\x07\x12\x1e\"\xb3\xf7\xc7\xed\xd3\xf6l\x9c\x1b\xb3\xf83\x95i\xcc\xc6\xb5\xf1w>$\xacY\xe5:\xc8h\xe6p\x08\xd7\xe0\xf7h\x87]s%>\xd0\x86\"k\xeb\x1dbfri\x04Q\xd2z\x0d\x85\xd0k\xf1{\x10\xa0\x8d\x99\x92\x16\x1d\xe8\x10L\x93\xf4\xdai\x9fi\x04\x15\xd0\x9e\xfaY\x82\xfd\x81\x1d\xa7\xe9\xa4b\xc1\xefh\xf4\xef\x16\xd0\x9e\xba\xeb\xd7\xea\x9e\xea\xde\xbf?anl\xc2\xc6U\xf6\xcf\xc8\x0ct\xe3\xa1]\xf1\x0b\xb0\xb8\xbfN\x88\xdfuh\xad\xdd\xbeG\\\xc7\x8a+a\xd9\xe0\x8c}\xd5\xfec{\xe2\xed}d]:wQ]]\x9dz\x8f\xe8L]\x9d8\xb6\x9e\x8f\x9d\xfb\xda\x9f\x16\xdb\xd5\x92~3v\xc1s\xc7v\xd8w\x11\xed\xad}s\xffC\xf6\xd3\x08\xfdm\xff4{\xfc\x8e]\xb1\xeaa?\xc6\xbe`\xff\xfe\x051D\x80r\x1d\x184sp\xbf\x9d\xb0\xf6\x12\xba\xb4=\xb6Nc\xbc\x1dpC\xd5\xc5n\xf7d&\x97F\x10%\xad\xd3P\x98\x15\xf6\x07\x10\xa0\x8d\x89\x92\xf68\xd0!\x98%\xe9\xcf\xa6\xad\xd5\x08*\xa1=\x15}\xfd\xdc\xc2i\xf6X26\xdd\xbb\x8aF\xaf\xba\x97\xf6\xd4K1\x97\xbc\xe7\x93\x0b\xec\x8b;\xf18Gt\xf1GDz(N\xb7*\x96L\xeb7\xda\xc9\xf0B\x85I\xa7\xcd\x8c\xc1\x9ex\xd2]\xf7\xc4\x0a9\xe8L\xbcEI/\x9a\x8b\x8b\xec[\xa0\x92\xb4;\xe1\x01\x1c\xdd\xb3\xffk\xf2\xbbB\xea$\xe4\x12\x13\x8b\x7f[V\xc5\xabs\xba\x17[\xb8\xe7.T\xd4\x81\xcdL;\x87\x1dd\xea@\x16\xc6\xde\x0c\xbc\xa1V\x93\xdc\x7fG\xda\x9d-\x8d\x99xk6\x14\xe6\xfcs\xb0%\xae\x87\x89\x92\xf68\xd0!\x98%\xe9\xc7\xa7\x9d\xd7\x08*\x89\xf7\\\xd9r\x1f{\xc0~H\x1a|V\x08\x83\x0f\xfa\xf5.\x0dI\xc7\x88\x03\xfe\x8a\x84\x9e>L\x02\x96@\x0c]d\xfeM%i\xc6\xe0\xb3\xf8\x84\xc7\xf7\x9cA=B\x0e>%\xfd5\xcd\x05mWI\xfa\x90]\xde'\xff\xe7\x9e\x07\x12b\x85\xa9{\x0c\x11\xa0\xd7\xba;\xe6\xf7\xe4u\x8f\xfdk\xb6\x0e,\xda9|f\xff\x00\xb9c5\xafE\x0d\xbc\xa1\xde\x8cq#wL\x1d\x092\xa5iJZ\xa7\x92\x80\x17&J\xda\xe3@\x87`\x92\xa4/\xc5\xac\xd5\x08\xaa\xa0=\xf5\xb4\xb0s\xb6\xe8!\xe1?\xe6!a\x89\x88\xf6/\xd0\x90\xb4g\x15\xbc@\\\x15\xaf\xc0R8@\"\xdc*I\xcb\x06X\xa8{V\xdck\x8f\x7fNH\xe8S\xd2g\xecT\x06j\x99\xee\x92+r:>\xe1\xe9\x03u\x8b\x17Hi\xbc%Ms\xaa\xc3\xbf\x02l\x1dd\xf4rx\xe0it,\xb6\x07i0\xf0\x86\xea\x8b?\x80\x0e\xd0\xc9\x09[\x9a\xa6\xa4\xb5+\x09xc\x9e\xa4%\x07:\x04\x93$\xbd\xd1~^#(\xd1G\xa3hO\x8d\x7f\x9c\xc6l\x9f\x8b\x90\xd8\xef\x16,\x16z\xaa;\xe6\x98\xb7\xa4=\x1doU\xc2\x19\xca?Q\x9f\x20\xa1\x0fdI\xd31V6@gH9_\xef\x8f\xd9#\xe5\xf0\x9a\xf7\xe2^\xc8\xe5\x9f\xc2(\xad\xde\x1e;&\x8f\xd2\xf7.$uZ\xe1K\xd2\x1b\xc9\xebk\xf6N\xb6\x0e\x0cz9\xfc)\xbeg\xb5z\xa8\x1ctCm\\\x81Vl$\x01\xb64\xb5\xa4\xd5\x0d\x05\xf8\xc4<IK\x0et\x08\xe6H\xfaR\xccj\x8d\xa0\xcc\x1e2\x18\xfe\x93\xec6\xa1\xf8\x84\xafI\x0cQ\x9ax\xb9\x95\x8c\xea\xa4\xa7\xa2\xd5\xbf\xd3\x97\xf41a\xed\xb7\xfd9\xb2\x15Lz\xe3*A\xd2\xb8\xf3\xf7-\x8cQ\x1a\xec\x10n\xadZDg\x0b\x8b\xf0\xd0vIc[Y\\K/$\xd59\x1f\xa3\x92\xa9;~\x11\x19>7nD(\x81\xd4\xa0o\x81/I'\x90u\xf7\xbd\x8b\x14u`\xd0\xcb\xa1'\xfeOw\xaa\xe7\xdd\x83n\xa8\xd31\x97b\xe8\x96\x18[\x1a+i\xad\x86\xc2\x9c\xdf\x01ki=\xcc\x93\xb4\xec@\xc7\xedr\x15U\xbb\xda|Z\x07\x85\xa7\xe5\x91\xf9i\x8dA\x9a\xdc\xfe\xb4\xff\x8f\x0b\xe3\xc9X\x19o\x8f\xdf~\xec\xc0br\xa3\xe21\xfb\x03\x07\xea\x0e,\xc6\x13i7\xeegnT\x17\xa3\xec\xa9}\xa7\xe9~\xf5y1\xdf\xdf\xed?@o\xbc\xb8\x14\x9f\xb0\xe7\xc0\x8a\x18*\xe9E\xf1\xcf=\xb7\xd0>\xed\x8f\x1f\xb0\x06;\xec\xb1\xdb\x0f\xe1\xe0\x9b$\xdd\x8e\x98]\xb84\xe5(\xdd\xf3v]]\xcc\xea\xba\xbaN<\xd8\xc7$\xec\xd8~\xa7\x90\x03\xc3\xb1\x98{\xf7\x1c\xdah\x7f\x8dd\xb6b\xcfs\x0b\xf04\xfe\xf4\xa5\xbai\xabO\xa33\xab\xa7\xd5)\xaf\xba\xc7\xd8\x1f8}lQ,\xa9\xa6\\\x07\x06\xdd\x1c\x9eN\x88U\xbb/\x1b\\C\x11\xe2\x17\x0b\xdbvri\xc2\xddc\xbb\xea\xeaHn\x9a\x0d\x85y\x88\xdc`\x0ahb\x9e\xa4e\x07:'\x84\xdb\xbd\xaf\xfa\xb2\x0e\x06\x97bVi\x04Y\x0e,\x88\x89}\x88\xaaf\xe1k\xdb\xef\x8d\x89\x17.\xe3n\x9f\x1bk\x8f%\xb7.\xbfI/\xa9\xf6-\x8cWt\xf13\xc2\xa2OXH\xa2c\x8b\xe3c\x17\x1d\"\xa1\x7f\xaeN\x88Y|\x86J\xfa\xfc\xa2\x98\xd8\xc5\xbf\xb7\xdb\xd7\xb2\x06\xfb\x17\xedH\x98\x16\xbf\x88*\x1a\xb97\xde\x19\xb3\xe84R\x20f,\xe4\xf0\xd0\x9d\x09O\xffq\x1a\xcd\x81\xe1\xfc\x8a\x84\xd8\x85d\xd1\xde\xb7knL\xfc\x8a\xd7\xe6N[\xb4\x16\xa7\x98\xf6\x01\xb9\xa4\xad\xb4\xbdw\xc7\x8a\xd8\xf8U\x82\xcc\xe5J\xca\xe8\xe6p^](\x1adC\x11v\xc5\xec\xa2\xefri\xf4\x1eo\xcf\xaaY\xb3\xa1h2\xf5\x06>\xe0\xc1<I\x9b\xcf\xef\xed\x7f\xd3\x08\x06\x17a{lD\xe3\x8ey\xd3\xc8$\xf8<\xb4\xd8\xc8b\xd42\x9a%m\xc6_UZ@\xd2\xfb\xbd\xc7\xda\x90\xf3\x9c]5\xa7\x00$F\xb3\xa4\xcd`\xa4Kz\xc7\x9bh\xf1v#\xa3\xa0\xf3Y\xfc.#\x93\xd1\x0bH:\xa4\x9c?f\xdf\xa8Z!\x8f(\xdc\xf6\x05\x8f\xc7\x7fmd\x05\x98\x09H:\xa4,\";M#\xf9\xfa\xcb\xf6\xd8\xc5#\xb9\xfa\xa3\x01\x904\x00X\x0a\x904\x00X\x0a\x904\x00X\x8a\xff\x0f\xb8\x98\xba\xeaw\xacpV\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/ipcg-func.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xaa\x00\x00\x01\xb1\x08\x03\x00\x00\x00\x9d\xa2d\x9d\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x02\x04\x00\x07\x09\x05\x0a\x0c\x08\x0e\x10\x0d\x13\x15\x12!#\x20'(&+-*2319:8?@>QSPVXU,`\xae7]\xadZ\\Z8^\xae8a\xaa:b\xab;b\xac^`]<c\xad=d\xae?e\xaf@f\xb0Ag\xb2Bh\xb3Ci\xb4fgeCk\xafEj\xb5Lj\xafMk\xb0Fm\xb2Ol\xb2Ho\xb4Ip\xb5Jq\xb6molKr\xb7Ms\xb8Nt\xb9Ou\xbaPv\xbbrtqWv\xb6Xw\xb7Yx\xb8[y\xb9wyv\\{\xbbV~\xbd^|\xbdX\x80\xbf`~\xbeZ\x81\xc0`\x81\xbbb\x80\xc0}\x7f|b\x83\xbd\x80\x81\x7fc\x84\xbed\x85\xbfe\x86\xc0\x82\x84\x81f\x87\xc1\x84\x86\x83h\x88\xc2\x85\x87\x84i\x89\xc3\x86\x88\x85j\x8a\xc4k\x8b\xc6\x88\x89\x86q\x8b\xc1r\x8d\xc2\x8a\x8c\x89s\x8e\xc3t\x8f\xc4v\x90\xc5\x8d\x8f\x8cw\x91\xc6\x8f\x91\x8ex\x92\xc8q\x94\xc9y\x93\xc9z\x94\xcas\x96\xcb\x80\x94\xc5\x81\x95\xc6z\x97\xc7\x93\x95\x92\x82\x96\xc7\x83\x97\xc8\x96\x98\x95\x84\x99\xca~\x9b\xca\x7f\x9c\xcc\x86\x9b\xcc\x80\x9d\xcd\x81\x9e\xce\x88\x9d\xce\x82\x9f\xcf\x9b\x9d\x9a\x88\xa0\xcb\x84\xa1\xd1\x9d\x9f\x9c\x8a\xa2\xcc\x8c\xa4\xce\x8d\xa5\xd0\x8e\xa6\xd1\xa3\xa5\xa1\x8f\xa7\xd2\x90\xa8\xd3\xa6\xa8\xa5\x91\xaa\xd4\x98\xab\xd1\x94\xac\xd6\x99\xac\xd2\xaa\xac\xa9\x9a\xad\xd3\x9b\xae\xd4\xad\xaf\xac\x9d\xb0\xd6\x98\xb4\xd8\xb0\xb2\xae\x9f\xb3\xd8\xb1\xb3\xb0\xa0\xb4\xd9\xa2\xb5\xdb\xb3\xb5\xb2\xb4\xb6\xb3\xa3\xb7\xdd\x9d\xb9\xdd\xa8\xb8\xd8\xb6\xb8\xb5\xaa\xb9\xd9\xb7\xb9\xb6\xa4\xbc\xda\xac\xbb\xdb\xb9\xbb\xb8\xad\xbc\xdc\xae\xbd\xdd\xaf\xbe\xdf\xa9\xc0\xdf\xb0\xbf\xe0\xbd\xbf\xbc\xab\xc2\xe1\xb1\xc1\xe1\xb6\xc1\xdc\xc0\xc2\xbe\xad\xc4\xe3\xb7\xc2\xdd\xc1\xc3\xc0\xb8\xc3\xde\xb2\xc5\xde\xb9\xc4\xdf\xc3\xc5\xc2\xba\xc5\xe0\xb4\xc7\xe1\xbb\xc7\xe2\xb6\xc9\xe3\xc6\xc8\xc5\xbc\xc8\xe3\xb8\xcb\xe5\xbe\xca\xe5\xc9\xcb\xc8\xc0\xcb\xe6\xba\xce\xe7\xc2\xcd\xe8\xbf\xcf\xe2\xcc\xce\xca\xbc\xd0\xe9\xc3\xce\xe9\xc7\xcf\xe4\xc8\xd0\xe6\xc3\xd3\xe6\xca\xd2\xe7\xd1\xd3\xd0\xcc\xd4\xe9\xc6\xd6\xea\xd4\xd6\xd2\xce\xd6\xeb\xcf\xd7\xec\xca\xd9\xed\xd0\xd8\xed\xcb\xdb\xee\xd7\xda\xd6\xd4\xd9\xe9\xcc\xdc\xf0\xd6\xda\xea\xd7\xdb\xeb\xda\xdc\xd9\xd2\xde\xec\xdb\xde\xda\xd9\xdd\xed\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xdc\xe0\xf0\xd6\xe2\xf0\xdd\xe1\xf2\xd7\xe3\xf2\xe1\xe3\xe0\xdf\xe3\xf3\xe3\xe5\xe2\xda\xe6\xf4\xe1\xe5\xf5\xde\xe7\xef\xe5\xe7\xe4\xdc\xe8\xf6\xe6\xe8\xe5\xdd\xe9\xf7\xe6\xe7\xf1\xe0\xe9\xf1\xe1\xea\xf2\xe8\xea\xe6\xe2\xeb\xf3\xe9\xeb\xe8\xe3\xec\xf4\xea\xec\xe9\xe5\xee\xf6\xec\xec\xf7\xec\xee\xeb\xed\xed\xf8\xe7\xef\xf8\xe8\xf0\xf9\xee\xf0\xed\xe9\xf1\xfa\xef\xf1\xee\xf0\xf0\xfb\xee\xf3\xf6\xf1\xf3\xf0\xf4\xf2\xf6\xef\xf5\xf7\xf2\xf5\xf1\xf0\xf6\xf8\xf4\xf7\xf3\xf2\xf7\xf9\xf3\xf8\xfb\xf6\xf8\xf4\xf4\xf9\xfc\xf7\xf9\xf6\xf5\xfa\xfd\xf8\xfa\xf7\xf6\xfb\xfe\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf7\xfd\xff\xfb\xfd\xfa\xf8\xfe\xff\xf9\xff\xff\xfc\xff\xfb\xfe\xff\xfc\x1d\xe0k\xdb\x00\x00\x20\x00IDATx^\xed\x9d\x09p\x14\xd7\xb9\xef}\x93\xdc\xfb\xde]t2\xaa\xbe3\x12\xd2\x13TI\"b\xb9PzFU\xc0\xc5\x98\xb5j\"\x95)!\x97\x8b\x87\x1d+U\x02\xa2\xd8O@L\x20\x18\xa1g\x0c\x97\xa4,,\x16\x13H\xbc@t\xcbv\x0a\xd9\xd8V\x99'{\xd8\\Pl\x97\xe0`\x85\xb2\xcd\xa2\xc8\x06\x83\x1fK\xd8\xb1@\x08M\xd5\xa9w\x96\x99\x9e\xd33=\xea\x99\xd1\xa8\xd5\x9f\xfa\xfbE\x91z\xce|}\xba\xc7\xfa\xe9\xcc\xe9\x9e\xa6\xff\x0fQ\x04\x01\xc1CV\x05\x08\xe2\x0cPU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80`\xa1j\x1b\x828\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x84$Tm\x988X\xcb\x1d\xf3\\\xbc\x9e\x12c\x0a!\xa4\xdc\xd02\x8c\xb5l\x89S\xfd\xe9\xfbq\x9e\x88\xc3H\xd6\x17\xf9\xc8\xaaJ\xe2g\xa5\xb5r\xf1\xcd\xaa\xe2<\xcdW0m\xe9\xe1\x1e\xd7@\xfa\x95\xc4U}\x96\x08\xfcq\xbbJ\x88dT=\xbdj\xc8\"\xd3'\xe2\xf1\x8e\xd8\xc3j\xab2\x89\xae\xea\x81i$L\xd6*\x8b\x95\x90\xfe#aU\x0fg\xc8\xdf\xe6\xc2\xf8}%B\x12\xaa\xbe_BHr\xaa>%\xf6p\xc8\xe7Vu\x82\xb0\xaa\x9f\x16\x13\x85eV\xab!\xfdE\xc2\xaana\xbf\xc7\x8c\x15\x7f\\\xbf+~_\x89\x10\xab\xea\xb4\x91#G\xfe\xd1\xact\x06IR\xd5\xd6AR\xb7\x97\xad\x0a\x05aU\xe7\xf3U|\x13\xca\xa7\xe4\xf1\x05-\xc1\xe9\x03b;\x09\xab\xfa2\xfb=\x16\xc7\xef'QbU\x8dK\xd2\xaa\xbe\x1c\x1a\x19'Y\x15\x0a\xc2\xaa\x0ef?\xff\xd7\x9f\xd8\xc2\xe7\x0b\xf9\xcas-VC\xfa\x8b\x84U\xfd\x0d\xfb5\x8e\x8d\xdfO\xa2\xf4\xa5\xaa\x13\xf9.\xf2\xc1\x7f\x8fU%'\xa4\xea\x01\xee\xe7\x9fdSIz\xfe\x1c\x91>!AU\xcbC\x03\x16\x19\xd9\xd6\x96\xcd~\xc8#\xf3!l\x89\xbfw\x17\xb0w\xd0\xb6\xd6ec\x06\xf9\x8a\x17|\x1aZ\xe3\xf3U~vT]\xf4\xc4\x9b\xc6\xed\xf50W\xdd3\x7fL\x8e\xa6\x0d\x9e\xb0H\x8837\xbc\xc5M\xfc\xd1\x81g\x8b\xb3\xbc\x85\xe5\xe19\xad\xd9\x06\xdbv\xf1\xd9\xf4G|\x90\\\x10n2\xab\xdbU5\xd4\x9b3\xe5U\x83\xaa\xaf\xc8\xa7^\xad\xaa\xaa\x9a/\x17\x8d\x1b\xfc\\8\xbcl\xa8\x967\x83\xff\x97(\x93\xad{\xf8\x06w\xc5V#}B\xdaT\xdd5R\x16\x14\xca\xc9\xecG#\xc3k<\xf5\xa5\xba\xbd\xf8\xaan\xca\x0a\xaf\x91\xc7\xe7\x8b\x06U\xd7\x87\x9f\xf3K\xe1L6\xd8\xd6\xb6\x80=\x18#\xd6+<\x1dj2\xa9{\xd9+\x1fV\x86T=\xcd\xa7\xa8\xde\xaa\xa8\xb3bQ\x1b\x14\xaa\xf2\xfe\xc9\xa3|\xce\xee\x95{\xb1\x88-N4\xa9F\xfa\x84t\xa9\xaa\x0d\x0dW\x88\xb3Y{\x06\x13\x9dy\xea\xf6\xe2\xaa\xbaK($O3\xe4\xb7\x1aU\xdd\x94\xa1w6AX\x18\xbbA\xe6\\!\xe1\xee\xbd\xcf\x9b^\x0d\xf5\x1d[\xb7E\xef*\x93\xc8\xb9\xeas\xf2a^\xc5\xca\xc8\x11c\xf4\x06\xb9\xaa\x83D\xdb\x8a\xd3\xbc?yN\x8b\xff\x0d\xd4\x9bT#}B\x82\xaa~\xb8\x85\x9fV-\xde\xb2\xe5\x9d8\xaa\x12R\xb0\xe2\x9dz\xbe\x90\xc9G\x16n\xa4\xb7zS\xfd\x04\xf6\xd3\xf3\xa1\xb2\xbd\xb8\xaaV\xb3\x1fU\xbbN\xb7n\xe2\x9d.c[\xdc4\x9e-<\xb1i\xd3\x81\xb6Os\xd9\xd2\x98\x86?\xfe\x8a\x1f\xe1\xd7\xb6\x99nP\x9e\xa2\xc8<\x20\x05\xfaq\xa8\xef\x98:!\x9a6\xff\x9d-O\x08\xb3xg\xadcI\x98\xe2\xa5\xb2\xab\x98\x0d~.\x9e\xce\x1c3\xccs@\x8c\xa5\x13x\x15\xff\xa3\x18\xd4jR\x8d\xf4\x09\x09\xaa\xaa\x1eV\x99\xab\x9a\xc3\x8fe\xc49xf\xf3\x87\xfc'\x7fW\xffr\x0c1\x9e\x93\x8f\xab*\x7f?\x16\xf3\xdaM?\x9e\xbf^\x1c\x17\xe9\x87U\xcb\xb8E\xfcd\xe9\x1f\xd9\xf05\xbc\xcdl\x83\x8c\x0a\"\x8f\xfd\xb9J\xda\x01\xd9wL\x1d\xf7\x99\xac\xe7OU\x91\xb0X\x9f\xf25C\x14l1\xdd\xa0P\xd5\xc7\xd6\xdf\xce\xe6\xa5\x99\xa1\x037>\xeeW\x99\xee\x1e\xd2\x17\xa4M\xd5gE\x0b\x1fX\xd8o{1\xe1\xd3F\xce\x96\xe7^1\x9c\x89\x8d\xab*\xf7\xc5W\xf1\xf2\x81\xc8\x13\xba\xaa\xfc\xc8~\x85h\xe2\xe2\xf3\x89l\xcc\x06\x99p>\xb6\xf4\x1b\xb6\xb0\x87k\xb5Dv\x11S\xf7\xac\xbec\x875\xa2\x8f\x81\xef?\x95\x13vU{\xd3l\x83B\xd5\xa7d\xb1\xf8\xa3Z\xcc\xfe\x0a\x07\x87\xfe;\xc4\xee\x1e\xd2\x17\xa4MUy\xde\xbd\x88\x88\xc9%\x9f\xdaVEoJ\x10W\xd5M!W\x86=\xb5\xa9U>\xa1\xab\xca=*\x9b\xcb\x19\x1e\xdaP\xcc\x06\xdb\xda\xfe\x0f[\xf0\x89\xf7o\xfe\x86>Bv\x11S\xf7c\xa2\x0f\xf2\xfcC\xaa\xda\xf0N\x9c~g\xd1\xa3>\xb1\xfd\xa1\xa7M6(T\x0d\x7f\xb2\xc0\xf7\xb4\xb8\xad\xedU\x12:\xb3\x15\xbb{H_\xd0+U\xf9$-\xac\xaa<Q3R\x1a1\x89\xfd\x98\x1f\xbd)A\xfc3\x00\xe2\x1dY\x90/\xc7\xa8\xb0\xaa_\x12\x03\xb5m&\x1b\x94#Zn9g4\xaf\x92\xe7\xc8b\xea\xf8\xdcy\xb1\xdc\xee$\x125\xb3lm\xe0\xbb\xc2\xeac7(T}'T\xf7%?g\xf0\xa1x\x1b\xe0\xeb\x9b\xec\x1e\xd2\x17\xf4JU~\x8e&\xac\xaat\x83\x0fU!U\x9f\x8d\xde\x94\xa0\x87\xf3\xaa\x9b&z\xc2\xbfoq\xf9VX\xd5V\xa3\x0b\xbc)f\x83rv\xacP!\x9e\x8d\xa9\x9bH\xf4\x8f\x15B\xaa\xbe\xbc\xa8jF\xf8\x84\xc1\x01>\xb0.3\xd9\xa0PU\x7fk\xe7\x1f\xc5\xceoe\xb5\xde?\x99\xef\x1e\xd2\x17\xa4\xa0*\x9f\xf6\x89\xdf\xff\x97\xfc$\x8d\xa9\xaa|\xc4yB4\xb4~d8\xad\xda\xf3\xe5*\x07^~B\x0cl\xc4\xcb\xe7\x00\xfa\x04\xc0\x17\xa9\x08\x11\xabj\xb5Q\x98\xd0\\\x20\xa6\x8e\xf7\x19\x9as\x8e&B\xd5\x12u\x87\xf8\xd8\xfb\xac\xc9\x06\x85\xaa\xfag`\xfc\xb3\x86\x91\xaf\xe8\xeb\xc5\xee\x1e\xd2\x17\xa4\xa0\xea\xe0\x90\x1dr$3U\x95\x1fV\x15\x88S\x8c\xbf&\xdeb\xf5c\xf5\xf8\xaa\xb6n\x97\x9fK\xf1u\xc5\xa8\xcd\xb5\x12\xc3+\x7fo\x97\xc7I[B\xba\xc4l\xf0\xcb|\x12\xc5\x0a\xd3:~\x12u\xa4h\xd8\xc3\x87\xf0Z\xe9\xb8\x16:\x9d\xb6\x8b\x1fj-3\xd9\xa0Q\xd5\xb6G\x89\xfc\x04W\x0a\x1a\xbb{H_\x90\x82\xaa|\xe8\x11\xf6\x89\x93<\xa6\xaa\x0a\x89\x7f\xc5\x1e\x7f\xce\x1b\xc2\x87\xce\x9cx\xaa\xee\xe2}D\xa6\x15\x1f\x86\xba\x17\xb3\x88\x85la0\x1f%\xdf!${\xec\x01\xb3\x0d\x8a\x832\xfd\x13'~\xf2\xf4\xe16\xb3:q\xd2\x8a[|\xba\x8c/\xd5\x86v\xb5@|\xb2\xfa\xfe\x08\"7\x1d\xb3A\xa1j\xe4\xe4D\xe8\xba\x98\xd0\x87b\xb1\xbb\x87\xf4\x05)\xa8\xca\x15\xf2,|\x7f\x8b_\xfc\xbeLUm\x9b\xc6\x9f\xf2\xd7.*\x0e\xfd\xf2u\xb8\xaa\x85\xe5:[\xf4Q\xb5X\x18s\xb8\xf5C~r>\x8fK\xc0\xaf>\xcd\x99\xff\xd4\x7f\xca)d\xf1\xab\xbb^\xe1\xdb\x11g\xdfc6\xc8\xc5\x8b\x9c\xd2\xe4\xf2\x90\xed\xa6;\xc6\x87@\xf2D\xc3o\xe4y\xff\xda\xb6\xf0\x07q\xf9c'\xc9\xb9\x07?5\x1b\xb3\xc1(U?\xcf\x15\xa5\xa1Kwcw\x0f\xe9\x0bRP\xf5U\x12\"\x93\x8fB\xe6\xaa\xaa\x1f\xac\x1a\xae\xca\x9fB\x0c\xd4\xea\xaa\xbe\xefS\x9a\xf9\xc7\x95m\xb5z\xc9\xca\xc83Y\xc2\xfb\xe8\x0d\x8a\x93\xa4\x91\x8b\xbe\xc5\x85+\x95\xa6;\xf6\xa1\xbe\x99a\xb2\xef\xb6\xc3\xfa\xd5\x0a\x9c\"!d\xf4\x06\xa3Tm\x9b\xc7\x1f\xeb\x17p\xc5\xec\x1e\xd2\x17\xa4\xa0j\xf8\xe3\xf9\xac\xfaY$\x9e\xaam\x1f\x8d\x08\xff\xf6\xaa\x0c\x1f\x8b\xc7U\xb5\xed\xcd\xbcp\xa3W\x9e\xac:,\xcf\xcbs\xd3\xeb\xc2\x82\xe5\xc9\x8b\xb0\xa37\xc8?0\"\xcaG\x0d\xfc\x9cTN\xab\xe9\x8e\xbd\x19\xba\xfezn\x1d\x09\xff\x83\x952\xa23)\xd4I\xd4\x06\xa3U\x15\xb3\x86\xc8e\xb1\xd1\xbb\x87\xf4\x05\xa9\xa8\xda\xf6\xca\xa3\xb9\xdea\xf3\xf6\xb4\xf5\xa0j\xdb\xe7+\xa7\x0c\xd6|\xc3\x9f\x0a\x9f\x8d\x0c\x11_\xd5\xb6\xd6\x15S\xf2\xbcZ\xee\x98g\xc3\xce}T>X\x1b<It\xb7g~qn\xe6\xa01\x8bBW.Eo\x90\x7f\x1f\xa3l\x85\xef,?\x19o\xb6c\x07\xe6\x16y\x87\x94\xbd\xd9\xa6\xab\xcaF\xf4\xb9c\x06k\xde\xbc1\xf3\xfeS\xef\xc1\xb8\xc1hU\xdb\xf8\xf5\x09\xf5\x91\x87Q\xbb\x87\xf4\x05\x09\xab\x8a\x20\xfd\x0b\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80`\xa1*\x828\x05T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa4]\xd5\x89dIlc\xfb\xbd\xd86+V\x90\xa7\xadJBE\x09U\x9a\xd3@\xca\xadJ\x10\x87`\x87\xaa\xc1\x95\xbe\xebf\xa5=\x93\x90\x80\xa8\xaa{\xb0C\xd5\x0eBPU\xa4\xb7\xa0\xaaV%\x88C@U\xadJ\x10\x87\xd0\x1bU?~O\xe7\xff\xea\x8dR\xd5\x06Rw\xa9\xba@+\x9a\x7f\x89\xd2\x1a\x11\xfbs\x84\xb5\xb6W\x17i\xb9e;xY=Y\xb5c\xb8o\xec)\xb5\x90\xb1\xbd\xa2@\xf3\x8d^p\x81F\x0bx\xe2\x99aZ\xee\x8c\xdd\xa6E\xc6\xca\x9de\xf9\xbe\xf1M\x87\xc8\xa4\xc8F\x0c\xab4\x90\xda\xe3\xe59\xd9\xe3_\x0b\x8a\x07\xe5\x17\xf8\xe6\x17\xa6\xf0\xb7\x84\xd8KoT}\xe4\xefu\xfeMo\x0c\xabZ]@\xb2s\x09\x19\xddA7W\x10R^\xd1N\xe9\x8e,\xe2}\xb8\x88\x90\xc5\x94[T\xed%$\xabC-\xa4\xb4\x8a\x90\x82\x92<\xf6\xedr\x94\x80M>\x92]\x92OH\x93Y\x91\xa1\xb2\x81\x90\xfc\x12\x8dTHU\xe5F\x0c\xab0;\xb35\xff\xa3\x1eR\x19\xe4\x0f\x1e\xce#\xf9l\xf3\xc5\x1d\x14q6\xbdQ\xf5\xcc?\xe8\xaa\x1e\xd4\x1b\xc3\xaa\x92Ql\x08l\xd2\xc8\x06}\x02\xd0\x9eMj\xeeP\xda\x92K\x1a\xb9E\x9e\xe1M\xcd\x1b\x8c\x85\xcd\xc4\xc7\x87\xdc@6Yi\x14\xf0\xebl\xb2\xa0\x83\x06k\x89\xf7\x92I\x91Zy\xd4C\xea\x83\xf4\xf2\x0c\"U\x95\x1b1\xac\xc2\xb68\xfc$\xa5\x07r\xc9F\xf1`\xd8>J?\xd0\xc8f\x8a8\x9b\xde\xa8\x1a\x19V#\x83jD\xd5\xbf\xf0GU\xa4JW\xb5\x86\x94\x89\x8a7\xc8(n\x119F\xa3\x0bk2\x16\x89\x8a\x1a2\xc7(\xe0\"\xe2\x0fu\xbe\xde\xa4H\xad\x9cEj\xf8\x8f\x8eaRU\xb9\x11\xc3*l\x8bG\xf9\x837H\x91x\xd0\xca\x1f\x88\xcd#\x8e\xa6W\xaa\xea\xc3jdP\xd5U-\x16\x8fV\xf1\xc3\x96\x90\xaa\x85\xe4m\xd1\xd6\xe1!\xa7\x98EE\xe2\x81\xa1\x90\xde\x93o\xc3\xcb\xc8\x93F\x01\x8bC\xab\xb6\xb7\x07M\x8a\x94\xca\xael)'k\x13\xaa\xca\x8d\x18Vi\x20\x13d\x9b\x97\x1c\xd77_\x8f\x87W\x8e\xa7W\xaa\xd2\x7f\x8f\x19TuU\xe5\x08\xba\x9e\xcc\x08\xabz\x8bM\x08\xc7\x0b4\xd2\xcc\xdc\x90\xe3\xa4\xa1\x90\x95\xee\xde\xb0\xb8b(!\xb3\x8d\xaajr\xec\x0b\x11]\xa4T\xb6\x93\xcc\xa0Xh\x96\xaa\xfacWi\x90\xe3.\xf7\x7f;{\x20+6\xea\x95\x88S\xe9\x9d\xaa_\xfcC\xf4\xa0\xaa\xab*G\xa9\xf5\xdcD\xa9\xeay%\x05\xb8\x91YT!\x0a\x0c\x85\xc1U\xec\xc8\x89d\x94L\x88R\xf5\x0e!\xed\xfa\x06b\x8b\x94\xcaC$K.|\"U\xad\x88]\xa5\x81,\x95%\xe3\xc8\x1b\xfa\xe6QU\xe7\xd3;U\xe5\xb0\xfa#\xb5%\xae\xaa\xd7\x099\x11)3U\xb5\x96dTn\xde\x7f\x8b\xd6E\xa9\x1a$\xec\xbd:Ll\x91Ry\x82d\x18F\xd5\x8a\xd8U\x1a\xc8\x02Y;\x9a\x0d\xee\xa8*\x1cz\xa9\xaa\x18V\xd5A5\xbe\xaat\x08?\xf2\xe7\xb4\x9c\xec2U\xf5A6;j\xe2TGO\x00\x86\x8b\xb3T\x94\xbe=m\x95I\x91R\xf9\xc0\x1b\x9a\xab\xaeTT5\xae\x12~\xcf\xbf\xa3\xb1\xa1\x1aU\x85C/U\xe5\xc3\xaaaP5S\xf5\x1e!\x7f\xa3\xfc(\xbbD\x8cx\xdb\xf9)'3U/\x84\x06\xcf[\x05\xfcIU\xd5\x1a9\x93\xa5e\xa4\xd6\xa4H\xad\xac\x90cfW\xb1\xa2\xaaq\x95\x06\xa2\xb5\xcb-\x97PT\x15\x10\xbdU\x95\x0d\xab\x86A\xd5LUvT\xd4x\xa7\x8b\x1e\xf7\x9297\xd9,2\x97T\x9bO\x00\xba\x06\x91\x1a&\xf3Y?\xe1k\xa9\x02\x9e\xf6\x91e\x0fh\xb0\x8ed\x9d7)R+\x0fgx\xd6\x07\xe9\xcd'\x89\xa2\xaaq\x95\x06BJ\x98\xab\xdb}\xec\xfd\x1fU\x05DoU\xa5\xffn\x1cTMU-a\x075\xcd\xe2<\xbf\xb7d8\x93\xa8#\xce\\\xb5\x9e\x90\xa1\xfe\xb1\x9e\x9cE\xe4\xe1\xe8O\xab4\x92S\x92K\xb4&\xb3\"Ce=\xff\xb4\xcaG\xc6q\xf7\xc2\x1b1\xac\xd2@\x86y3K\x86\x11RKQUH\xf4Z\xd5/\x8c\x83\xaa\xa9\xaa\xc7'zs\xde`?O\xfc\xacH\xf3\x95\xac\xe2\xd7Y\x9b\xaaJ\x9b'\x0d\xf1\x8e^t\xe9\xa6\x96\xd1n\x14\x90\x1e\xaf,\xc8\x1cR\xc1/$\x88-2V6\xfb\x07y'47\xf0)Cx#\x86U\xd8\x16\x8f\x94e\xe7\x96\xb5\xa8\x9bGU\x9dO\xafUu(+\xc8\xbc8\xcf\xe0\xc5T@\x19h\xaa\x96\x95\x04\xc4\xcf\x89d]\x9c\x0aT\x15(\x03M\xd5\xf9\xe2\x98\xa9c1\xc9\xbd\x1c\xa7\x02U\x05\xca@S\xf5B\x11\xc9\x1cU\xec#Y\xcd\xf1*PU\xa0\x0c4U\xe9\xcd\x95%\xb9\xbe\x115'\xe3\x16\xa0\xaa@\x19p\xaa\"\x03\x15T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xd8\xa4\xea\xc5o/^\xb9ml\xba}\xe5\xe2\xb5k\xdd\xe6\xe5\x08\x12\x83M\xaaF\xf8x\xed\x15\x8a\x82\"\xc9c\xaf\xaa\xf7)]\xfd\xd8_\xf9\x0f\x04I\x12{U\xa5\xfc}\x1f\xc7T$\x15\xecT\xf5\xfe\xfd\xce\xfb\xf7\x0fn\xbb\xc6~t\xa3\xafH\x92\xd8\xa9\xaa`u\xe99\xab\x12\x041\xc1vU\xbb\xafXU\x20\x88\x19v\xa9\xca\xde\xf0\xbf\xd8\xf6\xdb\xb5k\xd6\xbc\xbe\x8d}[\xfb\xd6{\xdfY\xad\x81\x20\x06\xecR\x95\x1d\xf4\xaf}\xbct\xfa\xe4\xc9\x93\x1fa\xff\x9f\xfe8\x9b\x06\xe0y\x00$\x19lT\xf5\x85\xc9\x1f\x7f\xf6\xe7\xcf\xfe\xcc\xf8\xec\xb3_N>\x83\xaa\"Ia\xa3\xaa/\x96\xde\xd5\x1f\xae)=C;)\xda\x8a$\x8e\x9d\xaaN\xffB\x7f\xf4\xc2\xf43=U#H\x0cv\xaa:UW\x95.GU\x91$\xb1Q\xd5\xe5\x8f\xdd\xd8\xf6\xa3\x1f\xfd\x1b\xfb_\xe9\xfd\xdfN\xbf\xb8wm\xe7\xc15\xca\xf5\x00G<\x84\x90\xb9\xfa\x0a;\xf2\x9aL;\xb2\xa0\xde\xfbk\xb3\xe6v\x8d\x14\xf3\x9fGg\xe4\xe7Lk)\xd9mV\x838\x1b\x1bU}~&\xfd\xe5\xf7\xfe\xee\xfb\x7f\xf7\xfd\xef\xfd\xf7\xcemSo\xbf\xfe\xd8\xed?\x94*\x07W]\x9f\x8c-\x09\x9c\xd7W\xf8\x20\xfb\xed\xd8^Z\x0e\xc5\xb6\x19)\xd1J\xcc\x9a\x83\xfb\xaa4\xf6\xe3\x90V\xde\xf4F\x05\x09Gh#\x90\xb0Q\xd5\x17J\xbf=\xb7m\xdb{\xec\x7f\x1f\xd3\x97\xa6\x9e\xbb\xf2Y\xf7\x95/:\xd5\x1a\xbf!<2Hc\x99\xf0\xa4I\xa3\xca\x1dO\xa5\xe7\x96\xe93u\\\xd52?\xeb5X\x85\xaaB\xc4FU\x95\xb9j\xb7\xe9\\\xd5o\x99s:~\xb6EA\x0b9DZL\x9f\x11\xaa\x0e\xe7\xf9\xaf\xf4(Iin\x81\xf4/v\xaaZzN\xceL\xd9\xb7\xff\x98z\x86\xde\x8d>Y\x15Q\xf5\xba\x8f\x10\xcfV\xb9\xbc\xb3\xacH\xcb\x9f1,H\x9b\x88d\x1co\x0d\xbe\xf6hv\xf1\xc2\x0eJ\x9f!\xda\xc6\x05\xc5YegEq\xddPZ\xc8\x13\xa9\x0d\xad\xdfT\x16\xe6\xce\x12\x13\x80'\x0b\x8e\xf1u\xb7\xdfR{8\x92I\xc8\xd2S\x95\xc3}e]\x8d\xac\xfb:ZG\xc4\x14A/@\x1c\x81\xad\xaa\xde\xd0\x1f\xae)5\xf9\x08@\x19U\x0f\x05\x02\xde:\xb1t\x20\xa3\xf2\xed\x1d\x1b\xf3I\x17\xbd\xb3;0zZ\x20\x108\xc1\x9b\xe7yj\xb67\xe4\x8d\x0f\xd2\xbfl\xcd$yu\xbf\xce\x91\x19\xd5\xfeYt6\xefEm=\x95S\xbc\xb9\xa9\x8cpU\xdb\x8b<eu{\x1ePC\x0f\x1d\x8d[\x87\x8d\x1eT\xb4\xa02\xe3\xeb[;s\x96]\xa2\x97jsw\xdeR\x0a\x10G`\xa7\xaa3\x9f\x7f\xe9\xc5\xd5\x8c\x17W\xbf\xf4\x93GL.\xb06N\x00|R\xd5uy]\xfc{\xae0F\x9f\x00\xbcK~\xc7\xbe\xef'|\xe4\xd5r\xcfRZ\x99\xc7\x9b\x83\xd9\xf5\xb4>[\x94FZ\xa7\x8cb#c\xb0\x84\xabJ\xaf\xae\x98\xa0\x91\xdc\xc6\xa8\x1e\xe8x\xe2\xbfI\x837\xd9\xd2<>\x1b\xae\xfcYt\x01\xd2\xff\xd8\xa8\xea[?}\xact\xaa\xa4\xf4\xa7?\xbf\x98\xa0\xaa\xe7\x0b\x87\xd7l<\x1c\x94#\xa1\xae\xea\x93#\x1et1\x86\xf2\x93[\xda\x1c\x1a\x9a\x8a\xd2#dw\xc7nr\x84\xaa\xad\xd7\xc9F\xfex\xa9\x16Z\xf5\xde\x8e2\xb2\xdd\xd8\x03\x1d\xaf}\x1dz\xb6\xc5\xd7A;\xb2Z\xa26\x818\x00\xbbTe\xdc8w\xe6\x8b0\xe7\xbe5\xb9\xb6\xdaTUz}\xc3\xecb\x92\xbf\xca8\xaa\x96\x84\xe6\xad\xfc\x0d^\xe3\x85R\xd5\x06\xd1\xd8@\xd5\xd6CD\xc4\xae\x8b\x82\xfd\xdf\xf0\xc5\xe0\xa4rc\x0ft\xfc\xb8\xf0V\xbb\xf2\x9bhS~0j\x13\x88\x03\xb0QUK\xa4\xaa\xb7\x96]\x15\x8fB\xaa\x1eZ\xcc\xbc\xb9\xbe\xd5\xb7\x8e?\x10\xaanf#`\xe5\x88C\x02\x9e\xa4\xae\xa8:k\xdc\xfe\xfd\xfb\xc7\xcd\xa2j\xeb\xdf\x88Xu\x0e/(\xa8\x11}.\x19e\xec\x81\x8e\x9f\x15\xde\x07ZSA+D\x95\xa1\x00\xe9\x7f\xecT\xb5\xbb\xfb~\x98n\xb3\x0bU\xa4\xaa\x87\xc9N\xf1(\xa4j\x1d\x11q\xe9\xfe\xeap\xc5%~t\xde,O\x8d.YI\x0d\xaa\x16.d\xdf\x16\x14RC\xeb\xc4\"\xe6\xfeI/_\xcc/\xe4\x7f\x06An\xa6\xda\x83z\x12l\x8f\xf7\x82w\x0f_0\x14\x20\xfd\x8f\x9d\xaa\xf6L\xd7\x9e\xb1%\xec\xf8>\xb0\x81\xbda?\xf8$\x10\xf0V\x05v\xde\xe4\xaaf\xd7~\xd04W\x9e-\xad\xd3\xea\x9b\xfc\xd9\xfc#\xad\xc5\x19O\xbf\xcdZ\xdf\xa0\x17\x02Z\xd5\xbe\xe0\xe1*-p\xa1\xa3\x99,\xb9C\xef\xfc\x8a4\xdfSZ\xe9\xb1\xac\xa2\xba\xa5\x83=\x99\xbf;N\xf3IAms\x93\xdfwR\xed\xa1k\x8f8\xb3\xd0.w#XXV(\x0f\xfa\xf5\x02\xc4\x118G\xd5\xa3\x9e\xd0\xe4\xd0w\x82\x1e\x08-o\xa0\xf4\xb5iuEZ\x81_\x9e\xd7\xbfW3\xd87m\xbfXl\xf6\x0f\xc9\x9d\xd2\xcc\xcf\xa0\x12\xa2\xb5f\xb3\xef\xcf\xec\xc8\xe0\xe7C\x9b\x08\xc9\xd8\xa1\xb4Rz\xaa|\xf0\xf0\xe7~\x97\xc9\x16'l^R\x9c\x9dWq\xd2\xd0\xc3\x11\xb9\xb1\xf2\xd0~\xd4k\xf5\xa1\xa5p\x01\xe2\x08\x9c\xa3*\x82\xf4\x08\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xf4\xb3\xaa\x18\x12\x84$J?\xab\x1a\x01C\x82\x90\x9eq\x86\xaa\x18\x12\x84X\xe2\x0cU)\x86\x04!V8AU\x0c\x09B\x12\xc0\x09\xaa\x0a0$\x08\xe9\x19\xc7\xa8\x8a!AH\xcf\xf4\xb7\xaa\x18\x12\x84$H\x7f\xab\x8a!AH\x828@U\x0c\x09B\x12\xc1\x01\xaabH\x10\x92\x08NP5\xa1\x90\xa0\xa6G/\xc5y&U\xaeN\xc2\x9bWC\xc2\x09\xaa&\x12\x12\xb4\x8a\xd4E\xdd\x93\xb7\xd7a)\xc1U\x9e\xd8\xfbQa\xce\x8bcq\x80\xaa\x16!A\x82\x06\xcfkQ+\xa6#,e{fCt\x13\xe6\xbc8\x16\x07\xa8j\x11\x12\xc4i\xd3\x16\x87\x17/\xfb\xe5]$\xd3\x12\x96\xb2L;\x1b\xd3\x869/\x0e\xc5\x01\xaaZ\x86\x04Q:\xb7@O\x8f8F\x8e\x89\x9fi\x09K\xb9S\x10{Oj\xccyq(\x0eP\xd52$\x88>\x18\xb4H.4\x8c~\xf7\x049\xb1}\xf4\xfaT\xc3R\x94\x02\xd1\xe12_L\x82\x0a\xe6\xbc8\x14'\xa8j\x15\x12D\x0f\xcb{\xa4\xf3_7y\x98\x94\x90Y\xe7S\x0dKQ\x0a\xc4\x9a\xbb\xc9\x1e\x1a\x05\xe6\xbc8\x14G\xa8j\x11\x12D\xb7\x93\x93\xe1\xc5f\x8dh\xf2\x96\xa7\xa9\x86\xa5D\x0a\x18gI\xcca\x13\xe6\xbc8\x14'\xa8j\x15\x12\xc4\xdetC\xb7\x94\xbe\xba@+$\x85\xde\xe7\xfe&\x1f\xa6\x14\x96\x12)\xa0\\\xd5F\x1a\x05\xe6\xbc8\x14\x07\xa8j\x19\x12D\xf7\x91O\xe4\xc2\xaa\xfc\x0d\xc7\xc9_\x1a\xf2W\xf6\",%R@\xf9p\x15sr\x13s^\x1cJ\x7f\xabJ\x13\x08\x09\xa2\x1dZH\x18\xfa\x80\x1e#\xc7\xe9\x83`/\xc2R\x94\x02\xaeN\xccI%\xccyq(\x0eP5\x01f\x8d\xd2\x0f+\xce\xe7\xca\x13\xf4)\x87\xa5\xa8\xa7\x9a\x82\xc5\xe1\x04\x00\xda\xbe\xb2M.`\xce\x8bCq\x82\xaaV!A\x94\x9e\xf0\xc4|P\x99ZX\x8a\xb1\x80\xd6\x13\xfd\x83\xa7\x0a2\x83\xff\xc0\x9c\x17\xc7\xe2\x04U\x13`\x997zN\x99ZX\x8a\xb1`\xa7\xef9\xbd\xbf\xcdy\x1b\xf8\x0f\xccyq,@T\x0d\xce\xd7\x1a\xadj\x92\xa6Q\x9b\xdbeU\x838\x06\x20\xaa\xd2`\xfd\xd0t\x1fY\\-X\x89'\xd6\x01\x01EU\xc4\xf5\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\x0eU\x15\x93W\x90h\x1c\xaaj\x04L^A$\xceV\x15\x93W\x10\x1dg\xabJ1y\x05\x09\xe3dU1y\x05Qp\xb2\xaa\x02L^A$\x8eW\x15\x93W\x10\x89SU\xc5\xe4\x15$\x0a\xa7\xaa\x8a\xc9+H\x14\x0eV\x15\x93W\x10\x15\x07\xab\x8a\xc9+\x88\x8a\x93UM(y\x05q\x0bNV5\x91\xe4\x15\x0c\x09r\x0d\x0eV5\x91\xe4\x15\xdbB\x82\xd2\xd0/\xd2;\x1c\xacj\x02\xc9+\xf6\x85\x04\xa5\xa5_\xa478X\xd5\x04\x92Wl\x0c\x09JK\xbfH/p\xb0\xaa\xd6\xc9+v\x86\x04\xa5\xa5_\xa4\x178YU\xcb\xe4\x15;C\x82R\xeb\x17I\x1f\x8eV\xd5*y\xc5\xce\x90\xa0\xd4\xfaE\xd2\x87\x93U\xb5L^\xb15$(\xd5~\x914\xe1`U\xad\x93Wl\x0d\x09\xa2)\xf6\x8b\xa4\x09\xa7\xaaJ\x13I^\xb13$(\xe5~\x914\xe1`U\xad\xb13$(\xe5~\x914\xe1dU\xad\x93Wl\x0c\x09J\xb9_$M8YUk\xec\x0b\x09J\xb1_$}\xc0V\xd5\xbe\x90\xa0\x14\xfbE\xd2\x07pU1$\xc8=\x00W\x15C\x82\xdc\x03tU\x11\xd7\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10`\xaa\xda\x8d!A\xee\x03\xa6\xaa\xf7)}i&\x86\x04\xb9\x0b\x98\xaa2:\xa3\xc2\x02\x91\x81\x0eLU\xd9;\xff\xde\xd7\xaf\xe1\x04\xc0U\xc0T\x15'\x00.\x04\xa6\xaa\x14'\x00\xee\x03\xa6\xaa8\x01p!0U\xc5\x09\x80\x0b\x81\xa9*\xc5\x09\x80\xfb\x80\xa9\xaa\x9c\x00tw\xd2\xee\xfb\xfc\x0b\x87W7\x00S\xd5\xd0\x04\x00q\x130Uet\xde\xe8y(\xc5\x90\xa0\x81\x06LU\xf95\x00o\xdd\xdf\xfbR\xe7\xde\xd5\xec\xeb\xee\xc1\xb51\x15\xb6\x85\x04U\x11B\xb2N\xc5\xb6\xab\xfc\xad:\xdf7\x03o\x83\xd1K`\xaa\xca\xefi\xfd\x93\xef^\x9fy[|\xdd\xd8\xf6\x93\xe8\x02\xfbB\x82\xce\x06\x02\xeb\xc2\xb7y\x8d\x87\xbf`\xc3\x1c\xdf\xf5\x9ek\x10+`\xaa\xca\xb8\xfb\x1d\xbd\xf6\xd7\xd0\xd7\x8dsQO\xda\x18\x12D\xf9}\x83{V\xf5*i\xa0\xc1\xe8\xfb\xb5\"\xc9\x02SUq\x06\xe0J\xfc\xe7m\x0c\x09\xa2\xd6\xaa\x9e\xea\xddF\x11\x09LU\xc5\x19\x80\xaf\xba\xef\xc69YegH\x10UT\x0d\xae\x1f\x975v\x9d\x98\x94^\xae\x1c2t\xe1\xc2!\xd9\x8d\x0f\x86\xc8\x9b\xad/\x88]\x0fI\x0a\x98\xaa\xd2\x9e?\x02\xb03$\x88*\xaa\xce\xd1\x96n_\xaaU\xb1\xa5\x07\x0f\x17\xac\xab\xf5\xfa6\x97\xd5\xd3\xc3\x81\xad\xa4.\x10\xb8\x10\xbb\x1e\x92\x140U\xb5\xb8\x06\xc0\xd6\x90\xa0\x88\xaa\xcd\xa49\xfc\xbd\x91\x1c\xa1t\x1d9.\xdaq\x02\x90\x16`\xaajq\x0d\x80\xcd!AaU\xe7\x95\x88\x1f\x0f\xb3auq.[8\x19R\x14UM\x0b0U\xa5=O\x00\xec\x0c\x09\xa2\x11U'\xc9\x1b\xad\x97O\xa4\xb4>\xe32\x1f_\xe5\x11\x1d\xaa\x9a\x16`\xaaj1\x01\xb03$\x88FT\x9d;\x82{\x1e\x1c>\x87\xd2\xaf=e_\x1f\x19=I\x9e\xf6GU\xd3\x02LU\xad.\x02\xb41$\x88FT\xdd.&\xb7[\xf9\x1c\xe3\x10\xc9'\xc4\xff\x8d|\x1eUM\x0b0U\xa5\x16\x17\x01\xda\x18\x12t\x9e\x7fZU\x1f\x08\xf0\x09m\xa5g\xf1\xbb\x8b=\x95l\xe9\x90w\xc7\xf6\xc07\xa23y\x06`\x1f~\xae\xda[`\xaaj\xf9\xaf\x00\xec\x0b\x09\x9a\x13\x9a\xd7\xf2\xd3\x07\xc1\x86\x92\xac\x12q^u\xb7\xc6\xdb\xb4i\xc7\xe8\xbd\\\xf1t\xe6\x09\x8a\xf4\x0e\x98\xaaZM\x00\xfa;$\xe8Rv\xf5\xa5\xae\xae\xeb\x07*\x06\xe3'\xffi\x03\xa6\xaa\xd4\xf2_\x01\xf4oHPS\xae\xac\x0c\xe6c\xccZ\xda\x80\xa9\xaa\xe5\x04\xa0\x9f9\xe4\x91\xa7\xa9\x8ey\x0e[T\"\x09\x03SU\xcb\x09@?\x13\x9c\xeb\xabnli\xac\xf6U':\x0e#\x96\xc0T\x95ZN\x00\xfa\x99`SY\xa1VX\xf6.\x9a\x9a>`\xaa\xea\xf4\x09\x00\xd2\x07\xc0T\xd5\xe9\x13\x00\xa4\x0f\x80\xa9*u\xfa\x04\x00I?0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07\xaa\x8a\x00\x01\xa6\xaa8Wu!0U\xc5\xb9\xaa\x0b\x81\xa9*\xc5\x09\x80\xfb\x00\xa6\xea\xb6\xce+w;\xef\xdfg_{_\xbf\xc2\x7f\xdc\xa7\xf7\xef\xde\xed\xbck\xb5\x1e\x02\x1f`\xaa\xee\xa5\x9d\xfc\x07{\xe7\xff\x8f\xd238\x01p\x15\xc0T\xed\xd4\x97\xae\x9c\x89,#n\x00\x98\xaa\xfc\xa0\xff\xe0\x1fV\xbf\xb0|\xf9\xf3\xbf\\\xbe|\xf9\x0b\xbf\x7f\xeb6\x9e\x07p\x09\xd0Te\xef\xf9k\x1e/e\xcc\x94\xdf\xa7\x9e\xc3i\x80K\x00\xa8\xea\x0b\x93\xf7~u\xe6\xab\xef\xe8\xc53_}\xf5\xfcd\x9c\xb1\xba\x05\x80\xaa\xbeX\xfa\x1d[x\xef\x17\xfc\xe1\x9a\xd23\xddw1\xb6\xc2\x15@Tu\xfa\x17l\xe1_\x1e\xda\xcb\x1e-\x9f~\xc6j\x0dd\x80\x00RU\xae\xe7\xffx\x88\x0b\x1b_U\x8c\xad\x18h\x00Tu\xf9\xcc\xdb\x7f\xf8\xd7\x1f\xfe\xb7\xef\xfd\xf3\xbf\xfe\xcf\xfb\xafO\xbd\xf2\xf1\x8b\x9d\x07_\x8a\xa9\xb3-\xb6\"\x01\x8e\x97e\x17T\xb6\x14\xa4\xfbO\xc7m\x00T\xf5\xf9\x99\xdd\xbf\xfc\xc1\xf7\xbf\xf7\xd0\x0f~\xf0\x8f\x9doM\xbd\xf1\x87\x99\xb7\xfb3\xb6\xc2\x9a\xe6\xec\x09\x1b\xb7\x96\x10\x82\xf7W\xe9\x1d\x00U}\xb1\xf4\xdc\x95\x83\x07\x7f\xf8\xfd\xb5\x07\xffLWO\xff\xea\xc6W\xf4\xf6\xb7QU\xf6\xc6V\xf4\xcc\xd5\x9c\x8a{\x94\xde\x19\x85\xaa\xf6\x12\x88\xaaN\xfd\x8c-\xfc\xf0!6K\xed^^j:W\xb57\xb6\xa2g\x16\xfb\xfe\x1f\xffQ\x8f\xaa\xf6\x12\x88\xaa\x96^d\x0b\xa5\xff\xc4\x85]=\xdd\xecd\x95\x8d\xb1\x15\xcf\x10m\xe3\x82\xe2\xac\xb2\xb3T\xed\xb7\x96u\xb3\x95ne\xdf\x97\xd1Q?\x13\x85\x97\xeb\xef)\xb9\x16\xcaj\x86\x1e\x90\xf8\x80T\xf5\x9a\xfe\xf0%\xd3\x8bVl\x8c\xad\xf8\xcb\xd6L\x92W\xf7\xeb\x9c\x0aC\xbf\x97\x9e~\x94usk\xf7\x94\xca\xcb\xf7<\xe1\xbb\x0bR%\xd7BY\xcd\xd0\x03\x12\x1f\x88\xaa>\xfe\x8b\xe5\xcf?\xbf\xe6\xf7\xec\xdb\xf2\xc7\x1f1\xbb\xc0\xda\xd6\xd8\x0a-\xf7,[-\xcf\xb8\xdak\xc5\xe2\xb9\x92\xd7h\xbb2\xe5Pr-\x94\xd5\xd4E$>\x00U\xdd\xf6\xf3\x99\x8f\x95J\x1e\xfb\xf9/\xae\x98\xa8jkl\x856\x87\xf2\x1b\xaf\x1bW;\xe2\xb9\xd7\xf1\xda\xf5.\xed\x08}\x90\x19\x19U\x95\\\x0be5u\x11\x89\x0f4U\x19w\xaf\\\xbc\xf8\xed\xb7\xd7\xee\xb2o\xdf^\x89\xcc\x05\x14l\x8d\xad\x10\xb9\x03B4e\xb5{\x99G\xeb\xc9\xb2\x13\x1e6?\x0d\xcdU\x1f4\x1br-\x94\xd5\xd4E$>\x00U\xa5\xe2R\xc05?\xbd\xe2\x8c\xd8\x8a\x88h\xeaj\xc5[\xfdS\x8a\x9b\xf84`\xb1Ot\xd3H.\xa9\xb9\x16\xa8j\xd2\x00T\xb5\xbb\xb3\xf3Fg\xe7O'\xef\xed\xbcq\xbf\xd3\xfcB\x15;c+\"\xa2\xa9\xab=]\xa35\x93g\xf8\xec\xf7jN\x05;\x98\x0b\xfa\x87\x1br-P\xd5\xa4\x01\xa8\xaa\xe4\xf6\x95\x1e.\xa9\xb6/\xb6\xe2B@\xab\xda\x17<\\\xa5\xf1dJ}5JWf\xe5\x04G\xfbV\xf0\x92\xe6\xacI\xbfk*\xcb\xe43\x07=\xd7BY\xcd\xd0\x03\x12\x1f\x98\xaavR\xba\xf6\x7f\x9f\xa1\xf1\xff\xc9\x8am\xb1\x15\xcf\xf0t\x8a\xd6l\xf6\xfd\x19e5J\x0f\xe5\xd6\xd2U\xd9\xfbE\xe9\xf1\xb2\xac\xfc\x8aV\xbe\xa4\xe7Z(\xab\x19{@\xe2\x02S\xd5\xbb\x94\xb2\x09\x00\x8d\xff\x0fU\xfb9\xb6\x02\xe9\x03`\xaaJ-&\x00\xfd\x1d[\x81\xf4\x010U\xc5\x1b\x01\xb9\x10\x98\xaa\xe2\x8d\x80\\\x08LU)\xde\x08\xc8}\xc0T\x15'\x00.\x04\xa6\xaa8\x01p!0U\xa58\x01p\x1f0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07\xaa\x8a\x00\x01\xa6\xaa8Wu!0U\xc5\xb9\xaa\x0b\x81\xa9*\xc5\x09\x80\xfb\x00\xa6*\xc6V\xb8\x17`\xaabl\x85{\x01\xa6*\xc6V\xb8\x17`\xaabl\x85{\x81\xa6*\xc6V\xb8\x16\x80\xaabl\x85;\x01\xa8*\xc6V\xb8\x13\x88\xaabl\x85+\x01\xa9j_\xc7V`@\x85\x13\x01\xa8j\x8a\xb1\x15I\x90r@\x05\xd2\x87\x00T5\xb5\xd8\x8a\xe4H-\xa0\x02\xe9K\x00\xaa\x9aZlE\x92\xa4\x12P\x81\xf4)\x10UM)\xb6\"IR\x09\xa8@\xfa\x14\x88\xaa\xa6\x14[A\xe9\xe9Y\xf9Z\xc1\x8cohb\xe9\x111\x01\x15\x94\xee,+\xd2\xf2g\x0c\x13\xf7HM8\xf8\x02I\x17\x20UM%\xb6\x82\xb6d\x8f[\xb5\xa3\x8e\xf0{\xfd%\x92\x1e\x11\x13PA\x0fdT\xbe\xbdcc>\xe1\xb7XK<\xf8\x02I\x17\x10UM)\xb6\xa2\xa3\xa8\xec\x1e\x1bo\x1b\xaf&\x98\x1e\x11\x1bP\xb1.\x8fK\xba.7\x98l\xf0\x05\x92\x16\x00\xaa\x9aZlE39\x1c~:\xa1\xf4\x88\xd8\x80\x8a\xf3\x85\xc3k6\x1e\x0e\xf2<\xa1\xe4\x82/\x90\xb4\x00MU\x9ajlE=\xd1'\x8e\x09\xa5G\x98\x04T\\\xdf0\xbb\x98\xe4\xaf\x0a&\x1b|\x81\xa4\x05\x80\xaa\xd2\x94b+vD\xee\x8d\x9ePzDl@\xc5\xa1\xc5l\xb5\xeb[}\xeb\x92\x0d\xbe@\xd2\x02@US\x8b\xad\xb8U\xe0\xe7o\xdd5\xf3\x13K\x8f0\x09\xa8\xa8\x13\x93[\xea\xafN6\xf8\x02I\x0b\x00U\x95$\x1b[A[\xbc\x0foh\xae!\x9biB\xe9\x11\xb1\x01\x15L\xd5\xec\xda\x0f\x9a\xe6\x12>\x17M<\xf8\x02I\x170UM!\xb6\x82\xd2\x93\xb3\x87\x0e\x9a(\xaeC\xb1N\x8f0\x09\xa8\xa0\xafM\xab+\xd2\x0a\xfc-\xe2A\xc2\xc1\x17H\xba\x80\xa9j_\xc7V`@\x85\x03\x81\xa9*\xed\xdb\xd8\x0a\x0c\xa8p\"0U\xc5\x1b\x01\xb9\x10\x98\xaa\xe2\x8d\x80\\\x08LU)\xde\x08\xc8}\xc0T\x15'\x00.\x04\xa6\xaa8\x01p!0U\xa58\x01p\x1f0U\xc5\x09\x80\x0b\x81\xa9*N\x00\\\x08LU)N\x00\xdc\x07XU\x11\xb7\x01SU6I\xfdxm\xfc\xebU\x91\x81\x08LUq\xae\xeaB`\xaaJq\xae\xea>`\xaa\x8a'\xab\\\x08LUq\x02\xe0B`\xaaJq\x02\xe0>`\xaa\x8a\x13\x00\x17\x02SU\x9c\x00\xb8\x10\x98\xaaR\x9c\x00\xb8\x0f\x98\xaa\xca\x09@w'\xed\xbe\xcf\xbfpxu\x030U\x0dM\x00\x107\x01SUF\xe7\x8d\x9e\x87R\x8c\xad\x18h\xc0T\x95_\x03\xf0\xd6\xfd\xbd/u\xee]\xcd\xbe\xee\x1e\\\x1bS\xd1/\xb1\x15Gg\xe4\xe7Lk)\x89\xbd[\x06\x92\x06`\xaa\xca\xef\xb2\xfa\x93\xef^\x9fy[|\xdd\xe8\xdf\xd8\x8a\x96\xf0-\x83\x0ei\xe5MoT\x10y\xbb*\xbd\xd5\xbc\x16I\x1a\x98\xaa2\xee~G\xaf\xfd5\xf4u\xe3\\\xd4\x93\xb6\xc6VLx2\xb4P\xe6g\x03\xe6\xac\xd6\x8d\x00\x00\x07LIDATy\xb0J\xaa\xaa\xb7\x9a\xd7\"I\x03SUq\x06\xe0J\xfc\xe7m\x8d\xad\xd0\xef\x048|\x09\xff~\x944\x19Z\xcdk\x91\xa4\x81\xa9\xaa8\x03\xf0U\xf7\xdd8'\xabl\x8c\xadh\x0a\xdd\xf3\x97\xdf\x0e\xf8\xc9\x02\xfeW\x11\xdc~\xcb\xd0zsv\xa1VT~\x84\x1ak1\xd7\"i`\xaaJ{\xfe\x08\xc0\xc6\xd8\x8a;\xbb\xc5M+\x03'Xc{\x91\xa7\xacn\x0f\xbf\x8b\xab\xda\xfa.\xa9ni,\xf7\xec7\xb6b\xaeE\xd2\xc0T\xd5\xe2\x1a\x00\x9bc+\xf47\xf5\xab+&h$\xb7\x91\x1aZ;\x1ao\xb11\xb4\xa4\xc2\xd8\x8a\xb9\x16I\x03SU\x8bk\x00l\x8e\xadP\xe7\x9f\xf7v\x94\x89\xbba+\xad\x97\xd7\x95\x8d\xc8!r\x9bz+\xe6Z$\x0dLUi\xcf\x13\x00\x9bc+\xc2\xfa\xed\xe7\xf3`\x1a\x94\xddGZ\x0b\x8a\x165\x05\xfcQ\xaab\xaeE\xd2\xc0T\xd5b\x02`sl\x05\xd7o\xf3\xd7\x94\x16\x88\xc4\x0a\xbad\x94\xa1\xb5x\"\xff\x1b\x99\xa5\xa8\xca[1\xd7\"i`\xaaju\x11\xa0\xad\xb1\x15~?\xa5\x97xC~\xe1U\xbe\xa6L\\\xd1[\x8b\xf8\xc3\xe0X\xa9\xaa\xde\x8a\xb9\x16I\x03SUjq\x11\xa0}\xb1\x15\xbc]\xabo\xf2g\xb3?\x88|RP\xdb\xdc\xe4\xf7\x9d4\xb4\xd6\x91\xd9\xebV\x8cg\x13\x87}j+\xe6Z$\x0dLU-\xff\x15\x80m\xb1\x15\x8c{5\x83}\xd3\xf6\xb3\x85\x09\x9b\x97\x14g\xe7U\x9c4\xb6\x06\xebGkyOn\x1e\xa5\xf9\xd5V\xcc\xb5H\x1a\x98\xaaZM\x000\xb6b\x00\x02SUj\xf9\xaf\x000\xb6b\xc0\x01SU\xcb\x09\x002\xf0\x80\xa9\xaa\xe5\x04\x00\x19x\xc0T\x95ZN\x00\x90\x01\x07LUq\x02\xe0B`\xaa\x8a\x13\x00\x17\x02SU\x8a\x13\x00\xf7\x01SU\x9c\x00\xb8\x10\x98\xaa\xe2\x04\xc0\x85\xc0T\x95\xe2\x04\xc0}\xa0\xaa\x08\x10`\xaa\x8asU\x17\x02SU\x9c\xab\xba\x10\x98\xaaR\x9c\x00\xb8\x0f\x98\xaa\xe2\x04\xc0\x85\xc0T\x15'\x00.\x04\xa6\xaa\x14'\x00\xee\x03\xa6\xaa8\x01p!0U\xc5\x09\x80\x0b\x81\xa9*\xc5\x09\x80\xfb\x80\xa9*\xc6V\xb8\x10\x98\xaabl\x85\x0b\x81\xa9*\xed\xdb\xd8\x0a\x10\xb8.[\x03\xac\xaa\x07\xdf\xeb>\xf8\xdbN\xf9\xf5_\xbf\x8fy:\xb1\xd8\x8a\xe6\x0c\xe2\xd9G?\xf1\x10\xdfu\xabRA\xbdW\xde\xb5\xa5\x8a\x10\x92u*\xdc\xba#\xaf\x07i\x8exXm\xe4~\x7f=\xd6&E\xdcl\x8d\xf0N\x0e4`\xaa\xca\x06\xd4_L\xbe\xb1\x96}=\xc2\xbe\xae\xbd\xfe\xf3\xe8\x02=\xb6\xa2\xe7\x9c\x88\x8e\xb7\xc9\x8e\x07\xb4c\xd4\x84\x04\xd3$J4y\xeb\xa9\xb3\x81\xc0\xba\xf0\xdd\x06)\xfd\x20;\xfaV\xac\x0a]\x9f\x8c-\x09\x9c\xd7\x1f\x9a\xd6\xa6\x18f\x11'[#\xbc\x93\xc9\x91\xe2>\xd8\x08LU\xad\x88\xc4VX\xe4D\xb4\x93[\x94\xd6\x0e\x89\xa8\xd4#w<\x95\x9e\xf0\xfd\x01\xf7GT\xa5=\x8f\xdf\xfc\x96j\x11\xccjS\x0d\xb30\xcd\xd6Pw2\x09R\xdd\x07\xfb\x18\x98\xaaFb+,r\"\xb8\xaa\xcd\x99-=\xd6Dh!\x87H\xb8VU\xb5g\x8c\xaa\x9a\x91j\x98\x85i\xb6\x86\xba\x93I\x90\xea>\xd8\xc7\x80T5\x1c[a\xc8\x89\xd0c+\x9e!\x99\x0d\xd5\x85\x83\xcb\xf9\\\x93\xa9\xda\x9e\xbbB\xae\xa5\x04I\xe8\x8bj-\xa5uCiamh\x1baU\xaf\xfb\x08\xf1\x88\xdb\xa47\xb2-\xd5\xd1:\"\x82\xab\x94\xce\"\xaaFj\x95\x0c\x0c\xf30\x0bC\x8a\x86\xdez$\x93\x90\xa5\xa7*\x87\xfb\xca\xe4-\xb5L\xb25\xd4\x9d\x8c\x04u\xa8\x99\x1d&\xaf\xcd\xf8\x1f\xca\xa1\x0cHU\xc3\xb1\x15\x86\x9c\x08=\xb6\x82\x07T\x0c[\xb1bX\xd61\xae\xea\xa5\x92A\xf7\xe4ZJ\x90\x84\xbe\xa8\xd62\xe9f\xd1\xd9a\xef\xf4Q\xf5P\x20\xe0\x15w\x1e\xbe\xb53g\xd9%z\xa96w\xe7-Cg\xca\xa8\xaa\xd7*\x19\x18\xe6a\x16\x86\x14\x0d\xbd\xb5\xa3q\xeb\xb0\xd1\x83\x8a\x16Tf|-z\x89\xcd\xd6PwR\x09\xeaP\x16\xcd^\x9ba\x1f\x9c\xca\x80TU\x89\xad\x88\xa4GDb+\xa86\xfc&\x1b\xe2\x8a&rU\x9f\x1eU\xb0N\x14(A\x12j\xa6D\xa4\x96\x06\xb3\xebi}vh\xb2\xa9N\x00|\xa1\x9bd\xcf\xe3\xf3\xbd\xca\x9f\x19;\x8b\x9a\x00\x84j\x95\x0c\x8c8a\x16\x91\x14\x0dcH\x06\xf1\xdf\xa4\xc1\x9b\xb2>6[C\xd9I\xe5\x15+\x8bq^\x1bN\x00\xfa\x07=\xb6B\xf9\x0d(\xb1\x15T\x1et\xad#W\x99\xaa\xbe\xe3\x9b\x87\x88_\xbc\x12$\xa1fJDj\xe9\x11\xb2\xbbc79\"\xfb0S\xb5\x85\xbd\x1fwd\xb5\x18;3WU\xc9\xc0\x88\x13f\x11I\xd10\x86dh_G:\x8b\xcd\xd6PvRy\xc5\xcab\x9c\xd7\x86\xaa\xf6\x0f\xfb\"\x1a\xe9\xbf\x01%\xb6B\xdeJ\x9d\x06\xc8!\xa6\xeaV\xdaU,R\xfc\x94\x20\x095S\"RK\x1bDc\xe8\x04\x91\x99\xaa]\xf9M\xb4)?h\xec\xcc\\U%\x03#N\x98E\xe4~\xef\xc6\x90\x0cu>i\x92\xad\x11\xd9I\xe5\x15+\x8bq^\x1b\xaa\xda?Db+\"9\x11Jl\x05\xd5\xe6\xf3\xef\x1b\xc9My\xb2\xaa\xd9\xcbOV)A\x12j\xa6D\xa4\x96\xce\x1a\xb7\x7f\xff\xfeq\xb3d\x1ff\xaa\xd2\x9a\x0aZ!\xb2+\xd4\x1e\xa4\xaa\xb7\x96]Uk\x95\x0c\x8c8a\x16\x11U\x8d!\x19\xb3h\x84\xd8l\x0de'\x95W\xac,\xc6ym\x91}p,\x03RU%\xb6B\xcf\x89Pb+\xa8\x96\xcf~\xc3wF\xf8C\xe7U\x83\x93x\x82\x95\x12$\xa1fJDji\xe1B\xf6mA\xa1\xec\xd8T\xd5=\xde\x0b^q\xa0\xa3\xf6\x20U=Lv\xaa\xb5J\x06F\x9c0\x8b\x88\xaa\x86\x88\x0bu\xf43\xc9\xd6PvRy\xc5\xcab\x9c\xd7\x16\xd9\x07\xc720U\x8d\xc4VDr\"\x94\xd8\x0a\x8d\x8ck\xdc<:\xf7$\xedh\xe2\x9fV\xd1\xb73\xb6\xdf3\x04I(\x8b\x91\xdaf\xb2\xe4\x0e\xbd\xf3+\xd2|\x8f\x9e\xe7\x9fV\xd5\x07\x02l\x10z\xf0\x09;\xaa\xaf\x0a\xec\x14\xf3\xdd`aY\xa1\xfc#\xd1{\xe8\xda3\xb6\x84\x1d[\x076\x90\x80Z\xabf`\x98\x85Y\x18R4\x94\xce\xc4\x91zx&\x1e\x9b\xad\xa1\xee\xa4\xfa\x8a\x95E\xb3\xd7f\xd8\x07\xa720U\x8d\xc4V(9\x11\x91\xd8\x0am\xe1\xdc\x9c\xc2\xca\x0b|\x88\xe1\xd7\x00\xd0i$\x83\x0f\x91J\x90DdQ\xaf\xdd\x91\xc1O\x986\x11\x92\xb1\x83\xce\x09M\xf8\xd8\x11\xff\x01\x8f\\\x94\xd1\x16\xf5Z}h\x0f\xc2=\x1c\x0d=O|'\xd4ZC\x06\x86I\x98\x851E#\xdczDv\x10\x1aKM\xb25\xd4\x9dT_\xb1\xbah\xf2\xda\x8c\xfb\xe0P\x06\xa8\xaa=\xc7VD\xa6\xb2\xd6$Sk/\xbd\xcf\xd6p\xeek3c\x80\xaa\xdaslE2\xbf\xa2djm%\x0d\xd9\x1a\x8e}m\xa6\x0cTU{$\x99_Q2\xb5\xd0\x80\xf5\xda\\\xa8\xea7\xe2\x88\xc5\xaaJ\x92L-4\xa0\xbd6\x17\xaa*\x8eX\xdaiB$S\x0b\x0dh\xaf\xcd\x85\xaa\"0AU\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\x02\xaa\x8a\x00\x01UE\x80\x80\xaa\"@@U\x11\x20\xa0\xaa\x08\x10PU\x04\x08\xa8*\x02\x04T\x15\x01\xc2\xff\x07mu\xa3\x1c\xa2\xebff\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/ipcg-pkg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xf0\x00\x00\x03\xc6\x08\x03\x00\x00\x00\xb2,^L\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x02\x04\x00\x09\x0b\x07\x0d\x0f\x0c\x10\x12\x0f\x13\x15\x12\x1b\x1d\x1a\x20!\x1f!#!$%#&(&+-*/1.2416859:8<=;>@=AB@DFCFHEJKIOQNQSPTVSWYV,`\xae7]\xad8^\xae[]Z8a\xaa:b\xab;b\xac_`^<c\xad=d\xae?e\xaf@g\xb1Bh\xb3egdDi\xb4Ck\xafFk\xb6Lj\xafhjgNk\xb1Fn\xb2Ho\xb4Pm\xb2kmjIp\xb5Kr\xb6nomMs\xb8Nt\xb9Ou\xbaPv\xbbrtqXv\xb6Yx\xb8vwuZy\xb9[z\xbaxyw]{\xbbV~\xbd_}\xbeY\x80\xbf`\x81\xbbb\x80\xc0[\x82\xc1~\x80}b\x83\xbdc\x84\xbe\x81\x83\x80e\x85\xc0g\x87\xc2\x84\x86\x83\x85\x87\x84i\x89\xc3\x86\x88\x85j\x8a\xc5\x87\x89\x86\x88\x8a\x87q\x8c\xc1\x89\x8b\x88s\x8e\xc3\x8b\x8d\x8at\x8f\xc4v\x90\xc5\x8d\x8f\x8cw\x91\xc7\x8f\x91\x8eq\x94\xc9y\x93\xc9\x91\x93\x90z\x94\xca\x80\x94\xc5\x81\x95\xc6\x93\x95\x92{\x98\xc7\x82\x96\xc7\x83\x98\xc9\x96\x98\x95\x7f\x9c\xcb\x86\x9a\xcb\x98\x9a\x97\x80\x9d\xcd\x88\x9d\xce\x82\x9f\xcf\x9c\x9e\x9a\x88\xa0\xcb\x84\xa1\xd1\x9e\xa0\x9d\x8a\xa2\xcc\x8b\xa3\xce\xa1\xa3\xa0\x8d\xa5\xcf\x8e\xa6\xd1\x8f\xa7\xd2\xa4\xa6\xa3\x90\xa8\xd3\x91\xa9\xd4\xa7\xa9\xa5\x92\xab\xd5\x94\xac\xd6\xa9\xab\xa8\x98\xac\xd1\xaa\xac\xa9\x9a\xad\xd3\x9b\xaf\xd4\xad\xaf\xab\xae\xb0\xad\x9d\xb1\xd6\x98\xb4\xd8\xb0\xb2\xaf\x9f\xb3\xd8\xa1\xb4\xda\xb2\xb4\xb1\xb3\xb5\xb2\xa2\xb6\xdc\xa3\xb7\xdd\x9d\xb9\xdd\xb5\xb7\xb4\xa9\xb8\xd9\xb6\xb8\xb5\xa3\xbb\xd9\xab\xba\xda\xb8\xba\xb7\xac\xbb\xdb\xa6\xbd\xdc\xb9\xbb\xb8\xad\xbc\xdc\xae\xbd\xdd\xaf\xbe\xdf\xa9\xc1\xdf\xbd\xbf\xbb\xb0\xc0\xe0\xab\xc2\xe1\xb2\xc1\xe2\xbf\xc1\xbe\xad\xc4\xe3\xb7\xc2\xdd\xc1\xc3\xbf\xb2\xc5\xde\xc2\xc4\xc1\xb9\xc4\xdf\xc3\xc5\xc2\xba\xc5\xe0\xb4\xc7\xe0\xbb\xc7\xe2\xb6\xc9\xe3\xbc\xc8\xe3\xc6\xc9\xc5\xbf\xca\xe5\xb9\xcd\xe6\xc9\xcc\xc8\xc1\xcc\xe7\xc2\xcd\xe9\xbc\xcf\xe9\xbf\xcf\xe2\xcd\xcf\xcc\xc7\xcf\xe4\xc8\xd0\xe6\xc2\xd2\xe6\xca\xd1\xe7\xcb\xd3\xe9\xc6\xd5\xe9\xd2\xd4\xd1\xce\xd6\xeb\xc9\xd9\xed\xd5\xd8\xd4\xd0\xd8\xed\xcb\xdb\xee\xd4\xd9\xe9\xd8\xda\xd6\xcc\xdc\xf0\xd6\xda\xea\xd7\xdb\xeb\xda\xdc\xd9\xd1\xdd\xeb\xd8\xdc\xec\xd9\xdd\xed\xdc\xdf\xdb\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xdd\xe1\xf1\xe0\xe2\xdf\xd7\xe3\xf1\xd9\xe5\xf4\xdf\xe4\xf4\xe3\xe5\xe2\xde\xe6\xef\xe5\xe7\xe4\xdc\xe8\xf6\xdd\xe9\xf7\xe6\xe7\xf1\xe0\xe9\xf1\xe7\xe9\xe6\xe8\xea\xe7\xe2\xeb\xf3\xe9\xeb\xe8\xe3\xec\xf4\xeb\xed\xea\xe5\xee\xf6\xec\xed\xf7\xe7\xef\xf8\xed\xef\xeb\xe8\xf0\xf9\xee\xf0\xed\xf0\xf0\xfb\xf0\xf2\xef\xee\xf3\xf6\xf1\xf3\xf0\xf4\xf2\xf6\xf2\xf4\xf1\xef\xf5\xf7\xf0\xf6\xf8\xf4\xf6\xf3\xf2\xf7\xf9\xf3\xf8\xfb\xf6\xf8\xf4\xf7\xf9\xf6\xf5\xfa\xfd\xf8\xfa\xf7\xf6\xfb\xfe\xf9\xfb\xf8\xfa\xfc\xf9\xfd\xfb\xff\xf7\xfd\xff\xfb\xfd\xfa\xf8\xfe\xff\xf9\xff\xff\xfc\xff\xfb\xfe\xff\xfc\x9fIc\x17\x00\x00\x20\x00IDATx^\xed\xbd\x0blT\xe7\x9d\xff\x9dn\xbb\x7f\x92\xf4\xbe\xffM[\x1e\x07\x9d\xe0\x91c\xaf\x16\xd9k\xd5\xb0uJ\x9b8\xf0&\xc2\x80\x18\xe3\x80l(\xb7\xd6\x8aX\x87\xb0\x15\x97\x10\x93FXd^BH\xdf\x84\x05\x8aCK\x92%\x1b\xe3\xd5\xca.V\xc1ZHF@P$\xccE\xa4)I\x1b\xc0\x09!\\\x82\x13\x0866c\xec\x91~z\xcfs\xce\\\xce\xcc\x9c\xb9\xd9\x9e\xe7\xfc\xec\xf9~\x82f\x9e9\xf3\x9ccW\xfd\xcc\xf1\xf7\x9c\x999\xdf;\x08\x80,\xe2\x8ed\x13\x00\x18M@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U@x\x90U$\x12\xbe\x03\x80\xd1\x06\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07Y\x05\x84\x07YEj\xc2\xe7\x0a!\xfe\xdfx\x9b\xf8\xf3\x9f\xe2=\x93\x16%\xfa\xcf\xf8\xafd\x93\"\x08\xae\x91\xfe\x9aI\x90\x1b\xfc\xefd\x93\xc0\x88d\xc8\xc2\x9f\xd98\xe1i\xfbg\xd2$}m!<H\x9b\xa1\x0a\xff\xa72!\x20<\x181\x0cU\xf89\x02\xc2\x83\x11\x04\x84\xb7\x01\xc2\x8f^\x20\xbc\x0dq\x84?\xfa\xefQ\xe0E1\xf2HO\xf8B!r;\xfeZ\xffP^\xee\x03\xab\xfe\xac?\xae\x15\x01^\x95\xb3\x8e\xfe\xfb\x03\xae\xf1\xc5U\x01\xf7\xfe\xaa/\xfeYG}\xb1V0\xe7L\xcc\x8a:g\xfe\xc3]8>\xc75\xf1\x17\x7f4\x1f\xc7j\xfb\xd7\x17\xdd\x05Zn\xc9/\xfe\xa7#\xf1\x1a\xb1k\x1e\xae-\x19\x9f_\xfej\xc73\xfa3\x9e\xa8_%f3\x9a\x10\x85\x1dG\x97M\xd4\xd7\xf8}x\xc3\xff\xfd7\xcfC\xae\xdc\xc9O\xbfo\xd9\xec\x83\"\x02\xedp\x07\x18i\xa4/\xfc\xe1\x7f5\xff\xef.>\x1c%\xfc+\xae\xc0\x03\xb7\xa1\xb4a\xd9*\xf9\xb8<v\xc5\x8e\x8e??\x1c\x12g\x85\xf13b\xb4}\xeb_\x83\x13~\xf5\xb7\x84k\xc4\xac\xf9jn`\xbd:\x11\x16>\xf8\xab\xc4lF\x0a\xff?\xf9\xe6\x92\xaa\xbf\x067\xbc\xad\xcc\\2\xe9\x84e\xbb\"\x82E\x1d`\xc4\x91\xb6\xf0Zq\xf0\xffow\xa4\xf0\xaf\x8e\x0d\x99\xf0\xa8\xbe\x1f5,\xcb3\x96=\x1f\xbbbGG\x95\x08\xf3\x9frA\xb4\xb6\x87\xf3\xc3\x13j\x13\xae\x11\xbd\xe6\x1f\xb5\xe0\xb4\x09\"$|\xe8W\x89\xd9\x8c>;//\xb8dAp\xc3\xc1W\xaf\x98g\xd9\xf2\xcf,\xebb\x07?\"I[x}w\xe8\xf9\xe3\x169\x18\xf7\xe7\x8e\xb7^\x9d\xaa\x0f~\xf1\xea\xab':\xfe,\xfd|h\xdb\x1f\x7f#\xdd\xd1%3,\xd3'=T\x92s\"v\xc5\x8e\xff\x95\xf7\xab\xff\xf8\xa7\x8dr\xb5_\xc9\x9f\x11\xad\xedt\xfd\xf1\xf8e\xafnyT\xbf\xcfy+\xd1\x1a\xd1k>\x20\xd7\\\xf5\xc7\xff2\xd5\xf6D\xfe*\xb1\x9b1^\x1e\xf9O\xbf\xea1^\x91\xc1\x0d\x8a\xe2\x8d\x7f\xfa\xddD\xb9%K\xa8\x89\xd8\xc5\xff\xa2\x03\x8c<\xd2\x17>O\xee\xd8\xfe(\xff\x1f\x97\xef\xb0\x86\x0eZ\xeb\xf5\xc1\x032\x10\xfcQ\xdf\x95N\xec\x08X\x96\xab\xcf\xd9k\xb7\xe2\x9f~55\xcfH\x14\x1ea\x04\x8d\x18m\xdf\x0a\xda\xf7\xb7\x87\xf4\xc1\xb2DkD\xad\xf9?rM#\x8d\xd7\xc8\x91'\xf2W\x89\xdd\x8c\x16\xfc\xddNH\xe3\xdd\x81\x0d\xe6\x1d\x0d\xfe\x12\xd67\x92-\xbbx\xec\xe0G$\xe9\x0b\xff\xef\xc6\x92\xbc\x80d!\xe1\xcb\x85\x11\x18t\xa4\xa0o\x05,\xfbU`\x03\xb1+\xea\xc8\xe0\xd3\xf1\xbc\xfe\xb8L\x0e\xa2\xb4\x95\xc7\x9b\x0f\x19\xa3\xffz\xea\xf7A\xb7\xec\xd7\x88Zs\xb5\xfep\xb21\xfa\xf3x\x11\x16>\xf8\xab\xc4lF\x0a\xff\x94\xb1|\xa3>r\x9d17h\xa4\xa8\x8e\x09\x91\x9b\xee\xf8\xbd\x08\x81\x04?\"I_\xf8\xff0\x96H'\xe4\x91jHx)re\xadD\xe6\x80\xdf\x05,\xfb]`\x03\xb1+\xea\xbc\xff\xdf\xf5s\xfeI\xcez(\xf8\x84\xc5\xad\xaa\x90t\x16\xec\xd7\x88Z\xb32\xbc\xa6<>\xf5D\xfd*1\x9b\x91\xc2\x9b'l\x0e\xcbe\x87\xcd\x0d\x9a\xbf\xed\xc4\xf0ok2Y\x04\x18\x87\x1d\xfc\x88$}\xe1M\xb5\xfeUD\x0a\xff7\x11A}\xc0\xb2\xc0\x99?\x9b\x15;~W\x1e:\xb6|X>\x8e\xd2V\xfe\xc5X\xd5\x11A\xbc5l\xd6\x0c\xbc5\xe0\x16a\xe1\x83\xbfJ\xccf\xe4#\xd3^\xe3\x7f\xc4\x9f\xac/\xca\x07D\x94\xf0\xbf\x0f\xae\xfa\x8b\x0e0\x12I_x\xf3\xdd\x96\xa0\x09A\xe1\xff*\"x:\xb0\xe4\xad\xc0\x06bV<Si\xcc+\xf9\x85<\xd1\x13O\xf8\x7f\xef\xb0\x10\x7f\x8d\xa85\xe5Q\xeejsh\x15\xfe\xadx\x9b\xd1BO\x1a\xf3\xf6\x9a\x1b\x8c\xfc\x9f\x19&\xb0\x8b\x1f\xf7V\x07\x18\x89\x0c\x97\xf0\xc6\x94\x88w\x1e\x0d{\x82\x7f\xf7cV\x94\xc7\xb8\xf9\x1bOtt\xfc\xa7>\xf8\x7f\xe4\x13Q\xda\xce\x13\xc1\xbd\xe8\xfbo\x19\xa7\xe1\xe3\xafa\x13i\x02\x81]\x1ecz\"\x7f\x95\xd8\xcdH\xe1\x8d\xf3\x93\x11\x91&\x9e\xf0\xbf\x17\x06\x0b:\xc0\x88d8\x847\x8e\xf8\xe4\xa1j\xbd\xf1\xd4\x7f\x9bj%\x16^\xaah\xc4\xe4\xff\xd0\x07\x8f\xca\x81\xcdAk\xa1qt\xf9[1\xfe\x81\xdaDkD\xad\xb9J\x7fXl\xacyX\x9e{\x8f\x12>v3Rx\xf3\x05\xf2\xa2>\xca\xefH,\xbc\xb9\x8b\xc7\x0e~\xa42T\xe1\xe7\x89@\xf2\x90\xe7F\xfeI\xbe\xc5\xfaG!\\\x0f\x1f\x0dXv4\xb0\x81\x98\x15\xf3\x83&UF\xeb\x1b\xe0-\xb9\xfao\xf4\xc1_'\x9bB\xc6_#jM\xe3\xcc\xe73\xfa\xe0}\x19\x8bB\xc2\x07~\x95\xd8\xcdH\xe15\x99\xf0\xff,7T\xd5\x91D\xf8W\xe4\xc6~\xd1\x01F&C\x15\xfeW\xfa}\xde\xaa_\xfdw\xc7Q9g\xf2\x7f\x1e\xfe}a@\xa4\xc4\xc2\xcb\xbb\x7f}\xab\xe3\xf0/\xe4,\xbb\xb34\xc6\x1bO\xc2\xedyZ\xce\x14\xff\x9bh\x8d\xe85\x8d\x8f\xbc\xcc\xd9Xo~4!J\xf8\xd8\xcd\x18\x87\xb0\xe3\x97m\xab\x97\xdb1\x8em\x13\x0a\x7f\xe6\x01\xf3\x8d00\"\x19\xaa\xf0\x1e\x11\xb4j\xa3\x08\xe1\x92>$\x16\xfe\x19c\xe2xs~\xb1|\"Z[\xebG\x0b\x96u$Z#z\xcd?\x05&\x89q\x05\"F\xf8\xd8\xcdH\xe1s\x83?\xe9W\xc1\x0d\xc7\x15^\xa6\xf8_t\x80\x11\xcaP\x85?a~\x0aE\x1a\xe9\x09ZS`\x9c\x01L,\xfc_\xa7\x9bssV\xffk`Z\xb4\xb6\x1doM\x0alO\xd4\x1a\x9f\xcd\x89\xbbF\xcc\x9a\xaf\x98\xbf\x89\xf6[\xb9\xca\xf3\x91\xbfJ\xecf\xa4\xf0\xaf\x96\x98K\x17\x19\xc7\xc7\x89\x85?\xf3\x00v\xf0#\x97\xa1\x0a\xdf\xf1VU\xbe\xf6O\xe5\xc6\xf0\xf0\x8a\x9f\xe5\x8f\xcb{\xe8i\xf3\xf3\xbf\x89\x85\xef8\xe3y\xc8\xa5\x15\xff\xea-\xe3\x03hu\x1d6\xdav\xfcu\xe3\xf4\x7f\xd2r'\xfe*\xf0\xde~\xdc5b\xd7|\xebW\xc5\xda?\xcd\xfb_#\x16\xfd\x7fQ\xbfJ\xccf\x8c\xd3\x92\x7f\xfe\xf7\x12-\x7fz\xc0\xed\xc4\xc2w\xfc\xce\xfay20\xb2HM\xf8\x11\xc5\xdf\xfe\x16\x1a\xcawZ\xff3\xc1T\x83\xf0y\xf8\x149s\xb4\x03\x8cTF\xa1\xf0\x7f\xcc)x\xa8r\x9b\x1c\xfdY\xe6\xad\xa4\x1f\x01H[x0\x82\x19\x85\xc2\x9f\xc8\x11\xf2\xbd\xa5?\xfd\xe9?\xe4{\x03\x0f$\x9b\x0e\xe1\xb3\x8aQ(\xbc\xf1\xde@\x88\xdf'\x9b\x0d\xe1\xb3\x8a\xd1(\xfc\x9f\xcbC\xba\x8f\xfbM\xb2\xc9\x10>\xbb\x18\x8d\xc2wt\xbc\xfa\x8b\x07\xf24-\xff\xa1e\xa9\x88\x0c\xe1\xb3\x89\xd1)<\x00q\x80\xf0\x20\xab\x80\xf0\x20\xab\x80\xf0\x20\xab\x80\xf0\x20\xabH$<\x00\xa3\x0e\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a\x08\x0f\xb2\x0a5\xc2_\xbe\xfcygw\xe4\xa2\xee\xce\xcb_}9`?\x1d\x80L\xa1F\xf80\x07\xb7w\x124\x07\x8e\xa1T\xf8>\xa2Ms?\x96w\x008\x83R\xe1I&\x19\xec\xdf\x81\x83(\x14\xbe\xaf\xcf\xd7\xd7w|\xcf\x97\xfa\xdd\x00\xac\x07\xce\xa0Px\x83\x97\x1e\xbb\x98l\x0a\x00\x99C\xb5\xf0\x03\x9d\xc9f\x00\x90A\x14\x09\xafG\x98\xd3{\xfe\xb0}\xeb\xe67\x9b\xb7o\xdd\xba\xbdy\xdf\xcddk\x00\x90\x09\x14\x09\xdfG\xb4}\xfe\xac\x99\xd3fL\x93\xcc\x9c_q\x11\xe7j\x80\x13\xa8\x13~\xc3\xb4\x83\xa7\xdf;\xfd\x9e\xce\xe9\xd3k\xa6\x9d\x83\xf0\xc0\x09\x14\x0a?\xbb7\xf4pk\xc59\xf2\x11\x9c\x07\xcaQ(\xfc\xcc\xb3\xa1G\x1bf\x9eK4\x1b\x80L\xa1P\xf8\x19!\xe1i}X~\x00T\xa2N\xf8\xf5s\xbb\xf7\xfc\xf8\xc7?\xd1\xff\xab\xe8{}\xe6\xe7G\xb6\xfb\x8eoU\xf1\xb9\x9a\x9f\x8e\x193\xe6\xee\xe3\xc9f\x81,A\x9d\xf0\xeb\xaai\xcd\xd7\xbe\xf6w\xfa\x7f\xdf\xf25\xcf\xe8~cn\xf7\xeeY6\x87\xae\x9d\x09\xc2\xce\xee\xb7\xe3?\x17\x97\x0f\x9b\x9bW\x8e\xd9c\x0c\xcf\xe1M\x80\xacG\x9d\xf0\x1bf_\xbe\xd8\xbcg\xdf\x9e}\xcd\x07i\xf3\x8c\x8b\x9d\xa7\x07:?\xf4E\xcf\x1bX\xfb\xcd\xfb\xec\xd67\xf9\xc1\x8f\xe3?\x97\x88}\x01\xe1\xef\xfb\xe6\xda\xcc\xffE\x01\xacQ'\xfc\x0b3N\x07\x1f\x0d\xc4\xcb\xf0\x07\x7f0\xe6\xfe\x0fm\x9f1\xb8\xe7_\xe2?\x97\x88\xa0\xf0g\xef\x1f\xf3\x83\x83\x89\xa7\x82Q\x8e:\xe17\xcc\xbah&v\xfdf\xd3\x8cs\xd4\x1bsZ\xb2s\xc6\x9d\xdf\xddn\x0e\xd7\xfd\xf0\xee\x7f\x98\xd1Mt\xe4\xce1c\xee\xa7\xef\x8d\x19\xf3\xcd\xde\xadcL\xee\x89\x98pP\x9f0\xf7\xf8O\xbew\xf7}\xbeG\xc6\xdc\xb9v\xda?\xdc}\x9f|\xc5t\xfe\xcbw\xee\xfa\xee\xfd\x07\x03\x1b\x0e\x0aO\xb4\xfd\xbbwNC\xae\xc9f\x14\x0a?;\xfc\x9d\xa7\xcd\x156\xe9}\xf3w\xee\x9c\xfd\x959\xfc\xf9\x9d\x8fl_\xf9\xed{\xfa\xa8o\xcf\xc2;\xf7\xd0\xba;\xd7\x1d\xa4\xaf\x9a\x9b\xff\xe1G\xcd\xcd\xcd\xc7#&\xdc\xdc\xb0\xfe{\xff\xf0\xcd\xefM\xfb\xc9\x9d\xa7\x8f\xac\xbfs\xcc\xb7\x17>\xf9\xcd\x7f\xd6\x9f\xdf>\xe6\xe7\xbb7\xdc\x7f\xe7>ssa\xe1\xe9\xab\xd9w~{S\xf4O\x06\xd9\x83B\xe1\xab\xd7m~a\x93\xce\x0b\x9b6\xff\xf2\x91\xd8\xaf\x81<2\xe6\x9e\x83\x81\xe1\xf61\xcf\x92\xd4\xf49\xf9\xe0\xa7?\xbc\xf8\xbd\xc7\xcd\xe5\xa1H\x131\xe1\x9e1\xf7\xe9;m\xb9\xdf\xbe\xeb\x9b\xfa\xde\xfd'\xdf\xd6G\xdd\x1b\xbe\x94\xcf\xfc\xb39\xdd\"\xbc\xfe7\xe1\x9e1\xd3\x08d+\xea\x84o~\xfc\xb1\x8a\x19&\x15\x8f?\xf9y\x8c\xf0\xcf\xde\xf5\xadu\x81\xe1\x8f\xbf\xef\x93|\xf7\xa7\xf2\xc1\xcd{\xbe}\x7f`yH\xf8\x88\x09\xf7\xdc\x15<8\xb8K>\x9e\x7f\x97\x1c^\\s\xdf\xf7\xbf\x19\x88?\x91\xc2\xaf\xfb\xd6\xddk\x09d+\x8a\x84\xd7\xe9\xbex6\xc4\xc5\xcb6gK\x8e\xdf7\xe6\x87\x07\x8d\xd1=\x81\xb8n\xee\xa07\x8di\x0e\xcc\x08\x09\x1f1\xe1\x9e\x1f\x04\xb7p\xd7|\xfdf\xa1\x14~\xdf\xb7\xbf;\xeb\xa5\xe6{c\x85?\xf2\xc31\xf7\x87\x0e\x9eA\xf6\xa1N\xf8\x14x\xe9;w\xce\x92Q\xe4'\xdf\x7f\xdb\xc0\xf8\xae\xc8\xd9\xef\xcc\xfd\xdee\xf3yC\xf8gOGM\x08\x9f\xbb\xb9k!\x05\x84\xff\xbf?\x94\x07\x0c\xff\x12-\xbc\x9e\xe0\x83\x87\xc5\x20;Q(\xfc\xc0@_\x90\x818\x1f\x1b\xeb\x9cq\xe7w^'z}\xcc\x06\xf9h\xae\x8c\xee\xbe\x1fV\xd3\xcf\xef3\xe7\xdf{/\xd1\xc7\xf29\xeb\x04[\xe1\xbf+\x97\xf5\xdd\x13%\xfc\x9b\xdf\xbds\xd6W\x04\xb2\x19\x85\xc2\xa7\xc4\xc1\x1fIUg\xdf\xf9\xe3\x176\xfft\xccz\xba\xd9\xfc\xc8\xb7?\xa4\xf7\xbe9\xadY~\xd4r\xfe]On\xbe\xef\xee\xb3\xd6\x09\xbe=\xc6\xb9\x9b\xf7\xf4eg\x9b\xef\xfc\xe9\x1ez\xfb\xa7w6\x9f\xa5\x85c\xfee\xcd\xe3\xf7\x8c\xf9\xd6\xbf\xed\xd1\x177\xaf\x1c\xf3\xeb\xe6f\xfd\x0f\xc3\xbf\xfc\xe8`\xc2\x1f\x0eF?\xdc\x84\x0f\xf0\xfa\xbd\xdf\xfa\xe6\x8f\xfe\x20w\xe5c\xc6L\xa3G\xc6\x8c\xb9s\xb7\xbe\xb4\xf7\x91o\xdd\xfd\xa3}\x11\x13\xe4y\xf81\xf2\\\xbd<\xcd\xa3O;r\xb7~\xfb\x08\xf5\xfd\xfa\x1f\xee\xfa\xf6\x8f\x9f\xfd\xfe]\xf7\x1a\x9f\xa5\x91\x0c\xf2]Z0\xba`*<\x00\x99\x01\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x02\xc2\x83\xac\x82\x8b\xf0\xbe\xa8VK\x002\x02\x0b\xe1\x07\x88\x8e\xbc\xf1\xa5\x82\xcb\xee\x81\xac\x87\x85\xf0}D\x9b\xabQg\x09\x14\xc0BxB\xa4\x01\x8apV\xf8=\xbe\xce^\x9fQgy\xf0\xcdNy\xd7G}\xbd\xbd\xbeps\x02\x00\xc3\x8b\xb3\xc2\x1f!\xe3r\xaa\xb2\xa1{6Jp\x80\x02\x9c\x15>|\xf5\xe0\xces1W\x12\x06`\xf8qVxyb\xe6\xf8\xeeM\x1b\x9e[\xff\xec\xda\xf5\xcf\xad\xdf\xf0zs7\xce\xd5\x80L\xe2\xb0\xf0z\x8a\xd9\xbap\xf6c\xb3fU\xcf\x9f=k\xd6c\xd53Pg\x092\x8a\xf3\xc2o\x98v\xe4\xfc\xd9\xf37\xe9\xf2\xd9\xf3\xe7\x9fE\x9d%\xc8,\x0c\x84\xaf\x90\xad\xdc\xfbV\xca\x87[+\xce\x0d\xc4^7\x1e\x80a\xc3y\xe1_\x98)\x1b\x0c~t\xc7A\xfd\xd1s\xa8\xb3\x04\x99\xc5y\xe1\xcd\xfe\xd6\xfb\xef\x90\xb7\xa8\xb3\x04\x19\xc6y\xe1\xd7\xcf\xed\xde}\xdf\xbdw\x7f\xed\x07\xf7\xfd\xbc\xef\x8d\x19\x9d\x077\xf8\x8eo\x8e\x9a\xb5e\xfco\xe5\xddr\x91\xd3d\xb3\x0d\x00R\xc7y\xe1\xd7U\x0f\xac\xfd\xc6\xd7\xff\xee\x8eo|\xe3;\xb2\xcerwu\xf7\x9e_F\xcd*\xd3\xca\xe4\xdd\x05\xaf\xe6\xb1\xd9\x06\x00\xa9\xe3\xbc\xf0\x1b*.v\x1e?~\xef\xd7\xb7\x1f\x7f\x8f^\x9ay\xbe\xfb<u_\x8e\x9c\xd4\x95S\x93\xd3e\x8c\x20<\x18\"\xce\x0bo\xd6Y\xde+3\xfc\xc0\xfaYv\x19\xde+\x8e\x89\x03\xc6\x08\xc2\x83!\xe2\xbc\xf0\x1bf\xc9\x1d\xfa\xac\xefI\xed7\xcd\xb4;-\xe9)\xa6b\xd3tm\xc5\x13\xc5\xf9Ug\xe4\xd0[Y\xa2\x15\xcd)\xf1\x13\x00i\xc0@\xf8\x8a/C\x0fm\xeb,\xc9\xbd\x88\x16\xbb\x8d\x91&\xa645\x96\xb9N\x11\x1d\x1d\xbb\xb4e\xff\xce\"q;f6\x00\x09`\x20\xfc\xfc5\xeb\x9f]\xb7\xf5\xf5\xe7\x9e]\xb7~\xbeM\x9d%\xf9][\xe8e\x97\xb1+\xd7&\xf7\x10\xf5\x94\x96\x135\x14H\xd5\x1b\xf2\xb1\x87\x07i\xe1\xbc\xf0{\x9e\xac\x9e;{vEE\xc5\xec\xd9s\x9f\\\xd9\x19+\xfcIq\xa8\xe7\x908)\x87\xda3\xf2v\x87\xb8F\x9f\x15O\\\xb1\xf3\x84\xbf?z2\x00\x09qXx\x9d\xde\xce\xcb:_\xf5~\xae\xdfv\xdaU\x8em\x13\x92mrh\x1e\xb4\xea\x07\xb1D\xd7w,\x9e,\x8a6b\x0f\x0f\xd2\xc2y\xe1\xc9\xf8\x90\xf0\xe6\xc7;\xe3}0x\xd1\x94\xf6\xf6\xf6)\x8b\xe4P[%ow\x8a\x1b\xd4^\xa7\xab~\xbd1\xb7\xc1~\x1d\x00\xecq^\xf8\x01\x9f\xaf\xdb\xe7{|\xda\x11_w\x9f\xcf\xeecc\xc5\xab\xf5\x9bU\xc5r\xa8\x15\xdf\"\xea\x7fP?\x82\xf5\x886\xb9\xc0\xbd\xccf\x05\x00\xe2\xe2\xbc\xf0&\xdd\x9dq\xf6\xef=m\xa2\xbe\x8b\xba~#\xdan\xc9\xb34\x95\x87\xf7\x97\xe7\x7f$\x85w\xd5\xb7\xb6\xd4\x06\xce\xcf\x03\x90\",\x84\xf7\x11m\x7f\xf2,\xd9~\xc9o\xffX!\x9a\xa8E\x88\xb1\xfb\x89\x1e\xf4,\xce+\xae\xb9\xa4/\xde5\xddS\xa2\x15\xba\xe1;H\x0f\x16\xc2\xf7\x12\xe9\x91\x86p\xb1\x02\x90qX\x08O\x09\"\x0d\x00\xc3\x09\x0b\xe1q\xa9=\xa0\x0a\x16\xc2\xe3R{@\x15,\x84'\\j\x0f(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x08\x0f\xb2\x0a\x16\xc2#\xc3\x03U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\x84H\x03\x14\xe1\xac\xf0(5\x03\x8aqVx\x94\x9a\x01\xc58+<J\xcd\x80b\x9c\x15\x1e\xa5f@1\x0e\x0b\x8fR3\xa0\x16\xe7\x85G\xa9\x19P\x08\x03\xe1Qj\x06\xd4\xe1\xbc\xf0(5\x03\x0aq^x\x94\x9a\x01\x858/|\x92R\xb3F\xe3R\xaa\x13\xe6}\x12o\x13\x00\xa4\x81\xf3\xc2')5\xebj\x15\xbf\xf1zw\x95M\xf8\"\xeeF\x00H\x19\xe7\x85OVjvI4\xea\xb7WsQ\xef\x04\x86\x01\xe7\x85OVjf\x0aOeKb\x9e\x01\x20m\x9c\x17>Y\xa9\x99)\xfc\x95\xf1\xcf\x13\xddX\\\xac\x95T\x19]\x20\xd6R3\xff\xaer\xd7\x03\xab{b6\x0e@\x0c\x0c\x84ORjvI\xec\xec\xb9\xf1N\xd9\xcfn\x10\xb5\x8ae\x07\x9a\xaar\xda)\xb2\xd4\xac6g\xc5\xdem\x05SQ\x06\x02\x92\xc3@\xf8$\xa5f\x97\x8c\xd34\xa5\x17\xf4aOS\x97\xbe?/\x9bG\x11\xa5f\xadb\x97>l7\x93\x0f\x00\x09q^\xf8d\xa5f\x97D}{{\xdb\x13\x13\x8e\xea\xe3\xab\x0d\x95\x93\xf2\x84\xec\xa1\xb7\x94\x9a-\x99\xd4\x7f[\xa7\xb86v\xf3\x00D\xe1\xb0\xf0\x94\xbc\xd4,p\xd0\xba\xa4\xd4O\xed\x85%O\xb7x\xddRxK\xa9Y\x990\x99\x17\xbb.\x00Q8/<%)5\x0b\x08\xff\x9a\xb8J\x93\xcb\xe5\x91\xe9\")\xbc\xa5\xd4\xacf\xd21\x83\xab\xb6\xab\x03`\xc5y\xe1\x93\x95\x9a\x05\x84_\x9a\xe7\xa7\x12Y\xe5\xe7\x7fX\x0ao)5k\x13MrX\xbf1v]\x00\xa2p^x\x93\xb8\x0d\x20\xe6;\xad-5\xe2Ei\xf9\xe2\x86\xe7\xa7\x8a\xa2\x17\xdf\x8d(5\xab\x1b[\xd3\xa2\x0fw\xd9o\x00\x00\x0b,\x84OTjf~\x96F+\xdb\xa9G\x18\xff\x96R\xad`\xc9k\xa5\x9a;\xb2\xd4\xac\xcd=!\x7fz\x9b\xdd\xda\x00D\xc2Bx\x94\x9a\x01U\xb0\x10\x9ePj\x06\x14\xc1Bx\\j\x0f\xa8\x82\x85\xf0\xb8\xd4\x1eP\x05\x0b\xe1\x09\x97\xda\x03\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x02\xc2\x83\xac\x82\x85\xf0\xc8\xf0@\x15,\x84G\x86\x07\xaa`!<!\xd2\x00E8+<J\xcd\x80b\x9c\x15\x1e\xa5f@1\xce\x0a\x8fR3\xa0\x18g\x85G\xa9\x19P\x8c\xc3\xc2\xa3\xd4\x0c\xa8\xc5y\xe1Qj\x06\x14\xc2@x\x94\x9a\x01u8/<J\xcd\x80B\x9c\x17\x1e\xa5f@!\xce\x0b\x9f\xa4\xd4L\xe7T\xa5\xab\xb0\xe6@\xe1\x15\xaa\x15B\xb8\xce\xd8o\x09\x80Tp^\xf8$\xa5fDm\xaeGw6\x96\x09\xf1\x01]\xf0z\x1b\xc4;q6\x05@\x0a8/|\xb2R\xb3ky\xf3n\x11u\x95\xea\xc2\x93\xec=\x80\xf0`\x088/|\xb2R\xb3\xba\xdcK\xf2n\x8b0\xb2\x0c\x84\x07C\xc2y\xe1\x93\x95\x9a\x95>a\xdc]\xddrK\xde\x85\x84\x0f7\x99\x85\xab\xce\x96\x0bm\xe7\xaa\x07\\\x95\x17\x08\x00{\x18\x08\x9f\xb8\xd4\xecV\xce\x16\xeb\xc3\x90\xf0\xe1&\xb3p\xd5\xd9_\x1a\xc7\x89\x02\xcfo\xf3\x16\x10\x00\xf60\x10>q\xa9\xd9'\xa2\xc5\xfa0(\xbc\xa5\xc9\xccRuFZ\xbe\xbew\xaf)\x20\x00\xecq^\xf8$\xa5f\xfd\xe3l\xf7\xf0\xd6&\xb3p\xd5\x19iK\xf5\x1b\x8fF\x00\xd8\xe3\xb0\xf0\x94\xbc\xd4,\x90\xe1\xfb\xcd\xc2\x83\xa0\xf0\x96&3k\xd5\x99&\x0b\xea!<\x88\x8b\xf3\xc2S\x92R\xb3\xba\\\xa3\xad\xacI\\\x91wA\xe1-Mf\x96\xaa3\x08\x0f\x92\xe0\xbc\xf0\xc9J\xcd\xae\xe5-\xe8\xd73\xba{\xa2\xf1((\xbc\xa5\xc9\xccRu\x06\xe1A\x12\x9c\x17\xde$A\x03H\x9b\xab|WK\xe5\xb8CD\x9f\xc9wZ\xb7x\xbd\x9f\x92\xb5\xc9,\\uv\xc9\xab\xd5\xbe\xeb?Q\xaby/\xc5\xdb\x18\xc8rX\x08\x9f\xa8\xd4\x8c\x8c\xcf\xd2\x14\xcd{_\x1f,\x0d\x04\xf7%ri\xa8\xc9,\\u\xb6\\\xd6\x9f\xbd\xef\xd2o\x97\xc7\xd9\x14\xc8vX\x08\x8fR3\xa0\x0a\x16\xc2\x13J\xcd\x80\"X\x08\x8fK\xed\x01U\xb0\x10\x1e\x97\xda\x03\xaa`!<\xe1R{@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E@x\x90U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\xc8\xf0@\x15,\x84'D\x1a\xa0\x08g\x85G\xa9\x19P\x8c\xb3\xc2\xa3\xd4\x0c(\xc6Y\xe1Qj\x06\x14\xe3\xac\xf0(5\x03\x8aqXx\x94\x9a\x01\xb58/<J\xcd\x80B\x18\x08\x8fR3\xa0\x0e\xe7\x85G\xa9\x19P\x88\xf3\xc2\xa3\xd4\x0c(\xc4y\xe1\x93\x94\x9am\x91W^\x1a[\xba\xd3o>\xdc_\xd0j\xbb!\x00R\xc2y\xe1\x93\x94\x9a]\xdb(^\xf3\xee]\"\xea\xcd\x87\xad\xae\x88\xcb\xc5\x03\x90\x1e\xce\x0b\x9f\xac\xd4\xacM\x9c\"\xf2/7;\xcd\xf4\x91\xddf\x00H\x11\xe7\x85OVjf\x08O=y\xb8\\$\x18\x06\x9c\x17>Y\xa9\x99)<-/\"\xba\x9e+DN\xa3|tr\x9c\x10\xf5gj&\xe6V\xde\x8e\xdd(\x00qa\x20|\xe2R\xb3\xa0\xf0;D\x17Q\xbb\xd7;^^\x01\x9ez\x9a\x1aKJ\xf3JV\xd5\x8c\xfd\x94\x00H\x1d\x06\xc2'.5\x0b\x0a\xdf\x16\x08\xf1\xb9\x9e\xc0\xf2\xa9\xc2}\x83\xfc7\x08\x804p^\xf8$\xa5fA\xe1_\x13\xd7\x8c\x87a\xe15\xec\xdcA\xda8,<%/5\x0b\x08\xffT\x9e\xf90,\xfc\x94\xd8\xb9\x00$\xc1y\xe1)I\xa9\x99)|\x7f\xc1\x12\xf3aX\xf8E\xb6\xd3\x01H\x84\xf3\xc2'+53\x85\xaf\x13\xc7\xcc\x87a\xe1\x17\xc7\xce\x05\x20\x09\xce\x0bo\x12\xb7\x01\xc4x\xa7\xb5m\xa9\x90\x9e\xf7\xbf\xe3\xf5\x8e\xaf\xf5zo\xd0\xed\xc3\xde\xd2\xe9^\xef'\xf6\xeb\x00\x10\x0f\x16\xc2'*53>K#&\xee\x90\xe3\xa39f\xa9\xd9\x0e:i\x8e\xaa\xec\xd6\x00\x20>,\x84G\xa9\x19P\x05\x0b\xe1\x09\xa5f@\x11,\x84\xc7\xa5\xf6\x80*X\x08\x8fK\xed\x01U\xb0\x10\x9ep\xa9=\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"\x20<\xc8*X\x08\x8f\x0c\x0fT\xc1Bxdx\xa0\x0a\x16\xc2\x13\"\x0dP\x84\xb3\xc2\xa3\xd4\x0c(\xc6Y\xe1Qj\x06\x14\xe3\xac\xf0(5\x03\x8aqVx\x94\x9a\x01\xc58,<J\xcd\x80Z\x9c\x17\x1e\xa5f@!\x0c\x84G\xa9\x19P\x87\xf3\xc2\xa3\xd4\x0c(\xc4y\xe1Qj\x06\x14\xe2\xbc\xf0IJ\xcd\xda\xc6\x9a\x17_\x12\x05\xfdq\xb6Q\xab?\xe9:c\x8eO\xce\x99\x907\xfd@\xd9\xa18S#\xe6\xda5\xa4\xbd\x12(\\\x00\xa3\x15\xe7\x85ORj\xd6sH\xab\xf5\xea\xd4\x89+q\xb6q\xc1\xebm\x10\xef\x18\xc3cZU\xcb\xae\x05B4\xc5\x99j\x9dKv\x0di\xd7\xbd\xe5\x1e\x02\xa3\x18\xe7\x85OVjF\x9a\xa1\xe0.q\xd5v\x0b\x06\xed\x01\x89+\xdd~\"\x7fm|\xe1-s%6\x0diU\x10~T\xe3\xbc\xf0\xc9J\xcd\x02\xc2\x9fY\x95\xa0\xbf/(\xf1\xc4zy{R$\xaa\xb6\xb4\x0ao\x03\x84\x1f\xdd8/|\xb2R\xb3\x80\xf0:Mz\x00\xf7\x90G\xc8\xc8rcq\xb1VRu2\xf0LP\xe2%\x85\xf2\xd2\xda\xfe\xbd]\xd4\xaa\xcfz\xc6\x98\xdbX\xa4\xfd\xa6\xb8\xf8\xc0\x8a|wW\xc4\xdcpC\xdar\xa1\xed\\\xf5\x80\xab\xf2\x82|\xa0\x0b\xbfB_k\xbc\xfe\xf7\xc4[Y\xa2\x15\xcd)AQ\xe6h\x82\x81\xf0IJ\xcdH\xab\xef\xe9Y\xb2Z\x1fty\xf3\xea\xaf\xd0\x95\xfa|\xaf\x14z\xd9\x81\xa6\xaa\x9cvsJP\xe2OJr*=\x87\xe5\xd1m\xcf\xa1\x92ern\x9e\xb7\xeb@\x9eX\xe5\x16\x136\x16\xbd\x1c17\xdc\x90\xf6\x97\xc6q\xa2\xc0\xf3\xdb\xbc\x05\xf2\x81.\xfc\x85\x9a\x9c-\xfa\x86\x8f\x8e]\xda\xb2\x7fg\x91@O\xe0h\x82\x81\xf0IJ\xcdH\x0b_\x18\xbbV\xd6\x80\xd4<A\xb2\xc6O\xdf_\xfb\xcb\xe6\x99SB\x12_{\xfeQM\xe4\x1b\x11\xde#+q\x96\xd6\xea7\x855\xb4W\xb4\xd2\xd2e\x91s)\xdc\xae\xa0\xe5\xeb{\xf7\x9a\x029\xd4\x85\x7fY3N\xde4\x14H\xd5\x1b\xf2\xb1\x87\x1fM8/|\xb2R3\xd2\x96\xb5\xb7\x97\x99\xc2\x1f\xc8\xed\xa1\x1e\x97W\x0e\xaf6TN\xca\x13e\xe6\x14\xab\xc4\xb7\xf6W\x8a\xbd\xfa\xfd\x85\xb1\xef\xd3\xad\xbc\xfd\xfa\xa8\xb0\x91\xde\x15]\xf4tM\xcc\xdc\x90\xf0K\xf5\x1b\x8f&\x87U\x9eza\x9e\xac\xfc\xacx\xe2\x8a\x9d'\xfc\xf1\xce\x86\x82\x11\x89\xc3\xc2S\xf2R3#\xc3\xb7\xed7\x86\xb7'\xb4PK\x91\xdc\xe5\xb6\x17\x96<\xdd\xe2uG\x09\xdfn\xc4p\x7f\xb9\xf1\xf2\xa8\\Mm\xf9R\xd7\xc26j\xd7e\xaeK\x20\xbc\xbc\x0f\x08_\x987y\x81\xb9S\xbf\xbec\xf1dQ\xb4\x11{\xf8\xd1\x84\xf3\xc2S\x92R\xb3\xe0A\xebIyZr\xc5<Z\xb0B>\x9a\\\xde\xa3\xdf.\x8a\x12\xbe\xd0x\x8e\xeaK\xe5m\xeb\x84~#\xd1\xa4)|\xc1\xa9O\xf2\xb6\x18\x13\xebt\xd5\xaf7\xe66\x10\x18=8/|\xb2R\xb3\xa0\xf0\x85u\xfa\xcd\xe1\xf1\x97\xc6\x1f\x96\x8fJd\x87\x9f\xff\xe1(\xe1\x8b\x8ae\x99\xab\xdf,\xf8\xeb/j\xcd7\xfe0\xa4'\xbc\xfc{\xa2\xc9\x83a\x8fh\x93\x0b\xdc\xcb\x08\x8c\x1e\x9c\x17\xde$n\x03H\xf0\x9dVo\x9e<Q\xe3/\xae,6\"\x86G,nx~\xaa(z\xf1]\xfaL\xbe{\xba\xc5\xeb\xfdT\x17^\x14z\xdaZ\xdc\xb9\x1f\x19\xab\xd6M\xca\x97\x87\x9d\xa7\xf2_\xeei\xd4N\xf6\xd4\xb8/X\xe7\x86\x1b\xd2.y\xb5\xdaw\xfd'j5\xef\xa5\xeb\xde\xf2\xdaw\xfa\xbb\xaa\x0a\x0f\\\xd1\x7f\x84\xab\xbe\xb5\xa5V\x1c\xb0\xff\xc5\xc0\x88\x84\x85\xf0\x89J\xcd\xdaD\x10#gl\xd1\x8c;\xf2o)\xd5\x0a\x96\xbcV\xaa\xb9ii\xe0\xf9%D\x8f\xee\xac\xff\x99\xab`\x9e\xe9;}$\xe4\xce\xd9_$Dc\x9ep5\x091\xcf:7\xdc\x90\xb6\\\xbf\xd5\xdew\xe9\xb7\xcb_\xd1or\x8e6\xea\xb7\xf5\xb4k\xba\xa7D+t\xc3\xf7Q\x05\x0b\xe13Tj\xd6\xa5AV\x10\x05\x0b\xe1)3\xa5fM\x13\xf0\x9e\x11\x88\x82\x85\xf0\x99\xb8\xd4\x9e\xe7\x80\xdf]\x9fl\x12\xc8:X\x08\x9f\x81K\xed\xf5\x88)\xcb\x0b\xaf'\x9b\x05\xb2\x0e\x16\xc2S\x06.\xb5\xe7q\xb9?H6\x07d\x1f,\x84\xcfD\xa4\x01\xc0\x0e\x16\xc2g\x20\xd2\x00`\x0b\x0b\xe1)\x03\x91\x06\x00;X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x17\xe1\x01P\x02\x0b\xe1\xf5\xf0\xfe\xf6\xf6\xb8\x9f\x87\x07`\xf8`!<2<P\x05\x0b\xe1\x09\x19\x1e(\x82\x85\xf08-\x09T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a`!\xbc\x8c4o~5\xe0\xa3\x81>\xf9\x0f\xbbz\x901X\x08\x1f\x884\x00d\x1c\x16\xc2\x93\x8c4\xd8\xad\x03\x05\xb0\x10^\x8f4\x07w\xf7\x1d\xd9\xec;\xf2\x92\xfe\xaf\xf7\xf8v\xcbs\xc9K\xcd\x00H\x1d\x16\xc2\xcb\xe2\x9b\x857\xdf\xac\xee6\xff\xa5Vjv\xe0\x18\x01\x90.,\x84\xd7\xe9\xbdI_~\x1c\xf8\xd7}1\xe2\xa98\xa5f\x8f.!\x00\xd2\x85\x85\xf0\xc6\x1bO\x9d\xf1\x9e\x8dSj6u\xb1\xddd\x00\x12\xc2Bx\xe3,\xcd\xf9\x81^\xfb\xd3\x92\xa1R\xb3S\xe3\x84\xa8\xf2\x97\x08\x91\x7f\xab5\x10\xec\xa7\xc4n\x0c\x80\x04\xb0\x10\x9e\x12\xbe\xf1\x14*5\xf3\x1f\xf6\xe4\x1c\xa6]cw\x9d\xa0\xaeC\xde\xd2\xe9z\xb2\xc7\xb5\x96@z\xb0\x10>\xf1gi,\xa5f\xfe\xa5\xe5WK6\x9a\x8b\x11i\xc0\x20`!|\xe2\xcf\xd2XJ\xcd\xa8\xe7\xe1\xa2\xaa@\x96\x87\xf0`\x10\xb0\x10\x9e\x12G\x9ap\xa9\x19Q\x8b8\x14\x18Ax0\x08X\x08\x9f$\xd2XJ\xcd.\x14\xd6\x97|a.6\x84\xdf\xf9\xa9\xfd:\x00\xd8\xc3B\xf8$\x91&\\j\xd6_^O\xcb\xdcf\xa6q\xbb\x89\xae\x88&\xfbu\x00\xb0\x87\x85\xf0\x94\x20\xd2XJ\xcdz\x0e-/\xb8@\x1dy+\x0e\xdd\"Y\xba\xb7\xa5\xc5\xed\xfa,\xcej\x00\xd8\xc2B\xf8D\x91\xc6Rj&\x87\xabh\x85\x10cew\xd3\xad\x15\xf9\xb9\xd3\xdb\xedV\x01\x20.,\x84\xc77\x9e\x80*X\x08O\xf8\xc6\x13P\x04\x0b\xe1\xf1%n\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a\xe0\"<\x00J`!<J\xcd\x80*X\x08\x8f\x0c\x0fT\xc1BxB\x86\x07\x8a`!<NK\x02U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fR3\xa0\x0a\x16\xc2\xa3\xd4\x0c\xa8\x82\x85\xf0\x84R3\xa0\x08\x16\xc2'*5\xf3\x06K\xcd\xc6\x9f\x8c\xbb~\x98\x93s&\xe4M?Pv\x88\xa8V_\xc5u&\xfe\xcc\xe5\"\x07\x97\xe9\xcbBX\x08\x9f\xa8\xd4\xec\xd6\xa1\xc29\xf2J{\xbbD[\xdc\xf5C\x1c\xd3\xaaZv-\x10\xf2\x8a\x93\x17\xbc\xde\x06\xf1N\xfc\xa9\x17\xbc\xa1f\x11\x90E\xb0\x10\x9e\x12\x96\x9aM\\&o?JE\xf8Jy\xa1U\x7fm\xe0\x12\xab\xed\x89\x84\xb7T\xe9\x80,\x82\x85\xf0\x89K\xcdL\xe1\xfb\xb7\xdd\x887!\xcc\xc4zy{R\xb4\x18\x8f\x20<\x88\x81\x85\xf0\x89K\xcdL\xe1uN\x8e\x13\xa2\xfeL\xcd\xc4\xdc\xca\xdb\xfa~\xfc\x95)\xae\x87\x1b\xfct\xbbH\xfbMq\xf1\x81\x15\xf9\xee.\xa2%\x85\xa7\xf4y\xfe\xbd]\xc6\xfc\xa0\xf07\x16\x17k%U\xe6!\x80\xb7\xb2D+\x9aS\"\xaf\xb8\xad=\xb5\xea\x01W\xe5\x05\x02\xd9\x04\x0b\xe1)\xe1\x1bO\x13k{z^.\xd7\x07=M\x8d%\xa5y%\xabj\xc6~J\xb4T\xab\xdf[\xaf\xd5\x12\x1d\xc8\x13\xab\xdcb\xc2\xc6\xa2\x97\x89>)\xc9\xa9\xf4\x1c\x0eVv\x07\x85o\x15\xcb\x0e4U\xe5\xc8+\x0d\x1f\x1d\xbb\xb4e\xff\xce\"\xa1\xbfbH\x13\x93\x1b[\x8a\x16\xc4\xf9\xa9`t\xc2B\xf8\xc4\x9f\xa5\x99(\xcf\xd1\x14\x9a\xe3\xa9\xc2}\x83\xfc7\xe4U\xb4e\xa47n\x0bkh\xafh\xa5\xa5\xf2\x0f\xc1\xb5\xe7\x1f\xd5D~\xe0\xf4KP\xf8\x9e&}\x8f\xef/\x9b\xa7\x0f\x1b\x0a\xa4\xea\x0d\xf9\xc6\x1e\xbe\xf0\x0b\xa2\xda\x82\xd8\x1f\x08F1,\x84O\xfcY\x9a\x89U\xed\xedK\x83\xc2k\x9f\x9a\x83\xda2\xe3\xeeA}\x17_\xd8H\xef\x8a.z\xba\xc6|\xe6\xd6\xfeJ\xb1\xd7\x18\x852\xfc\xd5\x86\xcaIyB\xae\xf1Y\xf1\xc4\x15;O\xf8\x8d\xbf\x01\x9a|\x85x4\x02\xd9\x04\x0b\xe1)q\xa4\xd1\xc5<\xb5\xd3\x1cO\x0d6\x11\x97\x9b\xb5~Uz\xd4)l\xa3v]\xdb:]\xf8v#\x91\xfb\x03O\x06\x85o/,y\xba\xc5\xeb6^\"\xd7w,\x9e,\x8a6\x1a{xy\xd0\x0a\xe1\xb3\x0c\x16\xc2'\x894\xcb\xc2\xe3\xa9\x8b\x02\x83\xdaI\xd2Y\xff\xc4\xa5\x11\xc2\x17\xae0\x9e\xac/5\xee\x82\xc2O.\xef\xd1o\x17I\xe1\xdb\xeb\xf4\xd5\xae7\xe66\x10\x84\xcfNX\x08\x9f$\xd2X\x85_\x1c\x18\xec\x15\x8d\xfam\xa3\x0c/\x16\xe1\x8b\x8a\xaf\xe9K\xfd\x81\x97EP\xf8\x12\xf9\xd0\xff\xb0\x14\xdec\x9e\xcdw\xcbMB\xf8l\x84\x85\xf0\x94\x20\xd2\xdcz\xa7p\xce!\xf34\xe3\xed\xc3F\xdf\xfc'\xc6\x83\x9a\x9c\xba\xd6\xba\x1c]\xf2S\xf9/\xf74j'{j\xdc\x17\xa8H\x14z\xdaZ\xdc\xb9\x1f\xe9i]\xbe\xd3\xba\xc5\xeb\xfdTZ\xbe\xb8\xe1\xf9\xa9\xa2\xe8\xc5w\xf5\xa1\xab\xbe\xb5\xa5V\x1c\xa0K^\xad\xf6]\xff\x89Z\xcd{)\xceO\x06\xa3\x11\x16\xc2'\x8a4\xc6giv\x19\xc3\x939\xc2\xd2B\xbf\xad\xccU\xd6\xe0'\x7f\x91\x10\x8dy\xc2\xd5$\xc4<ztg\xfd\xcf\\\x05\xf3t\xdfii\xe0#8K\xf4\xa9[J\xb5\x82%\xaf\x95jn\xda5\xddS\xa2\x15\xba\x0f\xc8\xcf\xd2\x08\xa1\xbd\xef\xd2o\x97\xdb\xfdX0Ja!<\xbe\xf1\x04T\xc1Bx\xc27\x9e\x80\"X\x08\x8f/q\x03U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x04\x82U\x0b\x00\x00\x20\x00IDAT\x16\xc2\x13\"\x0dP\x04\x84\x07Y\x05\x0b\xe1\x91\xe1\x81*X\x08\x8f\x0c\x0fT\xc1BxB\xa4\x01\x8apV\xf8^=\xc6\x0c\xf8$\x07\xdf\xf8\xdc\xe7\xeb\xeb\x93;y$\x1b\x909\x9c\x15>\x80\xae\xf9\xa6\xd9\xe7\x10i@\xe6a!\xbcN\xe79_\xb2)\x00\x0c\x1d\x87\x85\xd7\xe3\xcb\xf1\xed\xeb\xd6\xae]\xa3\xb3v\xcd\xda\xad\xafw#\xd1\x80L\xe2\xb0\xf0\xf2\xfc\xcc\xc2\xb9\xd5sM\xaa\xab\xa7\x9dG\xb0\x01\x99\xc4y\xe17\xcc8\xfe\xe5\xe7_\xea\xe87\xebf\x20\xc9\x83\x8c\xc2@\xf8\x8a\xf0\x19\xc9\xcd\xb3\xce\xc9k\x08#\xce\x83L\xe1\xbc\xf0/\xcc\xf80\xf4h\xfd\xac\xb3\x89f\x030T\x9c\x17~\xc3\xcc\xb0\xe4\xcf\xcd\xb4\x13\xbe\xe5\xc1\xf1e-S[\xe3\xf46\xa1\xac\x09\xa4\x81\xf3\xc2\xaf\xaf\xee\xfd\xc3?\xfe\xe3=\xfa\x7f\xff\xec\xdb=\xa3\xf3\xed\xb5\xbdo\xaf\x8d\x98\xb3M\xd4\xb4<%\xc4\xb68\xbdM(k\x02i\xe0\xbc\xf0\xeb\xaa\xfb\xd6\xfd\xfd\xdf\xff\x1f\xfd\xbf\xef\xfb\x9agt7/\xbc\xd9\\m\x9d\xf2\xd1\xd8z\xfdv\x95\x14\x9e\xeckl\x20<H\x19\xe7\x85\xdf0\xeb\xfc\xcd\xb3\x1f\x9f\xff\xf8\xfc\xd9\xcb\xb4i\xe6\xc7\xbeN\xf2}e\x9dR[pK\xbf\xfd@4\x18\x8f\x20<\x18\x12\xce\x0b\xff\xc2\x8c\xd3\xa1Gv\x07\xad\xf9O\x1bw\xdb>1\xeeB\xc2\x07;\x9et\xb4\x15O\x14\xe7W%\xe8d\x05\x20\x88\xf3\xc2o\x98\x19\xee\xef{if\xcci\xc9\xeb\xe25\xeb\x0a!\xe1C\x1dO\xb2\xaciJSc\x99\xeb\x14\x01\x90\x0c\x06\xc2W|\x1ez\xf8\xd2\xac\x987\x9e\xde7\xae\xe8\xee\xef\xe9\xb9e<\x0c\x0ao\xe9x\"mr\x0fQOi9\x01\x90\x0c\xe7\x85\xdf\xb4\xf0\xc95+W\xfe\xfa\xd7+W\xae\\S\xfdH\xcc\xd7@\xcc=|\x8d\x10b\xbf|\x18\x14\xde\xd2\xf1D\xda3r\xb8C\\#\x00\x92\xe0\xb0\xf0\x03D\xfbV\xfer~u\xf5\xc2\xc7\xab\xab\xab\xe7\xaf\\\xdb\x19\xf3\xe1\xb1\x092\xc3_j\x11u\xc6.>(\xbc\xa5\xe3)p\xd0\xea\x15\xc7\x08\x80$8,\xbcN_o\xb7\x8eo@\xde\xf6\xf6\xc6>_[$Mo\x89:-i\xe9x\"m\x95\\\xb2S\xa4P\xd5\x0d\xb2\x1d\xe7\x85'c?\xff\xc2\xc2\xcf\xe3|0\xd88\x0f\xefwG\x09o\xe9x\"\xadX\x7fI\xf4?\xe8\xb6]\x1d\x00+\xce\x0b?\xd0\xd7\xd7\xed\xf3\xfd\xdb\xb4#\xben_\x9f\xddG%\xb7\x88'Zk\x8dwZ-\xbdM\xe1\x8e'y\x96\xa6\xf2\xf0\xfe\xf2\xfc\x8fl\xd6\x05\x20\x12\xe7\x857\xe9M\xf0%\xee\x96\xc9\xb9\xe5m%m\x11\xbdM\xa1\x8e'\x9d\x07=\x8b\xf3\x8ak\xd0M\x06R\x80\x85\xf0>\xa2M\x8f\x9f%|*\x18d\x1c\x16\xc2\xeb\x87\xaaz\xa4!\x9b#V\x00\x86\x17\x16\xc2S\xe2H\x03\xc0\xb0\xc1Bx\\j\x0f\xa8\x82\x85\xf0\xb8\xd4\x1eP\x05\x0b\xe1\x09\x97\xda\x03\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84O\x10i\xb0\xe7\x07\xc3\x0a\x0b\xe1)\x8e\xd8\xd8\xf3\x83\xe1\x86\x85\xf0\xf1\xc4\xc6\xc1,\x18nX\x08\x8fH\x03T\xc1Bx\x8a/\xf6\x91\xdd\x11\xd7\xdd\x03`h\xb0\x10>&\xd2\xec\xf1u\xf6\xfa\xfa\xfaz\xfb\xfa6T\x9c\x95w}\xd4\xd7\xdb\xeb\xc37D\xc0Pa!|L\xa49\x12\xfa\xba\x1f\xda\xfd\xc0\xb0\xc2Bx\x8a\x8e4\x90\x1cd\x08\x16\xc2\xc7\x9e\xa5\x91u\x96\xbb7mxn\xfd\xb3k\xd7?\xb7~\xc3\xeb\xcd\xa8\xb3\x04\xc3\x02\x0b\xe1c\xcf\xd2\xe8\xc3\xad\x0bg?6kV\xf5\xfc\xd9\xb3f=V=\xe3\"NN\x82\xe1\x80\x85\xf0\x14s\x96F^Ux\xda\x91\xf3g\xcf\xdf\xa4\xcbg\xcf\x9f\x7fv\x1a\xea,\xc1\xb0\xc0B\xf8\xd8Hc\\F\xfb&\xc9K\xad\xca\x87[+\xe4u\xe3\xe1<\x182,\x84\xb7\x8d4/\xcc\x94u\x96?\xba\xe3\xa0\xfe\xe8\xb9\x99\xe7\xe2\xad\x0b@:\xb0\x10\x9el#\x8dQay\xff\x1d\xf2v=\xea,\xc1\xf0\xc0Bx\xdbH\xb3~n\xf7\xee\xfb\xee\xbd\xfbk?\xb8\xef\xe7}o\xcc\xe8<\xb8\xc1w|s\xc4Z\xa8\xb3\x04\xe9\xc3Bx\xdbH\xb3\xaez`\xed7\xbe\xfeww|\xe3\x1b\xdf\x91u\x96\xbb\xab\xbb\xf7\xfc\xd2\xba\x12\xea,\xc1\x20`!<\xd9F\x9a\x8a\x8b\x9d\xc7\x8f\xdf\xfb\xf5\xed\xc7\xdf\xa3\x97f\x9e\xef>O\xdd\x97\xadSPg\x09\x06\x01\x0b\xe1m#\x8dYgy\xaf\xcc\xf0\x03\xa8\xb3\x04\xc3\x04\x0b\xe1m#\xcd\x86Yr\x87>\xeb{R\xfbM3cNK\xa2\xce\x12\x0c\x06\x16\xc2\x93}\xa4\xf9R\x1f\x98\x9d\xad\x9b+Pg\x09\x86\x05\x16\xc2\xdb\xbf\xf14\x7f\xcd\xfag\xd7m\x7f\xe3\xb9g\xd7\xad\x9f\x8f:K0<\xb0\x10\xde6\xd2\xecy\xb2z\xee\xec\xd9\x15\x15\x15\xb3g\xcf}reg\xcc\xdb\xac\xa8\xb3\x04\x83\x80\x85\xf0d\xf7\x8d\xa7\xde\xce\xcb\x17/_n^\x7fZ\xbf\xeb\xb4\xf9\xda\x13\xea,\xc1\x20`!|\x82/q\xaf\x9du>\xceGhPg\x09\x06\x01\x0b\xe1c#\x0d\xc9\xc3U_\xaf\xcf\xf7\xd2\xfc\xb3\xbe\xde>\x9f\x9d\xf3\xa8\xb3\x04\xe9\xc3Bx\x8a\x7f]\x9a\x83\x7f\x88-\xa3\x0f\x82:K\x906,\x84\x8f\x17i|Dkf\x1e\xc7\x17\xfe\xc0\xf0\xc1Bx\xdbH\x13X>\x1f\x17b\x02\xc3\x08\x0b\xe1ip\x91\x06\x80\xb4a!<.\xb5\x07T\xc1B\xf8\x04b\xe3R{`Xa!<\xe1\xea\xc1@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<\xc5\x17\x1b\xc2\x83a\x85\x85\xf0\xf1\"\x0d2<\x18nX\x08\x9f\xe8\xb34\xc8\xf0`8a!<!\xd2\x00E\xb0\x10>AtA\xa9\x19\x18VX\x08\x1f\x13]Pj\x062\x04\x0b\xe1):\xba\xa0\xd4\x0cd\x08\x16\xc2\xc7D\x1aH\x0e2\x04\x0b\xe1c\xcf\xc6\x0c\xa0\xd4\x0cd\x04\x16\xc2\x93\xdd\xa5\xf6Pj\x062\x00\x0b\xe1\xed/\xb5\x87R30\xfc\xb0\x10>6\xd2\xf4\xa1\xd4\x0cd\x04\x16\xc2\x93]\xa4A\xa9\x19\xc8\x00,\x84\xb7\x8f4\xc9J\xcdN\xce\x99\x907\xfd@\xd9\xa1\x88\x85\x91\xfdf\xfb\x0bZcV\x03Y\x0d\x0b\xe1m#M\xb2R\xb3cZU\xcb\xae\x05BDV\xf5E\xf6\x9b\xb5\xbaZ\x02\xa3\x03\xb8\x840\x90\xb0\x10\x9e\xec\"M\xb2R\xb3J\xb7\x9f\xc8_+b\xba)\xaduO\xfe\xe0\xe0\xd1%\xd1\xd3@V\xc2Bx\xfbH\x93\xa4\xd4lb\xbd\xbc=)\x82\xfb\xf0\x10v\xfdf4uq\xec2\x90\x85\xb0\x10\xde6\xd2$+5[R(\xcb\x9b\xfc{\xbbh\xb9\x18\xb7mY\xb8\xbe,(\xfc\xf5\\!r\xe4\xc5\xb3\xa95p\xb1\xd5)1\x1b\x01\xd9\x06\x0b\xe1\xc9\xb6\xe3)q\xa9\x19}R\x92S\xe99\xdc\xaf\x8f\xfe\xd28N\x94<\xef)\x09\xd4\x97\x85\xf6\xf0\xed^\xefx\xa3\x04\xa4\xeb\x90\xb7t\xba\xd7\xeb\xfd\x80@\xb6\xc3B\xf88\x91&a\xa9\x19\xd1\xb5\xe7\x1f\xd5D\xbe\x11\xe1\xb5\x897\xf4=z\x89Y_f\x8d4\xb9\xc1\xaaVD\x1a`\xc0Bx\xfb7\x9e\x12\x97\x9a\x19\xdc\xda_iv}\xd4\xc9G\x0df}\x19\x84\x07\xf1a!<\xd9E\x9ad\xa5f\xed\x17\xe4\xad\xdfh1\x8b\xa8/\x83\xf0\x20>,\x84\xb7\xfd\xc6S\xb2R\xb3\xc2\x15\xc6]})E\xd5\x97\xc5\x17~\xe7\xa7\x04\xb2\x1c\x16\xc2\xc7F\x9a\xd0\xf2\xf8\xa5fE\xc52\xc0\xf8\xa7.\xd2o\xb5\xa2.\xfd\xd0t\x92Y_f+\xbc[\x7f\xeeJ\xec9{\x90m\xb0\x10\x9e\xec\xbe\xac\x9d\xac\xd4\xacH\x14z\xdaZ\xdc\xb9\xb2\xb3L\x96\xcc\xef,\x95\xf5e\x96~\xb3\xfew\xbc\xde\xf1\xb5^\xaf\xb1\xdb\xf7h[Z\xdc\xae\xcfb7\x03\xb2\x0b\x16\xc2'\xb8.M\xfc\x06\x90Gw\xd6\xff\xccU0\xcf\xe8\xe8\xd3V\xd7\x06\xea\xcb,\xfdfGs\xcc\xe1\x0e9\xe3\xd6\x8a\xfc\xdc\xe9\xed\xb6\x1b\x02\xd9\x04\x0b\xe1\xe3E\x9a\x94K\xcd4\x0f\x01\x90\x0a,\x84\xa78\xd7\x9f\xe9K\xb5\xd4\x0c\xc2\x83\x14a!\xfc\xa0\"\x8d\x15\x08\x0fR\x84\x85\xf0\x09\xce\xd2\xa4r\xa9\xbd\x0b^\xad\xf6]?\x01\x90\x1c\x16\xc2\xd3\xd0.\xb5\xb7\\?2\xd5>I6\x0b\x00b\"|\x82H\x83\xab\x07\x83a\x85\x85\xf0C\x8c4\x00\xa4\x0c\x0b\xe1ih\x91\x06\x80\x94a!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84O\x10]\x20<\x18VX\x08\x1f/\xba\x20\xc3\x83\xe1\x86\x85\xf0\x94\xe0\xb34\xc8\xf0`8a!<\"\x0dP\x05\x0b\xe1\x13\xec\xc9Qj\x06\x86\x15\x16\xc2S\xf4\x9e\xbcW\xdf\xdb\x9b\xdfx\xdaP\xf1\xa1\xef\xa6,5#Dy0\x0c\xb0\x10>A\xa4A\xa9\x19\x18VX\x08\x8f\x83S\xa0\x0a\x16\xc2S\xcc\xc1\xa9\xbe\xb3?\xbe}\xdd\xda\xb5kt\xd6\xaeY\xbb\xf5u\x94\x9a\x81a\x81\x85\xf0\xb6\x97\xda\xdb\xbcpn\xf5\\\x93\xea\xeai\xf1.\xd6\x01@Z\xb0\x10>6\xd2\xe8\xc3\x0d3\x8e\x7f\xf9\xf9\x97:\xfa\xcd\xba\x19(5\x03\xc3\x02\x0b\xe1\xc9\xf6\xea\xc1\x15\xe1E\x9bg\xc9\xab\x07\x0f\xe0\xf8\x15\x0c\x15\x16\xc2\xdbF\x9a\x17f|\x18zdw}x\x00\x06\x01\x0b\xe1\xed#\x8d\xa5\xc8\xec9\xbbR\xb30\x91Mf\x01\x96\x8b\x1c\\Y\x0fD\xc3Bx\xb2\x8b4\xeb\xab{\xff\xf0\x8f\xffx\x8f\xfe\xdf?\xfbv\xcf\xe8|{m\xef\xdbk\xe3\xac\x1c\xd9d\x16Z\x88\x8bw\x80\x18X\x08o\x1bi\xd6U\xf7\xad\xfb\xfb\xbf\xff?\xfa\x7f\xdf\x97\xa5f\xcd\x0bo6W\xc7\xdf\x84]\xb1\x13\x84\x071\xb0\x10\xde>\xd2\xcc:\x7f\xf3\xec\xc7\xe7?>\x7f\xf62m\x9a\xf9\xb1\xaf\x93|\x09>V\x03\xe1AJ\xb0\x10\x9el\x9b\xb8\x8dR3\xf3\x91\xedA\xeb\xd5\x9a\x09\xc5\xabWOp\x19I=$\xbc\xff\x95)\xae\x87\x1b\x8c\xcb2i+\x9e\x08W\x9d\x01\x20a!\xbcm\xa4\xd90\xb33\xf4\xf0\xa5\x99\xb1\xa7%\xfb\x1f,l\xf0\x8c\xcf\xddY\xf9\xb2|\x14\x12~\xa9V\xbf\xb7^\xab\x95Cy\x11\xed\xc6\xb2@\xd5\x19\x00\x12\x16\xc2\xdbG\x9a\x8a\xcf\xf5\xc1\x80\xb1\xf0\xa5Y\xb1o<5\x89\x93\xb2\xd6)\xa0sP\xf86\xd1\x16\xba\xd5&\xf7\x10\xf5\x94\x96\x13\x00AX\x08Ov\x91f\xd3\xc2'\xd7\xac\\\xf9\xeb_\xaf\\\xb9rM\xb5M\xa9Y]\xbe~\xf3Q\xb0\x978(|m\x99q\xf7\xa0\xdc\xc5k\xcf\xc8\xe1\x0e\xb3\xea\x0c\x00\x09\x0b\xe1c#\x8d>\xdc\xb7\xf2\x97\xf3\xab\xab\x17>^]]=\x7f\xe5\xda\xd8k\x08\xbf<\xf6\xaa\xdc\x95G\xed\xe1\x8d\x8e3\xa2*\xb9[\x8f\xa8:\x03@\xc2Bx\xdb\x8f\x07\xf7\xf5v\x7f\xd5\xdd\xbdg\xc3\xb9\xee/\xbb{{cW\xfa4\xa7\xf2\xd3\x93\xa5\xe5\x81\xab\x06\x87\xf6\xf0\x93\xe4\x02\xff\xc4\xa5\x14Uu\x06\x80\x84\x85\xf0\x14\xffK\xdckf\xc6\xfb\x9c\xfc1Q$\x84\xfbB\xe0QP\xf8\xbdB\x96\xcd7\x9a\xed\xad\xc5\xb7\xe4\xb1\xad\xdbvu\x90\x9d\xb0\x10\xde\xf6\x1bO\x03}}\xbd>\xdf\xf6\xc7\xcf\xfaz}}6\xce\x1f\x1b\xbf\x7f\xaf\xf7\x82\xb1\x83\xb74\x99QMN]k]N\x8d\\\xac\x89\xca\xc3\xfb\xcb\xf3?\x8a]\x17d-,\x84\x8f\xf7\x8d'\xfd\x15p\xf0\xf5x\xd7\xa59\xa4\xc9\xc62m\xfa\xa9\x88&3\xf2o+s\x95\x99\xe7\xe1\x1f\xf4,\x0eT\x9d\x01\x10\x80\x85\xf0\x14'\xd2\xf8\x88~=#N\xa9\xd9\x15\xd7\xb2+\xb7o_?\xba\x20\xff\xba\xdd\xd3\x00\xd8\xc2B\xf8x_\xe2\xd6w\xf9\xdb\x1f\x8f\xf3]\xa7\x96|\xf3p\xd5_\xd4f\xf74\x00\xb6\xb0\x10~0\x91\xe6X\x8eyB\xf2T\xce\x09\xbb\xa7\x01\xb0\x85\x85\xf04\x88K\xed\xf9ks\x975\x1dhZ\x96\xbb\x0cuf\x20uX\x08?\xa8K\xed\xf9[+\x8b\xb5\xe2\xcaV\xf8\x0e\xd2\x80\x85\xf0\x09\"\x0d\xae\x1e\x0c\x86\x15\x16\xc2\xd3\x20\"\x0d\x00\x83\x81\x85\xf0\x83\x8a4\x00\x0c\x02\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x07\x11i\x10u\xc0\xa0`!|\xba\x91\x06Q\x07\x0c\x16\x16\xc2S\x9a\x91\x06Q\x07\x0c\x16\x16\xc2#\xd2\x00U\xb0\x10>\xe5H\x13h\xf7\xd39\xf8\xc6\xe7>\x1f\xda\xfd@\xba\xb0\x10\x9e\xd2\x8f4\x9bf\xa3\x13\x04\x0c\x02\x16\xc2\x0f\"\xd2\xa0\xce\x12\x0c\x0a\x16\xc2\xa7\x1ci\xe4\x10\xed~`\x08\xb0\x10\x9eR\x8e4}h\xf7\x03C\x82\x85\xf0\xa9G\x9a>\xb4\xfb\x81!\xc1B\xf8\xd4#M\x1f\xda\xfd\xc0\x90`!<\xa5\x13i\xd0\xee\x07\x86\x00\x0b\xe1\xd3\x8b4\xc9\xdb\xfdZ\xe4e\xc8&F\x7f\xbb{\x7fA\xab\xddd\x90U\xb0\x10>\xadH\x93B\xbb_\xd7!o\xde\xa2\x98\xe2\x8fVWK\xf4\"\x90u\xb0\x10\x9e\xd2\x894\xa9\xb5\xfb\x15\xad\x8e]\x86\x0bz\x00\x1e\xc2\xa7\x17iRj\xf7\xb3\x13\x1e\x00\x1e\xc2\xa7\x15i\x92\xb6\xfb\x19\x98\xc2\x87+\xfd\xae\xe7\x0a\x91#/\x1dO\xcb\x85\xb6s\xd5\x03\xae\xca\xe0\x95\xe5AV\xc1BxJ'\xd2$k\xf731\x85\xb7T\xfa\xb5{\xbd\xe3\x8d\x0a\x9c\xbf4\x8e\x13\x05\x9e\xdf\xe6-\x88]\x09\x8c~X\x08\x9f^\xa41\xda\xfdL\xec\xda\xfdL\x0c\xe1\xad\x95~:\xb9\x81\xa2b-_\xdf\xbb\xd7\x14\xd8\xae\x07F9,\x84O+\xd2$k\xf731\x84\xb7V\xfa\x91ExY\x00\xe5\xd1l\xd7\x03\xa3\x1c\x16\xc2S\xca\x91f\x20y\xbb\x9f\x89!\xbc\xb5\xd2\x8f,\xc2\xcb{\x08\x9f\x9d\xb0\x10>\xf5H\xa3\xd3\xd7\xdb\xad\xe3\x1b\x90\xb7v\xed~\xb7?\x90\x07\xa9\x13\x8c=\xbc\xa5\xd2\x8f\x20<\x20&\xc2\xa7\x1eiB\xcb_X\xf8y\x9c}\xfb+\xc2KtUl\xa3\xc8J?\x82\xf0\x80\x98\x08O)G\x1a2\xda\xfd\xba}\xbe\x7f\x9bv\xc4\xd7m\xdb\xeew@\xcci\xd9U>\xe139\x0eW\xfa\xf5\xbf\xe3\xf5\x8e\xaf\xf5zo\xd0%\xafV\xfb\xae\xffD\xad\xe6E\xddY\x16\xc2B\xf8\xb4\"\x8dIo\xfc/q\xb7Lu\xe5W\xbdo\x0c\xc3\x95~Gs\xcc\xa2\xbf\x1d\xb4\\v\xff\xbd\xef\xd2o\x97\xc7\xdd\x04\x18\xb5\xb0\x10>\xddH\xe3#\xda\xf4\xf8Y\xfbv?\x00\x12\xc1BxJ'\xd2\x90\xbcx\x01\xe9\x91\x86l\x8eX\x01H\x0c\x0b\xe1\x877\xd2\x00\x10\x1f\x16\xc2\xa7\x1bi\x12\xbc@\x00H\x08\x0b\xe1)\xcdH\x13o9\x00\xc9`!\xfc\x20\"\x0d.\xb5\x07\x06\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<\x0d5\xd2\\\xbe\xfcyg\xd4\x06\xba;/\x7f\xf5%^\x12\x20\x0a\x16\xc2\x0fc\xa49\xb8=\xde\x97\xfe\x00\x20&\xc2\x0fW\xa4\xd17\xb0i.\x0efA\x02X\x08OC\x8d4a\xba;\xb1\x7f\x07\x09`!\xfc\xf0D\x9a\xbe>__\xdf\xf1=_\xeaw\x03\xb0\x1e\xd8\xc3B\xf8\xe1\x8a4:/=v\xd1f)\x00\x01X\x08O\xc3\x17i\x06\xc2\xd7\xe1\x03\x20\x16\x16\xc2\x0f=\xd2\xe8\xab\x9e\xde\xf3\x87\xed[7\xbf\xd9\xbc}\xeb\xd6\xed\xcd\xfbn\xda\xaf\x06\xb2\x1d\x16\xc2\x0f=\xd2\xe8\xabn\x9f?k\xe6\xb4\x19\xd3$3\xe7W\\\xc4\xb9\x1a`\x07\x0b\xe1i\xc8\x91F\x1fn\x98v\xf0\xf4{\xa7\xdf\xd39}z\xcd4\xb4\xfb\x01[X\x08?\xf4H#\x85\x9f\x1d\xbe\x8a\xc1\xd6\x8as\xf2\"\x1ep\x1eD\xc3B\xf8a\x894\x96\xb2\xb3\xbe\x0d3\xcfE\xaf\x03\x80\x84\x85\xf04,\x91fFHxZo\xdf\xee\x07\x00\x0b\xe1\x87%\xd2\xac\x9f\xdb\xbd\xe7\xc7?\xfe\x89\xfe_E\xdf\xeb3??\xb2\xddw|k\xe4\xe7jNU\xba\x0ak\x0e\x14^\xa1Z!\x84\xeb\x0c\x81,\x84\x85\xf0\xc3\x12i\xd6U\xd3\x9a\xaf}\xed\xef\xf4\xff\xbe%\xdb\xfd\xde\x98\xdb\xbd;\xb2\x1f\xa4\xcd\xf5\xe8\xce\xc62!>\xa0\x0b^o\x83x'z\xab\x20\x1b`!<\x0dK\xa4\x99}\xf9b\xf3\x9e}{\xf65\x1f\xa4\xcd3.v\x9e\x1e\xe8\xfc\xd0z\xf5\xc9ky\xf3n\x11u\x95\xea\xc2\xeb\xb4C\xf8\xec\x84\x85\xf0\xc3\x12i,\xed~\x03v\x19\xbe.\xd7\xb8<\xf6\x16ad\x19\x08\x9f\xa5\xb0\x10~X\"\xcd\x86Y\x17\xcd%\xfa\xcd\xa6\x19\xe7\xe4\xa5V#6X\xfa\x84qwu\xcb-y\x17\x12\xde\xbf\xab\xdc\xf5\xc0\xea\x1e}tcq\xb1VRu\x92\xd0l9\x9aa!<\x0dO\xa4\x09obsE\xcc\x1bO\xb7r\xb6X\x1f\x86\x84\xaf\xcdY\xb1w[\xc1T?Q\xabXv\xa0\xa9*\xa7\x1d\xcd\x96\xa3\x19\x16\xc2\x0fK\xa4\xd9P\xbdn\xf3\x0b\x9bt^\xd8\xb4\xf9\x97\xb1\xed~\x9f\x88\x16\xeb\xc3\xa0\xf0\xadb\x97\xf1\xa8\x91\xa8\xa7\xa9K\xdf\xe1\x97\xcd\x93\x8b\xd1l9Za!\xfc\xb0D\x9a\xe6\xc7\x1f\xab\x98aR\xf1\xf8\x93\x9fGo\xad\x7f\x9c\xed\x1e~\xc9\xa4\xfe\xdb:\xc5\xb2\xd9\xf2jC\xe5\xa4<aT]\xa2\xd9r\xb4\xc2Bx\x1ar\xa4\xd1\xe9\xbex6\xc4\xc5\xcb\xb1\x7f-\x02\x19\xbe\xdfl)\x0e\x0a_f6\xe1\x08}\xbf\xde^X\xf2t\x8b\xd7m\x0a\x8f\xde\xb3Q\x0a\x0b\xe1\x87\x1eiR\xa0.\xf7\xaa\xbck\x12W\xe4]P\xf8\x9aI\xc7\x0c\xf4\xe7&\x97\xcbC\xd7E\x10~T\xc3B\xf8\xa1G\x1ac\xe9@_\x90\x81\x98M\xc9\xf3\xf0\x0b\xfa\xf5\x8c\xee\x9eh<\x0a\x0a\xdf&\x9a\xe4]\xfdF\xa2\x92E\xfa\xc0\xff0\x84\x1f\xd5\xb0\x10\x9e\x86#\xd2$\xa5\xcdU\xbe\xab\xa5r\xdc!\xa2\xcf\xe4;\xad[\xbc\xdeO\xf5\xa5uckZZj\xe5\xa1\xabG,nx~\xaa(z\xf1]4[\x8e^X\x08\xaf$\xd2\x18\x9f\xa5)\x9a\xf7\xbe>X\x1a\x08\xeeK\xe4\xd26\xf7\x84\xfc\xe92\xd8\xfb\xb7\x94j\x05K^+\xd5\xdch\xb6\x1c\xbd\xb0\x10~x\"\x0d\x00\xc9a!<)\x894\x000\x11^Q\xa4\x01\x80\x87\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe13\x1di\xf4\x0d\xbf\x8d:K\x20a!|\xa6#\x0d\xfe\"\x80\x20,\x84\xa7\xccG\x9a\xb4\xfe\"\x80\xd1\x0b\x0b\xe1\x15D\x9a\xb4\xfe\"\x80\xd1\x0b\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0*\"\xcd\x9b_\x0d\xf8h\xa0O\xfeK\xeb\x95\x02F\x17,\x84W\x14i\x00\xe0!<\xa9\x884\x89g\xb7\x94_I\xf8\xfc\x90\xb8V\x1eqmz\xe0\x20,\x84W\x10i\x0e\xee\xee;\xb2\xd9w\xe4%\xfd_\xef\xf1\xed136\x0a\x8f?bA\x1a\xcd\x96\xcbEN\x93\xfd3_,+\xca\x9d\xa3o\xd7\xffb\xceF\xfb\x19\x83\xe4\x13MLN6\x07\xd8\xc2Bx\x05\x91\xe6\x85\x857\xdf\xac\xee6\xff\xed\xf9e\xf4\x84m9\xbb\xa2\x96\xa4\xd1ly\xc1k\\k\xd8\x06w\xe1\x8e\xa5\xb9\xd7\xe5h\xef\xb8m\xf6S\x06\x87\xff\xddZ\\\xd9xp\xb0\x10\x9e2\x1fizo\xd2\x97\x1f\x07\xfeu_\x8cz\xb2C\xab\x0b\x0e\xaf\xba\xaf\x06\x87\xa9\x17\xfd\xc5\x11\xfe\x9a\xd8F\xfe.s\\\xaf\x0doC\x1a.\xe5=HX\x08\xaf\x20\xd2\x1cy\xa33\xfe\xf3\xb5\x85=\xc1\xe1)q*8\x1c\xb2\xf0gDkh\xdcUXk;g\xb0@\xf8A\xc2Bx\x05\x91fs\xf5\xf9\x81\xde8\xa7%\xfb\xf3\x9e6\x07\xdbJ[?\x10\x1f\xec-}\xc5x\x14\x14>\\gI\x93\x03\xd7\xd9\x9eN\xad\xfa\xed3\xe4\xd1o\xf5\xfc\xae\xadx\xa28\xbf\xea\x8c\x11\xe7w\x05\x02v\xff\x04s\xea\xaa\xc0\x0f\xa9\xcf\x0d\xbd\xa8\x02Xk2\xc7m[\x16\xdcBhh\xa9\xd4\x8c\xe8\xd1\xbcPS\x9c\xbf\x08\x91f\x90\xb0\x10\x9e2\x1fi\x12\xfdE8!\xbc\xe6\xe0B\x8dxP\x94\x89E\x9f\x19\x8f\xc2E\x7f\xc1:K\xd2j\xbd:\xe5b#\xf5\x1c*Yv\x85\xae\xd4\xe7y\xf5\xcc\xa2\x89)M\x8de\xaeSf\x9c\x0f\x04\xec\x13\xdeF\xe1\xf1\x86*\x15\x0e\x89\xc3Q?6\xb2&\xb3\xe4yO\x89\xbe\x05\xcb\xd0R\xa9i\xed\xd1<\x93\xf7\xc0k-\x95\x02\xc2\x0f\x0e\x16\xc2+\x894\xf1\xff\"\xec\x15\x1f\x05\x87m\x9a\xd0\xda\x02\xe3\xa0\xf0\x96:K\xcf1}T+\x8c\x03P\xcf\x14\xfdf\xa9\x11T\xb4\xc9\xfa^\xb8\xa7\xb4\x9c\"\xbbr\xac\x91\x86.\x88\xe8S\x93\x115\x99\x13o\x10]/)\x8f\x18Z*5-=\x9a\xd3K{\xe4j\x10~p\xb0\x10^I\xa4\x89\xff\x17\xa1E|b\x0e\xae\xad\xd2\x8aE\xf1\xf8\xa7\xbe0\x1e\x852\xbc\xa5\xceR\x8f*\x8b\xc7\x9agt.\x8c}\x9fn\xe5\xed\x97C\xed\x19y\xbbC\\K(|\xcc\xb9KkM\xa6q\xd4\xdc`l!4\xb4Vj\x86z4\xaf\x8b\x9d\xf2\xf9z\x08?8X\x08O\xceF\x9aw\x83fo\x9c\xb0\xe3\x94\xf8\xcb\xb6\"\xf3\xa4yPxk\x9d%\xf5\xcc\xd1\x82{\xea\xca\xd5\xd4\x96\xdf/G\xe6A\xabW\x1cK\x20|\xbb8D\x91\xc4\xd4dZ\xb6`\x0c-\x95\x9a\xe1\xed\xb6\x9b\xf9\x0b\x07\xad\x83\x84\x85\xf0\x0eG\x9a\x9e\xd0Y\x96~\xe3,M\xbf\xf9\x1eTPxk\x9de\xd7\xf4\xf1\xc1\xc4C\xad\x13\xfa\xcdDC\x9aqd\xbaS\xdc\x08\x88Yo#\xbcG\xeb\xa2H\"j2-[\x08\x0d-\x95\x9aa\xe1\xbf\x10\x0d\xf2\xf9\xa5\x10~p\xb0\x10\xde\xe1HC\x8bJCo\xb3~\x96\xffYp\x18\x14\xdeRgym\x8aK\xee_[\xddry\x7fQk\xbe\x91hH+\xbe\xa5?|P.u=\xad\xcf}4Vx\xff\xe4\xaa\xe0\xf0\x93\x8d\x1d\xd1\xdb%\xadH\x7f9tMrG\x0c-\x95\x9a\x96\xbf\x1c\xe5%z\xee\xf9h<\x84\x1f\x1c,\x84'g#\x0d\x9d\xc9\xf9m\xf4\"K\xb3e\xb8\xce\xf2z\x99\xd8(O\xd3<a\xdaV7)\xff\xb61\xd0D\xe5\xe1\xfd\xe5\xf9\xf2\xd0\xb7\xbc`\xe3\xf3\xe5b\xdc\xaeS\x81\xb34\xef\x06^J[dZ1\x99'\xe6\x18\xf7\xe1\xed\x9a\xe7yv\x96\x1a[\xb0\x0cC\x95\x9a\xd6\x1e\xcdS\xae\x12O}~\x8e\xfc\x11\x20}X\x08\xefp\xa4\xd1w\xa2\xe3\xa3\x03\xb6\xa5\xd92\\gyb\\`i\x891\xe7#\xb1\xcc\x9c\xfc\xa0gq^q\x8dq\x02\xf2\x8c;7\xaf\xf2\x19!\x96\xdf\xca7f\x8e\xfb\xc0\x98\xe1\xcd}*\xb4\xe9\xd7\x0av\x18\xf7\xe1\xed\xea\x96\xaf\xae\x0dn\xc12\x0cUjF\xf4h\x9e\xa9\xca\x9f\xf8\xd4\xaeq\xa8\xd4\x1c\x14,\x84w:\xd2\x90\x7f\x85\x16\xe7\xf3_\x89\xe8\xd2\x0e$\x9b\x12\xa0I\xab\xbd\x9dp\x82\xe5\xbd\xdax\x1f\xcc\x01\xc3\x02\x0b\xe1\xc9\xe1H#\xf7\xb6\xc5W)]\x9a&$\xb68\xc4\xb5\xc2\x8d\x91\x9f\xc5\x8c\x01\xc2\xab\x82\x85\xf0\x8eG\x9aA\xe09\xe0w\xd7'\x9b\x942\x10^\x15,\x84w<\xd2\xa4O\x8f\x98\xb2\xbc\xf0z\xb2Y)r\xc18&\x8d\x1e\x82L\xc0Bxr<\xd2\xa4\x8f\xc7\xe5\xfe\x20\xd9\x9cT1\x8eI?\x89\x1e\x82L\xc0B\xf8\x91\x18i\xc0\xc8\x84\x85\xf0#0\xd2\x80\x11\x0a\x0b\xe1i\x04F\x1a02a!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84\xcft\xa4\x01\x20\x08\x0b\xe13\x1di\x06Pj\x06\x02\xb0\x10\x9e2\x1ci\xd2\x9d\x0fF/,\x84W\x10i\xd2\x9d\x0fF),\x84W\x10i\xd2\x9a\x0fF/,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2\xab\x884(5\x03\x12\x16\xc2\x93\x9aH\x03\x00\x0f\xe1\x95D\x9a\xc4/\x0f\x94\x9ae\x09,\x84W\x10ix\x96\x9a\xed/\xb0\\}2\x0c:\xcb2\x07\x0b\xe1)\xf3\x91\x86g\xa9Y\xab\xcbv\xd7\x8f\xce\xb2\xcc\xc1Bx\x05\x91\x86i\xa9Y\xbc\x0br\xe0j\xd8\x99\x82\x85\xf0\x0a\"\xcd\x08+5\x83\xf0\x99\x82\x85\xf0\x94\xf9H\xc3\xb0\xd4\xecz\xae\x109\xb2\xce&ngY\xa8\xd4\xec\xd48!\xaa\xfc%B\xe4\xdf\"0$X\x08\xaf\x20\xd2$\x9a\xefP\xa9\x19\xb5{\xbd\xe3\x8d\xbf\x0d\xf1:\xcbB\xa5f\xfe\xc3\x9e\x9c\xc3\xb4k\xec\xae\x13\xd1\xdb\x00i\xc2Bx%\x91&\xfe|\x87J\xcd$\xb9\x810d\xdbYf-5\xf3/-\xbfZ2\xbc\xfd\xf5\xd9\x09\x0b\xe1IE\xa4\x89?\xdf\xa9R3\xb2\x08o\xd7Yf-5\xa3\x9e\x87\x8b\xaap\xcd\xc9\xa1\xc3Bx\x87#\x8dC\xa5f\x92\x90\xf0v\x9de\xd6R3\xf9\xb2\xb4\xdb\x00H\x13\x16\xc2;\x1ci\x1c*5\x93\xc4\x08o\xed,\xb3\x96\x9a\xd1\x85\xc2\xfa\x92/l\xb6\x00\xd2\x83\x85\xf0\xe4l\xa4q\xa8\xd4L\x12#\xbc\xb5\xb3\xccZj\xd6_^O\xcb\xdc\xc84C\x86\x85\xf0\x0eG\x1a\x87J\xcd\xfa\xdf\xf1z\xc7\xd7z\xbd7\xe2v\x96\x85J\xcdz\x0e-/\xb8@\x1dy+\x0e\xe1\xb4\xe4\x10a!\xbc\xc3\x91\xc6\xa1R\xb3\xa39\xe6\xc6v\xc4\xef,\x0b\x96\x9a\xb5\x19'\xf4W\x0816\xd5V)\x10\x07\x16\xc2\x93\xc3\x91\xc6\xf9R3\xa0\x0a\x16\xc2;\x1di\x9c/5\x03\xaa`!\xbc\xe3\x91f\x10\x0co\xa9\x19P\x05\x0b\xe1\xc9\xe9H\x93>\xc3Zj\x06\xd4\xc1Bx\xe7#M\xfa\x0cg\xa9\x19P\x07\x0b\xe1Gb\xa4\x01#\x13\x16\xc2\xd3\xc8\x8b4`\x84\xc2B\xf8\x91\x18i\xc0\xc8\x84\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10>\xd3\x91\x06\x80\x20,\x84\xa7\x0cG\x9a\x01\x94\x9a\x81\x00,\x84\xcft\xa4I\xf7\x05\x02F/,\x84W\x10i\xd2z\x81\x80\xd1\x0b\x0b\xe1)\xf3\x91&\xdd\x17\x08\x18\xa5\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\xa4\x20\xd2\xa0\xd4\x0cHX\x08\xaf(\xd2\x00\xc0Cx%\x91&\xf1n\x1d\xa5fY\x02\x0b\xe1)\xf3\x91\x86g\xa9YR\xe2\xb4\x9e\x81A\xc3Bx\x05\x91\x86g\xa9Y\x98\x03\xc7\xc8\x8e8\xadg`\xd0\xb0\x10^A\xa4aZj\x16\xe2\xd1%\xf6\xcbq\x01\xa7a\x86\x85\xf0\x94\xf9H\xc3\xbd\xd4l\xea\xe2\x84O\x83\xe1\x82\x85\xf0\x0a\"\x0d\xc3R3\xf2V\x96hEsJ\xfc\xc6\xc6$S\x88N\x8e\x13\xa2\xfeL\xcd\xc4\xdc\xca\xdb\xf1Z\xcf\xae\xd6L(^\xbdz\x82k\x10W\xc3\x04<\x84W\x10i\x12\xbd@\x1c*5;:vi\xcb\xfe\x9dE\xe26u\x1d\xf2\x96N\xd77\xfc\x81,\x94j,)\xcd+YU3\xf6\xd38\xadg\xfd\x0f\x166x\xc6\xe7\xee\xac|\x99@\xfa\xb0\x10\x9eTD\x9a\xf8/\x10\x87J\xcd\x1a\x0a\xe4\xb5X\x1b\xf2\x8d\x98n\x894S\x85\xfb\x06\xf9o\x98\x0fb[\xcf\x9a\x84\xfe\xc7\xa6!\x9c\xbc@Z\xb0\x10^I\xa4\x89\xff\x02q\xa8\xd4\xec\xb3\xe2\x89+v\x9e\xf0\x1b-Q\x11\xc2k\x9f\x86'\xc5\xb4\x9eQ]>\xc9K\xd3\xe3\xec\xcd\xe0`!\xbc\xc3\x91\xc6\xa9R\xb3\xeb;\x16O\x16E\x1bc\xf6\xf0S,sb;q^\x1e{U6$`\x0f?8X\x08O\xceF\x1a\x87J\xcd\xda\xeb\xf4\x9fs\xbd1\xb7A>0\x84\xdfi\xec\xda\xa7.\xb2L\x8a\x15\xfe\xd3\x9c\xcaOO\x96\x96\xe3|\xe5\xe0`!\xbc\xc3\x91\xc6\xa1R3\x8f0^;n\xa37\xc7\xad\xaf|\xc5L=\x11g(c\x85?&\x8a\x84p'>\xab\x0f\xe2\xc2Bx\x87#\x8dC\xa5f\x1e\xe1\xaaom\xa9\x15Fo\x8eG\xdb\xd2\xe2v}F\xb7\x0f\x1b'l>\x91\xcb\xec[\xcf\x8e\x8d\xdf\xbf\xd7{\x01;\xf8A\xc2Bxr6\xd28Tj\xb6k\xba\xa7D+t\x9b=Q\xb7V\xe4\xe7No':i6\x9d\x19\x7f\x0e\xec[\xcf\x0eir\x996\x1d!~P\xb0\x10\xde\xe9H3\x92J\xcd\xae\xb8\x96]\xb9}\xfb\xfa\xd1\x05\xf9\xe8\x1f\x19\x0c,\x84w:\xd2\x8c\xa4R\xb3\x16\xf3\xbc=\xf9\x8bBG\xcf\x20\x0dX\x08ONG\x9aA\xe0T\xa9\xd9\xb1\x1c3\xcb\x9c\xca9\x91d&\xb0\x83\x85\xf0\x8eG\x9a\xf4q\xac\xd4\xcc_\x9b\xbb\xac\xe9@\xd3\xb2\xdce\xc3\xf6G#\xab`!\xbc\xf3\x91&}\x1c+5\xf3\xb7V\x16k\xc5\x95\xad\xf0}P\xb0\x10\x9eF`\xa4\x01#\x13\x16\xc2\x8f\xc0H\x03F(,\x84\x1f\x89\x91\x06\x8cLX\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1)\xc3\x91\x06\x80\x20,\x84\xcft\xa4\x19@\xa9\x19\x08\xc0B\xf8LG\x1a\xfcE\x00AX\x08O\x99\x8f4i\xfdE\x00\xa3\x17\x16\xc2+\x884i\xfdE\x00\xa3\x17\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1UD\x1a\x94\x9a\x01\x09\x0b\xe1\x15E\x1a\x00x\x08O*\"M:\xb3\xc1\xa8\x85\x85\xf0\x0a\"M\xdcR3\xef\xd8\xc0\xc5\x95\xc6\x9f\x8c\xbb~\x98\x93s&\xe4M?Pv(y\xebY\xfc\xaa3\xe0$,\x84W\x10i\xe2\x96\x9a\xdd:T8G^>o\x97H\xe1:/\xc7\xb4\xaa\x96]\x0b\x8c\xd6\x8fd\xadg\xf1\xab\xce\x80\x93\xb0\x10\x9e2\x1fi\x12\x94\x9aM4.\x98\xf7Q*\xc2W\xba\xfdF#\x82\xb9\xefNR\x02\x05\xe19\xc2Bx\x05\x91&A\xa9\x99)|\xff\xb6\x1b\xf1&\x84\x99h\\z\xe9d\xa0\x8d\x00\xc2\x8f@X\x08\xaf\x20\xd2$(5\x9b\x18\xb8$jD\xa1\x18\xf9_\x99\xe2z\xb8\xc1O\xb7\x8b\xb4\xdf\x14\x17\x1fX\x91\xef\xee\"ZR(/\xfb\xe5\xdfk^\xea\xdd\xa6\xf5,\\T\xa6\x0b\xffT\xa8\x87\x0c\xb0\x81\x85\xf0\x94\xf9H\x93\xe0/\xc2\xc4\xda\x9e\x9e\x97e?SD\xa1\xd8R\xad~o\xbdVKt\x20O\xacr\x8b\x09\x1b\x8b^&\xfa\xa4$\xa7\xd2s\xb8?\xb0\xa2M\xebY\xb8\xa8L^D{rcK\xd1\x828?\x158\x03\x0b\xe1\x95D\x9a\xb8\x7f\x11&\xcas4\x85\xe68T(\xd6fDz\xe3\xb6\xb0\x86\xf6\x8aVZ*\xff\x10\\{\xfeQM\xe4\x07N\xbf\xd8\xb4\x9eY\x8b\xca\xb4\xc2/\x88j\x0bb\x7f\x20p\x10\x16\xc2+\x894q\xff\"L\xacjo_\x1a\x14>X(VkV:=\xa8\xef\xe2\x0b\x1b\xe9]\xd1EO\xd7\x98\xcf\xdc\xda_)\xf6\x1a#\x9b\xd63kQ\x99&_!\x81\xba'\xc0\x05\x16\xc2\x93\xb3\x91F\x17\xf3\xd4Ns\x1c*\x14+7\x1bj\xaa\xf4\xa8S\xd8F\xed\xba\xb6u\xba\xf0\xedF\"\xf7\x07\x9e\xb4k=\xb3\x14\x95Y\xfb\xcd\x00\x17X\x08\xefp\xa4Y\x16\x1e\x87\x0a\xc5j'Ig\xfd\x13\x97F\x08_\xb8\xc2x\xb2\xbe\xd4\xb8\xb3i=\xb3\x16\x95Ax\x8e\xb0\x10\xde\xe1Hc\x15~q`\xb0W\xc8\xce\xf7F\x19^,\xc2\x17\x15_\xd3\x97\xfa\x03/\x0b\x9b\xd63kQ\x19\x84\xe7\x08\x0b\xe1\xc9\xc1Hs\xeb\x9d\xc29\x87\xcc\xd3\x8c\xd6B1\xaa\xc9\xa9k\xad\xcb\xd1%?\x95\xffrO\xa3v\xb2\xa7\xc6}\x81\x8aD\xa1\xa7\xad\xc5\x9d\xfbQ\x9c\xd63KQ\x99\xb5\x87\x0c\xf0\x81\x85\xf0NF\x1a\xe3\xb34f\xb7\xb6\xb5P\x8c\xfc\xdb\xca\\e\x0d~\xf2\x17\x09\xd1\x98'\\MB\xcc\xa3Gw\xd6\xff\xccU0O\xd6\xf5\xd9\xb6\x9eY\x8a\xca\xac=d\x80\x0f,\x84w6\xd2\x80l\x82\x85\xf0\xe4`\xa4\x01\xd9\x05\x0b\xe1\x9d\x8c4\x20\xbb`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2g:\xd2P\xfa\xf3\xc1(\x85\x85\xf0\x99\x8e4\xe9\xce\x07\xa3\x17\x16\xc2S\x86#M\xba\xf3\xc1\xe8\x85\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10^E\xa4A\xa9\x19\x90\xb0\x10\x9e\x14D\x9a\xb9(5\x03\xc4Dx%\x91&\xe5\x97\x07\x18\xcd\xb0\x10>\xd3\x91F\xe7\xf8\xbe\x81\xe3\x7f\xf0\x05\xfe\xbd\x9elv\xf2\xce2\x0b\xde\xb1\xa2\xdcO-B\x8c\xdd\x9fl\xaay\xad\xa7\xdad\xb3@\xe6`!<e>\xd2\xac\x99\xd6\xbd=\xf0\xef\xab7\x9eL\xb6B\xf2\xce2\x0b=\xfbE\xae\x97\xbaZ\xc4\xfe\x9edS\xe9\xf6;\x0f\x97y?K6\x0bd\x0e\x16\xc2+\x88\xc7O\xf3\xe3\x00\x00\x0e\xfdIDAT4\x83\x20I\x85S\x98.Q\xa3\xef\xb4?\x11]\xc9&J\xdc\xeed3@&a!\xbc\x82H3\x08\xd2\x10~\xbf\xab\x07\xc2\x8f\x0cX\x08O\x19\x8e4\x89h\xd2C\xb5\x87<\xc2(_\x0d6\x99\x19\x04\x84_.rv\xd1'\x9a\x98\x1c\xd9oF\xfe]\xe5\xae\x07V\xcb\x14\xd3%>\x99\xdab\x0a\x1f\xea7\x8b7\xd7*|h\xe9r\xa1\xedD\x01\x9a\x1aX\x08\xefd\xa4\xe9\xf2\xe6\xd5_\xa1+\xf5\xf9\xde.K\x93\x99$\x20\xbc\xd10\xec\x7f\xb7V\x8b\xec7\xa3\xda\x9c\x15{\xb7\x15L\xf5\x1b\xc2o\x9bc\x0a\x1f\xee7\x8b3\xd7*|h\xe9_\x1a\xc7\x89\x02\xcfo\xf3P\x80\x96yX\x08\xefl\xa4\xa9]\xa2\xdf\xd4<A\x11Mfd\x894\xe1f\x03K\xbfY\xabq\x8d\xedv\xd9\x9b\xa0\x0b\x7fu\xfcUCxK\xbf\x99\xfd\\\x8b\xf0\xd6\xa5Z\xbe\xbew\xafA\x01Z\xe6a!<9\x18i\xf4}qn\x0f\xf5\xb8\xbc\x14\xd1dF\xf6\xc2\x87\xfb\xcd\x96L\xea\xbf\xadS\\k\x08Os\xb6\x98\x19>\xdcof?\xd7\"\xbcu\xa9\xb6\x94\xd0\x16\xa2\x04\x16\xc2;\x19i\xf4\xb8=\xa1\x85Z\x8ad\xdc\xb04\x99\x91\xbd\xf0\xe1\xf6\x9b\xb2@!\xc2<S\xf8\x96\x87\x0d\xe1-\xfdf\xf6s-\xc2[\x97\xa2\x1eG\x15,\x84w6\xd2\xd0\x8ay\xb4\xc0h+\xb34\x99Q\xb4\xf0\xf5Q\xc2\xd7L:fp\xd5\x14\xbe\xc7\xb5_\x0ao\xe97\xb3\x9f\x1b\x10\xbe\xab\xfeZ\xc4R\x08\xaf\x0a\x16\xc2\x93\xa3\x91\x86\x0e\x8f\xbf4\xfe\xb0\x1cX\x9a\xcc\xc8\"\xbc\xebi\xfdU\xf0h\x94\xf0m\xc2\xa8'\xae\xdfh\x0aOKk\xa4\xf0\x96~3\xfb\xb9\x01\xe1O\x08o\xc4R\x08\xaf\x0a\x16\xc2;\x1bi\xc8_\\Yl\x9e\x8a\x0c5\x99Y;\xcb\xa8\xbc`\xe3\xf3\xe5b\xdc\xaeS\xd6~3\xaa\x1b[\xd3\xd2R\xab\x1fx\xf6\xec\x17-]\xe4\xcd\x95\xc2\x87\xfb\xcd\xec\xe7\xde>\xfcp\x99Wg\x87.|x)\x0a\xd0\xd4\xc1Bx\x87#\x0dm\xd1\xb6\x98\x83`\x93YDg\x19\x9dq\xe7\xe6U>#\xc42k\xbf\x99\xbe\xdfvO\xc8\x9f\xde\xa6\x1f\xf4\x8e\x95\xe7\xf0\xfd\xe5\x85~K\xbf\xd9t\xfb\xb9\x81\xde4!r?\xb0,E\x01\x9a:X\x08O\xceF\x1a\x90E\xb0\x10\xde\xe1H\x03\xb2\x08\x16\xc2;\x1di@\xf6\xc0BxB\xa4\x01\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2\xa7\x1ci\x8e\x9f\xfd\xf0|g\xe4\x9c\xce\x8f\xcf\x9e?\x8b}=H\x11\x16\xc2S\xaa\x91\xc6\x17\x1a\x1d\xdf\x87]<\x18\x04,\x84O9\xd2\x04\xe6\xe87\x1bf\x9eC\x86\x07\xe9\xc3B\xf8\x94#Mx|\xf1\xbd\xf0\xde\x1e\x80\x94a!<\xa5\x1ai:\xa5\xf0\x03\x92s\xc7o\xca;\x9b\x95\x00H\x00\x0b\xe1\xd3\x8d4}\x884`\x90\xb0\x10>\xe5H\x13\x8e1_\x9e\x8e\x9e\x0c@\x0a\xb0\x10\x9eR\x8d4\x92\x8bG\xf6\xed\xdb\xb7\xe7\xa0\xbc\xddw\xf08\x92<H\x0b\x16\xc2\xa7\x1ci\xa4\xfb\x7fxl\xc6\xb4G\x1e\x996M\xdeTW_F\xb0\x01\xe9\xc0B\xf8\x94#\x8d\x91\xde+v\xbf\xbd\xef\xed\xf7\xce\x1f\xdc\xf7\xf6\xdb\xbf~\x04I\x1e\xa4\x05\x0b\xe1)\xe5H#\x85\x9f-cL\xe7A\xf9p{\xc59\x99\xebq\xb2\x06\xa4\x0a\x0b\xe1\xd3\x8a4\xf2\xfc\x0c\xd1}_;H8W\x03\xd2\x86\x85\xf0iE\x9a\x17f|\xa8\x0f\xee\xbf\xe3\xa2~\xbb~\xe6\xd9\xe8u\x00H\x04\x0b\xe1)\x9dH\xf3\xdcc\x9dG\x1e\xff\xe5\xf7\xbf>\xed\xf1\xb5\x03\xdbg\\>\xbd\xa7\xef\xf4\x1e\xcb\xca\x1e\xa1\xb5\xe8w{]\xc2\x13\xb3\xbdh\x96\x8b\x9c\xa6ds\xc0\xe8\x82\x85\xf0iE\x9au\xd5\xb4\xe6\x8e;\xbe\xa6\xffw\xb7\xafyF\xf7\xeb\x15\xddoL;\x1b~Q\\\xadq\xc9\xda0wn\xcd\xd5\xc8-\x1d8F\xd1\x18%\xdb\x20\xab`!|Z\x91\xe6\xb9\xc7>?\xfe\xec\xda\xff\xfb\xf5\xeag7\x0fl\x9fy\xf1\xdc\xc1\xbes\x07oZV\xaa\x9b\xe3\xbaN\xd7r\xe7\xd4Em\xec\xd1%\x14\x0b\x84\xcf6X\x08O\xe9D\x9a\x17f\xc87Y\xef\x8b\x9b\xe1\xebj\xdcM\xb4\xab\xb2&Z\xf8\xa9\x8bc\xa6B\xf8\xec\x83\x85\xf0iE\x9a\x0d3?\xd6\x07\xff\xfc\x8d\x83d\x9e\xa5\x89~\xaf\xb5\xae\xa6a\x01\xcd\xd9!\x85\xbf\xb1\xb8X+\xa9:\xa9/l\x0d\x94\xe7M1\xa6\x9cYT\xa4\x15\xce\xb9\xa0\x8f\xb4\xa7V=\xe0\xaa\xbc@\x20[`!|Z\x91f\xc3\xec^}\xe03>K\x138\x0f\x1fA]\xcd\x05\xd7\x17\xe3/I\xe1[\xc5\xb2\x03MU9\xedD]\x87\xbc\xa5\xd3\xbd^\xaf,\x8b\xa4\x03\xae)/\xee\xf7\x08YU\xa9\x89\xc9\x8d-E\x0b\x08d\x0b,\x84\xa7t\"\xcd\x86\xc7\xb67\xefn>rz\xdf\xee\xe6\xe6'm\xdei\xad\xab\xa1\xb2e\x8f\x92\x14\xbe\xa7\xa9\x8b\xc8_6\xcfX\x1e\x8a4=%\x95\xb7\x88\xfa\x9b\xae\xe9c\xad\xf0\x0b\xa2\xda\x02\x02\xd9\x02\x0b\xe1\xd3\x8a4o\xcc\x9d9\xed\x11\x93i\xd5\x0bc?K\xa3\x0b\xff\xa2\xd8h\x08OW\x1b*'\xe5\x892cyH\xf86q\"4Y[F\xa8|\xcf*X\x08\x9fz\xa4\xd1\xb9|\xfc\xa0\xce\xdbo\xcb\xdb\xe36\xdf{\xd2\x85\xbf\xfa\xd4\x15C\xf8\xf6\xc2\x92\xa7[\xbc\xee(\xe1\xb7\x88\x9e\xd0d\xe3\xa0\x15\xc2g\x11,\x84\xa7\x94#M\x0a\xe8\xc2K\xa4\xf0\x93\xcb\xa5\xda\x8b,\xc2\xef\xfc\x94h\xbf\x08\x9f\x91\x87\xf0\xd9\x06\x0b\xe1S\x8f4)`\x11\xbed\x91>\xf0?l\x0a\xefv\x13]\x11M\xfa\x01l\xa1\xbb_\x7f\xbcb\x15A\xf8\xec\x83\x85\xf0iE\x9a$|Q\xe3\xbe\xa4\xdf]r\xd7|A\x1e\xb1\xb8\xe1\xf9\xa9\xa2\xe8\xc5wIj\xbd\xa5\xc5\xed\xfaL\x1f\x1d\x18\xff\xe0\x8e\xb6\x15b']\xf2j\xb5\xef\xfaO\xd4j\xdeKI\xb6\x0aF\x0b,\x84\xa7a\x8c4\x1e!\x9e\xd0\xef\x96\x09\xe1!\xff\x96R\xad`\xc9k\xa5\x9a\xfc\xb0\xc1\xad\x15\xf9\xb9\xd3\xdb\x8d9\x1f-.\xce+o\x91\x9f\xa5\x11B{\xdf\xa5\xdf.O\xb8M0z`!\xfc\xb0F\x1a\x00\x12\xc0B\xf8\x94#\x0d\xec\x07C\x84\x85\xf0\x94j\xa4\xe9L/\xcf\x03\x10\x0d\x0b\xe1S\x8e4i\x1e\xc0\x02\x10\x0d\x0b\xe1S\x8e4\x10\x1e\x0c\x11\x16\xc2S\xaa\x91\x06\xc2\x83!\xc2B\xf8\x94#M7\x84\x07C\x83\x85\xf0)G\x1a\x00\x86\x08\x0b\xe1)\xd5H\x03\xc0\x10a!|\xca\x91\x06\x80!\xc2BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a`!<\"\x0dP\x05\x0b\xe1\x11i\x80*X\x08O\x884@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x89\"\xcd\x9b_\x0d\xf8h\xa0O\xfe\xc3\xae\x1e\x0c\x19\x16\xc2S\x82H3\xf7c\x9b'\x00\x18$,\x84O\x18i\xb0[\x07\xc3\x08\x0b\xe1\x13\x1c\x9c\x1e\xdf7p\xfc\x0f\xbe\xc0\xbf\xd7-O$-\x15N\xa7\xa1\x18d\x0d,\x84\xa7\xf8\x91f\xcd\xb4\xee\xed\x81\x7f_\xbd\xf1\xa4\xe5\xb9\xa4\xa5\xc2\xe94\x14\x83\xac\x81\x85\xf0\x83;\xdf\x9e\xacc5\xad\x86b\x90%\xb0\x10~p\xe7\xdb\x93\x0a\x9fNC1\xc8\x12X\x08O\x83:\xdf\x1e.\x15\x0e\x17\x10\x13y+K\xb4\xa29%\xfe\x88\x86b\xf2\xef*w=\xb0\xba'\xb2\xa1\xd8\xba\x1a\xc8\x12X\x08?\xc8H\x13*\x15\x0e\x17\x10\xd3\xd1\xb1K[\xf6\xef,\x12\xb7#\x1a\x8a\xa96g\xc5\xdem\x05S\xfd\x11\x0d\xc5\x96\xd5@\xb6\xc0B\xf8AF\x9aP\xa9\xb0\xa5\x80\xb8\xa1\xe0\xb6\xbc\xcd\xf7G4\x14\xb7\x8a]\xfa\xd2v\xd1(\xd7\x0b7\x14[{\x8bAv\xc0Bx\x1a\\\xa4\x09\x97\x0a\x87\x0b\x88?+\x9e\xb8b\xe7\x09\xbf\xac\xe9\xb34\x14/\x99\xd4\x7f[\xa7\xb8VN\x0egxko1\xc8\x0eX\x08?\xc8H\x13\xaa\x9c\xb4\x16\x10_\xdf\xb1x\xb2(\xda\xe8\x8fh(.\x0b$wcg\x1e\x12>\xa2\xb7\x18d\x07,\x84\x1fd\xa4\x09\x09o)\x20n\xaf\xd3U\xbf\xde\x98\xdb\x10Q\xd8Z3\xe9\x98\x81qF>\xd4P\x1c\xd1[\x0c\xb2\x03\x16\xc2\xd3\xe0\"MHxK\x01\xb1G\xb4\xc9\xe7\xdc\xcb\"\x84o\x13\xc6\xbb\xb2\xf5\x1b\x8d\xe7\x82\x0d\xc5\x11\xbd\xc5\x20;`!\xfc`\"\x8d\xb5T\xd8R@\xec\x11\xae\xfa\xd6\x96Zq\x20\xa2\xa1\x98\xea\xc6\xd6\xb4\xe8K\xe5\xa1k\xb8\xa18\xa2\xb7\x18d\x07,\x84\x1fL\xa4\xb1\x96\x0a[\x0a\x88wM\xf7\x94h\x85\xee\x03\x91\x0d\xc5\xfa>\xde=!\x7f\xba\xb1\xf3\x0f7\x14G\xf4\x16\x83\xec\x80\x85\xf04\xa8H\x03@\xfa\xb0\x10~0\x91\x06\x80\xc1\xc0B\xf8\xc1D\x1a\x00\x06\x03\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1BxD\x1a\xa0\x0a\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"\xb8\x08\x0f\x80\x12X\x08\xaf\x87\xf7\xb7\xb7w\"\xc3\x83\xcc\xc3Bxdx\xa0\x0a\x16\xc2\x132<P\x04\x0b\xe1qZ\x12\xa8\x82\x85\xf0\x884@\x15,\x84'D\x1a\xa0\x08\x16\xc2#\xd2\x00U\xb0\x10\x1e\x91\x06\xa8\x82\x85\xf0\x84H\x03\x14\xc1Bx4n\x03U\xb0\x10>\x10i\x00\xc88,\x84'4n\x03E\xb0\x10^\x8f4\x07w\xf7\x1d\xd9\xec;\xf2\x92\xfe\xaf\xf7\xf8v\xeb\x93\xc7r\x8c\xf2\x8e\xd8\xee\xb1-\xe3\x7f+\xef\x92Vr\x03\x10\x86\x85\xf0\xfa\xce\xfd\x85\x857\xdf\xac\xee6\xff\xed\xf9\xa5\xf5\xc9\xdb\xefx\x1b\xc4\x16\xef;\xfd\xd1k\x95iF\x95A\xd2Jn\x00\xc2\xb0\x10^\xa7\xf7&}\xf9q\xe0_\xf7\xc5\xa8'\xdb\xc5;\xb1kt\xe5\xd4\xe4t\x19#\x08\x0fR\x86\x85\xf0\xc6\x1bO\x9d\xf1\x9f\xb7\x15\xde+\x8e\x89\x03\xc6\x08\xc2\x83\x94a!\xbcq\x96\xe6\xfc@o\xbc\xd3\x92!\xe1\xc35\xdbD\x9eb*6M\xd7V<Q\x9c_u&z\x02\x00\xb1\xb0\x10\x9e\x92\xbc\xf1\x14\x14\xdeR\xb3M\xe4^D\x8b\xcd\xae\x1aMLij,s\x9d\x8a\x9a\x00@,,\x84O\xf6Y\x9a\xa0\xf0\x96\x9am\xf2\xbb\xb6\xd0\xcb.cW\xaeM\xee!\xea)-\x8f\x9c\x00\x80\x0d,\x84O\xf6Y\x9a\xa0\xf0\x96\x9am:)\x0e\xf5\x1c\x12'\xe5P{F\xde\xee\x10\xd7\"&\x00`\x03\x0b\xe1)\xc5Hc\xa9\xd9\xa6m\xc6\xd9\xf9mr\xa9y\xd0\xaa\x1f\xc4FL\x00\xc0\x06\x16\xc2\xa7\x1ai,5\xdb\xb4hJ{{\xfb\x14Y-L\xda*y\xbbS\xdc\x88\x98\x00\x80\x0d,\x84O5\xd2Xj\xb6\xa9x\xb5~\xb3\xaaX>\xd6\x8ao\x11\xf5?\xe8\x8e\x9c\x00\x80\x0d,\x84\xa7D\x91&\xf0N\xeb\xe1~\xb2\xd4l\xf7\xb4\x89\xfa.\xea\xfa\x8dh\xbb%\xcf\xd2T\x1e\xde_\x9e\xff\x91u\x02\x00\xb6\xb0\x10>a\xa49\x11\xfe,M\xb8f{\xffX!\x9a\xa8E\x88\xb1\xfb\x89\x1e\xf4,\xce+\xae\x91=\xf3\xe1\x09\x00\xd8\xc2B\xf8d\x91\x06\x80\xe1\x82\x85\xf0\x84o<\x01E\xb0\x10>\xd9Y\x1a\x00\x86\x0b\x16\xc2#\xd2\x00U\xb0\x10\x9e\x10i\x80\"X\x08\x8fH\x03T\xc1BxD\x1a\xa0\x0a\x16\xc2\x13\"\x0dP\x04\x0b\xe1\x11i\x80*X\x08\x8fH\x03T\xc1BxB\xa4\x01\x8a\x80\xf0\x20\xab`!<2<P\x05\x0b\xe1\x91\xe1\x81*X\x08O\x884@\x11\xce\x0a\xbf\xc7\xd7\xd9\xeb\xeb\xeb\xd3\xff\x1d|\xb3S\xde\xf5Q_o\xaf\xaf7\xd9z\x00\x0c\x12g\x85?B>y\xa7g\x99M\xb3\xcf!\xd2\x80\xcc\xe3\xac\xf0\xbe\xd0\xa8\xf3\\x\x0c@\xc6pVxyb\xe6\xf8\xeeM\x1b\x9e[\xff\xec\xda\xf5\xcf\xad\xdf\xf0zs7\xce\xd5\x80L\xe2\xb0\xf0z\x8a\xd9\xbap\xf6c\xb3fU\xcf\x9f=k\xd6c\xd53.\"\xd8\x80L\xe2\xbc\xf0\x1b\xa6\x1d9\x7f\xf6\xfcM\xba|\xf6\xfc\xf9g\xa7!\xc9\x83\x8c\xc2@\xf8\x8a\x9b\xfa`\xdfJ\xf9pk\xc5\xb9\x81^\x94\x9a\x81\xcc\xe1\xbc\xf0/\xcc\xfcP\x1f\xfc\xe8\x8e\x83\xfa\xa3\xe7f\x9eK\xb6\x06\x00C\xc1y\xe17\xcc<\xab\x0f\xee\xbfC\xde\xae7\xc6\x00d\x0c\xe7\x85_?\xb7{\xf7}\xf7\xde\xfd\xb5\x1f\xdc\xf7\xf3\xbe7ft\x1e\xdc\xe0;\xbe9jV\x8b\xbc\x12\xd3\xc4\xe8+\xa4\xee/h%\x00\xd2\xc3y\xe1\xd7U\x0f\xac\xfd\xc6\xd7\xff\xee\x8eo|\xe3;\xbe\xe6\x19\xdd\xbb\xa3K\xcdt\xba\x0ey\xf3\x16\x9d\x8a^\xb7\xd5\xd5\x12\xbd\x08\x80$8/\xfc\x86\x8a\x8b\x9d\xc7\x8f\xdf\xfb\xf5\xed\xc7\xdf\xa3\x97f\x9e\xef>O\xdd\x97c'\x16\xad\x8e]\x86\x8bb\x83\xb4q^\xf8\x17f\x9c\xd6\x07\xf7\xca\x0c?\xb0~V\xbc\x0co'<\x00i\xe3\xbc\xf0\x1bf\xc9\x1d\xfa\xac\xefI\xed7\xcd\x8cwZ\xd2\x14\xde\xff\xca\x14\xd7\xc3\x0dr\xcf~=W\x88\x9cF\xb9l\xb9\xd0v\xaez\xc0Uy!v%\x00\xa2a\x20|\xc5\x97\xa1\x87\x9b+\xe2\xbd\xf1d\x0a\xbfT\xab\xdf[\xaf\xd5\xcaa\xbb\xd7;\xdeh\xfe\xf8K\xe38Q\xe0\xf9m\xde\x02\xdb\xf5\x00\x88\x80\x81\xf0\xf3\xd7\xac\x7fv\xdd\xd6\xd7\x9f{v\xdd\xfa\xf9\x8f\xc4\xfb\x1a\x88!|\x9b\xd1w`\xde\xea\xe4\x06\xfaY\xb5|}\xef^S`\xbb\x1e\x00\x118/\xfc\x9e'\xab\xe7\xce\x9e]QQ1{\xf6\xdc'Wv&\x12\xbe\xd6\xe8\x9a\xa7\x07k\xcde!\xe1\x97\xea7\x1e\xcdv=\x00\"pXx\x9d\xde\xce\xcb:_\xf5~\xae\xdfv~\x15o\x96!|y\x951\xae*7\x97\x85\x84\x97\xf7\x10\x1e\xa4\x82\xf3\xc2\x93\xf1!\xe1\xcd\x8fw\xc6\xf9`\xf0\xed\x0f\xe4A\xea\x04c\x0f?\xc9hh\x9d\xb8\xd4|\x06\xc2\x83\xb4q^\xf8\x01\x9f\xaf\xdb\xe7{|\xda\x11_w\x9f\xcf&\xcf\xbc\"\xbcDW\x8d\x82\xca\xbdB\x9e\x97i\x14{\xcdg\x20<H\x1b\xe7\x857\xe9\xee\x8c\xf7\xc5\x8f\x03bN\xcb\xae\xf2\x09\x9f\xc9qMN]k]N\x8d>\xea\x7f\xc7\xeb\x1d_\xeb\xf5\xde\xa0K^\xad\xf6]\xff\x89Z\xcd{)\xce\x16\x00\x08\xc1Bx\x1f\xd1\xf6'\xcfR\x9c/\xf9\xb5Lu\xe5W\xbdo\x0c\xfd\xdb\xca\\e\xc6y\xf8\xa3f\xd5\x99\xd8A\xcb\xf5[\xed}\x97~\xbb\xdc~}\x00\xc2\xb0\x10\xbe\x97H\x8f4\x84\x8b\x15\x80\x8c\xc3BxJ\x14i\x00\x18FX\x08\x8fK\xed\x01U\xb0\x10\x1e\x97\xda\x03\xaa`!<\xe1R{@\x11,\x84G\xa4\x01\xaa`!<\"\x0dP\x05\x0b\xe1\x09\x91\x06(\x82\x85\xf0\x884@\x15,\x84G\xa4\x01\xaa`!<!\xd2\x00E@x\x90U\xb0\x10\x1e\x19\x1e\xa8\x82\x85\xf0\xc8\xf0@\x15,\x84'D\x1a\xa0\x08g\x85G\xa9\x19P\xcc\xff\x0f\x19\x026\x1d6\x9ff\xc5\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/typeinfo-pkg.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x042\x00\x00\x03\xa2\x08\x03\x00\x00\x00\xb5\xb6\x07\xdf\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x03\x00PLTE!#\x20#$\"$%#&(%()'*,),.,/0.231463685;<:>@=BDAGHF\x00f\x00JLI\x00j\x02\x03l\x04OQN\x0dp\x0aSUR\x0cr\x17VXU,`\xae7]\xad8^\xae\x16w\x1d[]Z8a\xaa:b\xab;b\xac<c\xad`a_=d\xae?e\xaf@f\xb0*{!bdaAg\xb2)}*Bh\xb3Ci\xb4egdEj\xb5higMj\xb0Fm\xb2/\x82/Ol\xb1Ho\xb4Pm\xb2Ip\xb5/\x858Jq\xb6molKr\xb7Ms\xb8Nt\xb9pro=\x87<Ou\xbaXv\xb6tvs@\x8b?Yx\xb8Zy\xb9@\x8dG]{\xbbxzwI\x8dH_}\xbdX\x80\xbf`~\xbeZ\x81\xc1|~{`\x81\xbbb\x80\xc0N\x92Mb\x83\xbdM\x95U\x80\x82\x7fd\x84\xbfW\x95Vf\x86\xc1h\x88\xc2Z\x98Y\x85\x87\x84i\x89\xc3j\x8a\xc4q\x8b\xc1^\x9d]\\\x9dc\x8a\x8c\x89s\x8e\xc3d\x9deu\x8f\xc5\x8e\x90\x8dw\x91\xc7h\xa1hy\x93\xc9z\x94\xca\x80\x94\xc5\x92\x94\x91z\x97\xc6\x81\x95\xc6\x82\x96\xc7q\xa5r\x83\x97\xc8\x96\x98\x95\x84\x99\xca\x7f\x9c\xcb\x86\x9b\xcc\x80\x9d\xcd\x99\x9b\x98u\xaaw\x81\x9e\xce\x88\x9d\xce\x83\xa0\xcf\x88\xa0\xcb\x7f\xabz\x9d\x9f\x9c\x8a\xa2\xcc\xa0\xa2\x9f\x8c\xa4\xce\x80\xb0\x84\x8d\xa5\xd0\x8e\xa6\xd1\xa3\xa5\xa2\x82\xb2\x86\x8f\xa7\xd2\xa4\xa6\xa3\x91\xa9\xd4\x8c\xb4\x89\x98\xab\xd1\x94\xac\xd6\xa9\xab\xa8\x99\xac\xd2\x9a\xad\xd3\x8d\xb8\x93\x9b\xaf\xd4\xae\xb0\xad\x9d\xb1\xd6\x97\xba\x97\x9f\xb3\xd8\xa0\xb4\xd9\xa2\xb5\xdb\x9b\xbe\x9b\xb3\xb5\xb2\xa3\xb7\xdd\xa3\xbf\x9d\xa9\xb8\xd9\xa2\xc1\xa4\xaa\xba\xda\xb8\xba\xb7\xa5\xbd\xdb\xac\xbb\xdb\xad\xbc\xdc\xa6\xc4\xa8\xae\xbd\xdd\xaf\xbf\xdf\xa8\xc7\xaa\xbd\xbf\xbc\xb1\xc0\xe1\xab\xc3\xe1\xb0\xc7\xac\xb2\xc1\xe2\xb6\xc1\xdc\xc0\xc2\xbf\xb7\xc2\xdd\xb8\xc3\xde\xb2\xc5\xde\xb9\xc4\xdf\xb3\xc7\xe0\xba\xc5\xe0\xb2\xcd\xb7\xc5\xc7\xc4\xbb\xc7\xe2\xbc\xc8\xe3\xb7\xca\xe3\xbb\xce\xba\xbe\xca\xe5\xb9\xcc\xe6\xc9\xcb\xc8\xc0\xcb\xe6\xc1\xcc\xe7\xc2\xcd\xe9\xbf\xcf\xe2\xc0\xd3\xbf\xbc\xd0\xe9\xcd\xcf\xcc\xc7\xcf\xe4\xc8\xd3\xc1\xc8\xd0\xe6\xca\xd1\xe7\xd1\xd3\xd0\xc8\xd7\xca\xcb\xd3\xe9\xc5\xd5\xe8\xce\xd5\xeb\xcc\xda\xce\xd5\xd7\xd4\xcf\xd7\xec\xd0\xd8\xed\xcb\xda\xee\xd5\xdb\xd0\xd4\xd9\xe9\xd6\xda\xea\xd9\xdb\xd8\xd7\xdb\xeb\xd2\xde\xec\xdc\xde\xda\xd9\xdd\xed\xd6\xe0\xdb\xd4\xe0\xee\xdb\xdf\xef\xde\xe0\xdd\xd5\xe1\xf0\xe0\xe2\xdf\xdd\xe1\xf2\xdf\xe3\xf3\xe3\xe5\xe1\xda\xe6\xf5\xe1\xe5\xf5\xde\xe7\xef\xe5\xe7\xe4\xe6\xe7\xf1\xe0\xe9\xf1\xe7\xe9\xe6\xe1\xea\xf2\xe2\xeb\xf3\xe3\xec\xf4\xe5\xee\xf6\xec\xec\xf7\xeb\xee\xea\xed\xed\xf8\xe7\xef\xf8\xe8\xf0\xf9\xf0\xf0\xfb\xed\xf2\xf5\xf0\xf2\xef\xee\xf3\xf6\xf4\xf2\xf6\xf2\xf4\xf1\xef\xf5\xf7\xf0\xf6\xf8\xf2\xf7\xf9\xf3\xf8\xfb\xf7\xf9\xf6\xf5\xfa\xfd\xfa\xfc\xf8\xfd\xfb\xff\xf7\xfd\xff\xf8\xfe\xff\xf9\xff\xff\xfe\xff\xfc\x8c\xab\xeb\xca\x00\x00\x20\x00IDATx^\xec\xbd\x0fpT\xd5\xdd\xff\x7fu\x8d\x80\x80\x80\x88r\x02\x99\x8d!\x85\x87\x80~ML%\xa0\x86\xca\x17j\x11\xed\xfc\x8c\xa8\x93<\x0fc\xa4\xa2\x8fm\x9c\xaf\xd16T\xa0\xea\x83X\x91g\x88\x98\x87>t(\x14\x0a\xa2\xd6\x87\xa1\x8c\xed<\x86\xe1\xa9y\x06\xa4)jU\x08J\xad\x04\x19\x89\xd0\x82R\xadB\x88$s~\xf7\xdc\xbf\xe7\xde=w\xef\x9e\xdd\xbb\xd9\xbd\xbb\xef\x97#\xb9{\xf7s\xce\xf9\x9c\xb3{\xde{\xef\xb9w\xf7\xadP\x00\x00H\x18\xc5/\x00\x00\x00l\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09|$\xe3\x18\x00\x00p@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12\xc8H\xc6\x07\xbf\xf7\xa8D\x8a\xdf6\xce\xf8?\xd1\x92\x8a;\x9ey\xdf/\x12\x00\x90u$.\x19\x9f\xb4\\\xb5\xd4\xb3\x9a\x84\xd9\x7f\x071\x19\xd7\xe2\x17\x0c\x00\xc86\x12\x96\x8c\xdf\xcf$$u\xc9\xf8`\x06\xe1X\xe1\x17\x0e\x00\xc82\x12\x96\x8cz\x12\x84d,aJQRS?\xb7\x82mD\xff\xe0\x17\x0f\x00\xc8.\xfaY2&\xab\xb5,\xf8@\xdd8\xfc8\xd3\x8cF\xbfx\x00@v\xd1\xbf\x92\xb1\x9f\xe9\xc4\x07\xfa\xf6lusF\xfcp\x00@\xb6\x91\xa0d4\x9a\xcb\x0f\xcf/P\xff\xb9Y\xdf\xf9[u\xb3X\x15\x80(!\x15\xc7\xf67M+.\x9b\xfb\xbcY`\x7f\xd3\x8d\xe3\x8a+\xeb\xff\xcb\xd9\x9a&\x19F\xcc\xf3\x8d\x8d\x8dKD\xc1\x875-Yqm\xb4\xa2\x9e\xe9T\x9d\xbe\xf7\xad\xd1\xea\xf6[q\xa3?9\x06\x00H3\xd2\x92\xc1tb\xf4~kg\xfd1]2~;Y\x7f\xbe\xfe\xb0\xf6\xd4\x86qF|\xeda\xbe\xb5O\xd8\x12Fq\xa3\xebb\xad+X\x13\x81\xc7\xd8\xe3\x9a\xff\"\xba(\xa9,e\x8f\xe3G\x1f\x03\x00\xa4\x1bi\xc98VE\xccK\x1d\x15D?dP%c\xc2D3\xe0^\xf6\xcc\xf3\xa3\xcd\x87\xa4\xc6\xf1\xd9\xbfT\xdfY1\xff\xb9\xb7\xac}\xee`&\x02\x13\xb4}\xab>\xb9V\xfdW\xbf\x16{\x83\xba\xb5&~\xf41\x00@\xbaIP2\xfe\xf0\xfc\xad\xea\xa4\xbc\xf7\xf9\xe7\xf7k\xb3^;3\xf9ou\xe3*\xf6I\x1fe\x13\xb6l\xe9\xf3\xcd\x95lC=a\xf8\xa0L\xfd\xfb\x9du\xbf}z\x82\xfa\xb7\x99o\xee\xf0\xcd\xd6\x84\xbf\xf1\x19\xfd\xf0!&\xf8\xb0\xf6t\xd1w\xa6\x16\xee\xb7\x8f-~\xcf\x94\xe1\xb0O4\x00\x20\xdd$(\x19\xdc\xf2'[T\x18\xcd\x8e\x11\x9a\x88q\xc9\x83I\xc6D\xb6g?\xd3\x8c\xdac\xc7V0E`b\xf2[5v\x9a\xa3\xbd\x0f\xe6[\x9aA*\xb4\xe5\x88\x98`M\x04J\xd4\x93\x97\x9dj\x8dEFc\xec0\xe7\xff\xf9E\x03\x00\xd2\x8d\xbcd\x1c\xab!\xfa\x99\x09;i\xd0V%\xa2\xd6S-\xeaV\xe9'Z\x84~\x9a\xf0\x1du\xeb\x0f\x8e\x06\x8f\xfd\xfe_\xad\x93\x98\xe8o\x8d\xea\x1c\xc1\x9a\x08\xfc\xab\x11]\xabn?\xad\xee\x9bl4\x16?\x1a\x00\x90f\x92\x90\x8c_\xa8[\xb3\xf5S\x85\x1b\xb4\x1dL2\xfe[\xdbz\x8b\xcd\xdf\xb7\x8e1M\xa8kdLS\xb7~\xe1n\xf3\x93\xff^ZS\xa2i\xc6\xb5\x9f\x1c\x8b\x0d\xd6D\xc0,\xf4<\xd1.\xc5\x1a\x7f\xfc\xa2\x01\x00i&\x09\xc98<A\xd3\x85&kG\x94\x18\x97?\xf5\xf9\xfb{}y\xc1Bx[\xf8\xe1uS\xd9s\xffu,6X\xdb\xf3\xdff\x1c[c\xfd\xc3\xb1\xf9F=>\xd1\x00\x804\x93\x84d\x1c\xfbWm\xb2N3V\x19t\xc9\xf8\x83\xb6\xa5\xcd\xdf\x9d\xaey\xcd\xdd\x00\xf6\x8b\xa5\x8d\xf5\xe6\xad\x1b\xfbK\xb4jb\x83\xb5=\x7f0\x8b\xb0[\xcc\x97\x1c.1.\xb6\xfaE\x03\x00\xd2K2\x92\xc1.\x95\xdc\xfc\x07b\xdd\x09\xc1$C\x17\x02\xe3\xc4\x84\x89\x81\xeb&.\x1dv\xc7g\xbd\xf9\x80]6m:\x16\x1b|X\xaf\xc4\x80\xad\xb6\xde\xf0\xbcU\xce'\x1a\x00\x90^\x92\x91\x0cv\x80A\xd8\xa1\x86\xf1\xedu&\x19\xffO\xdbb\xcb\x9fe\xfa\xca\xe4O\xb5\x1d\xff\xe5\x9c\xcc\xecd\xc6\xfc.\xda[\xac\xd8\x0aA\xb0K\x04\xd8\x82\xe7\xcd\x96P\xf8E\x03\x00\xd2J\xc2\x921_?&\xd00n\xc8*1\xee\xecds?\xca\x96\x13>\x98\xaa\x1f\x0d\xb0\xaf\x9cMf\xe7\x11\xea\xf1H\xe9\xcd\xdc\xfd\x12\xec\xd0\x84ThG$\xbfg\x07\x19d\xa7\x20X\x13\x01\xbb\xd0/\xf4\xc6*\xf5[\xc2\xfc\xa2\x01\x00i%a\xc9`G\x15\x13\x97\xfc+\xbb,z\xec\xadBm\x16\xcf7\x9e\xd2n\xe5*nZ\xb7\x82\xdd\x18J~k,S\xccx\xfe\xad\xe7\xd9\xda\xa5\xe3>\xeez\xad`\xf9\xcds\xa7j\x1bs\x8f\x09\x82]\"p\xb8L\x0b}\\\x7f\xe4\x17\x0d\x00H+\x09KF\xb36q\x8d{9\xe7j\xdb\xe6\x9a\x02\x93\x0c\xfd\xa2)1\xceP\x9e#\x16\xe3\xfe\xc07\xf7\xfe\x0d\x84\xa3j\xbf(\xd8-\x02?d\x8fG\x9b\xe7\x1e~\xd1\x00\x80t\x92\xb0d\xbc\xaf\xdf\x80\xa5\x9f\x9bh'\x0b\xe5\xe6\xb7G\xb4\xe5\xcf*}\x1a/\xd0OV\x9aM\x09\xf9?\xbfu\xb6\xb7\xbf\xce\x9e\xf2s\x0d\x19p\x05\xbbE@;\x9b\x99k=\xf4\x89\x06\x00\xa4\x93\x84%\xe3\xd8\x1f\xea'G'\x1b\xdfng\x17=\xc9\x0f\xcdg\xb4\x8b\xac\x1f4M\x8dr_~\x7fk\xc9\x8c\xb2\xa2\x097/\xfd\xe0\x98\x9b\xdf7~gr\xb4\xb8\xe2;?\xb4\xc5\xc4\x19\x1c#\x02\xec\xeb-\xeb\xec\x87>\xd1\x00\x804\x92\xb8d\xf0\xecd\xf3\xd4\xfa\x0a\xbb}_\x06\x00\x20\xc7IJ2>ak\x19\xf6\xd7\xcd\x20\x19\x00\xe4\x0d\xf2\x92\xf1\x8b_<\xc7n\x95\xe0\xee\x03\x87d\x00\x907\xc8KF\xad\xbe\xf8Xa\xff\xdc\x16$\x03\x80\xbcA^2\xfeUS\x8cq\xdc7\xc1\x20\x19\x00\xe4\x0d\xf2\x92\xd129Z<\xad\x81\xbfE\x1b\x92\x01@\xde\x20/\x19\x00\x80<\x06\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\xc0G2\x00\x00\x80\x07\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x20e\xc9\xf8\xfcD\x17\x00\x20oHQ2\xbe\xf4\xab\x1f\x00\x90S\xa4&\x19P\x0c\x00\xf2\x8c\xd4$\xc3\xafv\x00@\x8e\x91\x92d|\xeeW;\x00\x20\xc7HI2\xb0\xf2\x09@\xbe\x91\x92d\xf8U\x0e\x00\xc85\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x09\xd0\xe9\x17\x00@\xde\x00\xc9\xf0c\xef\x94A\xcax\xbf\x20\x00\xf2\x05H\x86\x1fC\x87>\xbcr\xb7_\x10\x00\xf9BVH\xc6\xf6\xb1\x03\x07\x8cZ}\xf1Z\xbf\xb8L\xb0]Y\xe9\x17\x02@\x1e\x11\xb0d\xac\xde\x14\xbb\xcf\x97M\x91+\x9e\\<^Q\x9e\xf0\x0b\x94F&\x1d\x8f\xd8MJV*\x19\x00\x19\"`\xc9\x189)v\x9f/c/g\xffNI\x83d\xc8\xa4\xe3\x11\x0b\xc9\x00\x80'`\xc9\x18.1G-\x86\xdc\xc6\xfe\xdd\xae<\xe9\x17(\x8dL:\x1e\xb1\x90\x0c\x00x\x82\x94\x8c\xe5\x8a\xcep}\xf3\xb6\xaey\xea\xbfOLW\xce\xbf\xff\xba\xc1\x03\xafxU\x8bytd\xc1\xd0Y\x1d\xcer\x93.\xda\xae\x15\xef\xe0\x03^:_\xad\xe1\xd5+\x87\x14\x8c\xed|B\xadf\x9e^\x998\xc0Q\xdb\xda\xb1\x83#\x03\xc7\x0ev\xa4\xc3\xc5NW\xce[\xdc\xf5ZD\x19\xaa\x05\xbf6~`d\xd0\xd8\xdd|\xac\x8b\xd5\x90\x0c\x008\x82\x94\x8c\x8e\xb5\xab\x87\x8eZ\xbdz\xf5\xabls\xf0u{\xbb\xf6\xde5`m\xc7\xf6\xc5\xe7+\x83\xe7\xcd\x1b\\\xc0ta\xcay\xd3\x97\xdf?p\xb8s\x92\xef\x1e|\xde\xd8yk\xf5}V\xc0_\x9eX<x\xe8\x85\x83g]\xa9\xec\xeeX;\xe06\xa32q\x00_\xd9&e\xca\x93+\x1f\x1e\xa8t\xf2\xe9p\xb1\xbbWG\xeeRueJ\x84\x05\xaf.\x18~\xcf\xca\xbb\x94{\xf8X\x9e\xce\xbd\xabG\x0ep\x09\x1c\x00yM\x90\x92\xd1\xc5\x1f\xdd\xdf\xc5>\xb0\xa7La\x9b\x91!\xea\xac\xeb\x18<\x92}\xf0?\xda\xc5f\xf5bg\xa9\x8ey##\xca\x00v\x08\xe1\x08\x18\xae\\\xce\x0a\xb2zX\xb5WN\xf1\x0e\xb0yp\x20\xd3\x9e\xfb\x07h\x0f\xb8\x93\x0d;\x96IF\xd7]L2\xfe2\x98\x1d\xa1t>\xd1\xe1\x8a\xb5\x18\xaf\x1ex,\x8f\xdd\x0d@\xfe\x926\xc9\xd8\xadl\xef\xea\xbcP\xbb@\x19\xd1\xd6*\xeeW:\xba&\x0d\xe9d\x0c\x9e\x12S\xb0s\xe5X69\x1d\x01\xc3#\xe6\xf1\xc3\xea\x82\x8e\xae?\x17\xac\xee\xf2\x0c\xb0\xd9}\xd1\x90\xe9\x0f\xbfd\xdc\xb0\xc9K\x86\x15kK\xc6r\xe5%\xbb\xa0H2v\xaf|p\xe8@\x1ce\x00`\x936\xc9\xe8\x1a;\xabk\xe5\x00m\xe6js\xb4k\xb5\xb2I\xfd\xa8\xd7q\xdeM\xb9I\x9f\xcc#\xaf\xe8r\x06\x0c\xb7V\x16:\x07>\xd9\xb5\\;|\xf0\x08\xe0\xe8xp\xd2Pe\xd0=\xda6/\x19V\xac-\x19\xf7+\x7f\xb1\xcby,\x7f\xb2\xb4\x01\x00&\xe9\x90\x8c\x875\x09P\xa7\xb8~^\xd2\x15\x99\xc5\xfe}X=\xca\xb8r\xc8&\x8dw\x1d\x85.\x9a\xae\xfd\xb9mH\x973`\xb8\xad,\xd3\xc7w\x8d\xd7\xa2\xbc\x02,6\xcdQ\xff\xe9X\\\xf0\xa0\x16`\xa7c\xc7j\x92q\x1b\x93\x8c\x951G\x19\x0f\xc7\x1c\xb6\xe0\x8a\x09\x00<\x01K\xc6\xa8Q]]{\xf5\x1b,:\x07.\x1f\xb8Z\xdb\x19\x19\xc4V\x11\x86\x8cbsT{\xea\xb6y\x8eB\x03\x07\xeb\x8b\x09\xe3]\x01\xdc\xe7\xfe\xda\xc8\xee\x886u\xbd\x02,\xee\xd2\xef\xd6\x1cu\x9d\xf6\xaf\x9d\x8e\x1d[\xa0\x8aJ\xe7H&\x19\x1d\x17\x8dbG.\xd3g\xb9by\x20\x19\x00\xf0\x04,\x19wE\xeeY~y\x81\xfeQ=g\x88~^\xd2\x15Q\x86?\xf1\xf0\x90\x01\xaf\xb1}\xca\xa4'\x96Oq-\x7f\x0eT.\xbak\xe5\x93\x97\x17\xbc\xca\x07t\xea\xd70^3b.\x1a{\x91\xbe\xe1\x15`r\x97Rp\xd7\xf2'\xa7(\x9aZ\x99\xe98bG\x0d\x9c7o\xa4r\xfe\xa3\xdb\xd5\xb3\x8e\x0b.~p\xf9t\xe5a>\xd6\x05$\x03\x00\x9e\x80%\xa3s\xfa\xc0\x82Q\xc6\xc9\xff\xab\xcau\xfaFd\xd6\x94\x01\x17]\xa9O\xc6\x95\x97\x0f\x1c0\xca\xf5\xad\x8d\x91\x0f\xdf6\xb4\xc0\xbcq\xc3\x0cx\xe9<m\xcdb\xac\x11s\x7f\xe4\x1ec\xcb#\xc0\xe4\xd1Q\xf3\x06G.\x1a\xa5\x1f\xdf\x98\xe98b_\x1dUp\xe1\xd8\xdb\x14\x85\x9d\xe8\xbc:i\xf0\x85#\x9ft\xc4\xba\xd8{\xfe\xa4\x97\xf6\xe2\xdb\xef\x00\x18\x04,\x19<\x1d\x11}\xde\x1a\xcb\x9fae\xf9P\xf7r-\x00yL\x1a%\xe3\x89\x81\xc6\x87s\xb8%C=\xd0xi\xaf_\x08\x00\xf9B\xba$c\xde\xea\xae\xcbM\xa5\x08\xbbd\x00\x00,\xd2$\x19\x7fV\x86O\xbfH\xbf\x07j\xf7\xea\xc8\x14\xac\x20\x02\x90#\xa4I2\xba\xee*\xb8\xdc\xf8\xbe\xc6tEQ\"\xee\xeb\x1a\x00\x80p\x92.\xc9\x00\x00\xe4$\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x99\x96\x8c;\xef\x14m\x02\x00\xb2\x94\x0cK\xc6\xff\x0e\xfb\x9e`3E~y\xd9\x7f\xfa\x85X\xbc\xf7\xcf\x97\x8d\xf8\xbf\xfa\xd7\xe7\xccbw\x0e\x1b6\xec\x92\xd7\xe3\x94\xf1\xe6\xf5\x11\xc3\xfe\xc9/&3\x083\x13t\x9e\xc35\x0e\xd9\xdb7\xd0\xafdX2n\x1f\xf1'\xc1f\xa2\xfc\xeaw\xc2\xdd?\xbf\xe4Y\xe1~\x11\xdf\xba\xec\xa9;/yO\xdb4\x8b\xfdq\xcb\x96\xa7\x86m1\x9e\xf7h\xc2\x8b\xdf\xdc9\xc2/$\xbdx\xe6+\xcaL\xd0y\x0e\xc78teA\xdf@V\x90Y\xc9x}\xd8\xdd\x82\xcd\x84\xb9\xfa\xbb~\x11~\xbc7\xec\xdf\xba\xba\xb8\xdf\x0c6\xf8\x8d5Ud\x9bx$\xc3\xd3\xca;\xdf\xd8\xcc<:\xcf\xf1\x1b^22\xde7\x90\x15dV2\xee\xb4\x8f,\xee\x94?\xc8\x90\x9e\xcf\xb1\xbc>Lx\x0e\x93\x1f\x92\xe1\xd1y\x0eH\x06\x88!\xa3\x92\xf1\xfa\x88\xbb\x05\x9b\xf6\xd3\xdf\xbdl\xc4e\xffWS\x92\xa7\xae\xbe\xe4\xea\xa7\xd4\xbf\xff2l\xc4Sw\x7f\xe3\x92o\xfd\xb1\xab\xeb?\x87\xe9\\\xad\xee\xee\xf8\xee\x98\x11c\xbe\xad\x1d\x93\xbfw\x89\xbaO;\xc8\xe6b\xbb\xba\xb6|k\x8cZ\xd7\x18G\xfd\x9d\x97\xe95\xdc\xed(\xc60\xa6\x0a\xdfDW\xd7\xb3\xd7_\xf2\x8d\xef\xa9\x1f\xca\xbf\x1b1l\xd8\x0f^\xbf}\xcc\x88our{\xbb\xba\xfet\xfb\x98K\xbf\x1b{\xf0n\xa6\xee,f\xf2/\xacU}\x99\xc0\x91\xafU\xef\xff\xa8\xc5\xbe\xdd5f\xd8\xb0K;\xd5\x80\x7f\xbbs\xcc\xa5\xdf~\xdd\xab^q\xbe\xe2\xcc<;o\x17\xe3$\x83\xabA4\x92\x20\x8f\xc8\xa8d\xdc9\xe2\x8f\x82M\x93_]r\xf5\x8f\x7f\xf9\xc8\xb0\x9fh\xcf\xfe\xe0\xe7?\x18q{W\xd7\xff>;b\xd8e\x8f\xfc\xe4\x12\xf5\xb3\xf4\xcf[\xb6|\xe3\xfa-[\xb6\xbc\xae>\xff\xf3aw\xfe\xea\xd9o\x0f\xfb\x0d+\xf6\xbb-[F<\xc26\xb8\xd8\xae\xdf\x0d\xbb\xfd\xd9_>u\xd90\xe7\x8fx\xfen\xcb\xb3\xc3\x1e\xd9\xb2\xe5O\x8eb\x0cc\xaa\xf0Mt\xdd9\xec\xee\x9f\xff\xdbeWwvu>\xfb\xec\x98o\\2\xe6\xee\xdb\x87\xfd\x91\xdb\xdb\xf5\xfa\xa5\xdfx\xea?\xbf5\xcc-\x19V\xea\x8eb\x16\x7f\xd2Z\xd5\x96\x09\xf8|\xb9\xd6~\xf3\x88\xda\xaf\x7f\x1f\xf6\xec\xef\xb4\x801?~d\xcc%\xff\xe3Q\xaf8_\x8f\xcc<:o\x17\xeb\xb2%\x83\xabA<\x92\x20\x7f\xc8\xa4d\xfcq\xc4?\x0b6M:\xc7\xb0\x8f\xe3\xceg\xdf\xeb\xea\xfa\xe5\xb0_v\xb1\x7f\x7f\xae\xfe;\xe2Ru\xc6\xdd~\x99\x16b\x1d\x85\xff\xe5\xd9\xbf\xf0\x0f\xcd\xb7\xbf\x1d\xfb\xd4e\xec-\xfe\xd4\xa5].\x1c\xc7\xe61\x92\xd1\xc5\xd5\xf9\xf3a\xff\xae=\xa1}\x18_=\xec[\xba[#\xb7\xf7\xfao\xa89t^\xed\x9a\x98|\xeav1\x1e\xadU\xfd\x98\xdf\xce\xd7\xd1\xda\x9d\xdf|o\xcc\x8f\xf5\xd81j\xe1\xf7\xc6|\xd3\xbb^Q\xbe\xe2\xcc\xc4\x9dw4l\x8d\x03W\x83\xd7H\x82|!\x93\x92\xf1/#^\x17l\x9a\xfc|\x98\xb5\xf8\x7f\xa7~u\xef\x9f\xd8\x8d\x1b#\xd8?\xc6Y\xb5}\xe2\xfe\xdeS\xdf\x1as\xa9q@\xceI\x86\x15\xfb\xc71c\xfe\xe5\xa9\xdfu\xc5|4&.\x19\xdf\x1d\xa39;\x8e\xd1n\x1e\xb9\xda<&\xb2\xf7\xbe7\x8c\x9d%t\xfd\xc051\xf9\xd4\xedb<\xbcdX\xf9:Z\xeb\xbc\xfa\xb2o\x1b\xb1\xdau\xe8\xa7\x86\xbd\xe7Y\xaf\x20_\x8f\xcc\xc4\x9dw4l\x8e\x03_\x83\xd7H\x82|!\x83\x92\xf1\xa7\x11w\x0a6-~b\x1f\xfb^\xaf\xcf\x98o\xab\x9f\xae\xfc\x0c\xb3\xe7\xc7o.\x1b\xf3\xbd\xff\xd8r}\x8cd\xd8\xb1\xef=\xf5\xdd\x7f\x1av\xd9\x8f\xbb\\$.\x19W\x1b\xeb\x04\xda\xe3\xab\xaf\x8e\xd9\xfb;\xbd\x88{\x89\x90O\xdd.\xc6\xc3K\x86\xb5\xe9h\xad\xebY3\x1d=\xc3-\xaa\x98z\xd5+\xc8\xd7#3q\xe7\x9d\x0d\x1b\xe3\xe0\xa8\xc1c$A\xbe\x90A\xc9\xb8{\xd8\xeb\x82M\x8b_qG\x19\xfab\x9b\xf6\xd1\x17#\x19O\xa9\x9f\xb0\xff\xf4Mvb\xf2]o\xc9\xf8\x1d\xfbx~\xef\xd9\x11Ou9IL2X\x13\xb7\x8f\xf9\x9d\xc6{\xd6^\x86\xbd\xd7\xf8$v/\x7f\xf2\xa9\x8b/gh\xad\xfe\xc0%\x19\x8e\xd6\xfet\xd9\x0f\xc6\xe8wO\xe8k\xc4O\x0d\xeb\xf0\xacW\x90\xafGf\xe2\xce;\x1av\x1de\xdc\x19o$A\xbe\x909\xc9\xf09\xc8\xe8\xfa\xcbe\xd7\xb3\xc3\x8c\xbb\xeff\xe7(\xec\xd4\xfaY}-\x83\x93\x8c\xeb\xafW\xcb\xb2\xe7\xc6\xb0\x89\xd2y\xb5\xb7d<\xa2\x9d\xfaw]\xef^1\xf1\x95\x0c\xab\x89_\xea\xa7\xf7?\xd0>^\xad9\xca\xed\xfd&\x9b\xd6\xaf\x8fpML>u\xb1d\\\xa2\xce\xc1\xceo\xba$\x83o\xad\xf3\x9b?\xe8\xbaS\xbf\xcc2\xe22U\x1a\xff<\xe6z\xefzE\xf9\x8a3\x13w\xde\xd1Mk\x1c\xb8\x1a\xbcF\x12\xe4\x0b\x99\x93\x8c\xef\xd9G\x16\xdc&\xc7\xafF\xfc\xd3S?\xbf[\xfb\x80\xbb}\xd8\xf7~\xfe\xbda\xb7k\x17\x18\xee\xfcM\xd7\xef\xee\x1c\xa1\xad\xf4?2\xe2'\xff\xf1\xadK\xfe\xc8\xde\xc7\xdf}\xea\xc7W\xab\x87\xcb\xbf\xe9\xea\xdc\xb2E\x8d\xd9\xb2\xa5\xc3\x11\xfb\xc8\xb0K\x1e\xf9\xf9\x7f\xdc9\xecW\x8e\x16\xf4\x8b\x06\xdau\x16\xbb\x98~\xd7\xe3O\xb6l\xd1\xd6\x07\xac&\xd4$\xff\xbfg\xd5\x1a\x9e\xed\xea\xfc\x8dv]\xe2u\xad\x0ako\xd7\xff\\2\xe6\x91\x1f\\:l\xc4\xbf\xff\x8f\xa3\x0d+uG1\x8e\xeb/\xfb\xf1\x8f\xbf\xc9\x8a9\xfaf\xb7\xb6\xe5\x9f/\xfbc\xd7\xeb\x97\xde\xbdE\x15\x8d\x11\xc3\xae~\xf6\xa9o\\\xfa\xbaw\xbd\x82|=2\x13w\x9e+\xc6\x8d\x03W\x83x$A\xfe\x901\xc9\xf8\xd3%\xb7\x0b6\x1d\xbc\xfe\xdd1\x97|\xf3?\xb4\xcd\x7f3nB\xf8g\xf54{\xc4\xff\xb0\xdb\x08\xd8\xa7\\\xe7\xdd\x97\x8e\xb8\x9e\xbd\xe9;\x7f\xf2\x8d\x11\x97}\xf7\xa9o\x8c\xb8^=\xef\xd6y\xca\x11\xfb\xec\xf5\x8f\x8c\x19q\xd9\xf5\xce\xf7y\xe7\xa5Z\xa4\xb6\xf2j\x17\xd3\xbe[a\x9d\xce[M\xa8\x1f\xc0\xd7_v\xe9\xf5?\xb7B\x8d\x15Is\xaf\x9a\xee\xb7/\x1d\xf3\xbd\x7f\x1f1\xcc\xf5\xf9k\xa6\xee,f\xf3\xfa\xf5#.\xf9\xd6\x0f\xd4$\x9d}3\xeb\xfd\xe50v\xef\xc4\xdd\xea\xbf\xbfb\xcb\x9fw^:\xe6\xf6?\xc5\xa9W\x90\xaf83\x8f\xces\xc5\xf8q\xb0k\x10\x8e$\xc8#2&\x19?\x18\xf6\xbf\x82M\x10\x17\xfb\xd4\x09\x80\x0c\x911\xc9\xc0\xb7\xde\x93\x00\x92\x012N\xc6$\x03$\x01$\x03d\x1cHFx\xd0\xd7G\x01\xc8(\x90\x8c\xf0\xf0\xcf\xe6r%\x00\x99\x03\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x20P\xc9\x98\xa4\x0c\x9c\xb2]\xd4\x0a\x00\x20G\x08T2v\xaf~t\xe8\xc0\x0eQ3\x00\x80\xdc\x20P\xc9PY\xad\xbc$\xd8\x0b\x00\xc8\x11\x82\x96\x8cM\xcaZ\xc1^\x00@\x8e\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x10\xb4dlWV\x0b\xf6\x02\x00r\x84\xa0%\xa3s\xe0\xc8\xb5\xbb\xe1\x8b\x03@\xae\x12\xb4dt\xadT\x14\xe5\x0a\xd1\x13\x00\x80\x1c\x20h\xc9\xe8\x188\xe4\xfe\xd5\xaf\x09\x9e\x00\x00\xe4\x02AK\xc6&e\xa5`/\x00\x20G\x08^2p\xc5\x04\x80\x1c\x06\x92\x01\x00\x90\x20h\xc9X\x0b\xc9\x00\x20\x97\x09T2:wo\x9a\x14\xd9-j\x06\x00\x90\x1b\x04*\x19\xe3\x15e\xf0rQ+\x00\x80\x1c!P\xc9\xd8\xfb\x12\x0e1\x00\xc8m\x02\x95\x0c\x00@\xae\x03\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x90\x92d\x9c\xf0\xab\x1d\x00\x90c\xa4$\x19\x9f\xfb\xd5\x0e\x00\xc81R\x92\x0c\x9c\x99\x00\x90o\xa4&\x19_\xfaU\x0f\x00\xc8-R\x93\x0ch\x06\x00yF\x8a\x92A\xe9\xe7X\x03\x05\x20\x8fHY2\x00\x00\xf9\x04$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20A\xca\x92\xb1\xf6\xca\xc1\x91\x01\x17\xdf\xb6\xd7/.\xe3t\x9e\xf5\x8b\xf0\xa0S1\xb8`\xc8\x94\xddlG\x87\xf182\xf8\xcaMV\xd0\xbc\xe1\x05\x91\x8b\xc6\xafu\x95\x0d\xcd\xe8\x00\x90\x20)J\xc6\xd9\xf1\xc6\xf49\xff~\xbf\xd0\x0c\xf3`\xc1\xe7~!\x1e\xa8\x92Q0@\xe5B\xd6\xcf\xd5\xd4\x96\x0c\xc6<=\xe6\xd1\x88\xf1x,\xdfJxF\x07\x80DIQ2\xe6(\x05\x0f\xbe\xfby\xe7K\xea\xdcX\xe9\x17\x9bQ\xce*J\x0a\x92\xd1\xa1m|\xbd}\xa8\xc2\x84G\x95\x8c\xbd\x9f\xabt\xbd:VQ^e\xcf\xccR\x94\xf1/u}\xb9\xf7\xae\x882\xeak\xbbdhF\x07\x80\x84IM2>\x8f(\xc6\xa1\xf8\x14eH\xfc\xd0\x0c\x13\x84d\xa8b\x11Q\x9e\xd0$\xa3S\x7f|v\x882E\xfd\xb3ZQ\x16\xeb;^R\x94G\xad\x82\xe1\x19\x1d\x00\x12&5\xc9xM\x89\x18\x1f\xaa{\xadi\x94\x9d\x04#\x19t\xa4r\x1b/\x19\xf4\x1ee\xb0Z\xf7\x20e\xba\x190\x9d\x13\x87\xf0\x8c\x0e\x00\x09\x93\x9ad\xec\xb5g\xd3\xea\xed_\xb2?\x9d\xb3\x86D\x06\x8e\x7f\x89m>\xaa<\xfc\xd2\x90\x82\x91s\x94\xf1z\xc4u\xca]\xc2\x00\xb3\x06\xfb!\x17\xb3X\xb9\xe7\xdd\xf1\x03.\x1c\xb9\xdc3\x82vL\x1f\x1c\x190\xeaQ}u\xd3Q\xf4\xfe\x13\xb3\x06G\x86\xdcv\x82\x9d\"0v\xbb\x82\x0d\xd6N\xba(R0\xf4\xb6.W\x19\x13^2\x86+s\x1c\x92\xf1\x84r\xa1Z^Q\xfeb\x06t\xdc\xff\xaaU0\xd0\xd1\x01\x20;HM2\xe8\x10e\xe8Z\xee\xe4\x9d\xbeT\xa0D\x86\x0f\xd1W\x05\x1fU\xe6\\\xa0(\x05\xef*\x11\xed\xf3\xfd\xec\x85\xca^a\x809}\xad\x87|\xccbeRAd\xec\xa8\xf3\x94\xeb\xbc\"\xf6^\xa8\x0c\x18>TQ\xc6\xba\xdb_\xac\xcc\xbaH\xb9p\xa0\xa2\x0c=K\x97OR\x94\xf1Wv:\x83\x0d\xa6+\xcaE\xc3\x07\xa9\xff\x9cp\x961\xe1$c\xb7\xa2,wH\xc6]\xcaPJoc\xff\x88\x08rt\x00\xc8\x0eR\x94\x8c\xed\x11E\x190\xfe\xd1\xdd\xc6\xc3\xce\x0b\x959\xea\xc7\xe9\xf6\x01l\xb9\xefQ\xe5\xbc!\xab7=\xa9\x1e\xcck\x87\x08\xab\x95\xe1\x1e\x01\x06\xe6CG\xccbE\x19\xf2g\xf5\x18\x7f\x00\xabD\x181^\xb9M\x9d\x96\xbb\x07\xb0u\x03w\xd1\xa1\xdb\xd5c\x80\x88\xf2\xa4ub\xc2\x07\x1blR\x0a\xd8\xa7\xfa\xf6\x02\xe5AW\x19\xb3S\x86d\x9c\xed\\>H\x19r\x96\x97\x8c\x13\x83\x94Y\x94^\xa1-h\x08\x08rt\x00\xc8\x0eR\x94\x0c\xda1V;\xe4\x1f4\x87\x1d\xd6\xab\xc7\xffWh{W\xb2\xcf\xddG\x15E\xbb\x1f\xe1\x09\xfd3\xfdJ\xe5a\x8f\x00\x03\xf3\xa1#f\xb1\xb1s%[#\x10F\x0cV\xb4)\xf9\xf0\x95kc\x8bjS}:[i0$\x83\x0f6\x98\xa3\x9d\x11\xb0\xbf\xd3]e\x0c\xac\xfb2T\x86\xb0gU\xc9\xd8}B\xa5c\xe5\xc5J\xe4]\xb6\xc01\x87\x8a\x09pt\x00\xc8\x0eR\x95\x0cuF=q\xa5z\x20\xaf\\\xc8\xeej\x1a\xac\xdd\xb7\xa0N\xd0\xf3\xd4\x99\xf7\xa8\xb1\x12x\"r\xde\x09v\xf9\xe0\xbc.\x8f\x00\x03\xf3\xa1#f\xb12J\x7f\x10Q\xde\x15G\x8cUFn7\x8f\xfe]E/\xd6\x1e<\xacL\xb2$\x83\x0f69\xab\x1f\xfb\xdf\xc3\x8e\x15\x1ce\x0c,\xc98\x7f\xd2r-\x94\xbb/\xe3\xbc\xe5Z\xa5^\x92\x11\xe0\xe8\x00\x90\x1d\xa4.\x19\x8c\xbd\xf3\x06(\x05\x9d\xf4sE\xb9x\xa4FD\xd9\xa4\xbe\xe7\x8d\x15\x83I\xec\x12\xe4r\xf6\xc8#@\xc7x\xe8\x8cY\xcc.Q0.V\xcf%\x84\x11\xaf\xb2\xa3\xff+\x97\x9f\x10\x14\xd5?\xb3\x9f`+\x8c\x86dp\xc16g\xb7?9o\xd2`E\x97\x0c\xae\x8c\x81*\x19\xef~\xfd\xf5\x97\x9b\x86*c\xf5r\xa6d\\x\xf1,\xed8`\x8ar%\x8dG\x20\xa3\x03@v\x90\xa2d|m~dw^\xa4\xcc\xa3]\xf6\xc7\xafz6\xfe\xa89\x93\xd6\xb2#\x85\xb1\xec\xfc\xdc#@\xc7x\xe8\x8cYl\xde_9\xd2.\xe0\x8c\xa0{\xa7\x14\xa8\x1b\xe7O\xff2\xa6\xa8~\xa4\xc0K\x06\x17l\xf1\xf0\x20\x16?|\x94.\x19\\\x19\x03s-\xe3\xc4`e\xb8V\xac\xc3u\xc9\xf4\x1e~\xf9\xf3%\xeeZn\x90\xa3\x03@v\x90\x9ad\x8c4\x8e\xa4U\xe6\xa9\x93\xecs\xeer$\xb5\xdf\xf3g\x07(\x9d'\xce+\xf8\x92z\x058\x1e:c\xac\xa3\x8c\xa1\xda\x07\xaf\x20\x82\xb2\xc3\x84y\x17+\xcau1E\x05\x92a\x07\x9b\xdc\xa3(\xd3\x97\xbf\xf6\xa5yb\xe2-\x19t\xbb\xa2\xafp\xb8%c7\xf7\xb8C9\xcf\xba\xca\x1a\xe8\xe8\x00\x90\x1d\xa4&\x19\xe3\xedk\x05\xf3\xd8\xe6@\xf3\xc6\xe8\xed\x1d_s\xef\xf9Y\xca\xe2'\xf4H\x8f\x00\x0d\xf3\xa1#f\xb1qx\xfeeD\x9d\x96\xc2\x88?o7J\x9f\xff\xb5\xbbh\xacd\xf0\xc1:_\x17\xb0\x1b:)[{\xf4\x93\x0cvw\x07\xbb\xb8\xe2\x96\x0c:\x98]71C\x06Z\x97E\x03\x1d\x1d\x00\xb2\x83\xd4$c\xb5\xf5\xe5\x89\xceA\xecb\xe1te\xb86\x15\xd7*\x91\x13\xdc{\xfeUe\xecXm\xb2y\x05h\x98\x0f\x1d1\x8b\x95\x886=\x17\xb3\x8b\x90\xa2\x08\xf5h^\xbb\x1c\xf1\xaer\xdeYwQ\xa7d\x9c\xd0\x0e\xfd\xed`\x9d.\xe3\xc2\xc4\xe7\x17\xb1\xca\xe3K\xc6\xe7\xee\x8b\xac\x06O*\xfa\x95R\xed\xae\xae\x07\xad\xdd\x81\x8e\x0e\x00\xd9Aj\x92\xa1\x9e\x83+\xe3Wwt\xed~p\x90r\xb1:\x99\xde\x8d(\xd3\xd5\x0f\xf3W\x07\xb2k\x08\xdc{~H$2H\x9b\x0c^\x01\x0c\xf3\xa1#f\xb1\xa2\x0cW\xe7\xe7\xda\x02\xf5\xbcD\x1c1V\x19\xab\xca\xc0\xe7\x93\xd8\xe1\x88\xab(?\xfd#\xca\xca/\xbfv\x04\xeb|=@\xbb\xde\xd1\xa9\xf6\xe4\x0a?\xc9\xa0+\x15\xe5\x1e\x81d\xa8\xc7\x13\xca\x94\xed\x9f\x7f\xbd\xf76\xc5\xf1\xb5\xb4`Fg\xf9\xc3\xdb)\x00\xd9B\x8a\x92\xf1\xb9\xf9\xf5nmb\xab\x1f\xac\x11\xe5\x82\x91C\x14\xe5\xf2\xb3\x8eIq\x8fb.Ix\x040\xac\x87|\xccbe\xc8\x05\xe7\xb3\x1b\"\xef\xf1\x8a\xf8\xcb@%r\xf1\xf0\x02ePGLQ~\xfa\x8fTs\xdc\xe4\x0c\xd6yXQ\x06_1\xf2\xbc\x01w\xb1\xeb\xab>\x92\xa1\x8a@\xa4C\x20\x19g\xa7\x98\xc3p\x05\xffM\x96`Fgx\x9ck\xb8\x00\xf47)J\x06\xa5/\xcd\x1a:\x20r\xd1\x15\xcb\x8d\x0f\xd7\x8eYC\"\x05#\x1ff\x87\xfd\xdc\xa4\xe8P\x14\xf3\x16Hq\x00u<\xe4b\xd49\xbc\xfb\x8a\x82\x81Wl\xf7\x8c\xa0\x9ds\x86D.\x18z\xd7\x09AQm\x97>\xfd\xdf\x1du\xc1\x80\x95\xae`\x9dM\x97\x0f\x8c\xa8{>g\xab%~\x92\xd1\x11Q\x8fOb%\x83\xd2\xed\xd3\x87^\x10\xb9h\x92\xfb'v\x82\x18\x1dH\x06\xc8&R\x96\x8c4c\xcea\x00@V\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x90\xed\x92\x01\x00\xc8*\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x82\x97\x8c\x1a\xf2S\xbf\x10\xc6*\xf2}\xbf\x10\x1f\x8e\xf7\xfaE\x00\x00\x82&\xb4\x92\xd1\xf7\\\xc9i\xbf\x18\x00@\xd0\x84V2z\x08\x81d\x00\xd0\xef@2\x00\x00\x12@2\x00\x00\x12\xa4$\x19\xbb_\xb3\xd8m\xed\xd4%c\x1dY\xf5\xd7\xc6\xf2\xe2\x99\xdbh\xdf\xba\x19\xd1\x8a\xa6\xd3\xda\xbe\x15\x87\xea'\x96\xde\xfa\xeb>jI\xc6\xf1\xa6\xaahY\xdd.\xeaQ\xc4\x15\xd0|\xaa\xa9\"Z\xb5\xe4\x14\xa5\x8b\x08\xe3\x20\xa5G\x1a*\xa3\x13k\xd6`)\x14\x80~!%\xc9\xb8M\xb1\x98n\xed4%\xa3q2)\x8f\x12\xb2\xad\x81\x14\x97\x13R\xa3\xed\xab/\x8d\xd6\xd6\x14\x92\x86>S2v\x8d#\xc53\xab\x08Y\xe6Q\xc4\x15\xd0TAJ\xcb\x08\xa9\xee\xa1\x9b\xe7\x13R?\xff8\xfd\xb0\x94\x94\xddTM\xc8\x1d}\x82\xfc\x00\x00A\x93\x92dtEL\xc58\xaf\xc3\xdaiJ\x06\xa9\xfe\x90\xf6\xce'\xc5\xc5/\xf4\xd1W\x08\xd9\xaf\xed\x9b\xf61\xa5\xfb\xcb\xc8FC2\x8e\x97\x92E\xdd\x94\xee)#\xdb\xc4Eb\x02\xde\xa4\xb45J6X'&\xf5d\x89z\x80q`\x02i\xf5J\x12\x00\x10\x20)I\x86}\x98q\x9d\xbd\xcf\x92\x8cC\xea\x9f\x0f\x09if;oa\xb3|\x9dv&A\xe9\xcb\xa4\xca\x90\x8cE\xa4\x8e\xea{\xaa\xc5E\xdc\x01\x1f\xb1\x07\x8d\xa4\xd1\x92\x8ck\xf5*\xd7\xdc\xbb\x93\x02\x00\xd2Oj\x92a\x1efp\x07\x19\x96dLc\x0f\xba\x09\xf9\x80\xfd\x9dOZ\xd8>\xed\\\x83\xf6\x16\xab\xda\xa0IF%yE\xdb\xd3SH\x8e\x0a\x8b\xb8\x02n\xd4\x1e\xb4\x90zK2\xee\x205o\x9e\xa3\x00\x80~\"5\xc9\xa0sb\x0e2,\xc9\xa8e\x0f\xce\x11r\x92\xfd\xbdO\x97\x8cEz\xc8\x0c\xb2S\x93\x0cU\x1df\xdc\xaa\x11%m\xa2\"\xee\x00\xfd\x90c\x03'\x19oF\x09\x990\x7f\xf3\xdf)\x00\xa0?HQ2\xf4\xc3\x0c\xfe\x20\xc3\x92\x8cz\xf6@\x9d\xff\x9f\xb1\xbf\x86d<c\x86\xbc\xacI\xc6\xa7\xc4f\x9b\xa8\x880@\x95\x8c:\xfb\"\xeb\x87\x0bJ\xd4'\x8b\x1a\xbb)\x00\x20\xfd\xa4(\x19\xfaa\x06\x7f\x90\x11W2\x1e\xd3C\xaa\xd5C\x06&\x19\xa7\x099b\x17\x14\x14\x11\x068%C=\xcfi\x7fz&!\x0d\x14\x00\x90~R\x95\x0cv\x98\xe18\xc8\x88+\x19\xda\x99\x07\xed\x8e\x92\xe3\xfaZ\xc6U\xecB\x08c\xcf\xc7\xe7\x84ED\x01\xbcd\xf4}\xfc\x86\xb6k\x0d)\xc2\x8a\x06\x00\xfd@\xaa\x92\xc1\x0e3\xa68v\xc4\x93\x8c\xe8q\xaa=w\x93q\xc5\xa4\x91\xdc\xa4\xddO\xb1\x93\x14\x9f\x12\x16\x11\x05\xe8\x92\xd1K\xc8?(=IFk\xc1\x87H!n\xe6\x02\xa0\x1fHY2:#\x8a\xe3\x20#\xaed\x90\x9bT\xcd\xd8Y\xa2\x9e\x97\xe8\x92q\xa8\x98<t\x86\xd2\xb7\xcbH\x93\xb8\x88(@\x97\x0c\x1a%\xdb\xba\xcf\xd1;\xc8\x1dj\xf4\xe9\xf9\xc6\x01\x0c\x00\x20\xbd\xa4,\x19t\x8e\xf3\x20#\xaedL-.\xbai*!+\xa8y\xf7gk\x94\x14\xcf\x9eF\xc8\xdc\x1eq\x11Q\x80!\x19\xb3\x09Q\xa5\xe7X\x19\x89\xde8\xb3\x84\x94\x1f\xa5\x00\x80\xf4\x93\xbadt:\x0f2\xe2JF\xfd\xc1\xba\xd2\xb2\xba=l\x8f\xf1\x1d\x93#?\xaa\x8a\x96\xccn\xe9\xf5(\"\x0a0$\xe3PM\xf1\xc4\x97\xd9wP\xa6E\x8b\xab\x97\xe2*+\x00\xfdB\xea\x92\x918\xe6\x94\x07\x00\x84\x16H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x82\xfe\x94\x0c\x00@\xe8\x81d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80dP\xfa\x842\xde/D\xe5Ae\x8a_\x88\x0f\x9dg\xfd\"L\xd0Y\xe9\x00\x00\x20\x00IDAT\x00\xc8z\x20\x19\xfd&\x19\x0f\x16|\xee\x17\x02@\xd6\x03\xc9\xa0t\xf7\x83\xab\xfdBh\xea\x92qVQ\x20\x19\x20\xfc@2\x12\x05\x92\x01\x00\x85d$N\xe6%\xa3\xa9\xc9/\x02\x80\xb4\x13f\xc9\xd8;~\xd0\x80\xb1\xdb\x87o\xf7\x8b\xf3C[\xcbX\xac<\xd89}\xd0\x05\xc3W\xaa\x9b\x17G\x06\xcdb\xd3{\xb1r\xcf\xbb\xe3\x07\\8r9\x8b2$\xa3s\xd6\x90\xc8\xc0\xf1/Q*.\xe2\x0a\xb8\xff\xc4\xac\xc1\x91!\xb7\x9d\xa0t\x8e\xc2\xd8Mi\xc7\xf4\xc1\x91\x01\xa3\x1e\x95_\x0a=B\x96\xd1\x85\xa4p\x9b_\x9c\x80\x17\x08!\xcd\xb4Y\xfdws\x9c\xa8\xe3Q2C\xfd\xd3\xa8\x86\x8d;\x1a'\x0e\xe45!\x96\x8c\xdd\x91I\xabW^\xa9(+\xfd\x02\xfd0$c\xfa@ePD\xad\xee:\xe5\x82A\x8a2\x8a\xb2}\x93\x0a\"cG\x9d\xa7\\GM\xc9x\xa9@\x89\x0c\x1f\xa2(\xf3\xa8\xb8\x88+`\xd6E\xca\x85\x03\x15e\xe8Y\xba|\x92\xa2\x8c\xbf\xb2\x93\xee\xbdP\x190|\xa8\xa2\x8c\x8d\x93\x90\xc1\x9e\x03\x8e\x87\x0d\xc5\xa7\xe8\xc9\xf6h\xb30\xc0\x15\xeb\xe2\xcc\x8b\xe4\xb9S\xf4T\x0by\xf1L\x9c\xa8\xbew\x1a\xa3\xea\x9f\xbf\xb5\xb7\xaf'o\xc7\x89\x03yM\x08%\xe3\xc4\xd8\x13\xda\xdf+\xb4Y7=0\xc9P\x86\xee\xa5g\xafT\"\x17,\xff\x9a\xaeV\x94\xd7\xb4}C\xfeL\xe9k\x03\x94\xe5\x86dt^\xa8\xcc\xf9\x92\xd2\xed\x03X\xab\xa2\"1\x01\xea1\xd0\xda\x88\xf2\xa4ub2^\xb9\xedkU\xee\x06(k\xfd\xd2\xa25\x0f\xf0\x8f\x8e\x8e~\x8c\xfd\xe1%\x83\x0bp\xc6\xc6p\x88\xb4\xa9\xff\xee!\x87\xe2F\xd1\xe6\xa8\xfew\x1f$\x03x\x11B\xc9\xd8\xab\xec\xd5\xfe\x0e\x99\xa7?J\xe4rG\\L\xc9`\xd5\xeeU\x94{\xd8\xbe\x91l\x96\x1b\xfb\xe8Je\x88!\x19s\x94+\xa8\xbeg\xa8\xb8\x88;\xa0\x83=\x98\xaeL\xb7$c0;9\xa1\xf4\xe1+\xfd%\xe3\xd6\xfb\xf8G\x0fE?c\x7fx\xc9\xe0\x02\x9c\xb11@2@P\x84M2\x16\x0f]\xdb\xa1t\xac\x1d\xfa\x04\xa5S\x06k\xf3y\xed\x97\xec\xdf\xe5\xa3\x0a.\xbeK\xdd\xda}\xbezN\xd0q\xdd\x90\x82\xf1_\xafT\x14\xe5~z\xbf\xa2\x9f\xba\x08\x02\xcc:\x0d\xc9\x18\xc2\xb6\xbfT\xf4)}\xa5\xf20\xdb\xa7\x9dk\xd0\xb3\x11\xe5]]2\x06\x1b\x02u\xf6<U\x0cDE\\\x01\x17k\x0f\x1eV&Y\x921V\x19\xb9\xddjYc!\x89n|\xec\xc6qu\x7fc\x0f\xfa~]Sz\xe3\xe3=\x94\xee\x20:\xb7\x18Q\xc7\x8b\x16i\x7f\xa3K\x8dX.\x80\xdb\\H\x8a\xd65UN\xaew\xadEp\x92q\xe6\xbe\xcahU\xfdAw\xc3'\x1b*\xcb\x16h'&\x94\x93\x0c+\x9d\x83E\x84<s\xb4aZI\xdd9\x0a\xf2\x9a\xb0IF\xd7u\xcap\xf5\xbf)]\xea9\xc0\x90\xf3\xc6\xdf\xff\xaa>\xfdf\x9d7g\xed\xe2A#\xbf\xa6gW\xae\x1c2t\xc0\x90\xdb\xaeS:\xbf\xdc>\xe0\x9e\x13\xf4\xc4=\x03\xb6\x7f)\x0e0\xeb4$C;\xcf\xf9ZQ\xba\xd8\xdf)\xbad\xdc\xa6G\\\xac\x9eF0\xc9\xf8\\Q.\x1e\xa9\x11Q6\x89\x8a\xb8\x03\xae\xb0\x1b0$\xe3\xd5\x88\xa2\x0c\xb8r\xf9\x09\xabG\xf4\xa3\xadE\xa4\xa2\xf9g\x13\xefe\x0f~X\xb8h\xe7\xba\x8a[\xfbh\xf7\x9b\xed\xd5w\xb4\xb7\xb7\x1f1\xa2\x9a\xa2\xda\xcc\xa6Q2ck\xeb5j,\x17\xc0m\xb2\xca\xa6\xaej\x9e:\xeeC\xcas\x88\xec\xec\xe9\xe9ic\x92\xb1\x834\xed\xd9V_\xb8\xcf\xd9\xf0\xd1\x897\xbe\xd0ZG\xa2z\xb8%\x19V:=\xdb\xb6N\xad\x9eP\xf5X\xc3\xe8\xbfR\x90\xd7\x84M2(\xdd\x14Q\"\x9b\xb4\xad\xcf\xef\x1f\x15Q\x06\xb2C\x88\xb5l\xb1\x81\xbe\xa6/k\x8cT\xaeP\xe7&\x9b\x9e\xb3\xd8\x82\xe5u\xb3\xbc\x03t\x0c\xc9\x98\xc4\xb6]\x921O\x8f\x18\xa9\x16d\x92\xd1\xa5\xd8\xac\x14\x15\x11\x068$\x83\xee\x9dR\xa0>y\xfe\xf4/\xad\xf6i\xb4L\x95\x83\x86\x0a\xca\xe6\xf3\x8b\x94\xcd\xd8\xadl7\x7f\xb2q<\xba\xd0\x88\xad\xf8\x87:\x93+\xa8+\xc0\xde\x8cN;C\xe9\xe9\xaa\x1a\xcas\xc88\x0eQ%\xa3g[\xb7z\xf4p\xd3|-\xd6jxn\xb5z(\xd17;\xaa\x87\x9b\x92\xe1L\x87\xd4\x9e\xa1}\xf1\xd6OA>\x106\xc9\xf8\xfc\xb6\xc8`ep\xe4.\xe3S\xfa\xecK\xe3\xd9:\xe2\x94\xa1_3\x06Og\xfbFF\xcc\xe3\x87\xed\x05_\xd2\xb3\x05\xec\"\xacG\x80N\x1c\xc90\x8e2\x86\xaa\x87\x0c\xc6QF\x87]NPD\x18\xe0\x94\x0cuk\xfb\xbc\x8b\x15\xed*\x8cA\xf4!j\xac#<pC\xef9\x95k\x1b\xd9n^2\x16F\x8f\x1b\xb1M\xd4Zs\x10K\xc62\xf6\xefz\xf2\x15\xe58D~\xb6o\xdf\xbe5\xdaZ\xc6\x17\xeb\xebn\x98Hfk\xb1f\xc3\xa7\xc9F\xf6\xf8\x99\xa8\x1enJ\x863\x9d(\x0e0@\xf8$\xe3\xe1AO\xbe\xabt,\x1e\xf4\xa0z\xcc\xa0MTz\xf9$v\x14\xa0s%\xdb1r\xa4\x19\xfc\xf5\xa0\xd5t\xed\x20v\xea\xe2\x11\xa0\x13G2\xf4K\xa1_F\xd4\xb3\x18m-c\xa0y}f{\xc7\xd7\xc2\"\xa2\x00\x87d\xfcY\xbf\x8d\xe4Q\xe5|{EC[\xd2\xd4d`\xb6q4\xa0\x1d\x03p\x8ap2\xfa\xa3\x98X/\xc9\xd0\xd6G\xdb\x89\xe3\xaa+\xb7\x96\xb1\xaf\xa2jik{\xedl+\x96Uv\x80\xb4S\x1a\xbb\xfc\xe9L\xc7y\xe0\x02\xf2\x94\xb0I\x06\xfdZ\xbbb\xc2\xa6\xdbEs\xb4\x1d\xf3\x86\xaa'\x1fCwkh\xc7\x1e#\xed\xbb4\xe7\\I\xaf\xd4\xa2\xbc\x024\xe2H\x86~<\xb2X\x19n\\1\x99\xae\x0c\xd7f\xfaZ%rBXD\x14`I\x86\xdaz\x97\x11\xfc\xaer\x9e}3\x97-\x03\x0d7\x1c\xd0\xf8\x82\xed\xd6d`\xb3\xf6\xd1\xbe\xa4\xf0XL\xac#\xc0\xde\x8c.a\x8f7\x12\xc7\x19\x04'\x193j\xd4S\x10\xba\xc0)\x19\xff\x20\xeb\xd9\xe3\x87\xf4z-\xc9p\xa6\xb3\x80\x02\x10>\xc9Pg\xdd@\xfd\xf0b\xd0`\xed@\x9f\x09\xc0&\xfd\xb3}\xde\x83\xe6\x0e\x83W#]\x91W\xd9\x86W\x80F\x1c\xc9P\x86\xab\x9a\xb1\xb6@=/\xd1%\xe3\xdd\x882]m\xf5\xd5\x81\xca\x1cq\x11Q\x80\xf1U\xd9\x88\xb2\xf2\xcb\xaf\xe9Xe\xac\x1a\xfd\xf9$\xfe^.[\x06\xda\x88vs\xe7O\x9fc\xff\xd6\xd6RzJ\xdb\xf1Y\xf1C\xb1\xb1|\x00\xb7\x19\xbd\xa6\x9b\xd2\xee\x1bj\xb5\x88\xe3\xcf\xe9R\xc3IF\x15\x9b\xf9}7;%\x83\xd6T\xa9'2\x1f\x17\xeb\xf5Z\x92\xe1H\xc7\xe7:.\xc8\x13B(\x19&\x83\x94\x8b\xee\xd9\xb4\xfa\x8a\x02\xb6x0O\x99\xb2z-\xbb\xab\xeb\xebW\xb7\x0f\x1d\xbb}\xbb\xb9X1\xf8\x8a\xc1\xfa\x86W\x00#\x8ed\x0c\xb9\xe0|v+'\xbb\xefB\xbf\xfbsuD\xb9`\xa4\xba\xe7\xf2\xb3\xe2\"\xa2\x00C2\xd8\xc9\xd1&\xfa\x97\x81J\xe4\xe2\xe1\x05\xca\x20k\xcd\xe3\xb3\xf6h\xe3;}\xef7F\xdb?\xa3t\xd9\xe8\xef\xbf\xd2\xdaH^fO4G\xd7\xb4\xd6\x96~\xaan=>\xfa\xa8\x20\x96\x0b\xe06\xa3\xe4\x96m\x9b\xab\xcb>\xd6\xe2\xe7\x93z\xf6\x87\xbf\xfb\xb3\x99\xdc\xb7~\xd5\xad\xa4\xbc\xe5\x1d\xbe\xb2\x0f\xc7U5?3\xb9\xb0\xe8\xc5C\xf4Sv\xf7\xe7\xba\xf6vv\xc8b\xa5s\xee-\xed\xa2\xccq\x0a\xf2\x9d\x10K\xc6\xa8\xe5\xf3..\x184I\x9fz\x9b\xc6\x0e\x1cx\xb9z,\xb0\xfb<m\xcdb\xbc\x11\xb38\xf2\xa8\xb1\xe5\x11\xc0\x88#\x19\x93v_Q0\xf0\x0am\xf9\xc1\xf8\x8eI\xc7\xac!\x91\x82\x91\x0f\xb3\xb3\x0a\xa1d\x08\x02\x0c\xc9xw\xd4\x05\x03\xd4c\x9d\xce9C\"\x17\x0c\xbd\xcb\xbe\xca\xba\x90\x10\x12=\\\xaa\xfe\xcb.\x8a\xb4\xd5^U6\xb7M{\xa2w\xd1\xe4\x92;\xf6\xa9\x1b\x7f/i\x10\xc6Z\x01\xfcf\xf4\xf1\xc6\x89\x95\x0d\x9f\xe9\xf1/Tl\xd0\xfe\x10\xf3;&\x1bi\xdf\x9a\xeah\xc5\x03/TGk\x1d\x95\x1d\xad\x9f<m\xe9\x8bE\xea\xe6C\xc6\x02\x86v?\xa9\x99\xce\xc1Bm_=\x05\xf9N\x88%#\xfd\x98S>\xd3<M\x8e\xd0\x84\xe1o\x0f\x05\x20p\x20\x19q\xc8\x16\xc9\xf8\x91\xcc\xb7\xde!\x19\x20\xad@2\xe2\x90-\x92!\x05$\x03\xa4\x15HF\x1cB(\x19'\xb5%M\xbf(\x00\x92\x06\x92\x11\x87\x10J\x86\xb6\xa4\x89\xeb\x1a\x20}@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12\x04.\x19\xfb\x08![\xcd\x07\xa7\xa3\x84\x1c\x8a\x099\xde\xab\xfe\xb3\x8e\xd4\xc7<\xe1\xa4\x994\xfaDhh\xb5\x01\x00\xfa\x87\xb4H\xc6|\xf3\xc1\xafI\xacd\xf4=Wr\x9a\x06&\x19Fm\x00\x80\xfe!\x0d\x921ztI\x8f\xf1\xa0^\x20\x19=\x84\x04(\x19Fm\x00\x80\xfe!\x0d\x92\x11\xad!\xad\xfa\xf6\x99\xe8LH\x06\x009E:$c\x0di\xd0\xb7\xb7\x92fH\x06\x009EJ\x92\xb1\xfb5\x8b\xdd\xe6>U2\x8e\x93\x89\xfa\x92d=9bH\xc6\xf1\xa6\xaahY\xdd.uk\x11a\x1cd\x92\xf1YSE\xb4\xeaq}\xc6\x7f\xd8X\xa9\x06\xb4\xe9u\xec\xa9\x9b\\Z\xbb\xcf!\x19G\x1a*\xa3\x13k\xd6\xe8\xf5\xc6\xd6\x06\x00\xe8\x1fR\x92\x8c\xdb\x14\x8b\xe9\xe6>U2\xe8\xcd\x84Mg\xda]|\xd39]2v\x8d#\xc53\xab\x08YF\xe9\xe6\xf9\x84\xd4\xcf?\xaeJ\xc6\xcc\x0aR^F\xc8\x0c\xb6\xf0\xf1b\x94\x94\xdeTN\xc8BV\xae\x85\x90\x8a\x99\xd1\xa2\x1aN2>,%e7U\x13rG\x9f\xb86\x00@\xff\x90\x92dtEL\xc58\xaf\xc3\xdc\xc7$\xe39\xd2\xc46\xb7\x91U\xbad\x1c/%\x8b\xba\xd5\x83\x872\xb2\x8d;1!S\xdf\xa1tG\x94l\xa6\xf4@!y\xba\x87\xf6m-&k\xd4\x07d\xf4\xfa>z\xaa\x96p\x92QO\x96\xa8\x07\x18\x07&\xb0U\x12Qm\x00\x80\xfe!%\xc9\xb0\x0f3\xae\xb3v1\xc98J*\xd8\xd1\xc0|rT\x97\x8cE\xa4N{\xeeeR\xcdK\xc6a\xb6\xaf\x91\x09C=y@\x0bXO&\xf7\xd2{\xc9\"\xb6}\xfa*N2\xae\xd5O>\xd6\xdc\xbbS\\\x1b\x00\xa0\x7fHM2\xcc\xc3\x0c\xfb\x20C\x93\x0c:\x93\xa8\x07\x10\xdd%3\xa9.\x19\x95\xe4\x15\xed\xb9\x9eBr\xd4\x96\x8c\x19\xda\xbe5\xa4\x9e\xf6\x96\xb0x\x95\xdeR\xf2f\xdf\x04\xb2_{\xb0\x88\x93\x8c;H\xcd\x9b\xe7\x8cmQm\x00\x80\xfe!5\xc9\xa0s\xdc\x07\x19\xbad4\x93\xc7)m%\xcd\xbadt\x132\xe3V\x8d(i\xb3%\xa3V\x8b\xdf\xa8\xfe\xfd\x98\x10\xe3N\x8e\x1a\xb2\xf1\x14!\xdd\xc63\xb6d\xbc\x19%d\xc2\xfc\xcd\x7fW7\x85\xb5\x01\x00\xfa\x87\x14%C?\xcc\xe0\x0e2t\xc98L\xa6R\xba\x80\x1c\xd1%\xe3Sb\xb3\xcd}\x91\x95I\xc6ARd\x94\xae%k\x8e\x10\xa2o\xb7\xf2WL>\\P\xa2\x96.j\xec\x16\xd7\x06\x00\xe8\x1fR\x94\x0c\xfd0\x83;\xc8\xd0%\x83V\x93\x83=\xeay\x89.\x19\xa7\x89*\x1e\x16\x02\xc9\xf8\x84?\xca\xf8\xbby\x94\xf1\xb2\xf3\xbe\x8c\xde\xf6\xa7g\x12\xd2\x20\xae\x0d\x00\xd0?\xa4*\x19\xec0\x83?\xc80$\xe3i\xb2b\x87z^b\xace\\\xc5\xaem0\xf6||N$\x19\xbd\xc5\xf6ZF{_\x19yK{\xb0\xcc\x96\x8c\xbe\x8f\xdf\xd0\xfe\xae!E\xe7\x84\xb5\x01\x00\xfa\x87T%\x83\x1dfL\xe1\x1f\xeb\x92q\x80\xccld\x07\x03\xbad4\x92\x9b\xd8\x15\x14\xba\x93\x14\x9f\xa2\xbd\x84\xfc\x83:%\x83\xd6\x1b\xf7\x8bn$\x13zh\x83\xfe\xa0\xa7\xca\x96\x8c\x93d\xf4g\xec\xef!R\xd8+\xac\x0d\x00\xd0?\xa4,\x19\x9d\x11\x85?\xc80$\x83V\x91q\xec\x8a\x88.\x19\x87\x8a\xc9Cg(}\xbbL\xbb_#J\xb6u\x9fsJ\xc6\xfe\"\xb2\xa2\x97\xd2\xd6\x12\xd2B\xe9\x91(Y\xd5G\xcf\xcc'\x8e+&w\xa8\x9aqz>\x0b\x16\xd5\x06\x00\xe8\x1fR\x96\x0c:\xc7q\x90aJ\xc6\xe3\x84\x9d\x97\x18\x92A[\xa3\xa4x\xf64B\xe6\xb2%\x8b\xd9\x84\x906\xa7d\xd0\xcdEd\xe2\xcd\x15\x844\xb1\xe3\x87mQR~s\x09\xa9\xe7$\xe3X\x19\x89\xde8\xb3\x84\x94\x1f\x15\xd7\x06\x00\xe8\x1fR\x97\x8cN\xc7A\x86)\x19\xef\xe8ZaH\x06=\xf2\xa3\xaah\xc9\xec\x16\xed+\"\x87j\x8a'\xbe\xec\x92\x0cz\xb0\xa1\"zM}\x9b^\xc7\xfb\xf3\xcbKnm\xdb\xc6/\x7f\x1eo\x9a\x16-\xae^\xfaw*\xae\x0d\x00\xd0?\xa4.\x19\x00\x80<\x02\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92\x01\x00\x90\x00\x92A[kN\xf9\x85H\xf2\xd5\xdcV\xbf\x90\x14\x08>\xdf~\x20\xbdC\x02\xfa\x91\\\x93\x8c\x85\xa4p\x9b\xc7S\xc7\xa3d\x86`w\x0bi\xees\xee9X_>\xf1\x8e=7\xbd)\x08N\x8c\xbe\x96\xc2\xe7\x84O\xac)\xfe\x99p\xbf\x0cz\xbe\x8d\x84\x90qG\xcd}\xbb*v\xc4+\x928\x07\x0b\xd5z\x1b\xad\x87\x81\xd5\xeb=$\x20l\xe4\x8ad\xec9\xa0\xff=\xd9\x1em\xf6\x08\xe9{\xa71\x1a\xbbw]\xe1\xaf]{\x0eD\xeb[_\xbe\x97\x10/\xe9I\x84\x9dE\xebD\xbbgGo\x12\xed\xf6\xc1\xec\x9b\x86\x91\xef\xdf\xda\xdb\xd7\x93\xb7\xcd\x9d;J_\x89)\xe5\x8f\xa3^\x9dso\xdf|S\xfb\xa7\xd6Ca\xbd\x82b\x89\xe01$\x20l\xe4\x8ad\xd4<`nyJ\x06\xa5\xcd\xd1\x98]\xc7\xa2\xcb\xcc\xcd/j\xbf\xd0\xfe\xd6\xd5\xaa\x9f\xe2}\x8d)I\x06]\x11\xfd[\xec\xce\xee\xc2\x86\xc2\xee\xd8\xdd~\xd8}s\xe4\xbb\xcf\x96\x0c\xea:NJ\x0c\xbe^\x8b\xdaZ\xfe\x91\xa8^a\xb1\x04\x10\x0e\x09\x08\x1d\xb9\"\x19\xb7\xdegn\xc9IFcE\x8f\xb9\xf9!\xf9P\xfb;\xed\xa7\xec\xdf\x83$\xa5\x93\xef\xee\x0a\xfb\xf0\xde\xa2\x9d\x1c\x20{bw\xfba\xf7\xcd\x91//\x19I\xc1\xd7k\xe1\x94\x0c\x11\xc2b\x09\x20\x1c\x12\x10:\xc2%\x19\xe7\xae\x89>}m\xe5\x9eEe\xb5\xec\xc3\xba\xef\xd75\xa57>\xaeN\xa1\x1dD\xe7\x16\x16\x13]\xfa\xd8\x8d\xe3\xea\xb4\x0f\xb4\xbe\x0d\xb7\x8c\xbby\xbd\xf6Iy\xb2\xa1\xb2lA\xec\x89I\xef\x84\xa5\xfa\xc6\xba\xea\x1dG\xc8\x91\x9d\xd5\x1b(}\xa0\x82IG\xdfNG\x13\x07\x8b\x08y\xe6h\xc3\xb4\x92\xbas\xdb\xd4\x96\x9ai3\xd1N]D\x01Z\x85+J\xac\xb9m\xd1|-\xad4\x04\xed\x93\x05\xe5\xd1\x8a\xfa\x93\xceM\xab\xb2\x85\xa4h]S\xe5\xe4\xfa\xa3\xae\xbe\xd9\xf9R[2N\x97\x10R\xb8U\xdf\xf7F]U\xb4\xbc~\xaa\xe3\xe0`!\x89n\xb4\x87D8f\x1c\xb6d\x08\xebu\x14\xe3\xf2\x155\x91\xc8\x90\x80\xd0\x11.\xc9\xa0{&\x92\xc7j\xc9U\xcf]\xb3F}\xf0\xc3\xc2E;\xd7U\xdc\xdaG\xbb\xdfl\xaf\xbe\xa3\xbd\xbd\xfd\x08\x0b\x89\x92\x19[[\xaf\xb9\x97m>\x14}f\xe73Q\xf6\xd9vt\xe2\x8d/\xb4\xd6\x91\xa8\xbb\xbe\xf7I\xbb\xbeq\xb2\x81\xccT\xff[\xa0\x9e\xc7\x1f\xaf*\xack~\xabW\xdbm5\xd1\xb3m\xeb\xd4\xea\x09U\x8f5\x8c\xfek\xf7\x1b\x13W\x9c\xa2\xa7V\x94\xbd\xd1-\x0e\xd0J\xbeI\xder7Fk\x17\xd0\xfb\xf4\x19\xb9\xa7\xf4\x96\x96]\xcdd\x8ds\xd3\xaa\xec\xa3\xadEd\xea\xaa\xe6\xa9\xe3>t\xf6\xcd\xce\x97rG\x19\x07\xda\xdb\x8bu%\xda?\xba\xe1\x95]\x1b\xcb\xc99\xbeUVYE\xf3\xcf&jC\"\x1e3\x0e\xee(CT\xaf\xa3\x98#\xdf\xd8&\x12\x19\x12\x10:B&\x19\xb4\xa2\x81\xee$;\xe8CM\xecs\xf2E\xca&\x8e\xf6A\xc8\x9d\x98T\xfcC}\xdbV\xa8[m\xa4\xcd\xfcwn\xb5\xfa\x01\xd77;\xea\xaen'\xf9\xd8\xdcl\x8b\x92h\x9b\xb6\xf5\xd5\xaa\x9a()cK\x19\xce&H\xed\x19\xdawF\xdd\xfa!;\x9bo\xf8\x91w\x80\xca\xdfH\xcc\xcaa_\xe9\x1a\xba\xa6\x94\x1d\x01\xf4T\xd5\xa9\x92\xd4\xbb\xed+\xc7&_Yt\x9aZ\xcf\xe9\xaa\x1a\xad^\xfbL\x80\xcb\xd7qbR\xa2O\xed\xf5\x15L,\xd6\x97\xb9\x96\x20\xa2e\xea\xc7\x7f\x03\x1b\x12\x8f1\xe3p\x9e\x98\x88\xea\xb5\x8a9\xf2\xf5h\xc2gH@\xf8\x08\x9ddl\xa5\xef\x90n\xba\xf4\xfb\xea\x09\xc4\x0d\xbd\xe7T\xae\xd5\xce\x909\xc9P\xd5D_\xb5\xf8\xe1Lm\xc7\xccFz\x9ald[\xcfD\xdd\xd5\xb5\x92\xe3\xfa\xc6W\x8fE+Ie\xf1\xd2\x7f\xe8\x0f{w\xd5\x91\x9d\xee&\xa2\x7f5J\xedQ\x8f\xb0{\xc6\xb1\xcf{\x8f\x00\xca\xe6G\xcc\xf2\xe9A\xf2f\xcf\x9b\xe4\x20e2\xf6\x81\xb9\x93\xdb\xe4+\xd3W9\xd7\x13UI\xf8\xa9m\xe5K\x85\x92\xf1i\xe5\xb4E\x1b?\xe8\xeb\xa5N\xa2\x0fQcH<\xc6\x8cC(\x19\x8ez\xadb\x8e|=\x9a\xf0\x19\x12\x10>B'\x19mt_\x94\xd2e\xaad\xcc6N\xab\xe7\xb3\xfd\xae\xe5O\xed\xcd;\xb7^\xdbQ_C\x0f\xe8\xc7\xf3\xb1\xcb\x9f\xef\x98\xd3\xae\xa5|\xc3!\xf2\xd1\xba\xf2\xe7\xd4\xa9\xa8\xad0\xf4\xb1\xd2\xce&j\xccR\xe7\xca[ik9\xfb\xc8\xf5\x08\xa0lB\xc7\xdc\xd7\xb1N\x0b]\xa7m\xf5\xd8;\xadM\xbe2}\x11\xb7\x9d\xb0\x0b\x9a\xdc\xd4~\x87\x93\x09\x81d\xd0\xd3\x1b\xee\x9bA\xaeiq\x1feXC\xe21f\x1cB\xc9p\xd4k\x15\x8b\xc9W\xd0\x84\xcf\x90\x80\xf0\x11b\xc9h\xb8\xe1\x80\x86viT{\x1fof\x1fi\xf6\x9b\xb7\xf1\x06\xf6\x16\xef\x9b\xf6\x10\xfd\x07Y\xcf\x82\x1e\x8a\xba\xab\xeb\xb1\xae\xaf\xf4\xd2\x0f\xc9!\xda\xab\x96\xa8X\xa4\xed\xf8i\xb5\xbb\x89\x05V\xb1E\xf3\xe9\xbdZ\x94W\x00\xcb\x20\xe6r\xea\x82[\xf6\xed\xdbw\x0b\x0b\xdaE\xac{\x1b\xb8M\xbe\xb2\xe8\x12\xb6g#a\xc7\xf4v\xdf\xb8|\x85\x92q`\x99\x9a\xff\xe9\xad%\xeb\xa9\x03{H<\xc6\x8cC\x97\x8c\xee\x15_i\x8fD\xf5Z\xc5\x1c\xf9z4\xe13$\x20|\x84X2\xda\xf4\xe3\xdc\x9fjw\x15\xb2w\xfa)m\x87\xfd\xe6\xdd\xa9\x9dOoeg\x185U\xea\x14\xf8\xb88\x1aS\xdf\x82j\xeb\x13\xf9\xd32\xfd\x1e\xa6\xf2J6]\xfa\xd8\xbb\xdd\xd1\x04\xf7\xa1\xfcV\xf1g\xc5\xdaR\x9eW\x00\xed\x9bQO\xddT>\xae\xfe\xf3X%e\xd7\x1bk\xd9A\xfe\xa2%\x8eM\xbe\xb2\xe85\xea\xf4\xea\xbeA\x9b\xbfv\xdf\x1c\xf9\x0a$\xa3Y[\xbd\xa1\xb5M\xd4\x81=$\x1ecF\xe9\xf1\xe7\x8e\xe9\xb1\xbad\xbcO\xde\xd0\x1e\x89\xea\xb5\x8a9\xf2\x157\xe17$\x20|\x84L2\x0eM^\xd3\xb35z\xb0\xa7\xa1\xf6o\xaan\x8c\xfe\xfe+\xad\x8d\xe4e\xf6DstMkm\xe9\xa7\xf4\xb3\xf6h\xe3;}\xef7F\xdb?S?\xf0\x0a\x97\xedXV\xd8\xa0>\xfd\xe1\xb8\xaa\xe6g&\x17\x16\xbdx\xc8U\xe1\x91\xc2\x98[\xb8\xcbIEs[km\x09[h\xb4\x9a8\xf7\x96v\xa5\xc0XI\xe8\xab\xac\xab\xd4\xa7\xaeG\x00]c\x1f<\x18\xf4\xb4\x91\x9fv\xd3\xee\xa7I\x9b*\x11{\x8agnh[D6S\xc7&\xd7\xa1(\xb9e\xdb\xe6\xea2m\xb1\xd3\xec\x1b\xc3\xcc\xf7Sv\xf7\xe7\xba\xf6v\xf5\xc3\xbe\xf7\xed\xf6\xf6\xe2\xc6\xf67\xce\xb0\xa9]\xbab\x87Z\x83\xe3\xe6\x0f\xc7\x90\x88\xc6\x8c1\x9fh\xf3\xf9\xdc[7\xdf\xd4\xae\xb2A=\x93\xf3\xaa\xd7.fU&n\xc2wH@\x18\x09\x97d\xf4]C\xc8\xd6\x09\xa4t\x9b~\xaa\xdcV{U\xd9\xdc6\xed\x99\xdeE\x93K\xee\xd8\xc7\xee\x10\x20$z\xb8T\xfdw\xa1\x1a\xben\xf6\xb8\xd9\xfa}\x19G\xeb'O[\xfab\x11\xdb\xebdE\xb1\xfb\x04\xbbf\xf3Og\x94V\xcc\xd7/M\x98Mh_\xbe\x20\xc4\xfc\x9c\\\x17]cl\x89\x03\xde(\xb1\xef\x9f0\xd85\x9a\xdd\xc8\xd1J\xc8\xe8]\xea\xa3\x8f\xef\xbbvB\x8d~\xb3\x18\xb7iw(\xfax\xe3\xc4\xca\x86\xcf\xb4\xbdf\xdf4\x8c|\x1f2V\x0c\x1e\xa0t\xbf\xde2\xd9@\xe9\xaf\xefh\xae\x8aV\xd4:o\x17s\x0c\x89h\xcc\x18/Tl`\x7f\x8c^\x10Rr\xc4\xb3^\xae\x98Y\x99\xb8\x09\xdf!\x01a$\\\x92\x91\x06\xfa\x96D\xb7\xf9\xc5H\xb3-\xda\xe8\xb85B\x1e\xefo\xca\xa4#\xdf~\x20\xf5!\x01\xd9A\xdeK\x06\xed[s\xed\xdf\xfdb$\xf9\xaa\xe2\xb9\xa4\xbe\xf4\xc1\xe1}\xdb{\x1a\xf2\xed\x07\x02\x18\x12\x90\x1d@2\xb2\x938\xdf\x94\x01\x20\x93@2\xb2\x91\x93\xdar\xa2_\x14\x00\x19\x00\x92\x91\x8dh\xcb\x89\xf6}\x9e\x00d\x0f\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c4x\x9cf\x8f\x01i\xf0}\x031d\xcf\xcb\xdd/\xe4\x9add\xaf'\xeb\x0b\xc4\xb4?\xd9,(bb$\xe9\xb4\\5\xe0jh-2~\xd7\xa2\xa8\x95\xdbl\x1b\xcd\xfeN\xae?b\x96\x88\xed\x9b\x88\x98bn\xe2\x0c\xaa\x1f\xc9\xba\xba\xc6\xbcX\xbe9d\xae\x17y\xe67\x9b+\x92\x91\xfd\x9e\xacg^$\xcf\x9d\xa2\xa7Z\xc8\x8bgD%\x0c\x8c$\x9d\x96\xab\x06\\\x0d-\xc4\xf8U\xae\xd1-\xdcf\xcf\x9b\xd1\xc6\xf6=\xeb\xaaK>\xd2\x0b\xc4\xf6M\x88\xbb\x98E\x02\x83j\xe1\xe1\xd4\x9a\x9c[\xac\xe0\xc5\xf2\xcd!\x93\xbd\xc8+\xbf\xd9\\\x91\x8c\x10x\xb2\x1e\xd2~@s\x0fq\xff\x96\xa0\x0b3I\x81\x7f\xa2]\xc3\xba\xa8\x11P\xb2\x8e\xdb4:\xdf]Y\xa7\x85s}\xf3\xc1Q\xcc&\xa1A5\xf0rjM\xe0(GL\xcc\x8b\xe5\x9bC\x06{\x91O~\xb3\xb9\"\x19!\xf0d\x0dR2z?1\x02>\xe9\xe56\xcd\xce7\x97hoq\xaeo>8\x8a\xd9$4\xa8\x06\xc9:\xb5z\x92\xa4dd\xa6\x17\xf9\xe47\x1b.\xc9\x08\xb5'+'\x19g\xee\xab\x8cV\xd53\x13$\x87\x9b\xa9#IK2\xac&\\\xa2\xc3i\x8a\xb5\xa9O\x8a\x96\"\xf6\xa3\xe5f\xdf\xb8\xcc8\xafW\xca\x9b\xc1\xda\xc5\xec\xcc\xbc\x06\x95C\xe4\xd4\xca\x8f\x83\xed\xea\xea\xe8\xe6\x17\x0dW]\xfb\xf8\xe3W\x95z\x1e\xc6q\xe3`w\x9eF\x17\xfdHO}!)|\xd9Z\xec\xe0*\xcbd/\xf2\xc8o6\\\x92\x11jO\xd6CdgOOO\x1b\x9b\xf0;H\xd3\x9em\xf5\x85\xfb\x9c\x86\xa9\xce$-\x19\xb0\x9a\xe0k\xa0q$\xa3\xef\x96\xd9l\xdb\xec\x1b\x97\x19\xe7\xf5\xea0\x83\xb5\x8b\xd9\x99y\x0d\xaa\x8d\xd0\xa9\xd51\x0e\x96\xab+\xdf\xcd\xde\x99\x15\xeb\x9b\x8bK6\xd7\x99\xbf\xb8\xec\x86\x1f\x07\xbb\xf3\xda\x8f\xaeo\x9d\xad\xa6\xae-J\x18\x8b\x1d|e\x99\xecE\x1e\xf9\xcd\x86L2\xc2\xec\xc9z\xc8\xf8\x10;\xc4\xde\x91\xaa\xda\xf4\xdd\xa4\x19\x8a\xd9n\xa6\xce$M\x19\xe0\x9a\xe0j\xa0\x1e\x92\xb1\xa2\xa7\xe7\xe0\xbd\x84\xfd\x869\xdf7;3\xdb\xeb\x953\x83\xe5\x8a\xf1\x99\x09\x07\x95C\xec\xd4\xea\x1a\x07\xd3o\xcd\xee\xe66\xe61\xb9>\xce\xf9\x197\x0e\x0e\xdb\xd7\x19\xea\xee\x9ej\xe6\xbff\xbb\xa6\xf0\x95e\xb2\x17y\xe47\x1b:\xc9\x08\xaf'\xeb!\xf2\xb3}\xfb\xf6\xad\xd1\xdee_\xac\xaf\xbba\"\xd1\x0e\x06,7SW\x92\xa6\x0cpM\xf05xH\x06S\x94r}\x15\x86\xf3o\xb53\xb3\xbd^93X\xbe\x18\x97\x99pP9\xc4N\xad\xaeq\xb0&\x9be\xda\xba\xacL\xfd\xe7c\xef\xa5\"~\x1c\x1c\xb6\xafO\xb3\xdd\x1b\x98M\xad-\x19|e\x99\xecE\x1e\xf9\xcd\x86N2\xc2\xeb\xc9\xca\xadD\xec\xab\xa8Z\xda\xda^\xabK\x86\x99\xaf+IS\x06\xb8&\x12X\xcbh\xda\xb7\xef\x13c\xf9\x8f\xf3o\xb53\xd3\xcf\xf7\x99\xd7+g\x06\xcb\x15\xe33\x13\x0e*\x8f\xd0\xa9\xd55\x0e\xd6d\xb3jX3\xfa\x0bv\xec\xf7!\xf5\x80\x1f\x07\x0f\x9bZqe\x99\xecE\x1e\xf9\xcd\x86X2\xc2\xe6\xc9\xcaM\xf8\x195l\xba.pJ\x86+IS\x06\xb8&\x12\x90\x0c\xb3;\xd4\xe1\xdfjgf{\xbdrf\xb0\\1>3\xe1\xa0r\x88\x9dZ]\xe3\x10;\xd9\xfeZX\xf7\xd7\x83\xd5s=\xaf[\xf2\xe3\x10kS\xbb\x99\xd9\xd4j\x95=\xe3\xae,\x93\xbd\xc8#\xbf\xd9\x10KF\xd8<Y\xb9\x09_\xc5\xde\x8e}7;%\xc3\x95\xa4)\x03\\\x13r\x92\xc1\xf5\x8d\xfb\xa0\xb5\xbc^93X\xae\x18\x9f\x99pP9\xc4N\xad\xceq\x10L\xb6\x03\xe4\x1aBjO\x1a\xcf\x1fo\x8e\xb9{\x8a\x1b\x07\x87\xed\xeb\xb5l\xede&\xf3\x8c\x1d\xb7TM\xb2\xc6]Y\x06{\x91O~\xb3!\x93\x8c\x10{\xb2\xf2w\x7f6\x93\xfb\xd6\xaf\xba\x95\x94\xb7\xbc\xc3\xe7\xcb%\xc9Y\xae\xdaM8\xef\x1f}_\x0d0\xda07\xd9\x0d\x90\xdc\xfd\xd2F\xdf\x1c\x99q^\xaf\x96\x19,_\xcc\xce\x8cz\x0c\xaa\x8d\xd0\xa9\x95o\xcdvu\xe5k8P\xbckg\xfbIS\xcd\xeaI\xe9i\xea\x84\x7f\xb1\x1c6\xb5uo\xed\xaa\xd1R\x9f[\xd1\xb2\xaa\x86\xb0\x00\xbb\xb2\x8c\xf6\"\x9f\xfcf\xc3%\x19a\xf6d\xb5\xbf!\xb2\x91\xf6\xad\xa9\x8eV<\xf0Bu\xb4\xd6\x91\xaf\x9d$g\xb9j7\xc1\xd7@{X\x99\x12mA\xdf\xdalS\xff\xce\xe4\x9a\xd4\xfb\xe6\xc8\x8c\xf7z5\xcd`\xf9bvf\xd4cPm\x84N\xad|k\xb6\xab+_\xc3\x9b\xda2e\xf4\x0e}\x19`s)\xd9G]\xf0/\x96\xfd\x1a\xcfl\xbeo\x82\x91\xfa\xd1\xda\x92\x09uO;+\xcbd/\xf2\xcao6\\\x92\x91\x06\xd2\xe2q\x9a%\x06\xa4\x82\xbe9\xce\\2\xc2\xa9\xd2\xa6S\xe7\xce\x9d\xde\x7f\xefd\xfd\xe8\xa2\x95\xb8\x8f2$pW\xd6o8\x1a\xce\x92\x97\xbb\x9f\xc8{\xc9H\x87\xc7i\xd6\x18\x90\xc6\xf6-\xf3\x92\xd1\xaa\xdf\x01A\xfb\xca\xdb\xd8\xbf/\x965\xc5\x0d\x8f\x8f\xb3\xb2~\x84o8k^\xee\xfe\x01\x92\x91_d^2\x0e\x14\xeag$\x1f\x16\xb2\xfbBN\x96/\xe9\x8d\x1f\x1f\x17ge\xfdH\xc6\x1a\xce<\x90\x8c|\"\x1b\xbc^\xfb\x1aK\x9a\xb6\xed\xd9\xd6T\xd2\x14@\"\x81V&C\xc6\x1a\xce<\x90\x8c|\"+\xbc^\xfbv\xd4UF+\xebv\x042\xd7\x02\xadL\x86\x8c5\x9cq\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\x00\x00\x09\x20\x19\xa0\x1f\xe9\xeb\xd3\xff\x07\xe1\x05\x92\x01\xfa\x8b\xcf\x1a+\xc8\xbd\x94>@\xca\x1b\xbd\x7f\xf8\x13d;\x90\x8c4\xf8\x96f\xc2\xa43\xf8^\x04M\xdf\x8c\x19\x1bw\x1dW\x95\xa3\xfd\x85\x19W\xe9?\"\x98\x89\x81\x02)\x92k\x92\x91\xdd\x9e\xac\xa4\xbc\xee}A\xbcM\xb2\x16\xa6\x09\xba\xafz\x93d\xc3\xffh\xba\xa6\xa4>\xc1\x86\x0f\xea?\x7f\xc5\xd8\xc3~\x9e\x9bz\x0c\x14\xc8nrE2\x120\xde\xcc\x02O\xd6\xf6\x17jF\xef\x11\xc5\x9b\x08\xcd?=\x8cBy\x12t_\xf5&\xc9\x86k+6<T\x92\xe0OU\xec'o\x98\x9b\xf6o\x10\xe6\x95\x9bin\x90+\x92\x91\x90\xf1f\xcc\x8fK\xf7\xbf'k\xdf\xdcjA\xb4\x8d\xe8\x13\xdb\xcb(\xd4&q\xf7UO\x92j\xf8+\xb2\x8e\xf6%\xfa;\xb9\xa2\xdf*\xcd/7\xd3\xdc\x20W$#!\xe3M\x81d\xf4\xbb'+\xef\x05\x90\x20\xfeF\xa1\x89\xbb\xafJ\xe1\xdb\xf0Q\"q:#\x96\x8c|r3\xcd\x0d\xc2%\x199\xe0\xc9\xdaPI\xf9zyoO\xdb\xfcSl\x14\xea\xd9\x9a\xc0}\x95\xda\x96\xab\\\xbe\xee$\x0d\x84\xae\xa3\xbe\x0d\xf7^\xa5\x07<Fy\x93Y\xca{\xbdr\xddd\x0b\x18\xef\x98\x0d\x1e$\xf6\xe9\x99\xc0\xcdT\xd4\x9a#u\xeb\x85\xf5\xe8\x10H#\xe1\x92\x8c\xd0{\xb2\x1eYJV9\xeaux{Z\xe6\x9fb\xa3P\xcf\xd6\x04\xee\xab\x9c\xe5*\x97\xaf;I\x13\x91\xeb\xa8\x7f\xc3\x1f\xb4o%\xcd\xed\xda\xefu\xdb&\xa8\x0e\xafW\xbb\x9b\xe7\xfe\xbe\xa7\xa6\xcc\xd2\x86\xde\xabj\xde\xfc\xd48\x15\x12\xb8\x99\x8aZs\xa4n\xbd\xb0^\x1d\x02\xe9#d\x92\x11~O\xd6\x86>g1\x97\xb7\xa7a\x98!6\x0a\xf5jM\xe4\xbe\xca[\xae\xda\xf9\xba\x92\xe4\x88u\x1dM\xa0a\xeb\xc4\x843A\xe5\x1a\xe6\x8a\xcdW\xbb\xce\x9d\xc4\xb0\x9f\x037~\x8c=v\xa0\xbcZ\xb36\xb9\x17\xd6\xbbC\x20M\x84N2B\xed\xc9\xfa\xce\x8e\x9a\x92\xe3\xceb.oOc\xe6\x8a\x8dB\xbdZ\x13\xb9\xaf\xf2\x96\xabv\xbe\xae$9b]G\x13h\xd8^\xcb\xb0MP\xb9\x86\xb9b\x7fm\xdb0c\xb2\xb5P\xda]1m\xdd.#\xe7\xd8\x81\xf2j\xcd\xda\xb4_X\xea\xdd!\x90&B'\x19!\xf7d=]\xb8\xc1Y\xcc\xe5\xedi\xce\\\xa1Q\xa8Wk\"\xf7U~\x99\xd5\xce\xd7\x95$G\xac\x1fX\x02\x0d[\x92\xc1\x99\xa0r\x0d;\x8a\xd1v\xdb\xb0d\x9f\xeeMol\xbb\x07\xca\xab5k\xd3~a\xa9w\x87@\x9a\x08\xb1d\x84\xd3\x93u\xe2\x0ag1\x97\xb7\xa71s\xc5F\xa1^\xad\x89\xdcWy\xcbU;_W\x92\x1c\x9e\x92\x11\xafaK28\x13T\xaeaG1\x8f+&\x82\x81\xf2j\xcd\xda\xb4_X\xea\xdd!\x90&B,\x19\xe1\xf4d\xadXrp\x15_\xcc\xe9\xedi\xce\\\xb1Q\xa8gk\x02\xf7U\xder\xd5\xce\xd7Y\x8cG$\x19\xbe\x0d[\x92\xc1\x99\xa0r\x0d;\x8ayH\x86`\xa0\xbcZ\xb36\xb9\x17\xd6\xbbC\x20M\x84L2B\xec\xc9j\xdc0][\xdfx\x13\x9f:\xe7\xedi\x9b\x7f\x8a\x8dB\xbd[\x13\xb9\xafZ\x96\xab\xd4\xce\xd7U\xccD\xec:\xea\xdb\xb0~\xc5D39\xe0MP\xb9\x86\xf9WH\x15G\xeb\x0c\xe4\x1d\xfbz\xab\xc8\xcdT\xd4\x9a#u\xeb\x85\xf5\xe8\x10H#\xe1\x92\x8c0{\xb2\xb2\xdb#Z\xd4\xb8\xea\xf2\x1d\\1\xde\xdb\xd36\xff\x14\x1b\x85z\xb6&t_\xb5,W\x19F\xbe\xeeb\x06b\xd7Q\xbf\x86{\xcb\xb4\xcd\"v\x15\xd6a\x82\xca5\xcc\xbdB\xf4\xefE\xf7\x1d\xfc\x8c]V\xfe\xec\xfd\x05Q\xd3IY\xecf*h\xcd\x91\xba\xf5\xc2zt\x08\xa4\x91pIF\x1a\xc8\xb0'k@\xa6\xa2i\xe9E\xd0\xb4\xce\xd4\x94~>!S\xcd\x0bD\x89\x0f\x14\xc8\x16\xf2^22\xec\xc9\x1a\x94\xa9h\x1az\x91\x06N\x1dT\x8f.>;\xf0\xa9\xf9Xb\xa0@\xb6\x00\xc9\xc8,y\xec\xed\x09\xc2\x09$#\xb3\xe4\xb1\xb7'\x08'\x90\x8c\x0c\x93\xbf\xde\x9e\x20\x9c@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00H\x04\xd8\xc9\x1a@2\x00\xf0\x05v\xb26\x90\x8c4\xb8\x99f\xbb\xd5h\xf0=\xceq`'\xcb\x91k\x92\x91\x7f\x9e\xac\xed\xa3\xc9\xdc>\xfa\x0a!\xa3\xed\xdf\xd3\x8cO\xaa\xfe\xad\xbe$\xd1\x8b\x14H\xb25\xd8\xc9&I\xaeHF\xfez\xb2\xf6\xec\"%\xed\xb4\xfb\x15\xb2+\xc6BHL\xca\xfe\xad6\x1e\x99\x09{\x916\x92\x183\x06\xecd\x93$W$#\x8f=Y\xbbIC\xa3z\x0cE\x12\xf4F\x0d\xc0\xbf\xd5\xc2+\xb3\x04?\xbc\x03\"\x891\x83\x9dl\xf2\xe4\x8ad\xe4\xb1'k7\xd9\xf7\xbad\xee\x00\x00\x20\x00IDATU\xda\x93\xb8d\x04\xe9\xdf\x9a\xbd?\xd5\xeb\x9b\x19\xecd\x93%\\\x92\x01OVAk\xdd\xe4\xf8\xad\xaf\xe8\x92aY\xa3z\x0c\x14\xb5{\xcc\xb9\xaf&R\xccF\x94\x19\x9f\x8e\xd0\xe0\x95\xef\xa6\x10\xd8\xc9\x86\x86pI\x06<Y\x05\xad\xa9\x92\xb1\xae^\x97\x0c\xdb\x1aU<P\xd4\xee1\xe7\xbe\x9aH1\x0baf\x8e\xce\x8b\x0c^\x1d\xdd\x14\x01;\xd9\xd0\x102\xc9\x80'klk\xaad\xfc\xbd\xf8\xef\x9adp\xd6\xa8^\x03e\xf7\xd8v_M\xa0\x98\x8583W\xe7c\x0d^]\xdd\x14\x01;\xd9p\x10:\xc9\x80'\xab\xbb5U2h\xfd:}-\xc3\xb6F\xf5\x1a(\xdb\xbf\x95s_\xf5/f!\xce\xcc\xd5\xf9X\x83WW7E\xc0N6\x1c\x84N2\xe0\xc9\xean\x8dI\xc6+7k\x92\xc1Y\xa3z\x0d\x94\xed\xdfj\x0fT\x02\xc5l\x84\x99\xb9:\x1fk\xbd\xe6\xea\xa6\x08\xd8\xc9\x86\x83\x10K\x06<Yu\x98d\xf4\x94\xeeb\x92\xc1Y\xa3z\x0d\x94\xddc{\xa0\x12(f!\xce\xcc\xd5\xf9\xd8I\xec\xea\xa6\x08\xd8\xc9\x86\x83\x10K\x06<Yu\x98d\xd0\x87\x1a\x98dp\xd6\xa8^\x03e\xf7\xd8\x1e\xa8D\x8a\x99\x883sv^0\x89\x9d\xdd<\xde,\xb8\xd3\x0av\xb2\xe1\x20d\x92\x01O\xd6\x98\xd6zv\x91W\xbai{\x09\x93\x0c\xdb\x1a\xd5s\xa0\xcc\x1e\xf3\x03\x95H1\x13af|\xe7\xc5\x06\xaf\\7U\xeaI\xa9\xeb\xbeK\xd8\xc9\x86\x86pI\x06<Yc[\xdb3\x9a\xdd\x20\xd2WS\xa1\xf6\xd3\xb2F\x9d\xeb9Pf\x8f\xf9\x81J\xa8\x98\x8103\xbe\xf3b\x83W\xae\x9b*\x9bK\xed\xc5\x01\x1d\xd8\xc9\x86\x86pIF\x1aH\x8b\x9bi\xe2V\xa3\x01y\xb2\xca\x90\x96\x1e\xfb\xe0\xeef+\xe9\xb7\xee\x06\x02\xecdm\xf2^2\xd2\xe1f*a5\x1a\x94'\xab\x0ci\xe8\xb1\x1f\xcen\xf6\xbdX\xd6\x147<\x0b\x81\x9d\xac\x09$#\xb3\xe4\x89'\xab\xb3\x9b'\xcb\x97\xf4\xc6\x8f\x07\xd9\x0b$#\xb3\xe4\x89'k\x9et3/\x80dd\x98<\xf1d\xcd\x93n\xe6\x03\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c48\x94f\x8f_g\xf0}\xeb_\xb2g$\x81I\xaeIF\xf6z\xb2&_\xef\xa1\xba\xd2\x8a\x86=\x151\x93\xdf\xa3C\x1c~\xee\xab\xfe5\x18$\x9b:GR\xbd\xc8_\xe7\xd3\xec%W$#\xfb=Y\x93\xae\xb7\xad\xb4f\xe3\xd6\xd9\x84\x1cq?!\xee\x10\x87\xaf\xfb\xaao\x0d\x06\xc9\xa6\xce\x91l/\xf2\xd5\xf94{\xc9\x15\xc9\x08\x81'k\x92\xf5~5q~/\xa5\xdd\xd5\xb1\x93M\xd8!\x8eD\xdcW\xe3\xd7`\x92d\xea\x1c\xc9\xf7\"O\x9dO\xb3\x97\\\x91\x8c\x10x\xb2&Y\xef\xb2\x12\xed\x97\xe3\xd6\xc8O\xb6D\xdcW\x13\x93\x8c$S\xe7H\xbe\x17y\xea|\x9a\xbd\x84K2B\xed\xc9\x9a\\\xbd\xb4Z\xb7\x0a\xfbbM\xafW\x87x\xfbP\xdbT\xd4\xee\x9b\xc3jT\xa6\x06\x8b\xe4R\xe7\x87$\xe9^\x08\x9dOA\x06\x09\x97d\x84\xda\x935\xb9z{\x0b\xb9syq\x878\xefT\xceT\xd4\xee\x1b\xbfW\xaa\x06\x8b\xe4R\xe7\x02\x92\xef\x85\xd0\xf9\x14d\x90\x90IF\x98=Y\x93\xab\xf78w6\x20\xee\x10W\x19\xeffj\xf7\x8d\xdb+W\x83MR\xa9s\x01\xc9\xf7B8\x92\x20\x83\x84N2\xc2\xeb\xc9\xca\x90\xaf\xb7\xb7\xc8\xfe\xc0\x17w\x88\xab\x8cw3\xb5\xfb\xc6\xed\x95\xab\xc1\x81|\xea\\@\xf2\xbd\xf0\x1aI\x90)B'\x19\xe1\xf5dM\xb2^c\x15\xa0\xb7\xcd\xabC\\,\xeffj\xf7\x8d\xdb+W\x83E\x92\xa9s\x01I\xf7B4\x92\x20\x93\x84X2\xc2\xe6\xc9\x9ad\xbd\xcbJ4\x07\x81m\xe4\x94G\x87\xb8X\x87\x9b\xa9\xd57n\xaf\\\x0d\x16I\xa6\xce\x05$\xdd\x0b\xd1H\x82L\x12b\xc9\x08\x9b'k\x92\xf5~5\xf1^v\x95\xa1v\x9aW\x87\xb8X\x87\x9b\xa9\xd57n\xafd\x0d&I\xa6\xce\x05$\xdf\x0b\xc1H\x82L\x122\xc9\x08\xb3'kr\xf5\xaa\x93i\xdc\xdc\x17[\xeb\x8a\xd8\xd1\xb9\xb8C\\,\xeffj\xf7\x8d\xdb+W\x83Ir\xa9;\x02\x92\xee\x85\xc8\xf9\x14d\x90pIF\x98=Y\x93\xac\x97\xb2og\x8c\xbbf\xfea\xb6\xe5\xd1!.\x96w3\xb5\xfbf\xef\x95\xac\xc1\x20\xb9\xd4\x9d\x01I\xf6B\xec|\x0a2G\xb8$#\x0d\xa4\xc5\xa14K\xfc:\xd3\xd2\xb7\xfe%KF\x12\xd8\xe4\xbdd\xa4\xc3\xa14k\xfc:\xd3\xd0\xb7\xfe%kF\x12X@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\xd2\xe0[\x9aa'\xd1\xe0;\x1462\xfc\x02\xe46\xb9&\x19\xf9\xe4\xc9\xea\x81\x9f\x11\xab\x1f\xbb*vx?\xf9\x02\xfb\x05\x8c\xf2\xba\xf7\xbd#\x18\xfaP7\x11\xcdW`\x0d!M\xae\xe7\xe36A\xb9\x1e7\xaa\xad\x8d;\x1a7V\x04\xac\\\xd3H\xaeHF>z\xb2\x8a\xf15b\xf5cGi\x1c\x13\x803/\x92\xe7\xda_\xa8\x19\xbd\xc7;\x84\x9aC\xfdii\x0b\xfb\xfd\xbf\xafZ&|\xeaz\xdenb\x8f\xe8'\xb7\xec\x1e\xff\xad\xbd}\xbd\xf9\xab\xc7R\xc0\xca5m\xe4\x8ad\xe4\xa7'\xab\x80D\x8cX}\x88{\x8cr\x88\xf9\x8f\xf4\xcd\xad\x8e\x17C\x8d\xa1\xbeI\xff)\xbe\xcd\xb3c\x9e\xb6\x9a\xb0_7\x1bg\x8f\xf7%%\x19\xb0rM\x1b\xb9\"\x19\xf9\xe9\xc9*\x20\x11#\xd6T\xd0$\xc3\xc3\xbb\x80C\x1b\xea{\x9f\xd1\xb6\x7fz\xafw\x1c\xff\x13\xcb&\xce\x1e')\x19\xb0rM\x17\xe1\x92\x0cx\xb2\x1a\x1dZH\xa2\x1b\x8dnr\x9b|\x87\x84F\xac\x9e\xc5,N\x97\x10R\xb8U\xdf\xe6\x86\xcfF\x97\x8c\x86J-\xc0J\xf2\xcc}\x95\xd1\xaa\xfa\x83Z\x84=\xd4\xcb\xf4C\x88\x07\x969F\xc7n\xc2\xf1\xba\x89{\xccI\x06\x97\xce\x1buU\xd1\xf2\xfa\xa9}T<\x92Z8\xac\\\xd3D\xb8$\x03\x9e\xacF\x87>\xdaZD*\x9a\x7f6\xf1^\xc7&\xf53b\xf5,fs\xa0\xbd\xbd\xb8\xd9\xd5\x1a\xcf!\xb2\xb3\xe7\xc8R\xb2\x8am\xdb6\xaa;H\xd3\x9em\xf5\x85\xfb\xa8c\xa87\xd7\xd0w\xaa\xde\xa6\xb7nt\x8e\x8e\xd5\x84\xe3u\x13\xf7\x98\x93\x0c;\x9d\xfd\xa3\x1b^\xd9\xb5\xb1\x9c\x9c\xa3R/\x00\x08\x84\x90I\x06<Y\xcd\x7f\xa3e\xea\xf1A\x03\xeb&\xbf\xe9g\xc4\xeaU\xccA\x89.\x19|1\x9bC\xdaqA\x03\xfb\x80\xe7mT\xb7\xa92\xd7w\x13\xfb\xd9wn\xa8\xdb\xcb\xe9\xd2\xe8RZ\xae\xa9\x98ctJ\xcc\xb3G\xebu\x13\xf7\x98\xda\x92\xc1\xa5\xb3\xbe\x82\x89\xc5\xfa\xb2>\xc9\x17\x00\x04A\xe8$\x03\x9e\xac\xacCj7\x1f\xa2\xe6\xe2\x0c\xb7\xe9c\xc4\xeaY\xcc\x811\x9f\xf9b6\x87\xc8\xcf\xde\xd9QS\xc2Z\xe1{\xf1\xc5\xfa\xba\x1b&\x92\xd9\xd41\xd4\x7f%=w4\xcc\xed\xd6Sr\x8cN\xacd\x88{Lm\xc9\xe0\xd2\xf9\xb4r\xda\xa2\x8d\x1f\xf4\xf5R\xf9\x17\x00\xa4L\xe8$\x03\x9e\xac\xacC|7\xf9M\x1f#V\xcfb\x0e\x8c\xf9\xcc\x17\xb3\xd1\xd62N\x17n\xa0\x8e$\xf7UT-mm\xafU%\x83\x1f\xea\xbe\xe8\x87\xa5\x07J?\x8cj\xeb\x0f\x8e\xd1\x89\x95\x0cq\x8f\xa9-\x19|:\xa77\xdc7\x83\\\xd3\xd2'\xf7\x02\x80@\x08\xb1d\xe4\xb3'\xab\xe7\xdc\x8fo\xc4*%\x19|1\x1b}\xf9s\xe2\x0a\xeaHrF\x0d\x13\xa8\x05\xaad8\x86\xba\xba\xa5\x92V\xae\xd1/\xc8:F\xc7)\x19\xecu\x13\xf7\x98\xda\x92\xc1\xa5s`\x99\xbayzk\xc9z\xb9\x17\x00\x04B\x88%#\xaf=Y=\xe7~|#V\x19\xc9\xe0\x8bQz\xfc\xb9c\xda_]2*\x96\x1c\\\xc5'Y\xc5&k\xdf\xcd\xaad8\x86\xba\xae\xe6^z\xef\xdc:\xad\xa0\xe3r\xaa%\x19\xd6\xeb&\xee1\xb5%\x83K\xa7Y__\xa9m\x92{\x01@\x20\x84L2\xe0\xc9\xaaw\x88\xeb\xa6\xa3\xc7>F\xac\xde\xc5Lz\xdfno/nl\x7f\xe3\x0c_\x8c1\xdf0J<\xa8M\xd7\xda\xfa\xc6\x9b\xf8$\x9b\xc9}\xebW\xddJ\xca[\xdeq\x0c\xf5\x92\xd1-\xb4e\xb4z\xdc\xc4w\x93o\xc2z\xdd<z\xfc)\xbb\xfbs]{\xfb_\x1d\xe94\x93\xd2\x15;\xd4\xd8=T\xea\x05\x00\x81\x10.\xc9\x80'\xab\xd1!\xae\x9b\x8e\x1e\xd3\xf8F\xacq\x8a\x19\xec\xd7\xf3!\x1b\xa8c\xf8(}\xa1\x82\xed\xa2\xec\xe6\x91\x165\xed\xear\xf6-\x11+\xc9\xbe5\xd5\xd1\x8a\x07^\xa8\x8e\xd6:\x86z\xe7\xb8\x83\xf4Pi\xab\xb3\x9b|\x13\xd6\xebF\xc5=~H\x0f%\x0f8\xd2\xf9\xf5\x1d\xcdU\xd1\x8a\xda=\x8eb\xfe/\x00\x08\x84pIF\x1aH\x8boi&\x9dD\xd3\xd2\xa1\xb0\x91\xc9\x17\x20\xd7\xc9{\xc9H\x87oif\x9dD\xd3\xd0\xa1\xb0\x91\xd9\x17\x20\xc7\x81d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\x00\x00$\x80d\xa4\xc1\xc24\xc3\x96\xa0\x01t\xa8\xc9m\x89\x08\x92$[F2\xb8\xf7d\xaeIF\xcey\xb22\x13T\xdd\xdddsk\x91\xf1\xeb\x11E\xad\xdcf\xdbh\xf6wr\xfd\x11\xb3D\xaa\x9e\xac*G\xc8\xb2x#\x19\x8f\xc4L[\xe5I\xde\xe05\xa3d\xcdH\x06gS\x9b+\x92\x91\xb3\x9e\xac\xcc\x04\xf5\x14=\xd5B^<\xd3B\x8c\xdf\xa8\x1a\xdd\xc2m\xf6\xbc\x19ml\xdf\xb3\xae\xba\xe4#\xbd@R\x9e\xac.k\xd4\x86\xe2S\xae\x91\xe4\x02\x846\xaa\x16\x89\x99\xb6\xca\x93\xb4\xc1k?\x93e#\xc95\x11\x94Mm\xaeHF\xeez\xb2\xea?\xb6\xb9\x87\x1c\xa2\xeb\xa2\xc6/a\x96\xac\xe36\x8d\x1ewW\xea?\xb1\x99\x9c'\xab\xd3\x1a\xf5\xe8\xe8\xc7\xd8\x1f~$\xb9\x00\x91\x8d*G\x82\xa6\xad\xd2$i\xf0\x1a4\xe6\xbb\xc4\x8b,\x1bI\xbe\x89\x80ljsE2r\xd7\x93\xd5\x96\x8c\xdeO\x0c\x9d\xf8\xa4\x97\xdb4{\xdc\\\xa2M\x9d\xe4<Y\x9d\xd6\xa8\x0fE\xb5\xdf\x03\xe5G\x92\x0b\x10\xd9\xa8r$h\xda*M\x92\x06\xafAc\xbeK\xbc\xc8\xb2\x91\xe4\x9b\x08\xc8\xa66\\\x92\x91\x8f\x9e\xac\xb6d08SckS\x7fC\xb6\x14\xb1_\x147;\xb4B\xadf+\xdd\xaa\xfe\xbb\xc2\xce\xc0i\xc4*\x1e>\x95\xe3E\xba}\x825\x92\\\x00\xb7\xb9\x90\x14\xadk\xaa\x9c\\\x7f\x94:\x10\x9b\xb6\xda6\xaa\x8eb\"\xb7X\xb1\xe5j\x92\x06\xaf\xee\x97%\x06G\x00\x97o\xf7\xd2\x19\xa5w\xbc}m\x9b#\xd8~\x97dp$\xad\xcc\x16\x92\xc2\x97\xad\x15:\xd1P\xbb\xd3\x09\xc6\xa66\\\x92\x91\x87\x9e\xac\x9a\x09jOO\x9b\x9fd\xf4\xdd\xa2\x1d\xb1\x9b\x1d:\xf5\xfd\x1a\xb5\x9a\xee7\xe76\xf0?\xea\xe70b\x15\x0f\x9fJ\x93q\x00k\x8d$\x17\xc0m\xb2\xca\xa6\xaej\x9e:\xce\xf9\xb1+6m\xb5mT\x1d\xc5Dn\xb1b\xcb\xd5$\x0d^\xdd/K\x0c\x8e\x00\xbb\xb5\xd37\x94\xafi[h\xfc\xa6\xb1\x85\xfd.\xc9\xdcH\xda\x99ik$\xe6\x0a\x9dh\xa8\xdd\xe9\x04cS\x1b2\xc9\xc8?OV\xc3\x04\x95\xc4\x93\x8c\x15==\x07\xef%\xbb\xd8\xb6\xd5\xa1_\xebW\x87f\xba\xd6Bm#V\x8f\xe1cW\x96\x8c\xdf\x1c\xb7G\xd2\xe3p::M\xcd\xfat\x95\xdbN\x8d\xe16m\xe5lT\xb9bb\xb7X\xb1\xe5jr\x06\xaf\xeeX\x11V\x00W\xac\xb1\x8cy\xdb-qI\x06\xff.\xc9\xd4H\xf2\x99\xd9V4\x1eC\xed<\xf7\x09\xc6\xa66t\x92\x91o\x9e\xac\xcc\x04u\xdf\xbe}k\xe2I\x06{g\x95\xebK$V\x87\x0e\x16\xf6\xf6\xfc\xfa\xf4\xb9\xe8A\xea\xc06b\xf5\x18>\xf509jTa\x8f\xa4\xd7\x1b][i]O\xbe\xa2\x1cb\xd3V\xceF\x95+&v\x8b\x15[\xae&g\xf0\xea\x8e\x15a\x05\xd8\xc5\xfa\xc6iu~\xe4\x92\x0c\xfe]\x92\xa1\x91tdfK\x86\xc7P\xbb%C\xf4\x9e\x94%t\x92\xd1\x96o\x9e\xac\x09\xace4\xed\xdb\xf7\x89q\xd9\xc0\xeaPo\xd1\xc15d\xc5\x91\xc2^\xea\xc0\x1e\x1d\x8f\xe1\xa3'\xa3?\x8a\x89\xf5z\xa3k\xef\xdev\xa7\xc9\x90\xd8\xb4\x95\xb3Q\xe5\x8ay\xb8\xc5\x0a-W\x934xu\xc5\x8a\xb0\x02\xecb\x7f\xd3\x17\xa9\xbb]\x92\xc1\xbdK25\x92\x8e\xcc\xc49pC\xed\x94\x8c`ljC,\x19y\xe2\xc9\x9a\x80d\x98}\xa0|\x87fl\xad\x9d;\xa3\xd5}\xf3\x9a=:\x1e\xc3G\x97\x14\x1e\x8b\x89u\x04pC\xbd\x84=\xdeH\x1c\x07\xfdb\xd3V\xceF\x95+&v\x8b\xf5\xb0\\M\xce\xe0\xd5\x15+\xc2\x0a\xb0\x8b\xf5\xe9u\x1ev\x9f\x98\xd8\xef\x92L\x8d\xa4#3\xad\xdeg\xa2\xd4s\xa8\xf9\xd6D\xef\xc9d\x08\xb1d\xe4\x89'\xab\x9cd\xd8\x1d\xfa\xfe\xa2h\x1bY\xf8\x00ub\x8f\x8e\xc7\xf0}Vl\xd96\xf3ot;\x80\x1f\xeak\xd4\xb7`\xf7\x0d\xb5ZD|\xd3V\xceF\x95+&v\x8b\xf5\xb0\\M\xce\xe0\xd5\x19{\xbcYp\xf7\x94\x15\xc0\x15[P\xaeN\xbe\xbe\x86\x98\xb5\x0c\xeb]\x92\xb1\x91\xe43\x1b\xb7T\xdd\xaca\xf5z\x0c5\xdfZP6\xb5!\x93\x8c\xfc\xf3d\xe5\xee\xfeTw\xbf\xbf\x9e\xac3*67\xd9\xdd\x9f\xd6\xcd\xe2\\\x87\x9e\x1b7\xb1\xaf\xbad\x15\xe5q\x8c\x8eh\xf8(}|\xf4QA,\x17\xc0mF\xc9-\xdb6W\x97\xe9\x0b\xae~\xa6\xad\xb6\x8d*WL\xe4\x16+\xb6\\M\xd2\xe0\xd5\xf5\xb2\xd4\x93\xd2\xd3\xd4\x81#\xc0n\xed\xb3\x8a\xaa\xf5\xad\xf3\x8bc%\xc3\x20s#\xc9g6\xb7\xa2eU\x0d\xd1\xde\xd5\xe2\xa1\xe6[\x0b\xca\xa66\\\x92\x91\x87\x9e\xac\xf6wL6\xaa\xf2\xc0:V\xa2M\x0fk\xb3M\xfd;\x93k\xc6\xec\xd0\x81\xb2\x15\xb4\xa5t\x1f\xe5q\x1a\xb1\x0a\x86\x8f\xfe\xbd\xa4A\x18\xcby\xa7\xda\x9b\xd1\xc7\x1b'V6\x186\xd0\xf1M[y\x1bU\xae\x98\xc8-Vl\xb9\x9a\xa4\xc1\xabk|7\x97\x12\xe7\x88\xb8\x02\xec\xd6\xbeh\xac*\xa9=\xe0)\x19\x99\x1bI>\xb3\xa3\xb5%\x13\xea\x9ev\xe5\xe0\x18>\xae\xb5\xa0lj\xc3%\x19i\x20-\x16\xa6\x99\xb4\x04M\xadCO\x13\xee\x88\xc5\x0f\xc7\x19Q\xe2$Y,\x10Z\x89\xeb(#.\xee\xe5O\x19\xd2;\x92\xf2\x99\x05\xf6\x9e\xcc{\xc9H\x87\x85if-AS\xea\xd0\x8f\x9a\xfc\"8\xa4\xdf\xe8:I\x16\x0b\x80\xbe\x17\xcbd\xfa\x97\xc4\xc4\xb4I\xefHJg\x16\xdc{\x12\x92\x01\x92F\xfa\x8d\xae\x93d\xb1\x008Y\xbe\xc4u\xd19>\xd2\x133Y\xa4\x87\xa4\xdf2\x8b\x05\x92\x01\x92\xe4\xa4\xb6\xaa\xe7\x17\x15C\x92\xc52\xc1\xd16\xf2\xd8[\xfd\x90\xaa\xfc\x90\xf4Wf\"\x20\x19\x20I\xb4U\xbd\xe3T\x96$\x8be\x82\xb9j\xaaE\xae\xef\x8a\xa5\x03\xf9!\xe9\xaf\xccD@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x00\x00\x12@2\x82\xb00u\x11\x9c\xffez\x08\xbe\xc7\xfdK\xb6\x8fon\x93k\x92\x91\x93\x9e\xac\xc19sj\xf8\x99\xb6z\x0cT,Iu\xc8\xc9\xa1\xba\xd2\x8a\x86=\x151\x12\x167\x87\xe0\xfcE\x81<\xb9\"\x199\xed\xc9\x1a\xa43g\x02\xa6\xad\xe2\x81\x8a%\xb9\x0e9h+\xad\xd9\xb8u6\x89\xfdi\x09\x9f\x1c\x82\xf2\x17\x05\xf2\xe4\x8ad\xe4\xb8'k\x80\xce\x9c\x89\x98\xb6\x0a\x06J@\x92\x1d\xe2\xf8j\xe2\xfc^J\xbb\xabE\xbfF\x13?\x87\x80\xfcE\x81<\xb9\"\x19\xee\xdfw\x17\"x\x17\x86\xc5\x9358g\xceDL[\x13\x93\x8c$;\xc4\xb1\xacD\xfb\xed\xba5\xf2\x92\x11\x90\xbf(\x90'\\\x92\x91\xbf\x9e\xac\x819sZ=\xa6\xf4\x93\x05\xe5\xd1\x8az\xe6\xae\"\x1e(\xae2.\xd6&\xb9\x0e\xf1\x03U\xad\x1b}|\xb1\xa6W:\x07\x81\xbf\xa8\xa8\x09\xa7\xe5\xaa\xd9\x84\xafS+\xf0&\\\x92\x91\xaf\x9e\xac\x01:sZ=\xa6{Joi\xd9\xd5L\xd8H\x8a\x07\xca\xae\x8c\x8f\xb5I\xaeC\\@o!\xb7\"!\x99\x83\xc0_T\xd4\x84\xe3e\xb1\x9a\xf0uj\x05\xde\x84L2\xf2\xd6\x9350gN\xab\xc7=Uu\xeal\xef\xdd\xf6\x95\xd7@q\x95q\xb1<\xc9u\xc8\x0e8\xce\x9d\xd3\xc8\xe6\x10;\xbe^\xaf\x85\xb5\xc9;\xc0\xfa;\xb5\x02\x0fB'\x19\xf9\xe8\xc9\x1a\xa43\xa7\xd5\xe36\xf2\x81\xb9O<P\\e\\\xac\x8b$:d\x07\xf4\x16\xd9\x87-\xb29\xc4\x8e\xaf\xd7kam\xf2\x0e\xb0\xfeN\xad\xc0\x83\xd0IF~z\xb2\x06\xe7\xcci\xf5\x98[P\x15\x0f\x14W\x99x\xf15\xc9\x0eq\x01\xc6ZFo\x9b|\x0e\xb1\xe3\xeb\xf5ZX\x9b\xbc\x03\xac\xbfS+\xf0\x20\xc4\x92\x91W\x9e\xac\x819sZ=\xdee{g\x89\x07\x8a\xabl\x97\xd0g+\xc9\x0eq\x01\xcbJ4\xfb\x84m\xe4\x94t\x0e\xb1\xe3\xeb\x95\x83\xb5\xc9;\xc0\xfa;\xb5\x02\x0fB,\x19y\xe5\xc9\x1a\x9c3\xa7\xd9\xe3\xee\x8aZv\xd6\xb2h\x89\xd7@q\x95q\xb1\x1cIv\x88\x0b\xf8j\xe2\xbd\xecZI\xed4\xe9\x1c\x04\xe3\xeb\x95\x83\xb5\xc9;\xc0:]]\x81\x04!\x93\x8c\xfc\xf3d\x0d\xdc\x99\xd3\xea\xf1\x9e\xe2\x99\x1b\xda\x16\x91\xcd\xd4k\xa0\xb8\xf1\xe5bm\x92\xeb\x90#\xa0m\xdc\xdc\x17[\xeb\x8a\xde\x94\xceA\xe4/*j\xc2\xd1\x9a\xd5\x84\xeb\xc5\x022\x84K2\xf2\xd0\x935hgN\xae\xc7\x1f\xdfw\xed\x84\x1amM\xc4c\xa0\xb8\xf1\xb5cm\x92\xeb\x903\xe0P\xdd\xb8k\xe6\x1ff[R9\x88\xfdE\x05M8Z\xb3\x9ap%\x09d\x08\x97d\xa4\x81\xd4,L=\x08\xcc\xff\xd2\x87\xa4<\xb3\xd2\xd2\xe3\xfe\xa5\xbf\xc6\x17\x08\xc8{\xc9H\xcd\xc2TLp\xfe\x97>$%\x19\xe9\xe8q\xff\xd2o\xe3\x0b\x04@2\xc2Lr\x92\x01@\x0a@2BL&\x9d9A\xbe\x02\xc9\x081\x99t\xe6\x04\xf9\x0a$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$#\x0d\x0e\xa5Y\xe9\x19\x1a|7\x93$+G\x07$L\xaeIF6{\xb2R\xfa\x8f\xa6kJ\xea\x13\xf8RH\x06\x8cX\xe3\x11l:pT\x0d7\xb9\"\x19!\xf0dU\xa9\xad\xd8\xf0P\xc9i\xd13N2`\xc4\x1a\x8f\xa0\xd3\x81\xa3j\x98\xc9\x15\xc9\x08\x81'\xabzHN\xd6\xd1>\xf7\xaf\xdc\x0a\xc9\x84\x11\xab\x00sH\x82N\x07\x8e\xaa!&W$#\x04\x9e\xac\x94\x1e%;bw\x0a\xc9\x84\x11\xab\x00sH\x82N\x07\x8e\xaa!&\\\x92\x11fO\xd6\xde\xab\xf4$\x1fs\xc5r\xae\xa3i7b\xf5j\xd8\xaa\x97\x87\x1b\x92\x80\xd3\x11:\xaa\x82\x90\x10.\xc9\x08\xb5'\xeb\x07\xed[Is;\xfb\xe5sG,\xe7:\x9av#V\x8f\x86\xedzy\xb8!\x098\x1d\xa1\xa3*\x08\x09!\x93\x8cP{\xb2\xf2'&V,WC?\x18\xb1\x8a\x1b\xe6\xeb\xe5\xb1\x86$\xe0t\xc4\xa3\x03\xc2A\xe8$#\xcc\x9e\xac\xbcd\x98\xb1\\\x0d\xfd`\xc4*l\xd8Q\xaf\x0d7$\x01\xa7\xe3\xe5X\x0b\xc2@\xe8$#\xbc\x9e\xacN\xc90c\xb9\x1a\xfa\xc1\x88U\xd8\xb0\xa3^\x1bnH\x02NG<:\x20\x1c\x84X2\xc2\xe6\xc9\xea\x94\x0c3\x96\xab\xa1\x1f\x8cX\x85\x0d;\xea\xe5\xb0\x87$\xe0t\xc4\xa3\x03\xc2A\x88%#l\x9e\xacN\xc90c\xb9\x1a\xfa\xc1\x88U\xdc0_\xaf\x03sH\x82NG8:\x20\x1c\x84L2\xc2\xec\xc9\xaa_1y\xa7\xcfe\x09\xca\xf5\"\xedF\xac\x1e\x0d\xf3\xf5\x0a\x09:\x1d\x91\xa3*\x08\x09\xe1\x92\x8c0{\xb2\xf6\x96i\x01EG\xdc\xb1\\/\xd2m\xc4\xea\xd50W\xaf\x88\xa0\xd3\x11;\xaa\x82p\x10.\xc9H\x03iq(M\xabghR\x16i\x09t3\xa9z\x93)\x96\xd6\xd1\x01\xe9&\xef%#\x1d\x0e\xa5\xe9\xf5\x0c\x95\x9f\xa3\x0c\xffn&W\xaf|\xb1\xf4\x8e\x0eH7\x90\x8c\xd0!=G\x13$\xc9z\x93,\x06\xc2\x0a$#l\xa4\xcb\x885\xc9z\x93,\x06B\x0b$#l\xa4\xcb\x885\xc9z\x93,\x06B\x0b$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$\x03\x00\x20\x01$#\x0df\xa5\xd9\xee:\x1a|\x8f\x03%\xdb\x87/\xcf\xc95\xc9\x80'\xab?\xa9\xd8\xb3r\xa4-I\x98\xb6f5\xb9\"\x19\xf0dM\x98\x94\xecY9\xd2\x98$L[\xb3\x98\\\x91\x0cx\xb2&J\x92\xf6\xac\x1cA:\xb5z\x00\xd3\xd6\xec%W$\x03\x9e\xac\x89\x92\xa4=+G\x90N\xad\x1e\xc0\xb45{\x09\x97d\xe4\xbb'\xab\xe5q\xba\x90\x14\xadk\xaa\x9c\\\xaf}\xeb\xdc\xea\xe6B\x12\xddhu\xde\x8au\xd4\xe0k\xcf*n\xc2\xc6\xdf\xa95\x80$a\xda\x9a\xc5\x84K2\xf2\xdc\x93\xd5\xf68\xfdhk\x11\x99\xba\xaay\xea8\xa6nV7\xd9\xde\x8a\xe6\x9fMd\x9d\xb7c\x1dM\xf8\xd9\xb3z4a\xe3\xeb\xd4\x1aD\x920m\xcdbB&\x19\xf9\xed\xc9\xca{\x9cF\xa7\xa9\x85OW\xd58\xbaI\xa3e\xea\x87w\x03\xeb<\x17\xebH\xd2\xc7\x9eU\xdc\x84\x03\x1f\xa7\xd6\x20\x92\x84ik\x16\x13:\xc9\xc8cOV\x87\xc7\xa9\xbe\x88\xb9\x9e|\xc5uS\xdd\xfb\x105:\xcf\xc5:\x92\x8co\xcf\xea\xd1\x04\x87\x9fSk\x20I\xc2\xb45\x8b\x09\x9dd\xe4\xb1'\xab\xc3\xe3T_\xe5m'\x07\xb8n\xf2\x9d\xe7b\x1dI\xc6\xb7g\xf5h\x82\xc3\xcf\xa95\x90$a\xda\x9a\xc5\x84X2\xf2\xce\x93\xd5\xe1q\x1a]\xc2Jo$g\xb8n\xf2\x9d\xe7b\x1dI\xc6\xb7g\xf5h\x82\xc7\xc7\xa95\x90$a\xda\x9a\xc5\x84X2\xf2\xcf\x93\x95\xf78\x8d^\xa3\xce\xa9\xee\x1bj\x1d\xdd\xe4:\xcf\xc5:\x92\xf4\xb1g\x157\xe1$\xbeSk\x20I\xc2\xb45{\x09\x99d\xe4\xb7'+\xefq\x1a%\xb7l\xdb\\]\xc6\x92\xb4\xba\xc9w\x9e\x8f\xe5\x07\xca\xc7\x9e\xd5\xa3\x09!iL\x12\xa6\xad\xd9K\xb8$#\xcf=Yy\x8f\xd3\xe8\xe3\x8d\x13+\x1b>c\x9bV7\xf9\xce;\xfcP\xb9&|\xecY=\x9a\x10\x91\xc6$a\xda\x9a\xc5\x84K2\xd2@\x02f\xa5\xf2\xf4\x83\xebh\x9c\x9b\\}H\xb8\xc7\xc97a\x92d\x0d\xfd0|\x20i\xf2^2\x120+\x95\xa6?\\G\x93\x9c\x8d\x8cD{\x9cB\x13\x06\xc9\xd5\xd0\x1f\xc3\x07\x92\x06\x92\x11R\x92\x9b\x8dR\xa4\xdeD\xea5\x80\xac\x03\x92\x11JNjk\x88~Q)\x91z\x13\xa9\xd7\x00\xb2\x10HF(\xd1\xd6\x10\x8f\xd3t\x92z\x13\xa9\xd7\x00\xb2\x10H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02H\x06\x00@\x02HF\x1a\x1cJ\xb3\xc7TT\xeb[\xf6\xa4\x03r\x80\\\x93\x8c\xec\xf6d\x8dK\x1a<N\xf5\xbe\xf9\xa5\x93\x86\x86A\xee\x92+\x92\x11\x0eOV!f\xea\x81x\x9c\xee\xe1\x7f\xcd\xca\xea[\xfct\x82o\x18\xe40\xb9\"\x19\xa1\xf0d\x15c\xa5\x1e\x84\xc7\xa9=\x0e\x8e\xbe\x89\xd3\x09\xd2\\\x95o\x18\xe42\xb9\"\x19\xa1\xf0d\x15c\xa5\x1e\x84\xc7)\xff\x93\xc5\\\xdf\xc4\xe9\x04i\xae\xca7\x0cr\x99pIF\x98=Y\xd5\x0f\xf5\x86\xab\xae}\xfc\xf1\xabJ\xb7y\xa4\xee\xe1q\xda\xbdtF\xe9\x1do_\xdb\xc6\xd6i^\xb6VdD&\xa8\x8eq\xb0\xfb\xc6\x88M\xc7\xdf\\5\xd9\x86AN\x13.\xc9\x08\xb5'k\xef\xcc\x8a\xf5\xcd\xc5%\x9b\xeb\xd6x\xa4.\xf68=}C\xf9\x9a\xb6\x85\x84l\xd0\xd7i\xcc\x15\x19\x91\x09\xaac\x1c\xec\xbe\x89\xd3\xf15WM\xbaa\x90\xd3\x84L2\xc2\xec\xc9\xba\x8d\x1cdf\x83\x87b\x8a\xd9'&\x0c\xb7\xc7ic\x19so[\xa2\xce\\\xde\x01\xc4\xc3\x04\x95??\xe0\xfa&\xf68\xf51WM\xbaa\x90\xd3\x84N2\xc2\xeb\xc9\xba\xacL\xfd\xe7cm\x89D\x9c\xba\xd0\xe3\xb4o\x9c\xb66\xf3\x91k\xe6z\x98\xa0\xf23\x97s_\x15\xa5\xe3g\xae\x9a|\xc3\x20\xa7\x09\x9dd\x84\xd7\x93u\xcd\xe8/\xd81\xcf\x871\xc5\x1c\xcb\x9fn\x8f\xd3\xbf\xe9\xcb\xb0\xdd\xae\x99\xeba\x82\xca\xcf\\\xce}U\x94\x8e\x9f\xb9j\xf2\x0d\x83\x9c&\xc4\x92\x116O\xd6\xbf\x16\xd6\xfd\xf5`\xf5\xdc\xbe\x98bf\xeaB\x8f\xd3\xbe\x12-\xc3\xc3\xf6\xcc\xd5\x8e\x95<LP\xb9q\xe0\xddW\x85\x1e\xa7>\xe6\xaa\xc97\x0cr\x9a\x10KF\xd8<Y\x0f\x90k\x08\xa9=\x19S\xccJ]\xecq\xba\xa0\\\x9d\x9d}\x0d\xda\xcc\x1d\xb7T\xdd\xac\x89:k\xe0MP\xb9qp\xf4M\xecq\x1a\xdf\\5\xf9\x86A.\x132\xc9\x08\xb3'\xeb\x81\xe2];\xdbO\xba\x8aQ;u\x0f\x8f\xd3\xcf*\xaa\xd6\xb7\xce/\xd6f\xee\xdc\x8a\x96U5D\xeb\x85\xd8\x04\xd5\xae\x8c:\xfa\x16\xdf\xe34\xe8\x86A.\x13.\xc9\x08\xb3'+}3\xca\x02\xa2w|\xc8\x17\xa3v\xea\x1e\x1e\xa7\xf4\x8b\xc6\xaa\x92\xda\x03\xda\xcc=Z[2\xa1\xeei\xadob\x13T\xab2\x0d\xabo\xf1=N\x83o\x18\xe40\xe1\x92\x8c4\x90\xb0C\xa9\x0c\"S\xd1S\xa5M\xa7\xce\x9d;\xbd\xff\xde\xc9\xa7EE|\xd0W!%1\xfb\x96\x8a\xc7iR\x0d\x83\x1c&\xef%#a\x87R\x09\x84\xa6\xa2\xad\xfa\xfd\x0b\xb4\xaf\xbc-\xe69\x7f\x92\x9b\xb9z\xdfR\xf28M\xaea\x90\xbb@2\xfa\x8b\x03\x85\xfa\x17:>,\xfc\xc0'RD\xc6fn\xc6\x1a\x06Y\x0a$\xa3\xbf\xe8k,i\xda\xb6g[SIS\x12\x1f\xf9G\xdb\xc8co%Q.e2\xd60\xc8V\x20\x19\xfdF\xdf\x8e\xba\xcahe\xdd\x8ed&\xe0\\BH\xd1Q\xbf\xa84\x90\xb1\x86A\xb6\x02\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\x00\x00H\x00\xc9\xc8iOV\x0e\xd8\xb3\x82@\xc85\xc9\x80'\xab\x07\xb0g\x05\xc1\x90+\x92\x01O\xd6\xf8\xf4\xa7=+\xc8irE2\xe0\xc9\x1a\x97~\xb5g\x059M\xaeH\x06<Y\xe3\xd2\xaf\xf6\xac\x20\xa7\x09\x97d\xe4\xa5'\xab\xe5|\xba\x90\x14\xadk\xaa\x9c\\\xaf}\x17\xdd\xea\xdbB\x12\xddh\xf5\xd8\x8au\xd4\x90\xba=k\x009\x80\x1c!\\\x92\x91\x8f\x9e\xac\xb6\xf3\xe9G[\x8b\xc8\xd4U\xcdS\xc71I\xb3\xfa\xc6\xf6V4\xffl\"\xeb\xb1\x1d\xcb\xd7\x90\xba=k\x109\x80\x1c!d\x92\x91\x87\x9e\xac\xbc\xf3it\x9aZ\xfb\xe9\xaa\x1aG\xdfh\xb4L\xfdto`=\xe6b\x1dM\xa4j\xcf\x1aD\x0e\x20G\x08\x9dd\xe4\x9b'\xab\xc3\xf9T_\xc4\\O\xbe\xe2\xfa\xa6\xee}\x88\x1a=\xe6b\x1dM\xa4h\xcf\x1aH\x0e\x20G\x08\x9dd\xe4\x9b'\xab\xc3\xf9T_\xdam'\x07\xb8\xbe\xf1=\xe6b\x1dM\xa4h\xcf\x1aH\x0e\x20G\x08\xb1d\xe4\x87'\xab\xc3\xf94\xba\x84\x15\xd8H\xcep}\xe3{\xcc\xc5:\x9aH\xd1\x9e5\x90\x1c@\x8e\x10b\xc9\xc8\x13OV\xde\xf94z\x8d:\xdb\xbbo\xa8u\xf4\x8d\xeb1\x17\xebh\"U{\xd6@r\x00\xb9A\xc8$#\x0f=Yy\xe7\xd3(\xb9e\xdb\xe6\xea2\x96\x99\xd57\xbe\xc7|,\xdfD\xaa\xf6\xac\x81\xe4\x00r\x83pIF>z\xb2\xf2\xce\xa7\xd1\xc7\x1b'V6|\xc66\xad\xbe\xf1=v\xb8\xa4rM\xa4j\xcf\x1aL\x0e\x20'\x08\x97d\xa4\x81\x90x\xb2\xea\xc4\xb9\xb3\xd5\x87\x20\xecYu\x92\xcf\x01\xe4\x04y/\x19!\xf1d\xd5Ia\xba\x06`\xcf\xaa\x93B\x0e\x20\x17\x80d\xf4\x17\xa9y\xb2\xead\xc3t\xcd\x86\x1c@\x06\x81d\xf4\x17)y\xb2j\x9c\xd4\x16\x19\xfd\xa2\xd2K6\xe4\x002\x0a$\xa3\xdfH\xc5\x93UC[d\xe4n\xe3\xcc\x04\xd9\x90\x03\xc8(\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x0c\x00\x80\x04\x90\x8c\xbc\xf2d\x0d1\xf1\x065\xec}\x0b\x15\xb9&\x19!\xf6d\xd5\xd0\x93L\x835jl7\x9dx\x8cN,)\x8f\x0e\xa5\x87\xeaJ+\x1a\xf6T\xc4L\xf3\xb89\xc4\x19T\xbf\xbe\x09\xd9U\xb1\xc3/$U\xfa\xa1\x89\xd4\xf0\x9d-\xadE\xc6\xcf\xb7\x16\xd9z\x9d+\x92\x11bOV\x07z\x92\x81X\xa3\xee\xe1\x7f}+\xb6\x9b.\xc4\xa3\x13K\x00\xa3\xd3VZ\xb3q\xeblB\x8e\xb8\x9f\xf0\xc9\xc1kP}\xfb&dGi\xac7C\xc0\xa4\xdc\xc4\x9ex?\xa0\x96\x02\x09\xcf\x96\x16\xd2\xde\xbe\x9e\xacko\x1f\xddb=\x93+\x92\x11bOV\x17Z\x92AX\xa3\xdaC\xe2\xe8\xa6'\x82\xd1\x11\x90\xfa\xe8|5q~/\xa5\xdd\xd5\xb1\x92\xe1\x97\x83xP\x13\xe9\x9b\x08\x89\x03\x13\xf3\xad!\x8bD\x13B\xf8\x97P\x06\xbf|\x13\x9e-\xeb\xa2\xec\x17\xe9\xdf\xa6\xb4\xc4V\xeb\\\x91\x8c\x10{\xb2\xba\xb0%#EkT\xfe\xd7\x8b\xb9nz\x92\x98d\xa4>:\xcbJ\xb4_\x01\\#/\x19\xe2AM\xa4o)b\xbe5\xfa\x1b\xfe%\x94\xc1/\xdf\x84gK\xef'\x86d|\xd2k\xed\x0f\x97d\x84\xd9\x93\xd5\x11`\x9b\x95\x9e\xb9\xaf2ZU\x7fP\x0b\xb1\x93\xf4\xb0F\xed^:\xa3\xf4\x8e\xb7\xafmc'\xa1/[\xa7\xfe\"\xefT\xc7\x90\xf0\x9e\xac\x9f,(\x8fV\xd4\xb3\xdf9\x17\x8f\x0eo\xa3j\xc7\xda\xa4>:\xd5?\xd2*\xfabM\xaft\x0e\x02\xa3[\xaeo\"3X\x8f\xccN\x97\x10Rh\x9a\xb8qC\"\xf2\x90\xe5\xde\x1a\xe9j\xc2\x82\x7f\x83s/!\xdb|Z\xaf\xd7i\x8a\x1b7\xdf\x80f\xcb>\xdd\x04\xc7\xca!\\\x92\x11fOVG\x80mV\xba\x834\xed\xd9V_\xb8\x8f:\x92\x14[\xa3\x9e\xbe\xa1|M\xdbBB6\xe8'\xa1\xe6\xa9\xbf\xc8;\xd51$\x9c'\xeb\x9e\xd2[Zv5\x136|\xe2\xd1\xe1lT\xb9X\x9b\x94G\xa7\xb7\x90[\x91\x90\xcc!\xd6N\x96\xeb\x9b\xd0\x0c\xd6+\xb3\x03\xed\xed\xc5\xc6\x07,\xd7\x84\xd0C\x96{k\xa4\xab\x09\x1b\xee\x0d\xce\xbd\x84=oV5\xb1z'\xbe\xd1\xed0\xc5\xf5\xc97\x98\xd9bH\x86\x95C\xc8$#\xcc\x9e\xac\\\x00W\xacg\x9b\xfa\xee\xea\xbb\x89\xfd`:\x97\xa4\xd8\x1a\xb5\xb1\x8c}N-Q%\x837\x0e\xf1\xf0N\xe5\x8fj\xadn\xf6T\xd5\xa9\xb3\xbdw\xdbW^\xa3\xc3gf\xc7\xf2\xa4::\xc7\xb9s\x1a\xd9\x1cD\x83j\xf5\xcd\xcb\x0cV\x94\x19\xa3D\x9f\xcf\\\x13^\x1e\xb2\xd6[#}MXpop\xfe%lf\xc7\x04\x0d\xday\x99m\x8a\xeb\x9bo\x20\xb3e\x9fi\xb5g\xe4\x10:\xc9\x08\xaf'+\x17\xc0\x17\xfbb}\xdd\x0d\x13\xc9l\xeaHRh\x8d\xda7N{\x07~\xe4\x92\x0c\x0f\xefT^2\xacn\xb6\x11\xeb\x87G\xc5\xa3\xc3U\xc6\xc5\xbaHitz\x8b\xec\xc3\x16\xd9\x1cD\x83j\xf5\xcd\xcb\x0cV\x94\x19\xc3\x98\xcf\\\x13b\x0fY\xee\xad\x91\xae&8\xb878\xff\x12\xfem\xf4a\xda;q\x17\xdb\xb4Mq}\xf3\x0dd\xb6X\x92a\xe4\x10:\xc9\x08\xaf'+\x17\xc0\x15\xdbWQ\xb5\xb4\xb5\xbdv6u$)\xb4F\xfd\x9b\xfe\xf9\xdc\xed\x92\x0c\x0f\xefT^2\xacnr\x0b\xaa\xe2\xd1\xe1*\x13/\xbe\xa6>:\xc6ZFo\x9b|\x0e\xa2A\xb5\xfdf=\xcc`E\x991\x8c\xf9\xcc5!\xf6\x90\xe5\xde\x1a\xe9j\x82\x83{\x83;^\xc2\xba\xc7i[\x99\xee\xa3\xadU\xcaLq}\xf3\x0dd\xb6X\x92a\xe4\x10b\xc9\x08\x9b'+\x17\xc0\x15\x9bQ\xc3\xdeN\x0bT\xc9\xe0\x93\x14Z\xa3\xf6\xe9\xef\xc0\xc3\xb6dh\x1f\x04\x1e\xde\xa9\xdc\x90\xd8\xdd\xdce[\xa5\x89G\x87\xabl\x97\xd0V-\xf5\xd1YV\xa2\x99@l#\xa7\xa4s\x10\x0d\xaa\xd57/3XQf\x0cc>sMxx\xc8\xdao\x8d\xb45a\x13+\x19\xfaK\xb8\xa3\xbc\xf7\xa1\x1fj\x11\xb6)\xaeo\xbe\x81\xcc\x16[2\xf4\x1cB,\x19a\xf3d\xe5\x02\xb8bU\xec\xdd\xd6w\xb3*\x19|\x92bk\xd4\x05\xe5\xea\x0b\xde\xd7\xa0I\xc6\xb8\x85CSm\x00\x00\x11\xbeIDAT\xa5\xeafM\xd4Y\x19\xef\x9d\xca\x0d\x89\xdd\xcd\xee\x8aZ\xf6I\xb5h\x89\xd7\xe8p\x95q\xb1\x1c\xa9\x8f\xceW\x13\xefe\xd7Jj\xa7I\xe7\x20\xb6\x935\xfb\xe6e\x06+\xca\x8ca\xccg\xae\x09O\x0fY\xf3\xad\x11t\x13\xc7\x9bcT\xd9!\x19\xdcK\xd8[\xbec\xb2v^\xc2\x99\xe2\xfa\xe6\x1b\xc8l\xb1%C\xcf!d\x92\x11bOVG\x00owz\xdf\xfaU\xb7\x92\xf2\x96w\xf8$\xc5\xd6\xa8\x9fUT\xado\x9d_\xacI\xc6\xdc\x8a\x96U5D\xeb\x90\xd8;\xd5\xf6z\xa5\\7\xf7\x14\xcf\xdc\xd0\xb6\x88l\xa6^\xa3\xc3\x0d*\x17k\x13\xc0\xe8\xb4\x8d\x9b\xfbbk]\xd1\x9b\xd29\x88\xedd\xcd\xbe\x09\xcd`=2\xeb}\xbb\xbd\xbd\xb8\xb1\xfd\x8d3\xce&\xfc<d\x83n\xa2\x9e\x94\xba\xac\xf3\x1cop\xc7K\xb8\xec\x862\xfd\xf2=g\x8a\xeb\x93o\x20\xb3\xe5\xfd\xf5d\x9d9\xecZ\x0e\xe1\x92\x8c0{\xb2:\x03\xac\xd4\xfb\xd6TG+\x1ex\xa1:Z\xcb%\xe9a\x8dJ\xbfh\xac*\xa9=\xa0I\xc6\xd1\xda\x92\x09uOk\xdd\x14{\xa7ZC\xa2au\xf3\xe3\xfb\xae\x9dP\xa3\xad\x89x\x8c\x0e7\xa8v\xacM\x10\xa3s\xa8n\xdc5\xf3\x0f\xb3-\xa9\x1c\xbc\xecd\x8d\xbe\x09\xcd`=2\xdb\xaf\xef\xd6F\x92o\xc2\xc7C6\xe8&6\x97\x12\xf3\x05\xd2q\xbd\xc1\xf9\x97\xf0c\xd2\xa4op\xa6\xb8\xf1\xf3\x0dd\xb6\xf4\xb0gK\xce\xfc\xff\xed\x9d\xcdk\x1cG\x1a\x87\xff\x0d\x95\xc1\x8c\x91\x05\x8bE\x10h\x1c\x82\x1d\x88\x0f\xc6\x106d/\xc29\x8cN\xc2$\x81\x08\x1d,\xd8\x95!\x98\x18\x82\xd8\xb0>\x0cYC\xf0\xc5\xc6\x86\x80C\x20\xe8\xe0\x93M\x0e\x02\x81\x18\x88\xcd\x06\x07\x13\xb3X\x84\xb0\x868\xc6\x91\x8dM\x1c!\xa2\xa1v\xfac\xba\xde\xeayk\xaa\xab\xa7{F\xd5\xf3{\x20\xc90\xe9\xa9z\xab\xde\xd6o4\x1f\xea'\x1a1\xac\xc1\xaf\xc8(\x81\xa19Y\x0b#z\xfb\xd3\x91R\x969\\\x8c\x9b\xea\xf1\xdan\x89\xcc\x82\xde\x9dZ\xfc\x17G#\xd4\xd5\x855\x8c}d\x0c\xcd\xc9Z\x18\xb9\"\xa3\x8ce\x0e\x97>\x9b\xea\xeb\xda\xda_M\xaf\xd8\x8eIX\x9b\x89\x03s\x84\x91\x11\xd6\x80\xc8\xf0\x8e|\x91\x01\xf6\x1fOg\xcf\xef\xd9\x8e\x89hn\xb6\x1b\x17\xe3\xdb\xa3\x8a\x8cn\x0d\x88\x0c\xdfx\xb4.>\xb9[\xe2/1`\xff\xb1+\xde=W\x8f^\xc2\x8cL\x8a\x9b\xd4\x80\xc8\xf0\x8d\xd3B\x88\x83\x8flG\x81J\xd1\x9cj\xfc\x1c\xdd\x1a\x9d\x14\xb7[\x03\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\x03\x00\xe0\x00\"\xa3\x04\xa1\xe7\xbet\xb2\x0eN\xf1\x1b5\\`u-\x84\xaaE\x86\xd52\xd9C\xe5\x9d\xac\xc1`\x91\\C\xbfX\x8e\x8e\xdd\xc9j3\x9f\xdaG\x88\x19x\x7fau\x1d%U\x89\x8c\xcc\x96\xc94\xd5w\xb2\x06\x83=\x93\xcf.\x89\xaf\xfe\xe8s\xb4\xd5\xc9j5\x9fZG\x88)`\x7fau\xcdJ\x09V\xd7\xaaDFf\xcbd\x8aqp\xb2F\x17\x12\xdd\x14\xe9\x8b\x18\xa6`v\x87\x90\xc5|\xda\x7f\x84.\x83\xef/\xac\xae\x99)\xc1\xeaZ\x95\xc8\xc8l\x99L1\x0eN\xd6B\"#\x8b\xf94[d\x0c\xbe\xbf\xb0\xbaf\xa6\x04\xab\xab_\x91Q\x90eR1\x16NV\x1a\x19\xb6\x89M\x0b\x82\xd5u\x00\xe5j\xb5\xac\xae~EFA\x96I\xc5X8Y\x83\xc1vw\xd7\xc3\xc8\xb0MlZ\x10\xac\xae\x03(W\xabeu\xf5,2\x8a\xb1L*\xc6\xc2\xc9\xba\x15?\xd9le\x98\xd8\xb4\x20X]\x07R\xaeV\xc9\xea\xea]d\x14a\x99T\x8c\x85\x93\xb53\xd8\xbd{\xf7.\x07\x91a\x9d\xd8\xb4\x20X]C\xf2)W\xabeu\xf5.2\x8a\xb0L*\xc6\xc2\xc9J\xde\xcb\xb0NlZ\x10\xac\xae!\xf9\x94\xab\xd5\xb2\xbaz\x1c\x19\xf9-\x93\x8a\xb1p\xb2\x92\xc8\xb0NlZ\x10\xac\xae\x11\xf9\x94\xab\x95\xb2\xbaz\x1c\x19\xf9-\x93\x84qp\xb2\x92\xc8\xb0Nl\\\x10\xac\xae!N\xcaUB\x85\xac\xae\x9eEF!\x96I\xca\x188Y\xb5o\x7f\xda&6.\x08V\xd7\x10'\xe5*C\xd1S\x8c\xc0\xea\xeaWd\x14b\x99\xd4\xa9\xbe\x93U\xfd\x8d\xc9u\xeb\xc4\xd2\xb8bX]#\\\x94\xab\x0cEO1\x02\xab\xab_\x91Q\x02\xa5\x08=\xf7\x9f\x93upJ\xd9\xa8\xe1\x02\xabktc0\xdf\xda\xd8GF\x19B\xcf\xfd\xe8d\x1d\x9c\x126j\xb8\xc0\xea\x1a\x07&\"c\xcc\x18Ud\x80\xfd\xc7(\xac\xae\x88\x0c\xdf\x80\x93\x15\xb8S\xa0\xd5\x15\x91\xe1\x1bp\xb2\x82\x1c\x14guEd\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x00\x00\x1c@d\x80!\xd2nG\xff\x00\x7fAd\x80a\xb1\xbd\\\x17\xefK\xf9\x91\x98]N_\x83\x00\xf8\x03\"\xa3\x04\x1d\xe7(\x9c\xac\xc5\xaf\xa2h\xda'O^\xdfx\xdcI\x8e\xd6\x8d\x933\xa6k\xea\x03\x96Q\x9cQ&\xaa\x16\x19\x9e;Ys;8sIE\x099'~\xb9rtr!\xe3\xc4\xd1e\x83B6\xc5\x83>\x07\x96H\xcee\xf6\xa55!N\xb7\xe5M!&6l\x87R\xfa\x9c\xa91\xcbB\x88\xc3\xd1\x9f\x06\xe4?\xa3\x8a\xa7*\x91Q\x11'+\xeb\xe0\xcc\xe0\xd5\xcc'\x15%\xe4\x9c\xb8Q\xbfvv2\xe3\x05\x1b~\x10\xdfuo\xdeK.\xd0[\x16\x86\xd2\x07v\x9c2\xecn\x88\xc9\x96\xdc\xb9)6\x9c~u\xeas\xa6\xc6<i\xb5\xae&\x1b\x95\xf7\x8c*\x9e\xaaDFU\x9c\xac\xdc3\xb6\xdd\xab\x99W*J\xc85\xf1\xef\xe2\x8al\xf7^\x7f\x97\x87\xe4D\xf9\x91a*=\xe3oDN\xec\x88@\x0f\xf2Xd\xdd\x88.\xb6\xc8\x90\xdaF\xe5=\xa3\x0a\xa7*\x91Q\x1d'k/v\xaffIRQ\xeb\xc4\x8f\x84\xc3\xef\xf9C\x8d\x0ck\xe9\x05\xb2#6\xa6vK\x8f\x8c\"\xcf\xa8\x81\xf0+2*\xe8d\x95/\x96f\xde\xb8pafJwp\xb2rU\x9b0U\xbf\xb7k\xf1$\xf5\xa6\x8b\x8cQ\x13\x9f\x13\xb5\xeb\xf1\xf6Y'\xde\x9b\x89\x0e\xf8D\xea\x82W\x93>tS|\xdf\x9d\xf0\x81\xd8\x94FH\x0dj\\C\xe75\xb8=\xa3+f\x97I\x1b\xc0\xa2\xe9o9\xa3j'2\x1e\xff\xedf\x14\x19N\xf5\xd6>\xfeG\xa2FUg*\xb9\xa9g+\xa3\x93\xe5\xda\xa2\x9fg\xdd\xc1\x0c\x9d\xcf\x83_\x91QA'\xeb\xde\xa9\xfa\xd5\xe6\xa1\xc9/\xe7/S\x07'/W\xb5\x09S\xb5{\x13\x8b'\xa97]d\x97d\xe2\xc0\xd7Yo~q\xa4\xb3}\xf6\x89\xff\xdb\xfaF4[\xc1\xa5\xdc%\x11\xbc\xf2\xfa\xd0?\x9fo\xceM'\xa7\xfc\xde\xcc\xdc\x9d\xdfL\xaf\x11H\x0dd\\\xbe\xf3\x14v\xcf\xb4\x15s\xcb\xd4\x1a\xc0A\xf5\xb7\xacQ5\x88\x8c+\x0bQd\xb8\xd4\x1b^\xe8\xfb\x9b\xbf\x86jTu\xa6\xd2\x9bzd0:Y\xae-\xda\x8a\x93\xc1L\x9d\xcf\x81g\x91Q='\xebZ\xf0\xe1\xc1U\xd1\xfd\xa2B\xec\xad\xe0\xe5\xaaVa*\xb9\x97\xbaH\xa9\xe6S+\x92\x10O,k\xd3\x9d\xa7\xde\xa5zt\xacm\xe2\xe4\x85\x09\x11\xbc\xf2\xfa\xd03\x9d'}\xf2\"f]\x90k\x97\xf7\xa0j\x20\xe3\x9a:\x9f\xc0\xefYj\xc5\xbd\xcbL5\x80A\x99qx\xa3j'2\x9e\x1fz\x1eF\x86K\xbd\xb2v\xb2sR\xee\x9e\x98\xd3\xceTrS\xea\x91\xd1{F\x99\xda\x92\xdc\xd4\x063u\xde\x15\xef\"\xa3jN\xd6\xd5i\x19\\.\xbe\xfb\xc6I|J\xf3rU\xab0\x95\xdcK]\xa4T\xf3\xa9\x15IH~\x96\xce\xca\xe4M\x1f\xeb\xc4\xea\xbd\x8cD\xf0j\xd0\x87\xfe\xba~\xed\xe4k\xc9\x8b\xfd\x9d\xfa\x9bW6\xcc\x17\x86\"5\xa8qM\x9dO\xe0\xf7,\xb5\xe2\xdee\xa6\x1a\xc0\xa0\"\x837\xaav\"C.\\\x89\xde\xcbp\xa8W\xd6>\x0b\xfe}M\xfcN\xceTzS\xa6##}F\x99\xda\x92\xdc\xd4\x063u\xde\x15\xef\"\xa3\xd7\x11\x199-}u\xb2^\x9ex\x11\xfc\x98=\x8c\xffO\xf7\x94f\xe5\xaaVa*\xb9\x97\xbaH\xa9\xe6S+\x92\x90\xfc,%\xdb\x97a\xe2$2\x94\xe0\xd5\xac\x0fm)\xe3\xc6=\xd1\xf7+\x0c\xaa\x062\xae\xa9\xf3\x0av\xcfR+\xee]f\xaa\x01\x0cdKX\xa3j\x10\x197\xdf\x09#\xc3\xa9^\xa5FUg*\xbd)\xf5\xc8\xe8=\xa3LmInj\x83\x99:\xef\x8a\xc7\x91Q\x0d'\xeb\xaf\x07\xe6\x7f}p\xe2t\xf7en|J\xf3rU\xab0\x95\xdc\xab\xb9H\x89\xe6S+\x92`\x8c\x8c~\x13'\x91\xa1\x04\xaff}h\xf6OLT\x0dd\\S\xe7\x13\xf8=K\xad\xb8w\x99\xa9\x060(\xfd-oT\x0d\"cwj#\x88\x0c\x97zc5\xea\x97\xe2\x0fr\xa6\xd2\x9bR\xdf\xa8\xde3\xca\xd4\x96\xe4\xa66\x98\xa9\xf3\xaex\x1c\x19\xd5p\xb2\xde\x17G\x85h<\xed\x1e\x12\x9f\xd2\xbc\\\xd5*L%\xf7j.R\xa2\xf94}\xfa\xc8E\x86u\xe2$2\x88\xe0\xd5\xa8\x0f\xe5#\x83\x91\x8a\x92\x1a\xc8\xb8\xa6\xce'\xf0{\x96Zq\xef2\xf5\x06p\xe5(\xfd-oT\x0d\"C\x9e]\x0a\"\xc3\xa5^Y{#x\xd3\xe7TC;S\xc9M\xa9m\x14sF\x99\xda\x92\xdc\xd4\x06+\xeasg\xcf\"\xa3zN\xd6\xfb\x876\xbem=\x0d\x07#\x0eNV\xaej\x15\xa6j\xf7R\x17i\xb7\xde\xd4\xc3\xba\xa8\x89\xb5\xed\xb3M\x1c}b\x12^\xdf\x9e\x08^\x8d\xfa\xd0\xfb\xea\x17\xeb\xef\xd5\xe7\xad\xbdRQZ\x83\x1a\xd7\xd8\xf9\x04v\xcfh\xbd\xfc2I\x03\xd8r\xa8\xfe\x965\xaa\xeen\x88\x9b;\xb25\x19D\x86K\xbd\xb2&\xe6\xefn\xcc\x85jTu\xa6\x92\x9b\xbf\x05\xdf\xfe\xbc\xd2jEoAp:Y\xae-Z\x8f\x93\xc1\x0c\x9d\xcf\x83_\x91QA'\xeb\x9dZpo\xed\xbd\x87\x9a\x83\x93\x95\xab\x1ag\xeb\xaeB\xbf\x97\xfaP\xe3z\xd3\x0f\x8bQ\x13k\xdbg\x99xo:\xbcy0\xf8\x14\x96\x0a^M\xfa\xd0\xe7\x07?|\xb0\xddi\xc6\xde\xf6\x8f\x1f\xd4\xb6\xbbs\xf7HE\xb5\x1a\x92qO\x1b;\x9f\xc0\xee\x19]1\xbfL\xd2\x00\xc9\x95C\xf5\xb7\xacQus\"\xf8\x86N{\xae\xde\x96N\xf5\xcaS\xcd\x0f\xff\x12\xabQ\xc9\x99\xaan\x9e\x8d\xca\x15\x1f\x05w\xf3:Y\xa6-Z\x8f\x93\xc1\x0c\x9d\xcf\x83_\x91Q\x02\xa5\xe88\xb3;Y\x9fM\xad<\xfb\xf3\xcfW?\xbc\xffZ\xc6\xbf\xd4\xe0)e\x15Es\xebT\xf8\xf3sF\x88\xe3\xe4\xf3\x09\x07\xa9h\x19\xa4\x1b0\xe2rLd?\xa3Jg\xec#\xa3\x0c\x1d\xa7\x83\x93\xf5V\xf45\x02\xd9\x9e]\xef\x7f\xa0\x85\x12VQ\x02\xcf\x1et\x9eS\xb7\xef\xff\xa6\xeeq\x92\x8a\x96\x81\xde\x80\x91\x97c\xc0\xe1\x8c*\x1dD\xc6h\xb9\x7f\x20\xfa\x85\xf8\xe1\x01\xf55\x8aq\"\xbbT\xb4$\xf4\x06\x8c\xbc\x1c\x0f@d\x8c\x96\xf6\xf2\xe4\xca\xda\xe6\xda\xca\xe4\xca\xbey\x16\x19/\xd0\x00W\x10\x19#\xa6}{\xfe\xf5\xda\xeb\xf3\xb7q\xc2\x8e\x084\xc0\x11D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x02u\xe9\"2\x00\x00\xfdH\xb9t\x11\x19%\xd8L\xf7\x93A\x93\xa3\xf8\x15\x83\xea\x92v\xe9V-2<w\xb2\xc6E\xde\x08\xaem0;\xff\xa3\xed\xe8|8\xf8[\xd5\x9e\x95a3\xe5i\x8aZ\x90\xb8\xdf\x1e\x16M\xdb\xa1\xa5Qn\x032B\x9c\xacFr\xb6e\x10\x97nU\"\xa3\"N\xd6\xb8\xc8?\xbe\x12\xffn\xdd\x98\x9b\xe8#\x08\xca\x8f\x8b\xbfU\xedY\x196S\x9e\x17\x8b\x87\x83\x0b\xf54&\x17S\xd7\xca\xb4+b\x0b\xa3\x90\x06\x0cZ\xaf\xe6d50\x02\x97nU\"\xa3*N\xd6\xb8\xc8\xad\x20\xd9\xdb\xa7OX\x8e\xcd\x83\xa3\xbf5\xd9\xb3\x8c\xcfI\x01\xdd\x9d\xcc\xc9\xea\xc2\xe1W\xf2\xf7\xc9\x85t\x9dVEl\x01tK/\xa2\x01\x05\xd4k7Qrm\xb1N<\x90K\xb7*\x91Q\x1d'\xab\x8a\x0cM,P\x18\x8e\xfeVf\xcf\xac<\xecw\x89\x7f;\xab\x8b\x8d5\xf9\xf5\xfcb:2\x8a\xba\xdem?\xba\xa5\x17\xd1\x80\x02\xea\xb5G\x06\x87u\xe2\x81\\\xba~E\x86\xcfNV^\xe8\xa9\xd9AU\x91\xd1\x19\xbb\xf4\xba\xa4\xc7\x92\x11\xce\x89\x83WVz\x84\x9e\xda`\xac>\x94\xac\xd8\xa5\x1c\x17\x9b)\xd9I\xdd\x92\xfaY\xb4g\xda\x08\xc4\xdf\xaaX]\xbc\xfa\xbe\\\xb8\xd6\x89\x0c\xe2C\xd5z\x9c\xd4\xbb\xd5\xd9\xf5\x85\xf61!\xa6\x0dW\xc61\x99pw>=9\xf5\xde\x7f\xdeX\xd7\x0e&\xa5\x1b\x1a\x90<L3\xb5r\x1d\xd2\xea\xe5\xe0+\xd3\x1a\x9b\xfc\xb8\x92\xed\xa3C\x8c\xc6\xa5\xebWd\xf8\xecd\xe5\x85\x9e\xd4\x0eJ\x8a\xdc\x12\xdf\xee\xfe\xfc\xa9\xf8\\\xab\x81\x8c\x10<\xec\xf8\xe7\xcd\xe3\xba\xd0\x93\x0e\xc6\xebC\xc9\x8a]\xcaq\xb1\x99\x92\x9dTS\xec\xde9\xb6\x12\xec\xd9\x91\xefv\xe8\x08\xd4\xdf\xaaX]|2\xf5\xf2\xd0v'2\x88\x0f\x95W\xc4\xb6\xef6\x0f\xdc\x95_O|m\xba\xa6\x99\xc1\x84\xfb\xea\xad\xd9\xcb\xeb\xe7\xc2+3\x13H\xe9|\x03\xd4\xc3\xa8\xa9\x95\xed\x90V/\x07_\x99\xd6\xd8$2\xc8\xf6ic\x8c\xc4\xa5\xebYd\xf8\xecd\xe5\x85\x9e\xc4\x0eJ\x8a\xdc\x0a\x9f\x07\x96\xda\xfa\x14\xd4:Z{\xb33\xd1\xabc\xba\xd0\x93\x0cf\x98M\xad\xd8\xa5\x9c\x80\xec6\xd3d'i\xbd\xcd\xe0YoiY\x1f\x81\x8ac\x15\xab\x8b\xf2\xed\x959\x19\xbe0a\xe5m\xb4\xde\xf6\xd9\xb9\x17\xc7\xfa~>\xc5\x99p\x97\xa7\x83'\xd3\xf3\xa9\xc8\x20\xa5\xf3\x0d\xa0\x0fS\x95\x19:d\x7f}\xc0UF\x1a+\xc9\x8b\x02\xb2}:\xc3w\xe9z\x17\x19\xfe:Yy\xa1\xa7\xb2\x83\xd2\"\xb7\xc4\x17\xdf\xdf\x9e\x9b|\xac\x1fK\xad\xa3\xd1\x9b\x98Wu\xa1'Q\x8d\x1afS+v)'\x20\xab\xcd\x94\xec$\xad\xf7\xc9\xc4Or\xef\xc8\x86>\x02\x15\xc7*:\x91qI\\\xea\x13\x19\xda\x82v\xdf9\xda\xff\xe3B\xc6\x84\xdb>\x1c=7\xa7\"\x83\x94\xce6@{\x98\xaa\xcc\xd0\xa1\x0c\x91\xc18zIc%\x89\x0c\xb2}:\xc3w\xe9z\x17\x19\xeb\xbc\xe9\xd2\x07'++\xf4T\xf5\xd2\"\xc3\x97\xd2\xaf\x0e\\\x93\xfa\xb1\xc4:\xca\x0a=\xad\xfaP\xeaou('\x20\xab\xcd\x94\xec\xa4fI\x9d\xbf\x20\xd7\xa3w\x1c\xd4\x08\xfc\xdb\x8b\x9d\xe6\xbe\xf8\xf4Y\x9f\xc8\xd0\x1d\xa77\x19\xfb-\x851\xe1>\x89rn'\x15\x19\xa4t\xb6\x01\xda\xc3Te\x86\x0ee\x88\x0c\xc6\xd1K\x1a+\xe9[\x8fj\xfbt\x86\xef\xd2\xf582|s\xb2\xf2BOU/-2z\xf7\xed\xc8E\xa9\x1dK\xad\xa3\x91\xd0\xf3\xba.\xf4\xa4\xde@~6\xb5b\x97r\x022\xdbL\xd5Nj\x96\xd4\xdb\xb3{g\xff\x9e\x1aa\x831\x80E\xcd\xed\xa0\"\xe3_\xb5\xf0\x0e^\x11\xfb\xb4\xfe\xcf\xe3/\x99Q\x12\x18\x13n;Z\xccO\xe9\x17&\xaat\xb6\x01\xda\xc3Te\x86\x0eQ/,\x0f\xe7\xe8%\x8d\x9542\xd4\xf6\xe9\x0c\xdf\xa5\xebqd\xf8\xe6d\xe5\x85\x9e\xa4^Rdt\xc6\xd6\xcf?\xf8\x9c\x1eK\xad\xa3\xb5\xa3\x9dH\xday\xab\xa1\x8b7\xd5`\x86\xd9\xd4\x8a]\xca\x09\xb0\xd9L\x09\xdd\x9d\xd4,\xa9{\xb3\xb7_\xdbH\x8d\xa0\x89c\xe5\xe3\x7f\xff\x12\xfe\x97F\x86\xf2\xa1\x1a\x14\xb1{s\x17\xe5J#n\"gTeM\xb8\x1f\xccv~\x1c\xdaK=\xefe$\xa5\xf3\x0d\xa0\x0fS\x95\x19:D\xbd\xb0\xd9+#\x8d\x95\xf4\xc7Um\x9f\xce\xf0]\xba\x9eE\x86\xc7NV^\xe8I\xeb%EF_\xd2m,,\xbfM\x97IG\xa8\x89w\xd7\xbe<\xa1\x0b=u\x9b)3[@w\xc5.\xe5d\xb1\x992h\x96T\xb9\xfa\xd6t\xf0\xde\xa0\xd6!*\x8e\x95g\"\xff\xdf\xcb\xa5F\xf0f\xfevc\xe9%\xf5\xa1\xaa\x1eS\x1f\xea\x9ds\xf5'\xf2\x97#\xe7\xef\x84\xbf\xb3\xf7\x1aU\x0d&\xdc\xed\xfa\xb1\xab\xb7\xce\x1c\xea\x8d\x8c.|\x03\xe8\xc3He|\x87H\xbd\x0e\x95\x91\xc6\xeaN\xd6x\xfb(\xa3q\xe9\xfa\x15\x19>;Yy\xa1\xa7VoRd\xf0\xd5\x8fK\x9d1O\xcc\xde&\xc7j#\xd4.,\x1fI\x0b=\xe9`\xecl!\xf1\x8a\x1d\xca\xc9d3e\xd0\xa6\x90\xff\x13\xe1s\xaf\xae}\xa5\xe2\xd8\x1b\xf5k\xc1\x7f\x9aB\x04\x1fF\xad\x04\xdf~!>TV\x11\x1b\xbc\x83\x7f^~,D\xf4\xd5\xee^\xa3\xaa\xc1\x84+_,\x1f\x9bl\xdc7F\x86\xa1\x01\xf4a\xb42\xb6C\xb4^\x87\xcaTc5'kw\xfb(\xa3q\xe9\xfa\x15\x19%P\x8a\xcdt\x08\x06\xcd\xe4M\x18g\x8aZ\xb1\xabNv\xa76\xd0_ld\xc2\xcd\xa8\x9a~\xfb3#\xb9\x1e\x96\xb92Sc\x87\xb1}<)\x97\xee\xd8GF\x196\xd3a\x184\xf3GFQ+v\xd5\xc9\xae\xcd\x94\x1d\xa3\xaeF\xd5\\?\xfb\xb9\x1e\xe6P\x99\xa9\xb1\xe5o\x9f\x19\xcd\xa5\x8b\xc8\xf0\x94\x01\"\xa3\x20\x9ct\xb2\xcd\xcdv\xe3\xa2\xed\xa0Aq5\xaa\xe6\xf8\xd9\x0f\xc8\xf10\x87\xca\xd8\xc6\x0ee\xfb2\x82\xc8\xf0\x92\xa7\xe1\xdb]\xb6\xa3\xca\xc5\xc5f\xba+\xde=W\xcf\xf8\x9b\xf9\xd0x\xb4.>\xb9k\xaf=M\xce\x87e\x83o\xec\xbe\xda>D\x86\x97\x84ow=\x96\xa3\xc5\xc5f\xda\x9cj\x18\xff\xdabT\x9c\x0e\xde\x04\xb4\\\xc2\x86!\xe7\xc3\xb2ah\xec~\xda>D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x01D\x06\x00\xc0\x81\xff\x03&\xf2B\xcdI\x1b+\x96\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"analysis/typeinfo-src.png": "\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02\xc1\x00\x00\x01\xb3\x08\x03\x00\x00\x00\xf9m:\x11\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\xfdPLTE\x00\x01\x00\x0a\x03\x01\x05\x07\x03\x02\x0d\x14\x0a\x0c\x08\x10\x12\x0e\x0f\x13\x1e\x1b\x1a\x14\x20\x1f\x19\x1c\x20\"\x17!;!#\x20#$\"$%#&'%'(&+)\x1e()'\x18-T*,)/,!-/,12053'35386*6758:7<:.<>;>@=CA5&CxAB@EFDIJH\x00g\x00KLJ\x00j\x026NzNOM0R\x95\x06m\x06UP?PRO>V\x82\x0fq\x0bTVS\x0dr\x17\\WEVXU,`\xae7]\xad\x15w\x1c[]Z8`\xaa\x19y\x1e;b\xac_a^=d\xae?f\xb0*{!bdaSe\x84)}+Bh\xb3efdDi\xb4ghfLj\xafpiQEm\xb1ikh0\x820Ol\xb2Ip\xb4lnkTp\xa3Kr\xb7npm6\x869Nt\xb9zs[Wu\xb5>\x89=strZx\xb9vwt]{\xbbG\x8eHy{xX\x80\xbf^\x7f\xb9\x85}ea\x7f\xbf}\x7f|O\x93N\x7f\x81~c\x84\xbeW\x95V\x82\x84\x81m\x87\xbch\x88\xc3\x90\x86h[\x99Zj\x8a\xc4\x87\x88\x85q\x8b\xc1\x8a\x8c\x89`\x9dd\x96\x8cnt\x8e\xc4z\x8f\xbf\x8f\x91\x8eg\xa1hy\x93\xc9~\x93\xc4x\x95\xc4\x92\x94\x91\x81\x95\xc6\x9f\x95w{\x98\xc7\x83\x98\xc9\x82\x9a\xc4\x97\x99\x96u\xa8v\x86\x9b\xcc\x80\x9d\xcc\x99\x9b\x98\xa5\x9b|\x85\x9e\xc8\x82\xa0\xcf\x99\x9e\xa0\x9c\x9e\x9b\x89\xa1\xcb\x9e\xa0\x9d\xab\xa1\x82\xa0\xa2\x9f\xa1\xa3\xa0\x81\xb0\x83\x91\xa5\xca\x95\xa5\xc4\x8e\xa6\xd1\xa3\xa5\xa2\x91\xa9\xd4\xb4\xa7\x83\x95\xa9\xce\xa7\xa9\xa6\x8c\xb4\x8a\x94\xac\xd6\xaa\xac\xa9\x99\xad\xd2\x9f\xae\xce\xbb\xae\x89\xad\xaf\xac\x9d\xb1\xd6\xaf\xb1\xae\x98\xbb\x97\xa3\xb3\xd3\xa1\xb5\xda\xa7\xb6\xd6\xb1\xb5\xc4\xb4\xb6\xb3\xa3\xbf\x9d\xac\xb7\xd2\xc4\xb7\x92\xaa\xb9\xda\xa2\xc1\xa4\xb7\xb9\xb6\xb3\xbc\xc4\xad\xbc\xdc\xba\xbc\xb9\xa6\xc5\xa8\xb1\xbd\xd7\xbd\xbf\xbb\xb1\xc0\xe1\xb8\xc0\xd5\xaf\xc7\xab\xcd\xc0\x9a\xc0\xc2\xbe\xb7\xc2\xdd\xbb\xc3\xd8\xbd\xc4\xda\xb2\xcc\xb7\xc4\xc6\xc3\xba\xc6\xe1\xc0\xc8\xdd\xc7\xc9\xc5\xbc\xce\xba\xd8\xc9\x9d\xc6\xca\xda\xc0\xcb\xe6\xc9\xcc\xc8\xc2\xcd\xe8\xbf\xcf\xe2\xcd\xcf\xcc\xc4\xd0\xde\xcb\xcf\xdf\xc8\xd3\xc1\xc8\xd0\xe5\xe1\xd1\xa5\xd0\xd2\xce\xc8\xd7\xca\xcb\xd3\xe9\xd2\xd4\xd1\xd2\xd3\xdd\xce\xd6\xdf\xdf\xd7\xa9\xce\xd6\xec\xcc\xda\xce\xe6\xd6\xaa\xd6\xd8\xd5\xcb\xdb\xee\xd5\xdc\xd1\xd3\xdb\xe4\xd6\xda\xea\xd9\xda\xe4\xda\xdc\xd9\xd2\xde\xec\xd9\xdd\xed\xdc\xdd\xe7\xd7\xe1\xdc\xe0\xde\xe2\xdd\xe0\xdc\xdb\xe0\xe2\xf0\xe0\xb3\xd6\xe2\xf0\xdd\xe1\xf1\xe0\xe2\xdf\xde\xe3\xe6\xe0\xe4\xf4\xe3\xe5\xe2\xe1\xe6\xe9\xde\xe7\xef\xe8\xe5\xea\xe5\xe7\xe4\xe6\xe7\xf2\xe4\xe9\xeb\xe7\xe9\xe6\xe2\xea\xf3\xeb\xee\xea\xec\xed\xf7\xe6\xef\xf7\xe8\xf0\xf9\xf0\xf0\xfb\xf0\xf2\xef\xf4\xf2\xf6\xef\xf4\xf7\xf4\xf6\xf3\xf2\xf8\xfa\xf8\xfb\xf7\xf6\xfb\xfe\xfd\xfb\xff\xf9\xff\xff\xfe\xff\xfc\x11\x0a\xd6\x8d\x00\x00\x20\x00IDATx^\xed\x9d\x0d\\T\xe7\xbd\xe7\xef\xb2\xcd&\xbb\x0f\xcc4w.s?e\x8a\xbd\xbc\xe8z-[\xb2z>\x8c#\xd6-h\x16#,6\xd7\x17\xbc\x94+\x95h\xae\xa2\xb7Jb\xc8\x8d\x8e\x91\xd8\x05\x0aac\x12r'\x161vg\xbd)+\x91\x98b,\x09i41\xb9\x96H,-\x9b\x17\x92\xb6c\x1a-&\xd4\x13\x93[\xaf\x0a\xfd\x9c\xcf>/g\xe6<g\xe6\x9cy\x81\xe1\x0c\x07\xfe\xdf\xb4\xe3\x993\xcfy\xce\x19\xf8\xce3\xff\xf3\xf6\xe3\xcf\xa4q#\x02@\xe2\xf9\xb3H\x9e\xea\x13\xa9k\x000\x000\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb4\xc1\xde\xde\xc0d\x8f\xdbC\xff\xf5u\xec\xaf\xdb\xdf\xe1\xd3[\x02\x00\xc2a\xb0\xc1\x83\xee.\xff\xe4P]G#\xfd\xb7\xb1\xb5\xb7\xafw\x7f\xe3\x90\xeeB\x00\xa0\x8f\xb1\x06\xf77+\x06{\xda\xfb\xa8\xc1\xde\xe6a\xfc8\xdc\xdc\xa1\xb7\x10\x00\x84\xc1P\x83\xbdno]\x97<\xddS\xef\xeb\xa7\x06\xb7\xb7\xd2\xe7\xad\xed:\x0b\x01@8\x0c5\xd8\xe7\x13\x1b\xbb\xe4\xc9\xba\xd3b\xbf\\Ex\x87\x86\x87\xbcPE\x00\xe3\xc2P\x831~\x83=x\xc8e\x06\x8b\xbev\xb7\xdb\xdd\x06{r\xc0\xb8H\x90\xc1\xbd\xf5>\xbf\xc1\xc3\xed\xcd\xbd\xfd\xbd\xcd\xed\xc3\xe1\x16\x03\x00\x1d\x12c\xb0\xaf\xaewdd\xa4\xafq\x04Ow4_\x14aO\x0e\x18/\x891\xf8\x8c\xdbO\xbfX\xd7M_\xe8\xae\x0b\xb7\x18\x00\xe8\x90\x18\x83\xc5ABO\xfd\xe0\xa0\x08\x06\x03\x13\"A\x06S\xe4\xa3i\xb4\x8a\xb8\xd8\x0cG\xd3\x80\xf1`\xa8\xc1\xbe\xfe\xfezo\xff\x20{2\xd2\xdfS\xdf?\x84g67\xf7\xf4\xf547\xc3\xc1\x08`<\x18jp\x17\xab}\x99\xab\xfdd\xb2\x09O\x0cw\xee\xafo\xed\x84C\x11\xc0\xb80\xd4`\x00\x88;`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\xa6`$R\x83\x99\x0b\x18<\x0eF\x86GF\xf0\xff#5\x8b\x17\xfd%ihI\xa4F3\x1608fzggf\xe6eef\x96\x1bu=hf\xa6\xbb\xbd/R\xa3\x19\x8b\xd1\x06k\xa4N\x8dt\xb7\xd6\xb5*\xb3\x8d\xe2!A8\xa2\xf3\xd2y\xa7\xb0J\x14\x8f9\x05\x86S\xd5n\xd8\x82rs\x93l\xb9s\x936\x1a\xa3p\x0fj\x8b\xd4d&c\xb0\xc1\x1a\xa9S\xa2\xa7\xbe\xbb\xaf+\x90\x84\xa2\x857\xdc\x8b\xb1\xf2\xe2\xab\xec\xdf\xf7O:[t\x9a\\y\xf9\x01\x97(>)\x9c<y@8p\xf2\xe4\x82'\xf9\x17}\xb7l\x93\xa4\xdek\xd2\xe8\x97\x16E\x11q\x11\xcb\xa6\xeb\xb4\xedBp\x13l\x18\x8c5X+u\xaa\xbb\x8e\x88p\xba.\xcc\x806\xb7P\xff\xb5\x98\xa9\xd8\xee\x9fr\xe9\x19,\x8a-\xd8\xe0\x03NQ|UxY\x14\xf3\x0f\xf0/\xf92\x93\x92\x92\xc4\xc2\xa4\xa4/UGap,\x9b\xae\xd3\xb6\x13uj\xce\x07(\x86\x1a\xac\x99:\xe5a\xdf\x91\xfc\x0dt\xc1\xcc\x8eA\x83\x88\xac\x8b\xd6\xe0\xcb\xe7e\x83\xcf_V\xbd\xd6_\x96\x85\x0d\xbee\xd1\xb6\xde(\xee+\x89e\xd3u\xda\x82\xc1a1\xd4`\xcd\xd4\xa9V/\x9d\xd1\xea\xd1Y\xc8\x83\x18\xb3\xd9\xe4\x06\xb1\x1a?6\x97\xa1\x94\xda\x95\x0e\xfb\xa2\xd3\xb4Mc\x8e-C\xbdc\xf5\xe9\x0agCq\xd1\x8b\xbb\x0b\xaa.\xe1gW~T\x91\xbfj7\x9e:&\x97\xb6\x15\xa4\x8dk\xdf\xeeU\xf9\x9b\xde'\x93W\x0eT\xe4\xaf;p\x85L\xbe\xbf\xa3\xa8`+\xa9\"\x08\xd4`\xb6X\x83\xd8\x82\x1f\x8f<$8\xff\xd7\x7f\xc3\x06\xff\xc7\xae\xc1a\xa5_\x15\x1dy\x0e\x8b=/]\xb5\xe9\xdd)\x08m<\xbd<\xdd\x967\\\x86\x92\x1b\xc53\x16\x94I\x1b\x9f)\xb4[\xd2\xf2\xfa\xf9\xb6Ax\xc1\xe0p\x18j\xb0\xa8\x95:\xd5\xd1H\x86\xb2\x8b\xf5\xfbu\x96\xf0ux3r\xbd^\xb2\x0b\xe8\xebp\xac\x19\x14\x07\xabS;|\xbdM)(}[u\xba\xad\x077)I.\xf3\xd4\xdag\xab\x0eo\xbdX\x20\xec\xae\x12\xee|r\x05)\x01v\x0a\xbb\x8f\x1f(ZwE\xbc\xf4\xf2\xc9UU'O\x9e|\x9b4q\x09\xab\x8e\x1c[\xb1\x95L\xeet5\x1cop\xed\xc0S\xe7\x0bV=sl\x93\xa06\xf8\xd2\xcb\xc5\x0f\xfcZ\xfcuK\xc1\xc9Ko\x1eq\x0a\xff\x19\x1b\xfc\x1f\xfe\xf70\xd7/O\x17*\xd9\xdf\xee\xb6\xa3a\xd5\xa677\xa5g\xa4:\xca\x97\xa3\xbe~\xaf\xa5\x1a\x8f\xac%V\xd2\xd8k\x9b]\xd3^\x8dj\xf8\xb6<\xc3\x83\xde\xb9vc\xf6\x18MJ\x82\x0c\xe6R\xa7|\xf5\x9eA_\x7f\xab\xbbY\x7f!\xe5\xeb\xb5\x9a\x0cQ%%d\xd2\x9a\x8e\xbb\x18r\xe4\x90\xa1\xae^$_\xb6\xea\x1e\x8av\x88\xc7\x85c\xe2\xce\x07\xc9\x10\xfa\x8cHl\xa4\xc7\x14\xb8*\xa2\xe8\xb7X\xc2\"<u\\8\xee\x7f\xacZ\x85\x87\xd4+k\xd5\x06\xe3\xb2\x82\x8c\xda;v\xd2\xc5J\xff'1\xf8\x7f\x0c\xab\xfb\x0d\xe0\xb6\x93\x8fdm*}\xc2U\x06\xb3\xd1|\xbc\xc5\xc4F+6X\xac&\x06\xfb\x1cy\x17I`\xd1PP\xdb\x00K\xf0\xb0\xac\xf7\xed\x04\x10\x12c0\x9f:%\x0ey\xdcnw\xa7\xa7U\x7f!\xe5W\xdb\x87z\xc4\x8b\xa94Z\xc2\xba\x81<\xd6\xa2!q\xd9\xaca\x82\xa3D\xb5P\xd1\x11\xec\xd6%q\x1f\x1eXw\x94^\xfe\x14SL\x05\xe4\x0c\xc6r\xd3\x8aW\xdc\xb9\x96\xceX\xf5\x80x\x81J)6\x04\x1b\xfc\xfe\x827\xc4\xcb\x05/\xd2\xc5\x1a\x9aI\x15\xf1\xd7\x17\xd4\xfd\x06\xe8s\xa4\x97\xb9\xbbEV$\xf3\x06[\xfd\x07u\x15\x83=\xa8[YP\xcb\xe0\xbe6w&\x8c\xc1\xe1H\x8c\xc1|\xea\x14\xc674\"6\x869d\xc4\xfdj\xf3\xca\xc56:\xc61\x0dp\x91\xd8%f\xc9%\xa4\xfa\xbcU\xd1q\xf1U\xa7H\x0d^+W\xbf\x9b\xc8\xfc\xa0=9jp\x05}E\xdcT\x81\x95=)\xfa\xe7\x8a\x9c\xc1\xe2\xa6}\xe2\xf1\x82\xcbl1f\xf0\xab\xea~\x15\x86\xdc\x85\x99(\xad\x86N\xf3\x06\xcf\xf5O)\x06\xd7\"\xceN\x9d=9\xa8\x83\xc3\x92\x18\x83\xf9\xd4)6X\x9df.kC\x7f\xb5ut\x04\xf3\xd8\x87Y\x11!Z\xcb\xc8\xa3\x1b+\xb0|V\x17eP\xb5\x101\xd8%\xcac\xf0\xab\x94\x0bd>5\xf8\x99wE\xde\xe0\x9d\xa5\xa4\x94\xbdR\xbaS\xfc\xad@\x0f\x9d\xed\x0c1\xf8\xd8\xd2\xcb;\xd9X\xeb\xda\xad\x8c\xc1\\\xbf\x01\xba*ER\xf7\xda\xdc\xe4\x09\xb7\xe9\x8a\xa0\xd4\xe0\x8d\xc4\xe0\xf6\x901\xb8.\xe4\xec\x1b\x1c\x8b\x08K\x82\x0c\xa6\xb0:\xb8\xd7\x8d\xcd\xf35yu\x16\x20\xe4\xe6b\xe7Y\x99;l\xf7\xd8Y>\x955\x8dT\x95\xb3\xf0Km\xec\xa5\x0d\xdbT\x0bq\x06\x1fg\x95j\x03=3QU%\x8a\xbf\xa63\x14\x83Y\x83#\xa4\x0e\xae(\xc6>\xbe\xed\x0a1\xf8\xf2\x9d\xc7\x96\xd2\"Bt\xad\xf0\xd7\xc1\xaa~\x03T\xb3sh\xb9k\xe8\xa3\xb2\xe9\x8a\xc16\xec\xf8\xc8\\Z\x07\xa7\xe5\x92\x0fpYYP[\x1e08,\x86\x1a\xac\x99:u\xda\xdd\xd5\xd7\xdd\xe8\x09W\xebU[kZ\xe7\xdb\xd8\xe0T9\x8b\x15\x11\xa2\x15\xcdn\xae\xcb\xb0\x9f!\xf3\xd0\xb2\xfd\xad%\xa8\x91_\xe6\xcd\xa5\x07.\x1dq\xbeyiG\xd5\xfbX\xe3\x05;\x8e\x1c\xdb\xc9|kq\x1d8V\x95\xff\xae\xf8\xeeI\xe7\x03/_y\xe3\x01\xe7I<\x1e\xef\x10\xf6\x1d\xdb'\x90c\x11o\xe6\x17\xb74,\x15\x9c\xcf\xbc\x89\x9f\xbcq@8\x20\x9f\xc2\x13\xf7\x95\x16|J'\\\xc2\x7f!\x06\xff\xdfau\xbf\x01\xaa\x91\xad\xda\x837\x87~&\xfd\x9b>\xdcI\x0f5\x9c\xa1-r\xec\xdb\xb6\xe5\xa0\x94\xfa^\\\"\xdc\x9e\xe9\xf6\x94\xa1:\xbem\x10pN.,\x86\x1a\xac\x9d:\xd5\xbd\xbf\xde\xc3}\x97jp\xb1\xccn\xcb\x95\x07\xa2\xd3h%\x9b\xb0\x96\x97\xa4:\x96\xb3\xda\xa3-\xd7n\xcfU]=pe\x85\x20\x1cY,\xe4\x1f\x11\x04r\xb8\xecx\xd5\x9d\x05U\xc7\xe9+\x97w/uU\xbdJ\xaf\x8b\x10\x9co\xe4\xe3\xc7\x87\xc8\xf1\xe0\xb5\xf9k\xd9\xf1\xe0\xf3\x9b\x96\x96\xee{\xc6I\xe6^\"\xaf\xe6\xcb5\xc2\xdb\xc2\x83l\xc2\xb5\x9b\x1e\x0f>=\xac\xee7@cn\xb5\xc3\x92\x96\xcb\xbeT\xfc\x9b\xde\x9dLK\xf5<:\xf3t\xae-5o\x03Bd\xe4=]\xe8H\xcdiU\xb5\x0db0\xa5\xb0{\xd0\xb0\x0b\xe1L\x87\xa1\x06\xc7\x03\x9fU\xae7\xd8\x9e\x9cq\\r\xb1\"B\xde\x93K9\x1d\xc5\x19\xb9\xf8\xd0\x9a\x19\xbc\x97\x0a(\x98\xce\xe0f\xb9\x880\xdc\xe0#w\xb2\"\xc2x\x83\xf10\xdc\x1df?w\x86c.\x83\xab\xbd\xe2|\xbf\xb8\x11\x0c\x16&\x91\xbf\"u\xf0_\xf3s\xc2n\x0a0\x99\x98\xca`\x1f\x9a]\x96\xc6.\x08\xeb\xf7ZJ\xc2\xee\xa2\xeb\xd97q\x9c\x7f\xf5\xe7\xd8\xe0\x7f\xff\xe7\x7f\xedT\xe6\x85\xdb\x12`R1\x95\xc1b\xb5-W\xben\xa0\x0c\xef\x16Y\xce\x84o\x1dGZ\xf2\xab\xdefS\x0f\x09\xff\xc9\x7fu\xe5~\x03\xeb\x08@\x0fs\x19<\x15\xa0W\xb8_\x95\xa4\xd1[\x96Dq}00\xd9\x80\xc1\xb1\xe2C(7\xf7\x96\xb4\xdc\xb9I+\xc1\xe0)\x00\x18\x1c+\xc3^\x87\xdd>\xcbn\xb7\xcf\xef\x82+n\xa6\x00`p\xcc\\\xec?s\xfa\xcc\x99\xd3\xa7\xfb@\xe0\xa9\x00\x18<\x0eHV\x84\x81y\x11@8\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06'\x8c\xcd\x9b\xb5&\x81\x181\xda`\xf9^\\_=\xbd\xce\xb2\x9e\x9e\xd5\xeao\xado3\xcd\x95+-\x82\xf3\x18\xfe\xe7x\xbe\xa0\x9f6\x11\x15\xff\x92}\x9f\xc6$\x10+\x06\x1b\xecO\x9d\x1arw\xf7c\xe8\xc5\xee}u\xde3\xde\xd0\x9bk\xa6(\x17v\xe4W\xe1\x7f\xaa\\;\xd4\xf7\x16\x05\xd2\xac\xa2\xe5\x9e9\xefhLF\xcbs\xafL\xb4A,\xc4\xb5\xb38c\xac\xc1\x81\xd4\xa9!w\xc0\xd8\x91&r\x0bBG\x93Y\x0eN\xed\xdb\x94\x7fA\xbc\xe0\xda\xb4/h\xbe\x92f\x15\x15o)\xe3\xee[\xe3\x18\x82\xef\xfa\xeeD\x1b\xc4B\\;\x8b3\x86\x1a\xac\xa4Nq\x06\xf7\xd2\xc44_\x9d\xf1\xe9\x95\xe3c\xdf\x8e\xaa#\xe2\x8f6\xed\x086x]l\x06oV\xc6\xdd\xcd\xb1\x0f\xc1\x91\x9d\x8a\xd8\x20\x16\xe2\xdaY\x9c1\xd4`%u\x8a3\xb8\x9d\xdd\x1d\xe4\x09w\xab\xe7\xe4prS\xb1\xf3\xceM\xc5W\x82B\xa5\x9e\x09dQ\x89\xe7\xb7\xde\xe9,\x92\xa7\xfd\xec\xdbq`\xab\xb8\xe9\x006\x98\xe6\xb7\xcaI\xad\xf2U\x964\xcd*\x90E\xf5\xa6S\x106])\x16\x84\x02u\xf2\x9a\x18~\x08\xfe\x87\xec\xecG7/\xfc\xc6w\xdf\x12\xc5W\xb2\xb3\xb3\xf7\xbcu\xcf\xc29\xab\xc9W\xd4Sw\xcd\xbb\xeb)\xfc\xef\xff\xc9f\xdcE\x9b\x1fZ=\xef\x9b\xf7\xb1\xf3\x83o}\xf7\x8e\xec;\xfe\xf6\x1du\x83\x17V/\xc43\x17\x8aA\xf8\xdbr\xfd\xe2\x15\x1f\xc2\x9b\x93\xfd-:\xf9\xd4}\xdf\x9c\xb7\xfa\x97zkSm\x99\xce*\x0c\xc1P\x83EQ1\xb8}\xbf\xbb\xa9\x83\xfc\xdc[\xd9}\x8c\x1da\x12O&\x877\x16\xec8r\xfc\x99;\x85O\x83C\xa5\x8aZ\x9e,\xa0YT/\xe6W<y\xbcEPEWb\x83\xdf\xcf\xff\xad\xeb]l0\xcdoeI\xad\xaa4\xab@\x16\xd5\x95\xd7[\x84\xd7\xc5\x1f-\xf8\xd1\x1b!+\xdf\x9c\xfdK\x8dI\xc6\xbf\x1c\xca\xce^\xb8g\xcf\xc2y\xaf\x88\x17\x0f\x1dZ\xf8\xcdy\x0b\xef\xbb\x87\xb4\xd9<g\xcf\x8f\xf7\xcc\xb9\x07\x8f\x04/\xbc\xf0\xcd\xd5/\xbc\xf0\xc2[l\xf1\xfb~\xfc\xe8\x1dw\x11\xc3\x9f\x9bw\xd7\xa3\xcf\xed\xc9~T\xd5\xe0\x95\xec{\x0e=\xf7\xd4\x1d\xd9AUZ\xa0-\xd7\xef;/d\xef\x11\xc5\x9fn\x9e\xc3\xb6\xe1\x8e=\x8f\xce\xfb\xae\xde\xda\xf8-\xd3Y\x851$\xc8`\x9f\xbb\xb1\xa7\xafw\x7f\xf3\xc5\xc0\x9c.\xd5\x9d\xc6Fp\xa0\x88\xdc6t\xa0\x80\xdc\xdf\xc9\x87J\x15\xe01w\x07\xc9\xa2\xba\\\xbc\x09\x8f\x9d\x97\x8f\xa8w\xd9\xf6\xed\x10\xd7>P!\xd2*B\xb9_\x9f\xab\"\xf8,\xaa+;+.\x14\xabo\xc6\xa7\xfc2{\xb3\xc6d\x809\x0b\xf1g\xfb7\x0b\xbfM\xa6\xef\xca^\xcd\xc2\xaa\x9e\xcb~N$\x8f?\xa6s\xfd\xdf\xeb?\xc6\xc3&\xb6\x8e<^\\\xb8zX\x14\x87\x0f\xfdF\xd5\xe0\xa9;\xe8\xf0=O\xbd\x06\xae-\xdf\xef\x1cl\xb0\xb8g\x0ei1\xe7\x1b\xf8Cs\xcf\x1d\xa2\xaa3nm\xdc\x96i\xaf\xc2\x20\x12d\xb0\xd8C\x8b\xdf\xfa\xce@v\xa5\xd7\xf01\xf8\xdd\xa2\xd2\xdd\xcf\xbcq\x85~\xc1\xf3\xa1R\xc4c9E\"t\xec\xa4\x06?)<\x19\xc6`U\x16\xd5\xe5u+6\xa9\x83\x01)\xff\x90\xfd\x96\xc6d\x809\xb4\xaex*\x9b\xb8x\xd7\x1cy\x88\xde\xfc-\xfa\xcf\xb7\xa8\xf0\x01\xa7\xbe\xbb\x90\xfcQ\x8f\x91\x85\x9b\x89^\xdc!\x83@\x83_\xde\xb1\xf0\x1f\x9ezE\x0c\xba\x1a\x9fk\xcb\xf7\xcb\x1b\xbc90\xa9\xb96n\xcb\xb4Wa\x10\x892\x98AJ\x87v\x16l\xd7\xda\xae\xd5|R\xb9\xf0\xcc\xf6U\xc2\x8a'\xa9`|\xa8\x94([y@\x08)_Ej\xf0\x85}\xbf\x0ec\xb0:\x8b\xeaH\x203\x85\xe3\x9d9\x9b5&\x15\xa8H\xe2\x0b\xd4\xb2\xbb\xee\x92g\xaef\x1a\xfd-\x1b\x99\xfdN\xdd%W\xa9\xf8\xf9\xa3\xd9\x17\x95.\x94\x9d\xaf\xdf<\xf5\xddoe\xdf\xf1\xa8\xa8\x82k\xcb\xf7\xcb\x1b\xacLj\xae\x8d\xdb2\xedU\x18D\x82\x0c\x96\xb5\xf5zHf\x0f\x1d\x8e\xdd\x86\x1f\x8bxu\x1fv\xf7\xc2\x11\x17-s\xb9P\xa9\x80\x95/\x0aZ\x87xI\x08\x10F1\xb8\x813\x98\xa4Y\xa9\xb2\xa8\xde/j(\xfemH\x1f\xf7)\xe3\xee}\x1aCp`\x0c&?\x99\x80=\x9b\xd9\x9e\xd2Be\x0c~\x8a|\xcf/|\x85B\xcb\x81\xe01\x984x\x85\xf4\xf5\x9bCs\x9e\x12y\xb8\xb6|\xbf\xe1\x0c\x0eZ\x1b\xb7e\xda\xab0\x88\x04\x19\xec\xa1i\xc1C\xf5\xdd\xe4x0)#\xbc\xc6\x1f\x0fn\xa1\x91\xabb\xd5\x03\xe4\x91\x0b\x95\x0a\x18|\xa9\xa8\x8a\x0c\xc2\xbbw\xd3\xf9}\xdb\xd8my\xbc\xc1\xf9\xf8\xe1J\x0538\x90f\xc5gQ]\xaeh\x11\x1f\xa8\x0a.#\"\x0d\xc1\xe2\x9c;H\x81\xb9p5\x99\x0e\xaaA\x0f\xb1:x5~\xed\x1d2\xe39V\x93\xee\xc1\xbe\xf9\xee\x20\xb5\xadx\xdf}\xaa\x06{h\x99+\xaeV\xaf\x87k\xcb\xf7;\x0f?\x1f\xf9v\x88\xc1Zk\xe3\xb6L{\x15\x06a\xa8\xc1J\xeaT\x9f\xbb\xedt_W\x1d\x1d\x89\x13uN\xaeE\xc8o9vl\xa7\xc0\xc4\x95C\xa5TYT/\xbaV\x1d8\xbe\x9b\xe5\xb1\x8a\x8bX\xe0\xceowT\x91\xd4\xc0w\xabv\xe0\xa1\xb5\xa2\xe8\xc9\x96\x0a9\xa1\xca\x9ff\xc5eQ]~\xf9\xa1\xa2\xf7\xc5\xf3\x05\xbb_V\x97#\x91\x86`qN\xf6]\x87\x9e\xfa\xe67\xde\x12G~J\x8f\x03\xb06\xf7d\xdf\xf7\xe3\xfb\xb2\xef\xa1\xd3{\xe6<zh\xf5\xbc_\xd2\x1e\xee9th35\xeb\xb99\xdfz\x0a\xb7xJ\xd5`O\xf6\xbc=?\xc6\x0d\x9eS\xaf\x82k\xcb\xf5\xbb\xfa\x8eG\xf7|;;\xfb\xd0+\xef\xbc\x90\xbd\xf9\xa7\xe2+\x9b\xb3_xG{m\xfc\x96\xe9\xac\xc2\x18\x0c5\x98K\x9d\x1alo\xaa\xf7\xf4\xb0\xd9\xfdmu\xad\x09\xb8.\xe2GU-\xc5\xce\xa2*9\x89G\x0e\x95ReQ\x89oo/^\\q\x8c5\xa8\xb7\xd30\xca\x16A\x20\xd5\xc6\x03\x02\xb9.\xe2|\x95k\xf1\xa6\x06\xd6\xd6\x9ff%*YT\xc7q7\xbb\xc5\xdd\x82\xb0\xe0E~\xc5\xef\xcc\xbbGc\x92g\xce}\x9b\xe7\xddq\xcf;\xec\xa8+\xe6o\xd9\xecG\xe5\xe3\xb6\x98\xe1\xfb\xbe1g\xf5O\xe9\xe4s\xab\xef\xf8\xc6j:0\x8bo}w\xe1\xbco\x1fR78\xb4z\xcf\xc2\xec;V\x87\xd8\xc5\xb5U\xfa}k\xf5\x9cy\xab\xf7dgo\xdeLV\xfb\xca<\xfc\xb0Y{m\xfc\x96\xe9\xad\xc2\x10\x0c5x*\x13\x08\x95\x9a|\xf6d\xff\x8b\xc6$\x0f\xdb\x93\x03\xa2\x01\x0c\x96\x09\x84JM>\x91/\xab\x04\x83\xa3\x07\x0c&\xb4\xbcx\xa5j\x82\x17K\xc6\x1508z\xc0`\xcc%\xa1\xe2\xa1\"\xf5\x99\xb7D\xc2\xf6\xa2\x80\xe8\x00\x83\x09J\xa8\xd4T\x80\xeeEi\x1d\xa2\x004\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x8e+I\xe6\"\xd2\xdb1\x03`p\\I\xfa\xc8L\x80\xc1@0`\xb0\xe1\x80\xc1q\x05\x0c6\x1c08\xae\x80\xc1\x86\x03\x06\xc7\x95\xa8\x0c\xe6\x1b=rk\xd0\"!3\"\xa1\xd7<\x8an\xc0`\x20\x98\xa4h\xcc\xe1[\xdc\xf6\xc3\xa0\x17Cf\x84!)\xf0\xa0\xf9b\xe0\x90\x83N\x0b0x<h\xa5N\x05\xe6N-\xcaPr\xc8\xdf8\x969cA\x99\x9a/De0OH\xebX\x16\x8f`p\xb8W\xd9\x8b\x81\xedf\x99\x01\xa6\xc4`\x83\xb5R\xa7\x94\xb9S\x03o\x17\xfb\xb7\xdfk\xd1\xfd\x93u\x9d%V\xcd\xf9\xf2\xc0w\xeb/\xb0\x1f\xbf\xba\xe5\xe7I\x7f\x7f\xdb\xbf\xbb\xed{D\x96G\xbe\x9ct\xdb\xdf\xf8\xc5\xc1\xff\xfb\xc7\xbfH\xba\xe5\xeb?\xff\x88\x8d\x90\xa4\xd5\xdf\xcb\xaf\xa9f$\xfd\x9d\\S\xe0\x8e\x92\xbe\xfc\xc3\xef\xdd\x96\xf4\x95\x9f(\x9d\xb1\xf1\xd5\xdf\x15\xd7\xcd\xf7\xc8\x84\xdf\xe0\x9f\xe8o\x8cb0\xcb\x0c0%\xc6\x1a\xac\x95:\xc5\xcd\x9d\x1a\xcc\x0d\xfc\x0d\xfa0\x7ft\xb1Z\xcf`:\xea}\x8d\x88\xf2\xbd\xff\xfaQ\xd2\xadO\xfc\xea\x89[\x7f\xf0\xd1G?\xfc\xf2\x0f\x7f\xf5\x93\xaf\xfd\x8db\xf0mO\xfc\xeag_\xff:k\xfd\xc8\xadO\xfc\xe2\x89[\x1f\x09\xbc\xa8\xccH\xfa\xea\xcf\xe4\xb9_\xf9\xc9\xaf\xfe\xfb\x97\xc8\xc3\xd7\xb8\xce\xd8\x18\xec\xef*\xb0\xd4\x0f\xe8Z\x03c\xb0\xfe\xc6\xf0UD\x0b\x18\x1c\x05\x9a\xa9S\xdc\xdc\xa9\xc1\xec\x89\x1b\xfc\xc4m\xf8\xe1\xab\xff\xfcQ\x12\xd1\xf2\x91\xaf\xe2iR\xdd\xfe\xec6\xc5\xe0\x7f&\xcfoa\xad\xff\x92\xb6\xfaK\xc5\xe0\xc0\x0c\xda\x8c\xce\xc5C\xef\xcf\xe9\xc3\x97\xb8\xce\x98\xc1\xfe\xae\x02K}\x85N\x04\x0c\xd6\xdf\x1808V4S\xa7\xb8\xb9F2\x9cf\xd9\xe0px\xcbRsi`Sc\x8e-\xa3\x1cOy\x10c6\x99i-/\xcf\xb0\xe5\xb1-u\xcf\xb6e\xd1\xdb\x8c\xc4\xfe\xe5\x0e{\xa1n\x15\xc1\xb4\xfa\x8bG>\xfa\xc9W\xf04\xf9r\xff9\xb6\xeb\x16~\x97*P,\xcb\x13\xb7\xf8[\xc9\xf3\x94\x19I\xbf\xf8H\x99\x1bx\x08t\xa6\xcc\xa5\xb3\x03+\xa3\x13\x81\xf9\xfa\x1b\x93t\x80\xde\x83\xfa\xfe\x8e\xa2\x82\xadPEDIh\xea\x147\xd7P\xbc\xa9\xa8|>\xb2oK\xab\xc1OJ\x92\xcb<\xb5\xf6\xd9#\xa2\xaf\xc3\x9b\x91\xeb\xf5\xb2]K+\xcaljM[B&K\xac\x1b=\x1b\xad\xcb\xf1\xd4\xe9\xd4\x8c\xfa\xd6<\x14\xde\xe0\x7f\xfc\xcaG\x7f\xf3\x8f\x9c4Ir5\xe0\xb7*Z\x83\xb9E\x94\x87@gQ\x1a\xac\xbb1I.r\xdf\xf5\xf9\x82U\xcf\x1c\xdb$\x80\xc1\xd1\x11\x9a:\xc5\xcd5\x96\xb4\xe5x\xc4\xf5\x88%+\xc9\xc8[\x8fgt\"z\xec\x81\xab\"\xc8\x1fq.\xb1\xe3\xa96\xd4\xe6\x7f\xcc\x9d\x85?w#Y\xe1\x0d\xfe\xe8\xd6\x1f\x92\xaa\x20\xe9\x11\xfc\xf0\x08\x1e\xff\xfeR\xdeQ\xf3[\xa528L\x15\xc1-\xa2<\x04:S\x1b\xacWE\xe8oL\xd2q\x128P\xb5\xea\x12\xde\x95[\x0b\x06GGh\xea\x14?\xd7P\xd2\x9a\xb1\xb3>\xb1r\x99(.\x9b5Lp\x94\x90\xf9\x9c\xc1XnV\xf1\x96\xb0\x83g\x99%\xe2\x10\xa2\xb5\xc4F]\x83o\xfb\x01\x91\xe3\xef\xd8\xce\xbe\x7f\xe7\xe9\x89[\xbe\xf7\xf3_=\xf1\xb5\x80x*\x83\x1f\xa1\xad\x1e\x09\xbc\xa8\xcc\xd068\xd0\x19]U\xa0\xab\xc0RA{r\xfa\x1b\x93$\xaez@\xbc\xc0\xd2\x04\x1a\xc0\xe0\xe8\x08M\x9d\x0a\x9dk\x10imb\xa7E\xa4\x06g\xc9\xd5/-\x18\x82\xf6\xe4\xa8\xc19\x8b\xe8\x8c\xbc\x1c\xb1\x0b\xd1\x9c7\xfd=\xb9Gn#%\xe6/\xbeD\xbe\xaa\xc9A0v\x00\xeb\x89\xaf~)\xe9\xabO\x04tT\x19\xfc\x11i\xa5\x1aW\xfd3\xb4\x0d\x0etFW\xa5\x98\x1a\xe8\xe6{\xb7rG\xd3>\xd2\xdf\x98$qS\x85\xf8\xaap\x92l9\xec\xc9EIh\xea\x147\xd7X\x88\xc1Vf\xf0\xf2Y]\x14z|\x9a\x1aL\x13X\x14\x83Kf\xd1E\xd2\x03c\xb0\xfe\x9e\x1c\xe3\x91\xaf\x07\xfcI<z\x1b\x93t\xa5t\xa7\xf8[\x96.\xbb\x13\x0c\x8e\x8e\xd0\xd4)n\xae\xb1p\x06\xb7\xb1\x0ax\xc36\xf2\x98\x9b+\x8a\x83t\x86b\xb0\x87>o\xc6e\xb3\x98\xe3\xc0\xc5\xf1\xe9\xdb\xc3\x1b\xfc\xb3/\xffL[\x9aD\xa0\xbb1IGH\x1d\\Q|A\x14\xdfv\x81\xc1Q\xa0\x9d:\xa5\xcc5\x94^{\x8d\xaf\xd9\xd2\xe3[\x96\x8b\x87\xdbJ\xb4l\x7fk\x09\xa2\x19\xc6\xd5\xd6\x9a\xd6\xf9\xb6>rN\xae\xa4S\xec*\xb1x\xfb\xf1(\x9d\\\xe9\xa9L&\xc7\"zl\x8e\xea\x8d\xf6\xe4\x94z\xad3\xe1\xb2%I_\xfa\xc1G\xda\xd2$\x00\xfd\x8dI\x12\xc8\xb1\x887\xf3\x8b[\x1a\x96\xca\xd9Y\xe6\xc3P\x83\xb5S\xa7\xb8\xb9\x062\x92\x86PS*\xb25\xb3\xea\xb7-\xd7n\xcfe\x7f\x0f\xe1b\x99\xdd\x96\xdbI\xae\x8b@\xc8\xd2c\xc3\x8fexnm\x96-\xab\x96\xbe~z\x91=\xbd\xbc>\x85\xce\x0dfJ(\x1b5\xf2\xf1\xe0\xf3\x9b\x96\x96\xee{\xc6I\xb3\xb3\xcc\x87\xa1\x06O\x7fLfp\xa4\xb7c\x06\xc0\xe0\xb8\x92d.\"\xbd\x1d3\x00\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807F\x1b\xac\x91:\xe5\xf36\xd7\xb5v\x0f\x87_nr\xa8\xb1\xd6\xe8\xbf\xd8\x9a\"\xdf{\x94\xb2_\xbfQ\\\xf9\xed\x03+\\\x9b\xae\xd0?\x18*\xe4\x9f\x8f\xd4:\x98cN\x81\xe1<\x12\xa9\xe9t\xc2`\x835R\xa7|\xf5\xad=}]\xf5\xad\x89P8\xcb\x92\xa5\xffb\x0d\xf2zkQ\xad\xd7\x8b\xc2h\x1eW\xaa\x8a\x0e\xec\xcc\xbf\x20\x8a\xef\x9f<y@x9l\xd3\x17_\x0d\x99\xf5\xa4@\x16;p\xf2\xe4\x82'5\x16\x98\xb6\x18k\xb0V\xeaT{3\xf9\xab\xf6C\x89\x88\xed\xf1%/O\xd6\xbf\xb0\xbe\xd6Bn\xc0\xef\x14E[\xadn\x9b\xb8rA8\x20^\xb9\xc4\xa6_\x8d`p\xc5\xf6\x90Y\x07\x9c\xf2b\xf9\x074\x16\x98\xb6\x18j\xb0f\xeaT+\xfb\x8e\xf6\xdf\xf4i$^\xd4\xcd\xee<\xd6\xe4\xe2\x19\xd9\xe03\x17u\xdb\xc4\x95\xf3\xc2\xb1\xc0t$\x83\xd7\x85\x1a|\xf9\xbc\xbc\xd8\xf9\xcb\xa1\xed\xa7/\x86\x1a\xac\x99:\xd5\xcf\xa6:\x8c*69\xaa\x1d\xa2\x83\xdc\xcc\xd9\x8d+\xde\x8d\xa7\x97\xa7\xdb\xf2p)3\xb8\xdc\xee(/\xb7\xdb\xe8\xbd\x9f\xd4`\x96E\xb5A\xac\xc6\x8f\xcde(\xa5v\xa5\xc3\xbe\xe84\xed\xc1\x1fV\x15\x0bo\xe2z\xb5\xe1\xfc\x8eR\xd7\xa6OE\xf1\xca\x8f*\xf2W\xed\xc6\x03\xef\xe5;Y\x11\xbb\x9b5\x0a\x18\x1ch\x809\xbf\xf5Ng\xd1\xa6\xf7\xc5cr\xc1[\x11\xd2\xb7\xbc\x18i\xd0\x20\xb6\xe0\xc7#\x0f\x09\xce\x03\x0f\x16-\xddt>\xb8\xb3\xe9\x82\xa1\x06\x8bz\xa9S\xa28\xd2\xa4?\x18N\x1a\xf3\x0b\xc5\xc2\\\xfc\xaf\xaf\xb9)=#\xd5Q\xbe\x1c\xf5\x89\xc3\x99i\xb5\xd5V[]\x1e-~e\x83}\x1d\x8e5\x83\xe2`uj\x87\xaf\xb7)\x05\xa5o\xabN\xb7\x91\x9b\xfc\x02aU\xb1p\xf9\xc8\x91\xe2U\x8b\x8bw\xefX\xf0\xae(\xee\x14v\x1f?P\xb4\x0e\xef\xbe\xbdq\xf2\x88\xd0r\xf2\xe4\xbb\xacQ\xc0`\xa5\x81\xf8b~\xc5\x93\xc7[p\xa9q\xe9\xe5\x93\xab\xaaN\x9e<\x19\xfawH\xe5\xc5.\xbd\\\xfc\xc0\xaf\xc5_\xb7\x14\x9c\xbc\xf4\xe6\x11\xa7P\xdc\xd2R\x9c\xff\xa6\xba\xb3iC\x82\x0c\x0eJ\x9d\xc2Cp\xfd\x90\xde\"\x93\xc6\x88\xadF\xac\xb11\xfdf\xa3\xf9\xf8\xe3\xe4#w\xd4w\xe3\x12\x18\xb1\x9bP\xfd\x06\xe3\xe1\x9aD\x01\x96\xd0L\x1fk:n6\xe4\xc8\x09\x0a\xab\x8a\x85uB\xd5\x05\xf1\xca\x052X>#\x12\xef\xe8\xd1\x03\xad*\x82kp\xb9x\xd3e\xe2?\xfd\x03\xd0\x1aU\x04\xbf\x98\xd8B\xc6\xe7\x1d;\xc9\xa4\xab\x14/q\xa1\xb8\"hm\xd3\x85\x04\x19\x1c\x94:%v\xf2y\xc2F\xd1\x8d:|\x1d\x88EV\xcc\xb6\xca\x1bPIb\xd2N#9L(`p\x1fv\xfabj;\x99\xb4n\x20\x8f\xb5hH\x1dV\x15\x0b\xeb\\\xf2P\xbb\xa3\xf4\xf2\xa7\x98b\xaa\x9a\x96\xc1\\\x83\xe3\xc2\x1b\\\x0f\x11\x0c~\x7f\xc1\x1b\xe2\xe5\x82\x17\xc9\xa4\xab\x81<\x1e\x10.\xa8\xd76]H\x94\xc1\x0c9uj\xd8\xebN\xc4\x9f!\xa8\xa5G{\xd9\x81\x86\xd9s\xe5\x995h\x90$\xa0\x04\x8f\xc1b^\xb9\xd8f\xa7G\xfcX\xaa\xb0\x17u\xa9\xc3\xaaba\x9d\xbf\x82]+W\xb4\x9b\xc8\x13-\x83\xb9\x06\x07\x04n\x0f-\x92\xc1\xe2\xa6}\xe2\xf1\x02\xba\x80\xab\x85<\x9e\x14^U\xafm\xba\x90\x20\x83U\xa9S>Oc\xbf\xee\x02\x93H\xe1\xec\xce\xceN9%-\x10\x96\xd6\x97\x9c\xd7\xd7\x9d\x91#?S\x0c\xf6\xd8\x87Y\x11!ZiP\x84\x1b\xf9\xd4aU\xb1\xb0n\xab<\xb1\xa3\xf4U\x0a\xad\x0c\xb4\xc7\xe0@\x83\x17\x05\xee\x1805\xf8\x99w\xc5\x20\x14\x83\x8f-\xbd\xbc\x93\x8d\xb5.\xbas\xf8\x0c\x1d\x83\xb9\xb5M\x17\x12d0\x9f:5\xd4\xbc\x9f\x96\x14\xfa\x0bM\x12\x8er\xfcP\xee\xa0\xd3\x01\x83\xbbP\x1aB\xb9\xfeO\x94b\xf0\xb0\xddc\xa7E\x84hM#\x15\xf3\xac\xdc\xa0\xb0\xaaX\x08\x8c\xa0\xc7YM\xda@\xcfAh\x19\xcc5\xb8TTE\xc6\xd4\xddT\xc8\xaa*Q\xfc\xb5\\\xd0\xf6m;\x13\xbc\x189\xb6ql)-\"D\xd7\x8aKx\xe1\xd2\xaa\xa0\xb5M\x17\x0c5X3u\xaa\xaf\xae\xb9\xaf\xbf\xbf\xbf#\xe6\xdd\xa1\x09\xe2\xf3\xa0\x0d>\xd1\xb7\x01\xb5]\x1c\xee\xa4\xb1\xd7\xd4\x83nk\xbb\xc7\xeb\x17\xb8\xab\x16\xd5v\xc9\xd3\x95\xb3X\x11!Z\xd1\xec\xe6\xba\x0c;i\xcd\x87UE\xcd\xa7\xaf\xd3#\x09\xe7\xe9\x93}\x0bv\x1c9\xb6\x93\x98\xc5\x8eE\xbcL\x8e\x13\xbc+\x9f\\{W\xd5@|\xd1\xb5\xea\xc0\xf1\xdd,,\xb5\xc5u\xe0XU>\x1b\x83\x17\xa1<\xb9\xeb7\xf0b\xfe\x81z_i\xc1\xa7t\xc2%T\x1cyfU\xc1\xdb\xea\xce\xa6\x0d\x86\x1a\xac\x99:\xd5\xc6f\xba\x8d>\xa3\xd1N\x8e\xee\x8a\xfb\xf1c{w2-g\xa9\x07\x1d\x162i\xc9%\xdb\xe6#\x91S6\xf9\xcb\xe14Z\xc9&\xac\xe5%\xa9\x8e\xe5Lr.\xac*j\xdeT\x15\xa3\xc7\xab\xee,\xa8:\x8e\xc7\xcc\x02:\xd7ID\xdb)\xd7\xab\xdb\xf9\x06\x98\xb7\xb7\x17/\xae`\xe3\xf4\xe5\xddK]U\xb2\xac\xf5v\xf6\xe7\x11\xc4K\xf9x\xa1|\xb9Fx[x\x90M\xb8v\xef,(\xda\xf1\xaejm\xd3\x08C\x0d6\x01\x83\xb65\x83\xc3\xc3C]K\xec\xc1U\x8d\xcf*\x1f\xb1\x0e\xf3\xf7a\xa6\x12\x97\\\xac\x88\x90\xf7\xe4\xa6-`\xb0\x9aV\xbb<a\x0f\xfeNh\x96\x8b\x08\xb3\x18|\xe4NVD\x80\xc1\xbaD\xea\xda\x94t%\xb3\xe3h=\xc9\xdd\xfc\xecj\xaf8\xdf/\xae\x19\x0cny\xf1J\x95_\\0X\x8fH]\x9b\x93\x12\xdb\x9afo\xf3\x1a\xdbJ~\xa6\x0f\xcd.Kc'\x0dY\xaa\xf0\x14\xe7\x92P\xf1P\x11\xab\x87\xdf?\xe9|\xe0\xe5iu\x1a9\x0808\x18O\x9e\xc3\xe2\xc8\x0b\xaa!\xaam\xb9\xf29\x17\x9a*\x1c8z5Ui\xc9\xaf\x92/\x9ax\x88\xec\x1e\x9e\x0f\xdb\xd8\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb91\xda`\x8d\xd4\xa9\xfe\xb6\xa6\xba\xe6\x0e\xc3/p\xaf'WQ\xda\xf3\xba\xf4[\x94\x90k+O\x07\xcd\x9c\xcc,*H\x9d\x1a\x07\x06\x1b\xac\x91:5\xe8\xf6\xf4\xf6\xf5\xeeo2Za_=\xda\xe6\xad\xcf\x09\x13y\xd2GR\xa7\x82\xaf\x81\x98\xcc,*H\x9d\x1a\x07\xc6\x1a\xac\x95:u\x86N\xfa\x8c\xbf\xd7\xb3\x07\x91K\xd3s3\xc2\xb5\xe9\x0c1x\x12\xb3\xa8\x20uj<\x18j\xb0f\xea\x14\xbbAn\xd0m\xf8\xcd\x9e\xcc\xe0Z\x14n\xf0\x0f5x\x12\xb3\xa8\x20uj<\x18j\xb0f\xea\x14}\xa1\xaf\xd9\xe8\x9b\x8c\xfc\x06/gwz\xfa\xe3\xa3\xd4\xa1R~\x83\xb9\xd4)\xed\xb9\xb1dQA\xeaT\\1\xd4`Q;uj\x90\xec\xd3\x19]\x06\x13\x83=\xbe\xdeJDo4\x0e\xc4G\xa9B\xa5\xb4R\xa7\xb4\xe7\xc6\x92E\x05\xa9Sq%A\x06\xabS\xa7\x06\xfb{\x9a\x0d\xdf\x93\xc3\x06\x13\x96\x93I>>J\x09\x95\x12\xb5S\xa7\xe2\x90E\x05\xa9S\xf1#A\x06\x07\xa7N\x89\xc3\xcd\xed\xda\x0bL\x1e=\xa8\xa6\xd3\x93c#W\xab\xf3\xf1QJ\xa8\x94\xa8\x9d:\x15\x87,*H\x9d\x8a\x1f\x892\x98AR\xa7\xe4\x1d\xa2n\xb7F\xebI\x85\xd6\xc1C\xc9d\xbd||\x94\x12*%j\xa7N\xc5!\x8b\x0aR\xa7\xe2G\x82\x0c\xe6R\xa7\x1a\xd9\x01\xd9\xee:\xbdE&\x0b\xb6'\x97J\xcc\xe3\xe3\xa3\x94P)Q;u*\x0eYT\x90:\x15?\x12d0\x97:\xd5D\x03C\x12RE\x905\xa7\x95\xf7lS\xc5G)\xa1R\xa2v\xeaT\x1c\xb2\xa8\x20u*~\x18j\xb0f\xea\xd4iw{o_oB\xf6\xe4\xe8\x19\x8d\xbc\x92,U|\x94\x12*\xd5'\x9f}c\x07\xfe\x02\xa9S\x13\xcd\xa2\x82\xd4\xa9\xb8b\xa8\xc1\x9a\xa9Sb\x7f{s]kg\xdc\xcf\x0fD\xa2\x19\x97\xaa5\xd8\xe3\x0c\x9am\xa2\xc4G)\xa1R%rA\xcbB\x01\x03\xa9S\x13\xcd\xa2\x82\xd4\xa9\xb8b\xa8\xc1\xa6@/\xd0$\x90:\xa5=w\xca\xe5\xa0@\xeaTD\"umR\xf4T\x0c\xa4Ni\xcf\x9dr\x06C\xeaTD\"umR4U\xe4S\xa7\xb4\xe7N-\x83!u*\x1a\"umJ\xb4C\xa5\xb8\xd4)\xed\xb9S,\x8b\x0aR\xa7\xa2\"R\xd7\xa6D'TJI\x9d\xd2\x9e;\xd5\xb2\xa8\x20u*\x1a\"u\x0d\x00\x06\x00\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb4\xc1\x1a\xa9S\x98\x1e\xc3\xff\xa2gt\xf4\xe4\xd9\xd2\x96y\xd3Tw[pYT\x9a\xb1T\xb1\xd2\x1e\xf2\x97\xeb\x80X0\xd8`\x8d\xd4)\xf2\xac\xae#\xb6?Ml\x10m\xb6\xb9\xee\xe6,\x84T'\x94\xb9,*\xcdX\xaaX\xf1\xd84\x02\xd8\xbc]\xa1\xf3\x00M\x8c5X+u\x0a\xe3i\xef\x9b\x8a\x06\x0f\xa5.\xb9H\xee\x1cB\xc1\x97DpI>\xa1\xa1>qana\xa4\x16\x80\x8c\xa1\x06k\xa7N\x89=\xf5\xbe\xfe\xa9hp\xa5\x8d~G\xd4\xa0\xe0Ba\xf2\x0d\x9e\x0d\x06G\x8b\xa1\x06k\xa7N\xf9\xeaN\x8b\x090\xb8\x0cY\xdc\xe5\x19\xb6\xbc>2\x99\xdc(\x9e\xb1\xa0Lq8\xcd\xb2\xc1\xe1\xf0\x96\xa5\xe6\xfaDq\x16\xbb\x81h\xb0\xe6\xa2\xe8+tX\x1c\x8b\xfc\x7f\xa8V\xcb\xe0\x8e<\x87\xc5\x9e\x97\x1e\xbc\x16\x0d\x94\xb5\xe1\x9f\x83\x0d\xa1\xe4&67\xb09\x1e\xf9\xee\xa6\xd9\x11:\x02\x08\x86\x1a,j\xa6Ny\xda\xc5D\x18L\x82\xa2\xec\xd55\xa9K\xe8\xd5\xbd\xd5X\xc6\x12+\xfe\x9aHE\xe5\xf3\x91}[Z\x8dx1YI\xa7\xf4\xa0\x95\xde\xe6E\xc9\xb2\xad\x1a\x06w\xa1\x92\xfd\xedn;\xd2\xba\x8f#\x08nmx9\xaf\x97]\x1b\xcfm\x8e\xaf\xc3\x9b\x91\xeb\xf5z\x0dO\xf34%\x092\x98K\x9d\xea%\x91i\x090X\x14\xadv<\xe0-\xa7\x7f\xcc\x9eZTM\x9cJ[\x8eu\xf5\x88%+\xc5>\xd4\x1ah\xeak&\x1f\xb6\xac%\xec\x99\x86\xc1nz\xb7Qm\xaa\x18\x0d\xca\xda\x086\xf9\xee\x0ens\xa0\x8a\x88\x9e\x04\x19\xac\xa4N\xf9\xeazGFF\xfa\x1a\xf5r\xf2&\x11+\xc9*a\"q\x067c+}b\xe52q8\x85\xcb\xb8\x1et\xe7\xcdJEY\xec\x89\x86\xc1}\x8e\xf42w\xb7\x18\xc5\x10,\xea\x1a\xacl\x0e\x18\x1c=\x892\x98\xd1\xd1*\x9eq\xfb1<@\x98\x13\x893\xb8M\xec\xb4\x88\xc4`\x7f\x1d<\xdc\x86EMsT\xb6zs\xf5\x0d\xc6uQa&J\x8b.\xd7]\xc7`n.\x18\x1c5\x092\x98K\x9d\x1a$\xf4\xd4\x0f\x86\x09i\x9a$\x82\x0d\xde\xe87\xd8\xca\x0c\x96\x8fE4\xa3A13\x87|g\x14\xea\x1b\xdcU2\x10U\xbe\x00\x00\x1e\xa0IDAT)\x92Z\xc3\x16U\xfa\x9b\xb26\x82\xae\xc1u\xaa\x8ce@\x9b\x04\x19\xcc\xa5NQ\x12S\x07+\xca\xd8\xb0\x80#s\x83\x0c\x1eJ]\x82\xab\x82\x91\xdctQt\x10\xa3F\xb2\xf4\x0d\xae\xa6\x01@b\xee\x1a1\x0a\x94\xb5\xd1g\x1a\x06\xe7\xe6\xe2\x8fv\xb8\xfcV\xc0\x8f\xa1\x06k\xa6NaF\xfa{\xea\xfbCn\x05\x9ed\xd8\xed\xc5]%\x16/._r\xec\xdb\xb6\xe5\xa0\x94\xfa\xde^{\x8d\xaf\xd9\xd2\xe3[\x96\xdbG\xce\xc9\xe5\xd4\xb7\xe6\xa5t\x10A\x0b\xdd\xdbf#{M'\x9fE\xc5MV#[\xb5\xa7\xb5$\xcc\xdf\x95\xe1\x08\xacM\x1c\xee\xf4z\xad%\xde\x0e\x9fzs\xb0\xc85\xad\xf3m0\x06G\x81\xa1\x06k\xa7Na\x99\xc8\xdc\xa6pKN\x02\xf4\xf6\xe2\x1e\x92\x20U&\x8a\xa7sm\xa9y\x1b\x10Z\x93\x86PS*\xb25\xb3\xf0Tr]\xc4\"\xb2\x95#5\x19V\xfb\xb2\xfaY\x96\\>\x8b\x8a\x9bl\xcc\xadvX\xd2r\xa3\x128\xb0\xb62\xb1+\x99\xf5\xe0Vo\x8ex\xb1\xccn\xcb\x9d\x94s%\xd3\x0eC\x0d\x06\x80\xb8\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b\x13\x18\\\x88\xec\xcb\xe1\x961@\x07\x13\x18\xdc\xef\xad\xcf\xb4\x1b\xfe\x17?\x01\x93`\xb4\xc1\xa1\xa9SA\x01T\xdaK\xa1n\x11\x00\xb40\xd8`\x8d\xd4)u\x00\x956\x93\x94+\x02L\x03\x8c5X+uJ\x1d@\xa5\x0d\x18\x0c\xe8a\xa8\xc1\x9a\xa9S`00\x11\x0c5X3u*\x1a\x83{\xa2\xbb\xff\x0c\x98\x81\x18j\xb0\xa8\x95:\xc5\x07P\xe91l\xcf\xe9\xe8K@&\x0a0\xf5I\x90\xc1\\\xea\x147\xa9O\x1bBhQ\xb8\x06\xc0L%A\x06+\xa9S\xaaI=|\xf6\xf4\xda\xf6\xc8\xc5\x060\x03I\x94\xc1\x8c\x8eV\xad\xc9P:Q{\x98W\x81\x99L\x82\x0c\xe6R\xa7\xb8I]\xe0X\x04\xa0G\x82\x0c\xe6R\xa7\x82\x03\xa8\xb4\x00\x83\x01=\x0c5X3uJ\x1d@\xa5\x0d\x18\x0c\xe8a\xa8\xc1\xda\xa9S\xaa\x00*\x0d\x86\xfb\xbb\x0a\xad\x86G\xb3\x02&\xc1P\x83\xc7\xc7\x12\x84\xd2\xc3\xed\xe6\x013\x1a\x13\x18\xdc\xdf\x0d\xc7\xd1\x00]L`0\x00\x84\x01\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807F\x1b\x1c\x9a:\x85\xe9m\xabo\xee\x0a\xb3\x10\x00\xe8b\xb0\xc1\x1a\xa9S\xe2p\xbb\xbb\xf3L\x97\xfbL\xb8\xe5\x00@\x07c\x0d\xd6J\x9d\x12\xdb\xeb\xfa\x89\xda\x10\xb0\x0a\x8c\x07C\x0d\xd6L\x9d\xeaw\xd3;\xe4\x20^\x15\x18\x17\x86\x1a\xac\x99:\xd5Y\x17.w\x15\x00\xc2c\xa8\xc1\xa2V\xeaT\xab\xa7\xb75R\xea\x14\x00\xe8\x91\x20\x83\xb9\xa8\xa9f:\xd9\xd4\x0c#10\x1e\x12d0\x175\xe5\xa9\x8b\x9c:\x05\x00z$\xca`\x06\x89\x9a\xf2\xb2\xfb\x90\xbdp;20\x1e\x12d0\x175\xd5U?\xc2\xcd\x01\x80\xd8H\x90\xc1\\\xd4\xd4\x10=\x9a\xe6\x93\x0f\xb3\x01@l\x18j\xb0f\xea\x94\xd8U\xd7\xd5\xd7\xd3\xd8\x0a{r\xc0x0\xd4`\xed\xd4)\xf1Lk\xfd\xfe.\x10\x18\x18\x17\x86\x1a\x0c\x00q\x07\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0x*0\x12\xa9\x01\xa0\x0b\x18\x9cp\xfaK\xd2\xd0\x92H\x8d\x00=\xc0\xe0\x84\x93\x99\xe9n\x87\xbf76n\x8c68$uj\xb8\x91]r\xe9n\x8a\xb0\xe4$s\xbc\xe8X\xa4&\x93C\x0fj\x8b\xd4\x04\x08\x83\xc1\x06\x87\xa6N\xf9\xdc]d\xaa\xcb\x1d\xe6/\x83{\xbb\xf4_\x8b\x17\xc7\xf2\x8fDj\xa2A,[\xa6\xd3\xb6\x0buh\xce\x07\xa2\xc3X\x83\xb5R\xa7\xd8]\xcb\x8d\xe1~\x8ds\x0b\xc3\xbc\x18/\xaeDj\xa0E,[\xa6\xd3\x16\xfe\xea\xf9\xc40\xd4`\xcd\xd4)\x8ag\x7f\xb8{4f\xc7\xe0\x89\xb1\xc4\xb2e:m\xc1\xe0\x89\xf1g\x1b\x00\xc0\xccL`\x0c\x06\x80)\x00\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xccMX\x83\xeb\x11O\x7f\xb8\xa6\x00\x90\x18\xc0`\xc0\xdc\x845x\xf4\x1aa.\xaa\xa6\xff\x8e\x86k\x0a\x00\x89!\x8a:8\x07\xd5DjbjJJ\xf8g\xcb\x90\xa8\xd7P\xcdU\xbb\x9b\xfd[\x9e~{\xa6\x9b}\xbc\xdbsli\x85C\xfa\xcb,B\xa3\xd1\xae\xe0Z\xa5\xc3\xe2\xa8\xbc\x86\xa7jr\"\xb5\x9d\xd1\x80\xc1]\xd6a\xfei\x94\x82I\xa3\xf3\x115\xf8j:*\xac\x9e\x8b\x0a\xc9\xf46\x94Q]\x92\x92\xea\xd3](z\x83G\xb3Pn\xf5|\x94uC\x92n\xa4\xd5Gj=\x93\x89\xc5\xe0F\x94\xc9&jP\x99\xd4\x84j\x86\x0aSSs<l\xd6\xc5\xf2t\x8b}I\xb7v\x0f\x9aT\xa2\xe4v\x9d\x97.Z\xc8\x9a\xbc)r\x01\x9e\xe2\xd5i\xc7\x93\x89*#5\xd1d4]\xbd\xdc\xb5h\xfc\x92$1\x071\x83+Q\xabD\xbc\xc7o\xbd\x0f\xe5b\xe1:\x91jLWA\x0c\x8en\x05\xfbQ9~\xdc\x80\x1a\xf1c\xbd-\xaaEf(\xb1\x18|\xd5\x82\x06\xe9D\x06\xea\xc5\x06\x17\xda\xacy\xb9\xc9h\x0d\x99\xd3mC\xd6\xact\x84\xb6\xe9\xf6\x12\xa0\xa7\x8f\xfd+\xf6Zj\xf5\xda\x9c.\xb3J\x92\x1b\xf5\xf66\xa3\xc6\xde^\xa6J\x04\xc6k\xb0\x07\x85\xf9\xd6\xd7e\x7f*\xcac\x9bU\x92E\x1e\xdb\x11~/k\x10\x1d}+\xf5\xbf\xb2\x88\xc1\xd1Q\x89\x7f\xc4\xe43Q\x86\x1f\xaf\xd9\xa2\xf8\xb1\xceXb1X*d\x86\xf6\xa1t\x09\x1b\x8c2\xf0/\xac\xcfN\xc6\xa0\x8b\xa9\xa8\x12\x0f?=v\xa47\xac*\xe4\x04\x86(\xab\xae\xc1R-6\xb8\xd1\"Ig\xd0iI\xb25\xea\xb6S\xf0\xb8{\"5\xd1$k.\xfd\xa76\xcb\x96\x9a\xd7%\xd1*\xe2\x8c\xff\xe8\x0b\xee\xf1Zu:.G\xaf\xe2\x17\x1c\xfe\xb9\x1b\xf1\x93\xcc\x8c\x9e\x0e\xfe\x83UM\xde\xb8}\xae\xd6\x0a$\xa9\xbf\xc4aI\xcd\xed\x94\xb8*\xc2\xb72\xcd\xb6h0\x13W\xb8\x85i\xbe\xe5vkNW\xd0\x1a\xdch\xbfD>\x18\xf4\x07^\x92zC\xbbg\x20F\x83;\x88\xba\xe4\xbbm\x1b5\x98\x1e^k#\xf3*\xd1\"\x89=\xc9\xd0\xee\x83#j\x83G}\xb2\xc1\xbeh\x07\xaeq0\xc8\x1c\xd9\x88\xe6W\x97\xa7\xa2.j\xb0XO\xd8\x80\xec\xa2t-\x13\x97\xa3\xcb\x93\xd3\xb1\xc2e\x852\xa4j\xe8\x1e\x95\x14\x83\xaf\xf5W\xa3\x9cQ\xe9**'u\xd5\xb2\xe02\xf8\xcc\xed\xb65\xd5\xcbRH\x9d\xe17\xd8\x97\x86\x96T\xceJ\xb5\x13\x83mi\x8bZ\xdd\xf6\xe4~\xf5\x1a\xae\xa6\xa7\xb6\x0ez\xec\x0eZ?xP\x87\x04\xe8\x10\x93\xc1\xa3\xa9D\xa8\xd14\xf2\xc5\xdb\x84r\xd9<+~\xe6@\xacT\xbd\x91\x8c\xe4\xdf\xdfh\x9ae[\xba\xa3g\x83=\x8f\xecNK\x9e\\[\xe6\xc6\x1b\xe43\xc0\xa0\xbb\xd7\xd6\xea\x8d\x99\xb6E#\xb4\xfd\xfe\x1c\xdb\xdc\xfdtJ\\\xe3\xb0/'U\x04\x81\x1aLjKR\xa0\xd4\xe2\xc7\xf6J\x94\xd2T\x9en/d\xeb\xf1\xf7;n\x9a\xa9\x1c7R\xf2$b\xf3\"eO\xeeFV\x0a\xfe\x1e/\xa7\xef]\xb3\xb4U\x0c\xaeD\xc8\x81\x7f\"\xfdhIj\xfa\xf2,d\x0fR8\x0f\x91\xba\xc9K\x0a\x02\xbf\xc1\x85\xa8\x0d\xaf!\x97\xfc\x18\x0ai\xa1\xd0\x15R\x03\x0d\xcf\xc2\xef\xd6\xc1\xba\x1aD\x1b$@\x87\x98\x0c\xc6\xbf\xd0J\xf2\xd3&\xdf\x96M\xfe\x9fj\x16\xea\xbc\x86PV\x0e\xc5B\x861JO*\xda\x98\x87\xecn\xba#]\x96\\\xd9\xd9\x94\x86\xc7\xa9\x1b\xbd\xbd\x99y\xbd\xbd\xbd\xf47cEYm\x1di\xcb\xc9d\x99u[\xe76+\xf9]\xfaR3=\x1d\x8b\x90\xda\xe0\x1b\xbd\xe9\xe5W\xa5\xab5\xa9\xbd7\x86\xdaR\xd0,w\xed,\xdb\x20\xdf\xef\xb8)\xa3\x1f\xb9\x1b\xc9\xb3\x88\xb7d\xb0\xf7\x1b\xbc\x8c\xecD\x8d\xdeN\xbft\xa4\x9c\x94\xd0O\x89bpWG\x8d\xcd\xd6+\x9dFh\xd9(\xd9\xcd]\xa2n\xd8Iwv\xaf\x92\xd9\xb2\xc1\xd7\x92\xe9'\xb8\x8f\x19L\xde\xe15\x94\xa7^h(\xcd\xba\xd1\xb3\xd1\xca\x14\x1eM\xce\x95\x00\x1db3\xf8\x0cJ\x1b\x95V\xd2\x1d\xe4&\xff^[\x0ej\x13\x91B\xa0\x10v\xac\xc1cW\x87TVN\xc60\x0f]\xb8\x8d\xb6W\xaa\x08\x07\xf9rN\x93\xc8\x87\xa2\xcb\xff8?\x03\xcb2:Wm0.+\xc8\xef\xbc\xac\x8c.6\x0b\x0f\xeb\xd7\xd2s\x83\xfa\x1d\x1fK\x10\xa9q\xb1\xc8\x96\xf9n\xba\x9b*\x1b\\C\xf7P\xfbQF\x0da6:#\x95-\x91ieK\xaa\xea\xe0^\\>\x9dA\x16\xd2\xd7\xe8\xac\xe4k\xeauHW{=\xd59d\x80\x97\x0d\xee\xa1\xb5\xb4$Y\xa8\xc1d}\xa3h\xbe\xa4ZC.):p\xb7\xecXpj\xe4\xe2l\xc6\x12\x9b\xc1R\x06\xea\x19\xb5\xa5\x90_T\x93\xfc[\x902Q\x17\x1e\x83Cw\xe8\x1dm\xf8wzC\xaa^)I+3F\x09\xe9T@\xce`r\xc0\xa8\x86\xb8ZFw\xe8\xa5\xac2<\x18QA\xb6\x05\x1b<\x82\x06q\x11C\x8f\xd6Y\xe9G\xa7\x19]S\xf7;>r\xd9\xd1\x81\xd1\xc6,\xfc\xe9\xcb\xea\xf3\x1b\xdc\x81\xe6\x92\xf9\xbd\x81\x0ff\x97zON\x0a2X\x9a\x8b\x86\x87\xe4\x83\x8d\xcb\xe5#6~\x86\x97\x93z\xa0\x843\xb8]^4\x9d\x1aL\xb5'\x06sk\xb8*\xab\xbb\x08\xd1\x83\xd5\x0e\xbb\x04\xe8\x10\xa3\xc15\xa8\xb2\x8b}K6\xc9\xdf{7,\xf8\x87\x1c8\x06\xd1\xa3\xecu9\xba\xa43\x16\x89\x1a<W\xfe\xcd,\xa3\xdd)\x06\x93~\xc9>\x9b4\x9f\x9e\x10\x90\x0as\xf17k/]O\xb0\xc1\xd2\x92j\xa9\xcbN;g;\x80=\xb8\xbaT\xf5;>\x98@\x04\xd1\xb3\x04\xd9o0\x83\x07mvjN\x1fZ\xa9\xbb$3\xf8\x86\x87\xed\x01,A\xfd\xa3\xc9l\xa4\\\x8eT\x85\xf0h&\xaa\xec\xc5%\x10gp\x97\xfc\xfd\x95\xaa6\x98cH\xae\xbc\xcb\xf1\xe0\x8f\xb19$@\x87\x18\x0d\xbe\x88\xd2+\x99\xadM\xc8r\x91\xfc\xdb\x8cf\x93/a:d\xe1\xafu\xab_\x08j\xb0\x95\x19\xbc&\xa3\x8fB_\xa3\x06{\x88\x20TEjp\x19\xfb\xddg\x94\xe1_4\xdd\x9f+\x0b1\xb8#m\x94\x15\x11\x92\x95\x0e\x82\xadx\x0cV\xf5;>\xca\xe9\x80\xe9\xab\xa6\xe5{!\xfeT\x10\x83\xaf\xa6\xa7\xb0Cs7,\xe9\xf4}5\xd6\x06\x17\x06\x01\x83-T\xaeQ\x87\xe5\x1a\xfeA\xd1\x02$#UU\x97\x9fa\xe7\xebz\xc9'^6Xd\xbe\xfa\x90\xae\xc1\xd7\x10\xfbV\x9a\x8fF\xe8\xabP\x07\xeb\x12\xa3\xc1\xf8[\xd7\xc6\x0eN6!4\x1bk\xd8i#\xc5\xeb\x90\x15\x95\xe1\xdf\xf1i;=\x93\xc4\xe0\x0c\xeeb\xd2o\xa3\xdf\x9dyyd\xb7\x86\xccP\x0c\xee\xa4\xa5l\x1b\xea\xc4+H\xc7\x1d\xf9n\x0f1x4\xad\xc3\xceN\xf9Y\xd3\xc8\xa9\xd6\x8c<u\xbf\xe3<\x1e\xdcL\x8f\xa2\x88h6\xb6ntv\xf2U\"\xd8\xe8|\xe4?\x02\xbd\x92\x8e\x96\xbd\xc9\x1au\xa8\\E,\xa7\xffT\x93\xc1\xdaC\xf7\xe4\x1a\xc9\xde\xee\xe8\xd5\x80\xf2\xfdT\xbf\x1b\xb9\x9c\xc1x\xc4\xc6k\x1d]\xa2o0nA\xaa)/S\xb7o\x9cgkf\x04\xb1\x1a\xdc\x8a\x10\x1b\x09\x9b\xd0\xac\xdbSf\xcfB\xecE\xaf\x15\xdd>\x17?\xc9\x0d\x0c?C\xf6\xfa\x1bm\x96\xfe\x1b+\xf3F\xe8/\xb8\xbd\xa3\x8c\xedq\xd5X\xeb;\x16\xd9DrN\xae\xec\xb4\xd4Wf\xe9\xc5#\xd7\x9a\xe4\xea\xce\xead\xb2\xf34hK\xaf\xddfON\xf1\x90\xca\xba\xaf\x195\xca\xa7\xf0\xa4\xea\x0cVDHV\x94\xd3\xde\x9aI\x8fYq\xfd\x8e\xf3\x9c\xdcEvHe#\x9a\xb5ac\x16)q\xb1`5\xc8QS\xbd\x11\xd3A\xaez\xc8\xd9\xb8\xd2z\xbb\xffs\xc4!\x1b<\xec@y\x1bsP&\xf1p\x19\xca\xaa^\x82f]%\x9f\xbc\x1c\x7f\xbb\xd1\xd9h\x91\xbb\xda\x91\x99\x96\xc5\x1d\x0fNEK*3\xec\xc4O\x1d\x83\x87\xd3\xd0\"\xdc\x17;2\xd7\x08\xc7\x83\xf5\x89\xd5\xe0kVV\xa8\x92\xb3\xca\xfd\x8bl\xf6E\xf2\xc8\xe7+O\xb7\xd8\xe6\xd6\x05\x04\x1eMC\xa8-\x15\xd9\xdaY\x95\xda\x95g\xb7\xcfg\x07\xdaF+\xed\xb6\xbc3\xf4(*\xb2\x0c\xda\xf0#Q\xafy\xaemn3\xeb\xa9\xd0>\xab\xda\x93B\xe6\xdeH\xc5\xaf\xda\xe4\xd1\xcc\xe7\x1f\xdf\xad\x1b\xcbR\x1dk\xd81/\xa5\xdfq\x1a,e\xd1\xe1ut\xff\xdcT\xdb\\v\x85\x83X\xe6\xdf\xa3\xc2=^\xdd\x98nq,W\xef\x9a1\xfc{rbY\x9a%\xbd\x9an\xe4h}\xa6\xd5QN\x8c\xe4\x0c&\x07\xb8\xad\x99\xb57\x96\xe1\x82\x20pNn\xa80\xd5\xb6d\x88\x0c\xcb:\x06Kb\xb9\xc3\x92V\xc6.:Z\xa2\xaeK\x00\x9e(\x0cV\xe1c\xa7\xe5\xa8\xc1\xe1[\xc6\x9b\x1bV\xf9\xc3\x12\xe6T\xde8\xf0\xb0}\xa5x\xd3\x1dt|W\x0d\xdb\xdf\x15Qt\x07Q\xc4\x94m\x91\x9a\xcc`b5\xb8\xc6?\x20\x1bnp\xbb\\D\xc4\xd9\xe0\x09\x1d\x8b\xd3\xa7,\xec\x15\xa9v\xba\x83\xb81\xca\x03\xd9\xb5\xb6\x09\xec\xaaN{b2xh\xb8\xfdv\xab|\xa5\x9f\xb1\x06\xd7\xf6H\x8b\xfcN\xc4\xd7`\xc9\x9b\xa2\x7f=\xef\xb8\xb9X\x18\xf6Tw5\xca\xd8X\x9d\x1b|\x1eN\x87k\xf6h\xae\xcd\x9b\xb1\xc4d094\xef\xf7\xc8P\x83o\xa0\x9cJ\x07\xab\x87\xd9\x0e`<Y\xbe<R\x8b\xf8\xe3\xc9I\xb5e\xd5FW\xddn\x9b\xc8Y\xf3\xe9OL\x06\xd7\xd9\xd2\x02_\x8e\x86\x1a,\xd5\xa4\xe6\xc9#%\xdd\x01\xbc\x18\xbe50\x83\x88\xc9`\x00\x98r\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\xcd\xd46x\x7f\xf0\xfd\x0e\x9a\xb8\xc3\\\x03\x19\x1d\x17\xe1x\x95i\x01\x831n[\xe8\xc5\x93\x80I\x98\xda\x06\xf7\xbb\xa3\x09;\x99\xa8\xc1\xa3\x08\x81\xc1\xa6ej\x1b\x1c\x1d`\xf0L\x06\x0c\x06\x83\xcdM\xdc\x0c\x8es\x0c\x1a\x83\xd6\xc1M\xc8=\\\x96v{\x16\xee\xbe)\xd3\x9aVNlS\xa5\xb6\xc9\x06s\xd1mZ\x8b\x045\xa8\xbdZ\xee\xb0\xa4o\xbc\xca\xceS\xd3\xf8\x16_Y\xba%5\xa7~\xc2{u\x1f\x0a\x98\xbda\x1a\x1c\x15\x84\x13a^\x06ba\xc2\x06OR\x0c\x1aC6\xb8\xcc\x8e\xd2\xac\x08\xb5\xafA\xb7\xa7!z\xe3\x8d*\xb5\x8d\x19\xccG\xb7i-\x12\xd4\xa0\xdc\x81R\xed\x08e\xde\x90Z\x97!T\xb8\xec\xa24\x98\x8a\xecs3P\x94W\x8c\x85\xe1O\xef}g\xfd\xc0\x17a\x1a\\\x1f\xa8:\x18\xe6e\x20\x16\"\x1a|5/\xfc\xc5\xa9Q\x87H\xc5\x16\x83\xc6\x90\x0dF\x99\x83\xd2\xe82d\xbd\xdd3*\xb5#\x12\x81\xa3Jm\xa3\x06\xab\xa2\xdb\xb4\x16\x09n\x90\xd1+I\x1d\x16rc\xa9\\E,A\x1b\xf1\xf0\xdb\x97\x1a\x87[z\xb6l\x89\xd0`;\x18\x1c/\"\x1a<\x88\xb4n\xb1Q\x88\xda\xe0\xf1\xc4\xa0\xf9\x0d&\x9b0(_\xd9\x99C\xa4S\xa5\xb6Q\x83U\xd1mZ\x8b\x047\xa0\x09\x17e\xe46\x09\xd9\xe0t\xd6e\xdd\xf2Ni\xa2\x80\xc1\xc6\x11\xde\xe0\xa6\xcc\xce!\xe4\xeb\xcc\xdc\x9f\xa0\x184\xd9`z+\xdb\x0dY\xdae\xa8NR\xa7\xb6Q\x83U\xd1mZ\x8b\x045`\xe9$u\xe4\x1aQ\xd9\xe0<\x94\xd3\x1b\xfc\xe1\x1a\xd8Z\xea\\\xb1\xbdtLz\x0d\x97\xb6\xff$\x1d\xc4\x8f/5\x08\xce\xe7\x1f[\x9b\xbf\xf5s\xda\xe2\xb3\xfbW8\x8b\xb6\x7f\xae^\x8c3x\xechE\xfew\x8e\x8e\x05\xb5\xc5\x067\xe0\xbe\\\xd7q\x83\x13U\x8b\xd7>\x86\x1b|\xe8\x14\x84\xa7?\xd9uw\xfe\xd6?I@\xd4\x847X\\\x83\xb2\xf0\x7f%b\x82b\xd0d\x83ie\x8a=\xa3\xb7\x87\x94\x90:\x9aOm\xa3\x06\xab\xa3\xdb4\x16\x09n\xb0HY\x81lp\xaf\x05\xa1\xd4e\xad|\xd1\xf4\xc1\x82\x87O\x9d}~\x85\xf0'il\xa0\xf4\xfb\x7f\x94\xfex\xb0`\xe0\xe6\xefO8\x85\xa2\x83\x87\x0b\xee'-\xce-\xae8|\xf6\xa0\xf0\xac\xa4\x823\xf8a\xd7\xd3\xaf?\xed\xda\x1b\xd4\x16\x1b\xfc\xf9.\xe1\xd9\x0f\xf1\xe4^\xa1\xe1\xf5\xa3E\xeb\xc7\xa4\xb1\x97N\x94\xae*(}l\xd7\x82p54\x10D\xa4*\xa2\xcb\x82,\xf4^\xe0\x84\xc4\xa0\xc9\x06\xd3k\xe9\x83\x0cVR\xdb\xa8\xc1\xea\xe86\x8dE4\x1b\xa8\x0c\x96\x06K\xc8\x9d\xd3)e\xca\x97\xc0\xd1\"2\x1c\x1e]J\x86\xd0\x83\x15\xf8\xe1a\xaa\xa2k)\x1eGw\x15\xe1\xa9\xb1\xd2\xad\xf8\xb5\xb1\x97\xaeK*\x14\x83\xcf\x0ag\xfd\x8f|[l\xf0\xb3\xae\xd7H\x83\xd7\xe8a\x89\x0f\xd9\xc1\x89\xf5\xc2\x96\x9b\xd2\xd8M\x09\x88\x9e\xf0\x06_\xdbhIG\x0ek\xf5\xd5\x04\xc5\xa0\x851XIm\xf3\x8f\xc1\\t\x9b\xc6\"\x9a\x0d\xd4\x06\xe3\xa9\x9emY\x88;\xba\xfcE\xf1\xdd\x0d\xcf\xffn\x8c\xd6\x00\x9f/\xf8\x9d4V@|\x94\\\x0f\xe3\x87\x83.\x89\xa8\xf9;I\x03\xc5\xe0\xbd\xeb\xe8?\xeb\xf6\xaa\xdbn?\xf8\xb4p\x8aN=x\xf7\xd8\x9f0\xa5\xf4\xa3\xb1\xde\x05\xc3o\xac\x847\xd8\x9d\xb6\x7f\x08\x0d5\xa7\xb9\x13\x14\x83\x16\xc6`.\xb5\x8d\xd6\xc1\xaa\xe86\xadE\xb4\x1a\xa8\x0c\xf6\xb1\x20\x8cF\x94\xa2\x941\xd7\x8f>\xb8VXq\x98*\xbc\xf51\xe9,\x1d\x8d%\x17\xd9\x0f\xa3\x06?+\x8cI\x1a(\x06\xdf\xbb\x9d\xfe\xb3\xbdJ\xddv{Q\xc1\xda\xfb\xe9\xd3\xf5\x02\x83\xd6$\xeb\xab$\x20F\"T\x11\xa3\xf4X\x04\xf9\x8d&$\x06-\x8c\xc1\\j\x1b5X\x15\xdd\xa6\xb5\x88V\x83\x80\xc1WIz\x03k<\x84\x92\x03\x06\x7f\xf88\xb6\xec\xfa\x89\xfc\xa3\xe4\xc9\xa9\x15c\xac\x88\xe0\x0c>+|(i\xc0\x0c\xbe\xf9\xf4ui\xef\xdd\xc4\xd3\xb1\xbb\x1fV\xb7\xdd^\xf4\xf1g\x05\xb4x\xdeu\xf7\x87\x14Z\x87\xac\xbf_\xa33\x20,\x91\xea`I\xb4\xb3\xdb\xeb\x0d\x8eAc\x841\x98Km\xa3\x06\xab\xa2\xdb\xb4\x16\xd1j\x20_\xfcfA\xed7F\xa5<\x94\x87[_[\xc6\x9d\xd28H\xabXi\xcb\xf7\xc9\xe3\xd8\x8aSK\xe9S\xce\xe0\x9b\xc5[\x88\xa1\x0d\x8f\xd1\xf9\x9f\x1d\xfe\x8c-\xc7\x0c\xfe@\x18\x90^\xa7\x05\xee\x09\xe1uu[r4\xed\xac\x93\x18}Vx\x89\xb4}\xf20y\\\xff\xa0\x04\xc4HD\x83e\x8c\x8eAc\x841\x98Kmc\xe7\xe4\xf8\xe86\xadE\xb4\x1a\xc8\x06\x93\xf2\xa5K\xf2\xd9\x91%3\xcb\x86\xd2\x94\xfc\x88\x83\xc2\xe2\x83\xaf\x9d\xda+\x9c\xa3\xcf\x1e\xbf{)\xd9\xb1\xfb\xd7\x01\xe7\xde\xf7\xc6>\xd8\xeb\x1c\xf8WI:\xe7Zw\xf4l\x83\xf0<mp\xbf@k\x86?\xfd\xbf\xef\xac\x1f\xc0\x1c\xc5\x06K\xbb\x84\xc7_{\\\xd8E\xe6\x07\xda^\x1f\xa8\xc2=\xdc\xdc^|\xee\x8f\xb8\xd7\x05\x0f\x9e\xc2\xab8\x81\x17\x1bXu\xef\xc0\xc0g\x12\x10\x0bQ\x1alx\x0c\x1a#\x8c\xc1\\j\x9b|]\x04\x17\xdd\xa6i\xb0F\x03\xd9\xe0\xa1\xdc\xdbS\xdb\xc8u\x13\x19\x96\xdb3\xab\xb9\xc3i'\xee=X\xea,\xde\xc2\x04\x96\xfe\xc0.v\x20\x07r\x9d\xbf[\x8c\x1f\x1b\xc8\xcc\x07K\x0b\xaa\xd8N\x99\xf4|\x11-7>\x96K[!\xff\x13r<x}\xfez\xf9x\xb0\xbf\xedQ\xf2\xe2\x07'\xf0\xc3\xd3x\xee\xd9-w.\xbd\xf7\xac|9\x85\xc0>\x04@\xd4Dip\xfc\x99X\x0c\x9a\xb1i\x1527]\xe7\"5\x01\x0c'a\x06O,\x06-!\x06\xbft'\x9c,\x9bz$\xc6\xe0\x09\xc7\xa0\x19o\xf0\xc1sc[\xe0b\x86)HB\x0c\x9ex\x0c\x9a\xe1\x06\x8f\x09\x15\x0d\xc5Ag\xde\x80\xa9@B\x0c\x9ex\x0c\x9a\xe1\x06K\x07\x17o\xf9$R\x1b\x20\x01$\xc6`\x00\x88\x17`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807\x86\x1b|\xaa\xea\x8f\x91\x9aL\"\xd7\xef=\x15\xa9IT\xd0w\x11\xaf\xce\x80\x8901\x83\x1b\x04v\x87\x81\x06\x9f9\x85\xb5\x1a\xb3\x0f\x0b\x075\xef,\xd3%\xe2*N9\xe5\xabq\x9dQ\xf84vX8\x1c23\xf6\x9c3\xf6.4;\x03\x0cf|\x06\x9f\x93\xef\xf8\xfa|\xc0\xa9w\xbd\xd6\xd8{{]\xa1s\x8fF\x1dy\x17\xf5*\x0e\x0b\xe4n\x88g\x07\x06\x16D\xa5\xd3\xeb\xce\xa3\xc1\xb3b\xce9\x0b\xbc\x0b\x8d\xce\x00\x83\x19\x9f\xc1U\x81\xfb\xb9\\\xfaW\x1c\x1e\x0c5\xf83\xe7\xe3\xfe\xc9\xeb[\xc2_\xe9\x15\xf5*\x9eu\x92Q\xf4=I\xca\x0f\x8a\x1d\xd1\xe1iWP\xc0\x8e\x14kJ\x14\xf7.\xb4:\x03\x0ce|\x06\xaf\x8fV\xaf\x20\xf6\x16\x07J\x88\x8f\x85\x8fC^\xe6\x89z\x15c\x9f\xc9\x06\x7f\x16]yr\xb38\xb4`\x88\xcd`\xee]hu\x06\x18J8\x83\xff\xb4\xc2\xf9O\xa5\xc5\xe7\x1a\x96n!)2\x81|\xafSr\xddI2l$\xd7c\x81\x081.!\xec\xf3]\xc5K\xef\x0f\xad\"\xc6\x0a\xe4\xc1\xeb\xe8\xaa\xd7>\x11>y}\xd5\xd18\xad\x82\x1a,\x05\x85\x9b\x1d\xdd[\xbct;\xbd\"2\xd0/\xe5\xe9\xfc\x10\xd5c\xc99S\xde\x05A\xa33\xc0P\xc2\x8e\xc1\xe7\x0a\x84\xc7\xb6\x08w\x1e^A\xbe\x9f\x03\xf9^7\x07\xe8=\xb5\x03T\x0e\x97\xb0\xf6\xc4\xa9\x154\xe6@I\x08\xfb\xa4`\xed\xf3\xa7\xb6\x0a!\x06\x93\xdb\xcf)\x9f\xef\x12\xd6\xe1\xff\xee\xff\"N\xab\x90\x0d\x0e\x0a7+=x\xb04\xffc\xbe_\xca\x80\xf0\xff\xa4\x20b\xc99S\xde\x05A\xa33\xc0P\xc2W\x11\xc5\xbb\xa4\xd7\x85S4-L\x9d\xef\xa5|\xc5\x17\xfd\x1b6\x84D\x88q\x09a\xf7\xae\"{\xea\xebC\x0c~]\xf8\x83\x7f\xf2\xacSp\xd2\xf0\x85\xb8\xacB6X\x1dnv7\x1e\xd6\xaf\x97V\x05\xf5\x8b?>B\xc8A\x8b\x18r\xceT\xefB\xb33\xc0P\"\x18|BzO\xb8)=\xfe`p\xbe\x97\xa2\x17yN+^%!\xec:\x8bOx:\xc4\xe0S\x82\x1c\x86p\xfd1g\xb1P\xecz\xec\xdf\xe2\xb4\x8a\x80\xc1|\xb8\x19\xfd\xae?*\\W\xf7K\xa4\x0b9<\x17C\xce\x19\xf7.\x08\x1a\x9d\x01\x86\x12\xc1\xe0\xb3\xd2\x87xW\x9f\xe8\xa5\xce\xf7R\xeffQ\xbd\x94\x84\xb0\x0f\xd9\xd7l\xe8\x9e\xdc{~\xd1\x0e\xaf8\xfa{\xe1\xf7GW\x1c\x8e\xd3*\x02\x06\x07\x87\x9b\xe1o\xf9\x0f\xd5\xfdJ\xfeeyb\xc89\xe3\xde\x05A\xa33\xc0P\"\x1b\xecbz\xa9\xf3\xbd\x88^\xcf\x93C\xa8\x8a^JB\xd8\xbf\x09\xf4(\xe9\xc3\xa1{r\x81\xc3\x0ac\xf4X\x04\x09\x85\x8c\xcb*\x14\x83\xb9p3\x9a\x04\xf5<\x1e\xdfU\xfd\xe2\xae\x9c7\xa5\x20b\xc89\xe3\xdf\x85\xa4\xd9\x19`(Q\x1b\xac\xca\xf7\"\xbf\xf1?\xd2\x19\x8a^\\BXU)\x96\xe5\x0f\xae\x10\x83\xa5\xfbW\x05\x86\xb5/\x96~\x11\xbfU(\x06s\xe1f+\xb0[7\xef\xde\x12\xd4\xaf4\xb664\x15'\x86\x9c3I\xf5.\xb4:\x03\x0c%\xac\xc1\xbf_\xfa\xec\xd8\x09\xe7\xc7c\xbb\xb6|\xce\xe5{I\xc4\xa7gOmY\xfc\x85:BLI\x08\xfb8\xbf\xf4\xe0\xd3K\x05\xe7\x89\xdf\x07u\xf8I\xc8i\xd8\xb8\xac\xe2\x83\xa3\xf2a\x02)\x10nF\x0eaT\xbc\xf4\xfc\xaa\xa5d\xaf\x8b\xef\x17\x17\x07\xca\xd0\xca\x88-\xe7L\xf5.B;\x03\x0c&\x9c\xc1c+\x04\xe1D\x81\xb0\xf8%VB\xfa\xf3\xbd\xc8+\x0dK\xf3\xef\xfd0(B\x8cK\x08\xfbd\xfb\xd2\xbb\x1f;\xe1\xa4\xc1b*\x9ev\xa9\xcb\xc6\xb8\xacb\x8c\xbc\x9a/\x7f\x9b\xff\xc1\x7f\x85\x83\xeb\xb1\xbd\x05\xc5\xbb\xfe\x95Ns\xfd\x0e\xe4?&\x05\x11c\xce\x19\xf7.4:\x03\x0cf|\xe7\xe4\xc6\xcdX\x83s\x92\xf7\xdd\x03\xe1f\xda\xa7\xf2^r\xee\x9dxt\x94\xff]\xc4\xa53`b\x18l\xb04\xf6l\xe9\xf5Hm&D\x20\xdcL\xd3\xe0\xeb\xc5\x87\x95\x03\x0c\xe3\x87\xbd\x8b8u\x06L\x08\xa3\x0d\x9e\\\xf8p\xb30\x97S\x00\xd3\x88ie0\x17n\xf69\xdd\x01\x8c\xd0\x1e\x98\x06L+\x83\xb9p3\xba\x03\x08q\xe83\x80\xe9e00\xf3\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb91\xdc\xe0\xe9\x91\x9b\x16\x0b\x113\xd6\xe2\xf4#I\xc4{\x9b\x02L\xcc\xe0\x88\xa1f!L\xc5\xdc\xb4s\x0b\x84{\xc7HF\xc5\x82\xb3\x1a\x8b0>\xde\xba\xb8x\xd7\xb9b\x95j{\xe5K\x8a\xd5\x93\xc1D\xccX\x8b\xfeGr\xb6(\xdc[\x9c\xa11n\xe338\xeaP\xb3`\xa6dn\xda\xd8Y!\x7f@\xbayJ8\xabk\xd2\xd9\xc5U\xcf\x9fX/\x08*I?'+~/x2\x88\x88\x19k\xd1\xffH\xa4\xd7\x16k\x18\xec\xffAI34\xc6m|\x06G\x1dj\x16\xc4\x14\xcdM\xbb)\xec\xda\x8b7N\xd0\xbdi\xf3z\x01\xb9Q\xf9\xe6*!x\x98Un\xd0\xe3'9\"f\xacq\x0d\"\xa3\xf5\x09S~P33\xc6m|\x06G\x1dj\x16\xc4\x14\xcdM\xbb)\x9c]<\x16\xce\xe0\xc7\xf3\xe9\xddJ\xcf\xc6np\xc4\x8c5\xae\xc1\xf8X\xcf\x19<\x13c\xdc\x207M\"\x06\x7f\xb6\xfe\x145\xb8\x81$\x05\xd3\xfaZ\xb5e\xab\x1e\xa6\xed\xae?;&\xdd|\xb0\xd8Y\xba\xdd\xff\xcd\xade\xf0\xc0\xd6R\xe7\x8a\xed\xa5t%\x113\xd6\xfc\x0d\xf0\xf6>\x1fx\x9b\x01\x94\xcd\xc1+\xcf\x17\xe4\x18c\xae\xad\xea\x07%\xcd\xc8\x187\xc8M\x93\xa8\xc1G\xb7S\x83i\xd5\xcd\xeakn\xcb\xc6\x04\xa5@yM\xd8{\xee\xa5\xed\xfe[\x945\x0c\xfe`\xc1\xc3\xa7\xce>\xbfB\xa07;E\xccX\xf37\x20\xdb[t\xf0p\xc1\xfd\xaaW\xb9\xcd\xc1+\x18\x18`_G\\[\xd5\x0fJ\x9a\x911n\x90\x9b&Q\x83\xaf\xbb\xae\xb3*BI\xa7P\xb6\xec3n\x89\xb1\x97n\x92\x15\x07\xf2\x7fB\x0c>ZD\xdc=\xca\x82\x83\"f\xac)\x0d\\K\xf1\x98\xba\xab(\xe8ues\x08\xf9\x07C\xdb\xf2U\xc4L\x8cq\x83\xdc4\x89\x1a,m\x7f6\xc4\xe0\xc0\x96\x8d9\xb9\x9d\xc4\xebG\xb7\xde]\x20\xacgO4\x0c\xfe\xa2\xf8\xee\x86\xe7\x7f7\xc6\x06\xfc\x88\x19kJ\x03\xd7\xc3\x92\xc6\xbe\x83\x8e\xc1\\\xdb\x20\x83CW1\xcd\x89\x9c\xd9\xe3\x9ch\xa8\x99\xc2T\xcdM#\x06\x9f\xfaN\x88\xc1\xca\x96\xc9u\xf0\x18\xfeh|XT\xfa\xf8\xa9\x81-\xeb\xfd}\x85\xd6\xc1\xd7\x8f>\xb8VX\xc1nc\x8e\x98\xb1\xa64P\xbb\xeaG\xc7`n\xae\xca\xe0\x19\x18\xe3\x16\xd9`\xd7DC\xcd\x14\xa6jn\x1a1xl\xf1Y\xc5\xe0\xa7\xfd\x06\xcb[\xf6x>]\xf6%\xe1\x8f\xd2\xda*\xb2\x0d\xf7\xafgKj\x18\xfc\xe1\xe3\xb8\xc1\xf5\x13\xf9t\x03#f\xac)\x0d\xc2\x18\x1c\xf86\xd35\xf8y\xf9\xcf\x80\xcc\xc0\x18\xb7\xa8\x0d\x1e\x7f\xa8\x19\xc7\x14\xcdM#\x06K\x0f\xef\xa2\x06\xe7\xe3\xe2c\xac*\xc8`v<xl\xcb\xdd\x92TJF\xf2\xb1\xef\xacgKj\x18|\x90\x16\xeb\xd2\x96\xef\xd3g\x113\xd6\x02\x0d\xb4\x0dV6\x87>\xd30X\xf9A\xe9\xadbz\x03\xb9i\xf4\x9c\xdc\xa9\x9b\xd2\xb9|j\xf0\xbdE\x87\x0fV\x91~U[v6\xff\xde\x13\xa7\xb6:\x07\x88\xa0\x0f\x1e=\xb8\x1eW\x09\xefI_\xc8'\x03\xf1G\x91\x9b<(,>\xf8\x1a^\x1b\x8b\x0e\x8a\x98\xb1&7P\xbdM\x8e\xc0\xe6Hc\xef\x0d\x0c\xb8\xf6\x0e\x0c\xdc\x0cj\xeb\xffA\x11fb\x8c\x1b\xe4\xa6\xd1\xeb\"\xf0\x186VE\xcf-|\xb2%\xbf`\xeb?\x09\xc2^\xf5\x96}\xbc5\x7f\xc5\xfd$\x11{\xec\xd9U\xae\xa2\x07\x9f_\xe5\xdc\"=,\xd7\xd7x\x90\xe6&O\xdc{\xb0\xd4Y\xbcE\xce\xbe\x8a\x9c\xb1\xc6\x1a\xa8\xde&\x87\x7fs\x1a\xa4\x0f\xe4U\x1c\x0dj\xeb\xffAI34\xc6m|\xe7\xe4\xc6\xcd\xf4\xc8M\x8b\x85\x88\x19k\xf1\xfb\x91\x18\xfe\xde\xa6\x04\x06\x1b<Mr\xd3b!b\xc6Z\xbc~$\x09xoS\x01\xa3\x0d\x9e\\\x207m\xe61\xad\x0c\x86\xdc\xb4\x19\xc8\xb42\x18r\xd3f\x20\xd3\xcb``\xe6\x01\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01sc\xb8\xc1q\x0a\x09\x1b'\x93\x9b-\x161!\x0d\x88?\x1338b\xa8Y\x08\xd1\x87\x84\xc9D\\\xc5\xc4s\xd3\xee\x15H\x10\xc3\x09\xfcx/?;L\x16\x1a\xe5\xa8\x10\x94\x17\x151!\x0d\x98\x04\xc6gp\xd4\xa1f\xc1D\x1f\x12\x16\xf5*&\x9e\x9b\xf6I\x83p\xee\xa6ts@h\xd0\x8bE\xd3\xe4\xfa@\x95j\xcb\"&\xa4\x01\x93\xc1\xf8\x0c\x8e:\xd4,\x88)\x9a\x9bvT\x20\xdf\x0b\x7f\x12B\xc4\xd3N\x92\x0a\xb0\x9d\xdf\xb2\x88\x09i\xc0\xa40>\x83\xa3\x0e5\x0bb\x8a\xe6\xa6\xc5\xc5\xe0\x88\x09i\xc0\xa4\x00\xb9i\x12opP|Y\xc0`n\xc5\xd2g\xf7\xafp\x16m'-\xb0\xc1\xe4*N\x17\xf96\x89\x98\x90\x06L\x0e\x90\x9b&\xf1\x06\x07\xc5\x97\x05\x0cVV,\x9d[\\q\xf8\xecA\x9a\xa4\x86\x0d\xc6\xef\x84\xdd&\x1d1!\x0d\x98\x1c\x207MRW\x11\xaa\xf82\x7f\xbf\xdc\x8a\xc7J\xb7\x925\xbfD\xc6]l\xf0\xb3\xae\xd7X\xd3\x88\x09i\xc0\xe4\x00\xb9iR\x90\xc1\x0fK\xa1iV\xca\x8a\xb1\xc6\xbf\x0b,\xb7\xfd\xe0\xd3\x01U#&\xa4\x01\x93C\xe4\xcc\x1e\xe7DC\xcd\x14\xa6jn\x1a\xd1\x9c$\xf7\x1c\x95\xf8\xb5IJ\xbf\xca\x8a\xa5g\x05\xa5\xc4\xdd^T\xb0\xf6~\xf9i\xc4\x844`r\x88l\xb0k\xa2\xa1f\x0aS57m\x80F\xdd\xb0JV\xd3`e\xc5x\x0c\xfe0\xb0\xdc\xf6\xa2\x8f?+\x90\x8f\xe1ELH\x03&\x87\xa8\x0d\x1e\x7f\xa8\x19\xc7T\xcdM[J\xa4\xdf\xbb\x94h\xa7i0\xb7\xe2\x9b\xc5[\xc8{h\x20\x9f\x0fr4\xed\xacS6:bB\x1a0)@n\x1a\xe1\x84\xd0p\xf6\xfb\xe4u~m\\\x16\x1a\xb7b\xe9\x9ck\xdd\xd1\xb3\x0d\xb8\x0e\xbf>P\x85\xdb\xde\xdc^|\x8e^\xe9\x111!\x0d\x98\x14\x207\x8d5\xa8Z\\E^\xe7\xd7\xc6e\xa1\xf1+\x96\xfe\xf0`iA\xd5)z]\x84\x20|p\x02?<M\xe7GLH\x03&\x83\xf1\x9d\x93\x1b7\xf1\x0b\x09\xd3#q\xb9i\x11\x13\xd2\x80\xc9\xc0`\x83\xe3\x16\x12\xa6K\x02s\xd3\"&\xa4\x01\x93\x80\xd1\x06O.\x90\x9b6\xf3\x98V\x06Cn\xda\x0cdZ\x19\x0c\xb9i3\x90\xe9e00\xf3\x00\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\x0d\x18\x0c\x98\x1b0\x1807`0`n\xc0`\xc0\xdc\x80\xc1\x80\xb9\x01\x83\x01s\x03\x06\x03\xe6\x06\x0c\x06\xcc\xcd\xff\x07\xda\xa7C\xea]\xae?U\x00\x00\x00\x00IEND\xaeB`\x82",
-
-	"callgraph.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Internal\x20call\x20graph</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Internal\x20call\x20graph</span></p>\x0a\x09\x09<p>\x0a\x09\x09\x20\x20This\x20viewer\x20shows\x20the\x20portion\x20of\x20the\x20internal\x20call\x0a\x09\x09\x20\x20graph\x20of\x20this\x20package\x20that\x20is\x20reachable\x20from\x20this\x20function.\x0a\x09\x09\x20\x20See\x20the\x20<a\x20href='#pkg-callgraph'>package's\x20call\x0a\x09\x09\x20\x20graph</a>\x20for\x20more\x20information.\x0a\x09\x09</p>\x0a\x09\x09<ul\x20style=\"margin-left:\x200.5in\"\x20id=\"callgraph-{{.Index}}\"\x20class=\"treeview\"></ul>\x0a\x09</div>\x0a</div>\x0a",
-
-	"dirlist.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a<p>\x0a<table\x20class=\"layout\">\x0a<tr>\x0a\x09<th\x20align=\"left\">File</th>\x0a\x09<td\x20width=\"25\">&nbsp;</td>\x0a\x09<th\x20align=\"right\">Bytes</th>\x0a\x09<td\x20width=\"25\">&nbsp;</td>\x0a\x09<th\x20align=\"left\">Modified</th>\x0a</tr>\x0a<tr>\x0a\x09<td><a\x20href=\"..\">..</a></td>\x0a</tr>\x0a{{range\x20.}}\x0a<tr>\x0a\x09{{$name_html\x20:=\x20fileInfoName\x20.\x20|\x20html}}\x0a\x09<td\x20align=\"left\"><a\x20href=\"{{$name_html}}\">{{$name_html}}</a></td>\x0a\x09<td></td>\x0a\x09<td\x20align=\"right\">{{html\x20.Size}}</td>\x0a\x09<td></td>\x0a\x09<td\x20align=\"left\">{{fileInfoTime\x20.\x20|\x20html}}</td>\x0a</tr>\x0a{{end}}\x0a\x0a</table>\x0a</p>\x0a",
-
-	"error.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a<p>\x0a<span\x20class=\"alert\"\x20style=\"font-size:120%\">{{html\x20.}}</span>\x0a</p>\x0a",
-
-	"example.html": "<div\x20id=\"example_{{.Name}}\"\x20class=\"toggle\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Example{{example_suffix\x20.Name}}</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Example{{example_suffix\x20.Name}}</span></p>\x0a\x09\x09{{with\x20.Doc}}<p>{{html\x20.}}</p>{{end}}\x0a\x09\x09{{$output\x20:=\x20.Output}}\x0a\x09\x09{{with\x20.Play}}\x0a\x09\x09\x09<div\x20class=\"play\">\x0a\x09\x09\x09\x09<div\x20class=\"input\"><textarea\x20class=\"code\"\x20spellcheck=\"false\">{{html\x20.}}</textarea></div>\x0a\x09\x09\x09\x09<div\x20class=\"output\"><pre>{{html\x20$output}}</pre></div>\x0a\x09\x09\x09\x09<div\x20class=\"buttons\">\x0a\x09\x09\x09\x09\x09<a\x20class=\"run\"\x20title=\"Run\x20this\x20code\x20[shift-enter]\">Run</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"fmt\"\x20title=\"Format\x20this\x20code\">Format</a>\x0a\x09\x09\x09\x09\x09{{if\x20not\x20$.GoogleCN}}\x0a\x09\x09\x09\x09\x09<a\x20class=\"share\"\x20title=\"Share\x20this\x20code\">Share</a>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09</div>\x0a\x09\x09\x09</div>\x0a\x09\x09{{else}}\x0a\x09\x09\x09<p>Code:</p>\x0a\x09\x09\x09<pre\x20class=\"code\">{{.Code}}</pre>\x0a\x09\x09\x09{{with\x20.Output}}\x0a\x09\x09\x09<p>Output:</p>\x0a\x09\x09\x09<pre\x20class=\"output\">{{html\x20.}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09</div>\x0a</div>\x0a",
-
-	"godoc.html": "<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a<meta\x20http-equiv=\"Content-Type\"\x20content=\"text/html;\x20charset=utf-8\">\x0a<meta\x20name=\"viewport\"\x20content=\"width=device-width,\x20initial-scale=1\">\x0a<meta\x20name=\"theme-color\"\x20content=\"#375EAB\">\x0a{{with\x20.Tabtitle}}\x0a\x20\x20<title>{{html\x20.}}\x20-\x20Go\x20Documentation\x20Server</title>\x0a{{else}}\x0a\x20\x20<title>Go\x20Documentation\x20Server</title>\x0a{{end}}\x0a<link\x20type=\"text/css\"\x20rel=\"stylesheet\"\x20href=\"/lib/godoc/style.css\">\x0a{{if\x20.TreeView}}\x0a<link\x20rel=\"stylesheet\"\x20href=\"/lib/godoc/jquery.treeview.css\">\x0a{{end}}\x0a<script>window.initFuncs\x20=\x20[];</script>\x0a<script\x20src=\"/lib/godoc/jquery.js\"\x20defer></script>\x0a{{if\x20.TreeView}}\x0a<script\x20src=\"/lib/godoc/jquery.treeview.js\"\x20defer></script>\x0a<script\x20src=\"/lib/godoc/jquery.treeview.edit.js\"\x20defer></script>\x0a{{end}}\x0a\x0a{{if\x20.Playground}}\x0a<script\x20src=\"/lib/godoc/playground.js\"\x20defer></script>\x0a{{end}}\x0a{{with\x20.Version}}<script>var\x20goVersion\x20=\x20{{printf\x20\"%q\"\x20.}};</script>{{end}}\x0a<script\x20src=\"/lib/godoc/godocs.js\"\x20defer></script>\x0a</head>\x0a<body>\x0a\x0a<div\x20id='lowframe'\x20style=\"position:\x20fixed;\x20bottom:\x200;\x20left:\x200;\x20height:\x200;\x20width:\x20100%;\x20border-top:\x20thin\x20solid\x20grey;\x20background-color:\x20white;\x20overflow:\x20auto;\">\x0a...\x0a</div><!--\x20#lowframe\x20-->\x0a\x0a<div\x20id=\"topbar\"{{if\x20.Title}}\x20class=\"wide\"{{end}}><div\x20class=\"container\">\x0a<div\x20class=\"top-heading\"\x20id=\"heading-wide\"><a\x20href=\"/pkg/\">Go\x20Documentation\x20Server</a></div>\x0a<div\x20class=\"top-heading\"\x20id=\"heading-narrow\"><a\x20href=\"/pkg/\">GoDoc</a></div>\x0a<a\x20href=\"#\"\x20id=\"menu-button\"><span\x20id=\"menu-button-arrow\">&#9661;</span></a>\x0a<form\x20method=\"GET\"\x20action=\"/search\">\x0a<div\x20id=\"menu\">\x0a{{if\x20(and\x20.Playground\x20.Title)}}\x0a<a\x20id=\"playgroundButton\"\x20href=\"http://play.golang.org/\"\x20title=\"Show\x20Go\x20Playground\">Play</a>\x0a{{end}}\x0a<span\x20class=\"search-box\"><input\x20type=\"search\"\x20id=\"search\"\x20name=\"q\"\x20placeholder=\"Search\"\x20aria-label=\"Search\"\x20required><button\x20type=\"submit\"><span><!--\x20magnifying\x20glass:\x20--><svg\x20width=\"24\"\x20height=\"24\"\x20viewBox=\"0\x200\x2024\x2024\"><title>submit\x20search</title><path\x20d=\"M15.5\x2014h-.79l-.28-.27C15.41\x2012.59\x2016\x2011.11\x2016\x209.5\x2016\x205.91\x2013.09\x203\x209.5\x203S3\x205.91\x203\x209.5\x205.91\x2016\x209.5\x2016c1.61\x200\x203.09-.59\x204.23-1.57l.27.28v.79l5\x204.99L20.49\x2019l-4.99-5zm-6\x200C7.01\x2014\x205\x2011.99\x205\x209.5S7.01\x205\x209.5\x205\x2014\x207.01\x2014\x209.5\x2011.99\x2014\x209.5\x2014z\"/><path\x20d=\"M0\x200h24v24H0z\"\x20fill=\"none\"/></svg></span></button></span>\x0a</div>\x0a</form>\x0a\x0a</div></div>\x0a\x0a{{if\x20.Playground}}\x0a<div\x20id=\"playground\"\x20class=\"play\">\x0a\x09<div\x20class=\"input\"><textarea\x20class=\"code\"\x20spellcheck=\"false\">package\x20main\x0a\x0aimport\x20\"fmt\"\x0a\x0afunc\x20main()\x20{\x0a\x09fmt.Println(\"Hello,\x20\xe4\xb8\x96\xe7\x95\x8c\")\x0a}</textarea></div>\x0a\x09<div\x20class=\"output\"></div>\x0a\x09<div\x20class=\"buttons\">\x0a\x09\x09<a\x20class=\"run\"\x20title=\"Run\x20this\x20code\x20[shift-enter]\">Run</a>\x0a\x09\x09<a\x20class=\"fmt\"\x20title=\"Format\x20this\x20code\">Format</a>\x0a\x09\x09{{if\x20not\x20$.GoogleCN}}\x0a\x09\x09<a\x20class=\"share\"\x20title=\"Share\x20this\x20code\">Share</a>\x0a\x09\x09{{end}}\x0a\x09</div>\x0a</div>\x0a{{end}}\x0a\x0a<div\x20id=\"page\"{{if\x20.Title}}\x20class=\"wide\"{{end}}>\x0a<div\x20class=\"container\">\x0a\x0a{{if\x20or\x20.Title\x20.SrcPath}}\x0a\x20\x20<h1>\x0a\x20\x20\x20\x20{{html\x20.Title}}\x0a\x20\x20\x20\x20{{html\x20.SrcPath\x20|\x20srcBreadcrumb}}\x0a\x20\x20</h1>\x0a{{end}}\x0a\x0a{{with\x20.Subtitle}}\x0a\x20\x20<h2>{{html\x20.}}</h2>\x0a{{end}}\x0a\x0a{{with\x20.SrcPath}}\x0a\x20\x20<h2>\x0a\x20\x20\x20\x20Documentation:\x20{{html\x20.\x20|\x20srcToPkgLink}}\x0a\x20\x20</h2>\x0a{{end}}\x0a\x0a{{/*\x20The\x20Table\x20of\x20Contents\x20is\x20automatically\x20inserted\x20in\x20this\x20<div>.\x0a\x20\x20\x20\x20\x20Do\x20not\x20delete\x20this\x20<div>.\x20*/}}\x0a<div\x20id=\"nav\"></div>\x0a\x0a{{/*\x20Body\x20is\x20HTML-escaped\x20elsewhere\x20*/}}\x0a{{printf\x20\"%s\"\x20.Body}}\x0a\x0a<div\x20id=\"footer\">\x0aBuild\x20version\x20{{html\x20.Version}}.<br>\x0aExcept\x20as\x20<a\x20href=\"https://developers.google.com/site-policies#restrictions\">noted</a>,\x0athe\x20content\x20of\x20this\x20page\x20is\x20licensed\x20under\x20the\x0aCreative\x20Commons\x20Attribution\x203.0\x20License,\x0aand\x20code\x20is\x20licensed\x20under\x20a\x20<a\x20href=\"/LICENSE\">BSD\x20license</a>.<br>\x0a<a\x20href=\"/doc/tos.html\">Terms\x20of\x20Service</a>\x20|\x0a<a\x20href=\"http://www.google.com/intl/en/policies/privacy/\">Privacy\x20Policy</a>\x0a</div>\x0a\x0a</div><!--\x20.container\x20-->\x0a</div><!--\x20#page\x20-->\x0a</body>\x0a</html>\x0a",
-
-	"godocs.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0a/*\x20A\x20little\x20code\x20to\x20ease\x20navigation\x20of\x20these\x20documents.\x0a\x20*\x0a\x20*\x20On\x20window\x20load\x20we:\x0a\x20*\x20\x20+\x20Generate\x20a\x20table\x20of\x20contents\x20(generateTOC)\x0a\x20*\x20\x20+\x20Bind\x20foldable\x20sections\x20(bindToggles)\x0a\x20*\x20\x20+\x20Bind\x20links\x20to\x20foldable\x20sections\x20(bindToggleLinks)\x0a\x20*/\x0a\x0a(function()\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20//\x20Mobile-friendly\x20topbar\x20menu\x0a\x20\x20$(function()\x20{\x0a\x20\x20\x20\x20var\x20menu\x20=\x20$('#menu');\x0a\x20\x20\x20\x20var\x20menuButton\x20=\x20$('#menu-button');\x0a\x20\x20\x20\x20var\x20menuButtonArrow\x20=\x20$('#menu-button-arrow');\x0a\x20\x20\x20\x20menuButton.click(function(event)\x20{\x0a\x20\x20\x20\x20\x20\x20menu.toggleClass('menu-visible');\x0a\x20\x20\x20\x20\x20\x20menuButtonArrow.toggleClass('vertical-flip');\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20});\x0a\x20\x20});\x0a\x0a\x20\x20/*\x20Generates\x20a\x20table\x20of\x20contents:\x20looks\x20for\x20h2\x20and\x20h3\x20elements\x20and\x20generates\x0a\x20\x20\x20*\x20links.\x20\"Decorates\"\x20the\x20element\x20with\x20id==\"nav\"\x20with\x20this\x20table\x20of\x20contents.\x0a\x20\x20\x20*/\x0a\x20\x20function\x20generateTOC()\x20{\x0a\x20\x20\x20\x20if\x20($('#manual-nav').length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20For\x20search,\x20we\x20send\x20the\x20toc\x20precomputed\x20from\x20server-side.\x0a\x20\x20\x20\x20//\x20TODO:\x20Ideally,\x20this\x20should\x20always\x20be\x20precomputed\x20for\x20all\x20pages,\x20but\x20then\x0a\x20\x20\x20\x20//\x20we\x20need\x20to\x20do\x20HTML\x20parsing\x20on\x20the\x20server-side.\x0a\x20\x20\x20\x20if\x20(location.pathname\x20===\x20'/search')\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20nav\x20=\x20$('#nav');\x0a\x20\x20\x20\x20if\x20(nav.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20toc_items\x20=\x20[];\x0a\x20\x20\x20\x20$(nav)\x0a\x20\x20\x20\x20\x20\x20.nextAll('h2,\x20h3')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20node\x20=\x20this;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.id\x20==\x20'')\x20node.id\x20=\x20'tmp_'\x20+\x20toc_items.length;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20link\x20=\x20$('<a/>')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.attr('href',\x20'#'\x20+\x20node.id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.text($(node).text());\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20item;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20($(node).is('h2'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item\x20=\x20$('<dt/>');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20h3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item\x20=\x20$('<dd\x20class=\"indent\"/>');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20item.append(link);\x0a\x20\x20\x20\x20\x20\x20\x20\x20toc_items.push(item);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20if\x20(toc_items.length\x20<=\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20dl1\x20=\x20$('<dl/>');\x0a\x20\x20\x20\x20var\x20dl2\x20=\x20$('<dl/>');\x0a\x0a\x20\x20\x20\x20var\x20split_index\x20=\x20toc_items.length\x20/\x202\x20+\x201;\x0a\x20\x20\x20\x20if\x20(split_index\x20<\x208)\x20{\x0a\x20\x20\x20\x20\x20\x20split_index\x20=\x20toc_items.length;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20split_index;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20dl1.append(toc_items[i]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20for\x20(;\x20/*\x20keep\x20using\x20i\x20*/\x20i\x20<\x20toc_items.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20dl2.append(toc_items[i]);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20tocTable\x20=\x20$('<table\x20class=\"unruled\"/>').appendTo(nav);\x0a\x20\x20\x20\x20var\x20tocBody\x20=\x20$('<tbody/>').appendTo(tocTable);\x0a\x20\x20\x20\x20var\x20tocRow\x20=\x20$('<tr/>').appendTo(tocBody);\x0a\x0a\x20\x20\x20\x20//\x201st\x20column\x0a\x20\x20\x20\x20$('<td\x20class=\"first\"/>')\x0a\x20\x20\x20\x20\x20\x20.appendTo(tocRow)\x0a\x20\x20\x20\x20\x20\x20.append(dl1);\x0a\x20\x20\x20\x20//\x202nd\x20column\x0a\x20\x20\x20\x20$('<td/>')\x0a\x20\x20\x20\x20\x20\x20.appendTo(tocRow)\x0a\x20\x20\x20\x20\x20\x20.append(dl2);\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggle(el)\x20{\x0a\x20\x20\x20\x20$('.toggleButton',\x20el).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20($(this).closest('.toggle,\x20.toggleVisible')[0]\x20!=\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Only\x20trigger\x20the\x20closest\x20toggle\x20header.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20($(el).is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.addClass('toggleVisible')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.removeClass('toggle');\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.addClass('toggle')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.removeClass('toggleVisible');\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggles(selector)\x20{\x0a\x20\x20\x20\x20$(selector).each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20bindToggle(el);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20bindToggleLink(el,\x20prefix)\x20{\x0a\x20\x20\x20\x20$(el).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20href\x20=\x20$(el).attr('href');\x0a\x20\x20\x20\x20\x20\x20var\x20i\x20=\x20href.indexOf('#'\x20+\x20prefix);\x0a\x20\x20\x20\x20\x20\x20if\x20(i\x20<\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20'#'\x20+\x20prefix\x20+\x20href.slice(i\x20+\x201\x20+\x20prefix.length);\x0a\x20\x20\x20\x20\x20\x20if\x20($(id).is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20bindToggleLinks(selector,\x20prefix)\x20{\x0a\x20\x20\x20\x20$(selector).each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20bindToggleLink(el,\x20prefix);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupDropdownPlayground()\x20{\x0a\x20\x20\x20\x20if\x20(!$('#page').is('.wide'))\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x20//\x20don't\x20show\x20on\x20front\x20page\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20button\x20=\x20$('#playgroundButton');\x0a\x20\x20\x20\x20var\x20div\x20=\x20$('#playground');\x0a\x20\x20\x20\x20var\x20setup\x20=\x20false;\x0a\x20\x20\x20\x20button.toggle(\x0a\x20\x20\x20\x20\x20\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.addClass('active');\x0a\x20\x20\x20\x20\x20\x20\x20\x20div.show();\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(setup)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20setup\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20playground({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codeEl:\x20$('.code',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outputEl:\x20$('.output',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20runEl:\x20$('.run',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmtEl:\x20$('.fmt',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareEl:\x20$('.share',\x20div),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareRedirect:\x20'//play.golang.org/p/',\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.removeClass('active');\x0a\x20\x20\x20\x20\x20\x20\x20\x20div.hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20$('#menu').css('min-width',\x20'+=60');\x0a\x0a\x20\x20\x20\x20//\x20Hide\x20inline\x20playground\x20if\x20we\x20click\x20somewhere\x20on\x20the\x20page.\x0a\x20\x20\x20\x20//\x20This\x20is\x20needed\x20in\x20mobile\x20devices,\x20where\x20the\x20\"Play\"\x20button\x0a\x20\x20\x20\x20//\x20is\x20not\x20clickable\x20once\x20the\x20playground\x20opens\x20up.\x0a\x20\x20\x20\x20$('#page').click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(button.hasClass('active'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20button.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupInlinePlayground()\x20{\x0a\x20\x20\x20\x20'use\x20strict';\x0a\x20\x20\x20\x20//\x20Set\x20up\x20playground\x20when\x20each\x20element\x20is\x20toggled.\x0a\x20\x20\x20\x20$('div.play').each(function(i,\x20el)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Set\x20up\x20playground\x20for\x20this\x20example.\x0a\x20\x20\x20\x20\x20\x20var\x20setup\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20code\x20=\x20$('.code',\x20el);\x0a\x20\x20\x20\x20\x20\x20\x20\x20playground({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codeEl:\x20code,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outputEl:\x20$('.output',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20runEl:\x20$('.run',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmtEl:\x20$('.fmt',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareEl:\x20$('.share',\x20el),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareRedirect:\x20'//play.golang.org/p/',\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Make\x20the\x20code\x20textarea\x20resize\x20to\x20fit\x20content.\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20resize\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.height(0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20h\x20=\x20code[0].scrollHeight;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.height(h\x20+\x2020);\x20//\x20minimize\x20bouncing.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.closest('.input').height(h);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.on('keydown',\x20resize);\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.on('keyup',\x20resize);\x0a\x20\x20\x20\x20\x20\x20\x20\x20code.keyup();\x20//\x20resize\x20now.\x0a\x20\x20\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20If\x20example\x20already\x20visible,\x20set\x20up\x20playground\x20now.\x0a\x20\x20\x20\x20\x20\x20if\x20($(el).is(':visible'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setup();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Otherwise,\x20set\x20up\x20playground\x20when\x20example\x20is\x20expanded.\x0a\x20\x20\x20\x20\x20\x20var\x20built\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20$(el)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.closest('.toggle')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Only\x20set\x20up\x20once.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!built)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setup();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20built\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20fixFocus\x20tries\x20to\x20put\x20focus\x20to\x20div#page\x20so\x20that\x20keyboard\x20navigation\x20works.\x0a\x20\x20function\x20fixFocus()\x20{\x0a\x20\x20\x20\x20var\x20page\x20=\x20$('div#page');\x0a\x20\x20\x20\x20var\x20topbar\x20=\x20$('div#topbar');\x0a\x20\x20\x20\x20page.css('outline',\x200);\x20//\x20disable\x20outline\x20when\x20focused\x0a\x20\x20\x20\x20page.attr('tabindex',\x20-1);\x20//\x20and\x20set\x20tabindex\x20so\x20that\x20it\x20is\x20focusable\x0a\x20\x20\x20\x20$(window)\x0a\x20\x20\x20\x20\x20\x20.resize(function(evt)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20only\x20focus\x20page\x20when\x20the\x20topbar\x20is\x20at\x20fixed\x20position\x20(that\x20is,\x20it's\x20in\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20front\x20of\x20page,\x20and\x20keyboard\x20event\x20will\x20go\x20to\x20the\x20former\x20by\x20default.)\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20by\x20focusing\x20page,\x20keyboard\x20event\x20will\x20go\x20to\x20page\x20so\x20that\x20up/down\x20arrow,\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20space,\x20etc.\x20will\x20work\x20as\x20expected.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(topbar.css('position')\x20==\x20'fixed')\x20page.focus();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.resize();\x0a\x20\x20}\x0a\x0a\x20\x20function\x20toggleHash()\x20{\x0a\x20\x20\x20\x20var\x20id\x20=\x20window.location.hash.substring(1);\x0a\x20\x20\x20\x20//\x20Open\x20all\x20of\x20the\x20toggles\x20for\x20a\x20particular\x20hash.\x0a\x20\x20\x20\x20var\x20els\x20=\x20$(\x0a\x20\x20\x20\x20\x20\x20document.getElementById(id),\x0a\x20\x20\x20\x20\x20\x20$('a[name]').filter(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20$(this).attr('name')\x20==\x20id;\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20while\x20(els.length)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20els.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(els[i]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(el.is('.toggle'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20els\x20=\x20el.parent();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20personalizeInstallInstructions()\x20{\x0a\x20\x20\x20\x20var\x20prefix\x20=\x20'?download=';\x0a\x20\x20\x20\x20var\x20s\x20=\x20window.location.search;\x0a\x20\x20\x20\x20if\x20(s.indexOf(prefix)\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20No\x20'download'\x20query\x20string;\x20detect\x20\"test\"\x20instructions\x20from\x20User\x20Agent.\x0a\x20\x20\x20\x20\x20\x20if\x20(navigator.platform.indexOf('Win')\x20!=\x20-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testUnix').hide();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testWindows').show();\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testUnix').show();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('.testWindows').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20filename\x20=\x20s.substr(prefix.length);\x0a\x20\x20\x20\x20var\x20filenameRE\x20=\x20/^go1\\.\\d+(\\.\\d+)?([a-z0-9]+)?\\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\\.[68])?\\.([a-z.]+)$/;\x0a\x20\x20\x20\x20var\x20m\x20=\x20filenameRE.exec(filename);\x0a\x20\x20\x20\x20if\x20(!m)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Can't\x20interpret\x20file\x20name;\x20bail.\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$('.downloadFilename').text(filename);\x0a\x20\x20\x20\x20$('.hideFromDownload').hide();\x0a\x0a\x20\x20\x20\x20var\x20os\x20=\x20m[3];\x0a\x20\x20\x20\x20var\x20ext\x20=\x20m[6];\x0a\x20\x20\x20\x20if\x20(ext\x20!=\x20'tar.gz')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#tarballInstructions').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(os\x20!=\x20'darwin'\x20||\x20ext\x20!=\x20'pkg')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#darwinPackageInstructions').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(os\x20!=\x20'windows')\x20{\x0a\x20\x20\x20\x20\x20\x20$('#windowsInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20$('.testUnix').show();\x0a\x20\x20\x20\x20\x20\x20$('.testWindows').hide();\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(ext\x20!=\x20'msi')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('#windowsInstallerInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(ext\x20!=\x20'zip')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$('#windowsZipInstructions').hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$('.testUnix').hide();\x0a\x20\x20\x20\x20\x20\x20$('.testWindows').show();\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20download\x20=\x20'https://dl.google.com/go/'\x20+\x20filename;\x0a\x0a\x20\x20\x20\x20var\x20message\x20=\x20$(\x0a\x20\x20\x20\x20\x20\x20'<p\x20class=\"downloading\">'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'Your\x20download\x20should\x20begin\x20shortly.\x20'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'If\x20it\x20does\x20not,\x20click\x20<a>this\x20link</a>.</p>'\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20message.find('a').attr('href',\x20download);\x0a\x20\x20\x20\x20message.insertAfter('#nav');\x0a\x0a\x20\x20\x20\x20window.location\x20=\x20download;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20updateVersionTags()\x20{\x0a\x20\x20\x20\x20var\x20v\x20=\x20window.goVersion;\x0a\x20\x20\x20\x20if\x20(/^go[0-9.]+$/.test(v))\x20{\x0a\x20\x20\x20\x20\x20\x20$('.versionTag')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.empty()\x0a\x20\x20\x20\x20\x20\x20\x20\x20.text(v);\x0a\x20\x20\x20\x20\x20\x20$('.whereTag').hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20addPermalinks()\x20{\x0a\x20\x20\x20\x20function\x20addPermalink(source,\x20parent)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20source.attr('id');\x0a\x20\x20\x20\x20\x20\x20if\x20(id\x20==\x20''\x20||\x20id.indexOf('tmp_')\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Auto-generated\x20permalink.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(parent.find('>\x20.permalink').length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Already\x20attached.\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20parent\x0a\x20\x20\x20\x20\x20\x20\x20\x20.append('\x20')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.append($(\"<a\x20class='permalink'>&#xb6;</a>\").attr('href',\x20'#'\x20+\x20id));\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20$('#page\x20.container')\x0a\x20\x20\x20\x20\x20\x20.find('h2[id],\x20h3[id]')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(this);\x0a\x20\x20\x20\x20\x20\x20\x20\x20addPermalink(el,\x20el);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20$('#page\x20.container')\x0a\x20\x20\x20\x20\x20\x20.find('dl[id]')\x0a\x20\x20\x20\x20\x20\x20.each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(this);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Add\x20the\x20anchor\x20to\x20the\x20\"dt\"\x20element.\x0a\x20\x20\x20\x20\x20\x20\x20\x20addPermalink(el,\x20el.find('>\x20dt').first());\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20$('.js-expandAll').click(function()\x20{\x0a\x20\x20\x20\x20if\x20($(this).hasClass('collapsed'))\x20{\x0a\x20\x20\x20\x20\x20\x20toggleExamples('toggle');\x0a\x20\x20\x20\x20\x20\x20$(this).text('(Collapse\x20All)');\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20toggleExamples('toggleVisible');\x0a\x20\x20\x20\x20\x20\x20$(this).text('(Expand\x20All)');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$(this).toggleClass('collapsed');\x0a\x20\x20});\x0a\x0a\x20\x20function\x20toggleExamples(className)\x20{\x0a\x20\x20\x20\x20//\x20We\x20need\x20to\x20explicitly\x20iterate\x20through\x20divs\x20starting\x20with\x20\"example_\"\x0a\x20\x20\x20\x20//\x20to\x20avoid\x20toggling\x20Overview\x20and\x20Index\x20collapsibles.\x0a\x20\x20\x20\x20$(\"[id^='example_']\").each(function()\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Check\x20for\x20state\x20and\x20click\x20it\x20only\x20if\x20required.\x0a\x20\x20\x20\x20\x20\x20if\x20($(this).hasClass(className))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20$(this)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.find('.toggleButton')\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.first()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.click();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20$(document).ready(function()\x20{\x0a\x20\x20\x20\x20generateTOC();\x0a\x20\x20\x20\x20addPermalinks();\x0a\x20\x20\x20\x20bindToggles('.toggle');\x0a\x20\x20\x20\x20bindToggles('.toggleVisible');\x0a\x20\x20\x20\x20bindToggleLinks('.exampleLink',\x20'example_');\x0a\x20\x20\x20\x20bindToggleLinks('.overviewLink',\x20'');\x0a\x20\x20\x20\x20bindToggleLinks('.examplesLink',\x20'');\x0a\x20\x20\x20\x20bindToggleLinks('.indexLink',\x20'');\x0a\x20\x20\x20\x20setupDropdownPlayground();\x0a\x20\x20\x20\x20setupInlinePlayground();\x0a\x20\x20\x20\x20fixFocus();\x0a\x20\x20\x20\x20setupTypeInfo();\x0a\x20\x20\x20\x20setupCallgraphs();\x0a\x20\x20\x20\x20toggleHash();\x0a\x20\x20\x20\x20personalizeInstallInstructions();\x0a\x20\x20\x20\x20updateVersionTags();\x0a\x0a\x20\x20\x20\x20//\x20godoc.html\x20defines\x20window.initFuncs\x20in\x20the\x20<head>\x20tag,\x20and\x20root.html\x20and\x0a\x20\x20\x20\x20//\x20codewalk.js\x20push\x20their\x20on-page-ready\x20functions\x20to\x20the\x20list.\x0a\x20\x20\x20\x20//\x20We\x20execute\x20those\x20functions\x20here,\x20to\x20avoid\x20loading\x20jQuery\x20until\x20the\x20page\x0a\x20\x20\x20\x20//\x20content\x20is\x20loaded.\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20window.initFuncs.length;\x20i++)\x20window.initFuncs[i]();\x0a\x20\x20});\x0a\x0a\x20\x20//\x20--\x20analysis\x20---------------------------------------------------------\x0a\x0a\x20\x20//\x20escapeHTML\x20returns\x20HTML\x20for\x20s,\x20with\x20metacharacters\x20quoted.\x0a\x20\x20//\x20It\x20is\x20safe\x20for\x20use\x20in\x20both\x20elements\x20and\x20attributes\x0a\x20\x20//\x20(unlike\x20the\x20\"set\x20innerText,\x20read\x20innerHTML\"\x20trick).\x0a\x20\x20function\x20escapeHTML(s)\x20{\x0a\x20\x20\x20\x20return\x20s\x0a\x20\x20\x20\x20\x20\x20.replace(/&/g,\x20'&amp;')\x0a\x20\x20\x20\x20\x20\x20.replace(/\\\"/g,\x20'&quot;')\x0a\x20\x20\x20\x20\x20\x20.replace(/\\'/g,\x20'&#39;')\x0a\x20\x20\x20\x20\x20\x20.replace(/</g,\x20'&lt;')\x0a\x20\x20\x20\x20\x20\x20.replace(/>/g,\x20'&gt;');\x0a\x20\x20}\x0a\x0a\x20\x20//\x20makeAnchor\x20returns\x20HTML\x20for\x20an\x20<a>\x20element,\x20given\x20an\x20anchorJSON\x20object.\x0a\x20\x20function\x20makeAnchor(json)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20escapeHTML(json.Text);\x0a\x20\x20\x20\x20if\x20(json.Href\x20!=\x20'')\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20=\x20\"<a\x20href='\"\x20+\x20escapeHTML(json.Href)\x20+\x20\"'>\"\x20+\x20html\x20+\x20'</a>';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20showLowFrame(html)\x20{\x0a\x20\x20\x20\x20var\x20lowframe\x20=\x20document.getElementById('lowframe');\x0a\x20\x20\x20\x20lowframe.style.height\x20=\x20'200px';\x0a\x20\x20\x20\x20lowframe.innerHTML\x20=\x0a\x20\x20\x20\x20\x20\x20\"<p\x20style='text-align:\x20left;'>\"\x20+\x0a\x20\x20\x20\x20\x20\x20html\x20+\x0a\x20\x20\x20\x20\x20\x20'</p>\\n'\x20+\x0a\x20\x20\x20\x20\x20\x20\"<div\x20onclick='hideLowFrame()'\x20style='position:\x20absolute;\x20top:\x200;\x20right:\x200;\x20cursor:\x20pointer;'>\xe2\x9c\x98</div>\";\x0a\x20\x20}\x0a\x0a\x20\x20document.hideLowFrame\x20=\x20function()\x20{\x0a\x20\x20\x20\x20var\x20lowframe\x20=\x20document.getElementById('lowframe');\x0a\x20\x20\x20\x20lowframe.style.height\x20=\x20'0px';\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickCallers\x20is\x20the\x20onclick\x20action\x20for\x20the\x20'func'\x20tokens\x20of\x20a\x0a\x20\x20//\x20function\x20declaration.\x0a\x20\x20document.onClickCallers\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20if\x20(data.Callers.length\x20==\x201\x20&&\x20data.Callers[0].Sites.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20data.Callers[0].Sites[0].Href;\x20//\x20jump\x20to\x20sole\x20caller\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x0a\x20\x20\x20\x20\x20\x20'Callers\x20of\x20<code>'\x20+\x20escapeHTML(data.Callee)\x20+\x20'</code>:<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20data.Callers.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20caller\x20=\x20data.Callers[i];\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20escapeHTML(caller.Func)\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20var\x20sites\x20=\x20caller.Sites;\x0a\x20\x20\x20\x20\x20\x20if\x20(sites\x20!=\x20null\x20&&\x20sites.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'\x20at\x20line\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20sites.length;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(j\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20',\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(sites[j])\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickCallees\x20is\x20the\x20onclick\x20action\x20for\x20the\x20'('\x20token\x20of\x20a\x20function\x20call.\x0a\x20\x20document.onClickCallees\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20if\x20(data.Callees.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20data.Callees[0].Href;\x20//\x20jump\x20to\x20sole\x20callee\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x20'Callees\x20of\x20this\x20'\x20+\x20escapeHTML(data.Descr)\x20+\x20':<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20data.Callees.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(data.Callees[i])\x20+\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20onClickTypeInfo\x20is\x20the\x20onclick\x20action\x20for\x20identifiers\x20declaring\x20a\x20named\x20type.\x0a\x20\x20document.onClickTypeInfo\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[index];\x0a\x20\x20\x20\x20var\x20html\x20=\x0a\x20\x20\x20\x20\x20\x20'Type\x20<code>'\x20+\x0a\x20\x20\x20\x20\x20\x20data.Name\x20+\x0a\x20\x20\x20\x20\x20\x20'</code>:\x20'\x20+\x0a\x20\x20\x20\x20\x20\x20'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>(size='\x20+\x0a\x20\x20\x20\x20\x20\x20data.Size\x20+\x0a\x20\x20\x20\x20\x20\x20',\x20align='\x20+\x0a\x20\x20\x20\x20\x20\x20data.Align\x20+\x0a\x20\x20\x20\x20\x20\x20')</small><br/>\\n';\x0a\x20\x20\x20\x20html\x20+=\x20implementsHTML(data);\x0a\x20\x20\x20\x20html\x20+=\x20methodsetHTML(data);\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20//\x20implementsHTML\x20returns\x20HTML\x20for\x20the\x20implements\x20relation\x20of\x20the\x0a\x20\x20//\x20specified\x20TypeInfoJSON\x20value.\x0a\x20\x20function\x20implementsHTML(info)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20'';\x0a\x20\x20\x20\x20if\x20(info.ImplGroups\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20info.ImplGroups.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20group\x20=\x20info.ImplGroups[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20x\x20=\x20'<code>'\x20+\x20escapeHTML(group.Descr)\x20+\x20'</code>\x20';\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20group.Facts.length;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20fact\x20=\x20group.Facts[j];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20y\x20=\x20'<code>'\x20+\x20makeAnchor(fact.Other)\x20+\x20'</code>';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(fact.ByKind\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20escapeHTML(fact.ByKind)\x20+\x20'\x20type\x20'\x20+\x20y\x20+\x20'\x20implements\x20'\x20+\x20x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20x\x20+\x20'\x20implements\x20'\x20+\x20y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<br/>\\n';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20methodsetHTML\x20returns\x20HTML\x20for\x20the\x20methodset\x20of\x20the\x20specified\x0a\x20\x20//\x20TypeInfoJSON\x20value.\x0a\x20\x20function\x20methodsetHTML(info)\x20{\x0a\x20\x20\x20\x20var\x20html\x20=\x20'';\x0a\x20\x20\x20\x20if\x20(info.Methods\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20info.Methods.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20html\x20+=\x20'<code>'\x20+\x20makeAnchor(info.Methods[i])\x20+\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20onClickComm\x20is\x20the\x20onclick\x20action\x20for\x20channel\x20\"make\"\x20and\x20\"<-\"\x0a\x20\x20//\x20send/receive\x20tokens.\x0a\x20\x20document.onClickComm\x20=\x20function(index)\x20{\x0a\x20\x20\x20\x20var\x20ops\x20=\x20document.ANALYSIS_DATA[index].Ops;\x0a\x20\x20\x20\x20if\x20(ops.length\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20document.location\x20=\x20ops[0].Op.Href;\x20//\x20jump\x20to\x20sole\x20element\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20html\x20=\x20'Operations\x20on\x20this\x20channel:<br/>\\n';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20ops.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x0a\x20\x20\x20\x20\x20\x20\x20\x20makeAnchor(ops[i].Op)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'\x20by\x20<code>'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20escapeHTML(ops[i].Fn)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20'</code><br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(ops.length\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20html\x20+=\x20'(none)<br/>\\n';\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20showLowFrame(html);\x0a\x20\x20};\x0a\x0a\x20\x20$(window).load(function()\x20{\x0a\x20\x20\x20\x20//\x20Scroll\x20window\x20so\x20that\x20first\x20selection\x20is\x20visible.\x0a\x20\x20\x20\x20//\x20(This\x20means\x20we\x20don't\x20need\x20to\x20emit\x20id='L%d'\x20spans\x20for\x20each\x20line.)\x0a\x20\x20\x20\x20//\x20TODO(adonovan):\x20ideally,\x20scroll\x20it\x20so\x20that\x20it's\x20under\x20the\x20pointer,\x0a\x20\x20\x20\x20//\x20but\x20I\x20don't\x20know\x20how\x20to\x20get\x20the\x20pointer\x20y\x20coordinate.\x0a\x20\x20\x20\x20var\x20elts\x20=\x20document.getElementsByClassName('selection');\x0a\x20\x20\x20\x20if\x20(elts.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20elts[0].scrollIntoView();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20setupTypeInfo\x20populates\x20the\x20\"Implements\"\x20and\x20\"Method\x20set\"\x20toggle\x20for\x0a\x20\x20//\x20each\x20type\x20in\x20the\x20package\x20doc.\x0a\x20\x20function\x20setupTypeInfo()\x20{\x0a\x20\x20\x20\x20for\x20(var\x20i\x20in\x20document.ANALYSIS_DATA)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20data\x20=\x20document.ANALYSIS_DATA[i];\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById('implements-'\x20+\x20i);\x0a\x20\x20\x20\x20\x20\x20if\x20(el\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20el\x20!=\x20null\x20=>\x20data\x20is\x20TypeInfoJSON.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.ImplGroups\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20implementsHTML(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById('methodset-'\x20+\x20i);\x0a\x20\x20\x20\x20\x20\x20if\x20(el\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20el\x20!=\x20null\x20=>\x20data\x20is\x20TypeInfoJSON.\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Methods\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20methodsetHTML(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setupCallgraphs()\x20{\x0a\x20\x20\x20\x20if\x20(document.CALLGRAPH\x20==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20document.getElementById('pkg-callgraph').style.display\x20=\x20'block';\x0a\x0a\x20\x20\x20\x20var\x20treeviews\x20=\x20document.getElementsByClassName('treeview');\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20treeviews.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20tree\x20=\x20treeviews[i];\x0a\x20\x20\x20\x20\x20\x20if\x20(tree.id\x20==\x20null\x20||\x20tree.id.indexOf('callgraph-')\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20tree.id.substring('callgraph-'.length);\x0a\x20\x20\x20\x20\x20\x20$(tree).treeview({\x20collapsed:\x20true,\x20animated:\x20'fast'\x20});\x0a\x20\x20\x20\x20\x20\x20document.cgAddChildren(tree,\x20tree,\x20[id]);\x0a\x20\x20\x20\x20\x20\x20tree.parentNode.parentNode.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20document.cgAddChildren\x20=\x20function(tree,\x20ul,\x20indices)\x20{\x0a\x20\x20\x20\x20if\x20(indices\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20indices.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20li\x20=\x20cgAddChild(tree,\x20ul,\x20document.CALLGRAPH[indices[i]]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20==\x20indices.length\x20-\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$(li).addClass('last');\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20$(tree).treeview({\x20animated:\x20'fast',\x20add:\x20ul\x20});\x0a\x20\x20};\x0a\x0a\x20\x20//\x20cgAddChild\x20adds\x20an\x20<li>\x20element\x20for\x20document.CALLGRAPH\x20node\x20cgn\x20to\x0a\x20\x20//\x20the\x20parent\x20<ul>\x20element\x20ul.\x20tree\x20is\x20the\x20tree's\x20root\x20<ul>\x20element.\x0a\x20\x20function\x20cgAddChild(tree,\x20ul,\x20cgn)\x20{\x0a\x20\x20\x20\x20var\x20li\x20=\x20document.createElement('li');\x0a\x20\x20\x20\x20ul.appendChild(li);\x0a\x20\x20\x20\x20li.className\x20=\x20'closed';\x0a\x0a\x20\x20\x20\x20var\x20code\x20=\x20document.createElement('code');\x0a\x0a\x20\x20\x20\x20if\x20(cgn.Callees\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20$(li).addClass('expandable');\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Event\x20handlers\x20and\x20innerHTML\x20updates\x20don't\x20play\x20nicely\x20together,\x0a\x20\x20\x20\x20\x20\x20//\x20hence\x20all\x20this\x20explicit\x20DOM\x20manipulation.\x0a\x20\x20\x20\x20\x20\x20var\x20hitarea\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20\x20\x20hitarea.className\x20=\x20'hitarea\x20expandable-hitarea';\x0a\x20\x20\x20\x20\x20\x20li.appendChild(hitarea);\x0a\x0a\x20\x20\x20\x20\x20\x20li.appendChild(code);\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20childUL\x20=\x20document.createElement('ul');\x0a\x20\x20\x20\x20\x20\x20li.appendChild(childUL);\x0a\x20\x20\x20\x20\x20\x20childUL.setAttribute('style',\x20'display:\x20none;');\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20onClick\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.cgAddChildren(tree,\x20childUL,\x20cgn.Callees);\x0a\x20\x20\x20\x20\x20\x20\x20\x20hitarea.removeEventListener('click',\x20onClick);\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20hitarea.addEventListener('click',\x20onClick);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20li.appendChild(code);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20code.innerHTML\x20+=\x20'&nbsp;'\x20+\x20makeAnchor(cgn.Func);\x0a\x20\x20\x20\x20return\x20li;\x0a\x20\x20}\x0a})();\x0a",
-
-	"images/minus.gif": "GIF89a\x09\x00\x09\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00\x09\x00\x09\x00@\x02\x11\x8c\x8f\x89\x02\xddb\x84\x9c0\xd0\x19o\xd5[\xe7\x1b\x14\x00;",
-
-	"images/plus.gif": "GIF89a\x09\x00\x09\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00\x09\x00\x09\x00\x00\x02\x14\x8c\x8f\xa2+\xb6\xb0\x9c\x82\xca\x81{[xq\xcf\xcet\x08R\x00\x00;",
-
-	"images/treeview-black-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x00\x00\x00\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06\x00\x02\xff\x8c\x1f\x80\xcb\xca\x9f\xe0s\x12\xd1j.\xd6\x95K\x0f\x01\xe28N\x98u\x1e\xa0\x99F\xed\xda\xb4n\x0a/5\xfa\xca\xb7\xaa\xf7\xf9O\xf3\x05\x81\xa7]FXDn\x94\x1d\xe6\xc7\x19\x82\xb2\x86\xd4$qymf\x9f\xdbhwj\xadb\xc5Z2\xd7\xecE\x83\xc7\xe16\xfb]v\xc7\xe1gy\x9d\x9e\xb6\xe7\xf1\xeb\xb9\xff\xfe\xb7\x17\xd8\x07X(hHx\xa8\x98\xc8\x18\xf3\xe5\xa8\x06\xa9\xd7h#%\xc9w9\x98\x89\xb8\xb9\xd8I\x89\x13Y\xf98*\x1a:\xf9\x99Z\x8a\xba\x8a\xd9\xaa\xf9\xca\x19\xeb9\x0b\xcaCz\xea\x9a\x0b\xbb+\xdbK\xfbk{\x84{kZ\xcc\x1a\xac\x9a\\\xab|\xac\xeb\xcc\x0b\xed+\x0dL-<\x83,\xa3\xbd\xcd\xdd\xed\xfd\x0d\x1e^=lL\x9em\xfe\x8c\x1e\xad>\xcd>\x8e\x9d\x0e\xbf.\xdfN\xffnd\x7f\x8d\xbfo\xc9\xec\xbf\x0c\xd0Z3w\xfa\xfa\x05$80_B~\xc4\x10\xfe\x13\xf8\xd0\xe1A\x85\x11)NdX\xce\"\xc4\x8b\xff\x067z\x94\xf8Q#\xc8\x91\"Kb<g\xb2#\xc9\x93\xf1X\xcesY\x0f\xe6=\x95)\x1b\xd6\xcc(\xb3\xa0\xcd\x9c\x0bi\xf2\xac\xf8\x93\xe3N\x9fD\x87\x1a\xc5Y\x14\xe9Q\x94AC6]\x99\x94i\xd4\x96S_V\x8dyu\xe6R\xaa[\xadv\xc5\xfaU\xab\xd2\xb1R\xc3\xea$\xcb\x15\xadW\xb5`\xd9\x8a-\xeb\xf6,\xdc\xb9i\xe9\xae\xb5\xdb\x16\xef\xdb\xba|\xef\xf6\xcd\xfbw\xaf\xdf\xc1\x80\x09\x0b.\x8c\xf8\xb0b\xb9\x81\x19\x1bv\x9c\x18\xf2\xe2\x9ef)\xc7\xb5\xacW\xb2f\xcc\x8d9?\xf6\x1c\x19\xf4d\xa0Y7\x93\xae|\xfar\xea\xcc\xa2M\x0bU\xfd\x9a\xf5\xea\xce\xb3?\xd7\x0e}{tl\xda\xbbm\xf7\xc6\xfd[\xb7\xd3\xd2\xad\x8b\xe7v=\x1cup\xe4P\x95'\x87\xfd\\\xf6r\xe3\xd3\x8fS\x8f\xce\x1b\xbbo\xed\xc0\xb9\x0bo\x0e\x1d\xbct\xef\xcco\x8e\x17\x9f\x1d\xfdv\xf5\xdd\xd9\x7f7\x9f\x1e\xfez\xf9\xed\xe9\xbf\x7fj\xbf<\xfe\xfd\xc4\xad\xfb\xff\xaf\x0e\x20y\xd7\xb9\xa7_\x7f\x01\x128`~\x09\xf2\xe7\x1c\x82\xff\x09\xf8\xa0\x83\x07*\x18!\x85\x132\x18\x9e\x85\x10^h\xe0\x86\x1eJ\xf8\xa1\x86\x20\x8e(b\x89\x18\x9egb\x87$\x9e\x18\x1f\x8b\xf3\xb9X\x1f\x8c\xf7\xa9\x98b\x835f(c\x816\xe6\xb8\x20\x8d<V\xf8#\x87;\xfaH\xe4\x90F\xe2X$\x92G\xa2\x18d\x88M\xae\x98$\x93Q\xb68\xe5\x8bU\xc6x\xe5\x8cKR\xb9\xa5\x95]b\xf9\xa5\x96J\x8e)e\x98:\x92\xc9%\x9a^\xaa\x09&\x9bb\x96\xe9\xe6\x99p\xce\x99&\x9dk\xda\xd9&\x9eo\xd6\xc9\xe7\x9d}\xe6\xf9\xe7\x9e~\x0e\x0a(\xa1\x82\x16\x8a\xe8\xa1\x8a\xca\x19(\xa3\x86:\x9a(\xa4\x8b\xf6h&\xa5qZ\xaa\xa7\xa4\x9ab\xda(\xa7\x8fz\x1a)\xa8\x93\x02\x99\xe5\xa6\xa4Vz\xea\xa5\xa9f*\xaa\xa9B\xaa\xfa*\xab\xabv:\xeb\xa7\xb5\x86z\xeb\xa8\xb1\xd2\xba\xab\xad\xbd\xe2\xfa\xab\xaeN\x96\xdaj\xb1\xb9\xba:,\xaa\xc1\xc9\"\x0b\xa5\xb2\xc9\xc2\xfa\xac\xac\xcb\x1a;\xed\xb1\xd4F\xcb+\xb6\xbej\x0b,\xb7\xc26\x0b-\xb8\xd2z\xcb\xec\x8d\xe3\x8a\x9b-\xba\xdb\xaa\xdb-\xbb\xdf\x9a\x9b.\xbc\xeb\xca\xdb.\xbd\xef>io\xb9\xf8\xeeK\xac\xb5\xfeV\x0b0\xb9\xd7\xba\xabo\xbf\x01\x13<p\xbe\x09\xf3\xeb,\xc2\xff\x0a\xfc\xb0\xc3\x07+\x1c1\xc5\x133\x1c\xae\xc5\x10_l\xf0\xc6\x1eK\xfc\xb1\xc6\x20\x8f,r\xc9\x18\x9fkr\xc7$\x9f\x1c/\xcb\xf3\xba\\/\xcc\xf7\xaa\x9cr\xc35g,s\xc16\xe7\xbc0\xcd<W\xfc3\xc7;\xfbL\xf4\xd0F\xe3\\4\xd2G\xa3\x1ct\xc8M\xaf\x9c4\xd3Q\xb7<\xf5\xcbU\xc7|\xf5\xccKS\xbd\xb5\xd5]c\xfd\xb5\xd6J\x8f-u\xd8:\xe3L\x02\x09\x05\x00\x00;",
-
-	"images/treeview-black.gif": "GIF89a`\x00\x85\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00`\x00\x85\x00@\x02\xff\x8c\x8f\xa9\xcb\xed\x0f\x03\x98\xc0\xd1\x88\xb3\xde\xac\x1a/q\xe2HF`\x89\xa2g\xca\xb6\xe3\xfa\xb9\xf2\xbc\xc0\xf4\x8d\xe7z\x02\xf6\xfb\x0f\xb1\x01\x87\x12\x8aQHL\x1e\x8dI\xd7\xc52iJmH\xa9\xf5\x9a\xabb\x7f\x95c\xf1\xb9\x0d\x8b\xc7\xe4\xb2\xd9R;\xd3\xa8j\x12\xbb\xbd\xd3\xc2\x11\xe0NT!\x9f\xe3\x0f>\xbd\x1f\xfb\xf67\xd3\xc5\xe4%x\x88\x98\xd8\x91\xa6\xb8\x91\xd7H\xb7t\x07\xc9!9I\x89\x999\xf6\xa8\x89\x11\xd8\x19\xc4'\x0a\xeaH\xea\xa6YWs9j\xdaZ\xc9\xe8\xba\xb8\x17\x1bJ\x0bK\x87j+b\xc9\xd9Ixa\xa8\xcb\xabK\xcc\xd4\x90J\xfaI\xcc\xc3\xda\x9b\x1b\x03\xbd,\x8d\x16\xeb\\l9\x1d\xe3\x15l;\x9c\xed\x8a\x1ci\x8d9\xee{\xbb\xac\xfc\xad\xbe\x9e]n\xea^\x8d\xdd\xde\xfc\xfd\x1b\xc5M\xdb\x17\xd2.\xbf\x0e\x0f\xfa\xcf\xdc\xbcY\xe4T\xb0\x13\xd6OZ:a_\xee\x19cHPa\xc2z\x07qU\x8c\xa6\xf0\\\xa3\x7fT\x01/z\x84\xb3\xb0\x1b\xbd\x81\xfbJf\x8c\xf81\xa5\xca|,Q\x16\xd3\xe8\xef`\xc8\x96%;\x1e\xd2gS\xd0\xcc\x95<\x0bz\xcci\x06($\xa1=7\xc2\x14\xe9\x12\"3\x92\x16\x8b:\xcdDTQT\x90\x1f\xa7\"\xb2\xaag'\xb8\xa34\x9b\x9e\\\xfa4\xac\xd8\xb1b\x0a\x00\x00;",
-
-	"images/treeview-default-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x80\x80\x80\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06@\x02\xff\x8c\x8f\xa9\xcb\xed\x0f\xa3\x9c\xb4\xda\x8b\xb3\xde\xbc\xfb\x0f\x86\xe2H\x96\xe6\x89\xa6\xea\xca\xb6\xee\x0b\xc7\xf2L\xd7\xf6\x8d\xe7\xfa\xce\xf7\xfe\x0f\x0c\x0a\x87\xc4\xa2\xf1\x88L*\x97\xcc\xa6\xf3\x09\x8dJ\xa7\xd4\xaa\xf5\x8a\xcdj\xb7\xdc\xae\xf7\x0b\x0e\x8b\xc7\xe4\xb2\xf9\x8cN\xab\xd7\xec\xb6\xfb\x0d\x8f\xcb\xe7\xf4\xba\xfd\x8e\xcf\xeb\xf7\xfc\xbe\xff\x0f\x18(8HXhx\x88\x98\xa8\xb8\xc8\xd8\xe8\xf8\x08\x19)9IYiy\x89\x99\xa9\xb9\xc9\xd9\xe9\xf9\x09\x1a*:JZjz\x8a\x9a\xaa\xba\xcaz\x010\xf1*\x11\x1b1\x0b\xf1z\x1b\x80\xabP\xfb\xc0\xeb\xe0\xdb\x00\xcc\x20\xbc@\xbc\x0b\x8b,\x9bL\xbbl\xdb\xdc\xfb\xfc\x1b\x1d<=\\]|}\xac\xbc\xcd\xcc\xed\xec\x0d\x0d.-NMnm\x8e\x8d\xae\xdd\xcd\xfe\xdd\x1e\xfe>\x1e_>\x7f^\x9f~\xbf\xee\xbe\x0f\xcf/\xefO\x0f\xa0=\x81\xf8\x08\xea\xeb\x87\xf0_\xc2\x80\x0b\x076,\xf8\xf0\xa0\xc2\x89\x0c\xbd\x18Kp\x11A\xc6\x03\xff\x1b\x0dt\xcc\x95\x0dcH\x8d#9\x96\xf4x\x12\xa4:\x91+I\xb64\xf9\x12eL\x95\xf9X\xd6ty\x13fN\x99;i\x1a\xb4\xf9\x13gP\x9dCy\x16\xf5\x19\x11hR\xa1K\x8965\xfa\x14)E\x87S!V\x95X1+U\xadV\xb9b\xdd\x0a\xb6k\xd8\xafb\xcb\x92=\xab\xf4jZ\xafk\xc7\xb65\xfb\x16-S\xb5s\xd9\xd6u{\x17n^\xb9N\xe9\xf6\xb5\xfb\x17o`\xbd\x83\xf9B\xf5{\x18pb\xc1\x8b\x0976,Uqd\xc6\x93\x1dW\x86\xfc1sJ\xcd39\xf7\xf4|\x14tT\xd1\x88/\xc7=\xbd\x17ua\xd5\x8fY\x9bN\x0d{u\xec\xd6\xb3_\xcb\xbeM\x1b\xb7\xed\xdc\xbcw\xfb&-\x198e\xe1\x96\x89c\xde\x8c\xbcs\xf2\xcf\xcbC7\x1f\xfd\xbc\xb4q\xd7\xd3kW\xd7}\xbdw\xf6\xdf\xd1\x83w\x1f\xfe\xbdx\xf8\xe3\xca\xcb37\xef\x1c=t\xf5\xd2\xc7Swo\x1d>v\xf9\xda\xe9sg\xef\x1d?x\xfd\xe2\xf9\x93\xff?\x0f`z\x01\xae7`{\xfe\xbdw`|\x09\xce\xb7`}\x0d\xdeW`~\x11\xee7a\x7f\x15\xfe'`\x86\x04jh\xe0\x85\x08z\xa8\x20\x88\x0c\x8a\xe8\x20\x89\x10r(!\x8a\x14\xaah!\x8b\x18n\x08c\x87.~8c\x885\x8exc\x899\x9e\x18c\x8a=\xae\xf8c\x8bA\xbe(\xe3\x904\x1ai#\x928*\xa9#\x93<\x16\x09\xa5\x8fQ\x029\xa5\x90U\x12)e\x96Tji%\x97Xn\x09f\x97a~)f\x99d\x9ey\xe4\x95iz\xb9\xe6\x98m\x9a\xf9&\x9aI\xaa9'\x9bu\xbay'\x9cy\xca\xb9$\x9d}\xda\xf9'\x9e\x81\xea9(\x9fM\xfay(\xa0\x89\x0a\xba(\xa1\x8d\x1a\xfa\xa4\xa2\x912:\xa9\xa3\x95B\xba]\xa6\xf6i\xfa\x20\xa7&z\xba#\xa8N\x8a\x8a\xe8\xa5q\x9e\xba'\xaa\x85\xaa\xfa(\xab\xa6\xa6\x0a\xeb\xaa\xb1\xb6:\xeb\xab\xb2\xdeJ+\xae\xb6\xe6\xca\xeb\xae\xbe\x92*)\xb0\x94\x0ak)\xb1\x98n\x8al\xa7\xc9'~\xbal\xa8\xcd\x8e\xfal\xa9\xc6\xba:m\xad\xd5\xeazm\xaf\xd9\xfe\x1am\xb0\xdd\x0e\xfbm\xb1\xe1\x1e\xabl\xb9\xcc\xe2rK\x01\x00;",
-
-	"images/treeview-default.gif": "GIF89a`\x00\x85\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00`\x00\x85\x00\x00\x02\xff\x94\x8f\xa9\xcb\xed\x0f\x05\x98\xc0\xd1\x88\xb3\xde\xa8\xf2\x0f\x86\x9a'\x96\xa6I\x9e\xea\xca\xb6\xee\x1a\xc4\xb2\xfc\xd6f\xb0\xe0\xf6\xfe\xe9\xd2\xe1\xe3\x09#>Rp\x88d\xe0(\x13\x01\xee\x99\x8c\"\x8a@\xa9uz0^\xb7GCw;\x9c\x89\xc1\xe4\xb2\xd9yN\xab\xa5\xdf\xb5\xfb}j\xc3Q\xf3d\xaaZ\x8f\\,\xcd<\xe8\xce!\xe7\x975Xhx\x08&6\x83X\xf2%\xc8\x08\xe1\x08\x19\"9\xd9#\xc1\x84\x06e\x89Q\xc9\xa9\xe1\xf9\xd9\x99#\x0a\xaa\x18S\x9aj\xf5\xa8\xda\xfa\xc2\xea\x1a\xab\x02\xab\x0a(\xfb`K[\xb7\xd7\xc0\xebj\x0b*\x0a|K\\l\\w\x8az\x8c\x97\xa0[J\xe5\xb5\xcc\xac%\x8d\xc6T\x01\xe5<\x09\x8dV\xcd\xad\xfd\x19z\x9c\x0c^m~\x8e\x9e\xae\x8e1\\\xdd\xce\x99\xd9\xdb\x17\xfb\xbe\x9ck^\x7f|\xbf\xce\xef\x94l.\xce\xd87\x80\x84\xa2y\xc3t!\xdb\xb8\x82\xdd\xa4\x0d<\xa8\xa0\x9c%r\xfd*Z\xbc(-\x9f1\x8dZ\xc58\"\xf2\xb5\x00d\xad\x8a\x1eo\x95\xc4\x882\x16E\x88\xcd\x08Ft\xd9\xf2\xe05M\x0d\x89\x05,v\xd3&)o\xffR\xfa\xfc\x09t\xd0Iz$\x89\x89\xec0/\xa8+\x89J!1m:h\xa5\xc3\x9dS_\xb2\xc4\"3\x93B\x81T\x97\xe5\xbc\xf5U\x96T\xa8d\xcb\x9a=\x8b6\xed\xad\x02\x00;",
-
-	"images/treeview-gray-line.gif": "GIF89a\x10\x00\xf0\x06\xf0\x01\x00\x80\x80\x80\x00\x00\x00!\xf9\x04\x05\x00\x00\x01\x00,\x00\x00\x00\x00\x10\x00\xf0\x06\x00\x02\xff\x8c\x1f\x80\xcb\xca\x9f\xe0s\x12\xd1j.\xd6\x95K\x0f\x01\xe28N\x98u\x1e\xa0\x99F\xed\xda\xb4n\x0a/5\xfa\xca\xb7\xaa\xf7\xf9O\xf3\x05\x81\xa7]FXDn\x94\x1d\xe6\xc7\x19\x82\xb2\x86\xd4$qymf\x9f\xdbhwj\xadb\xc5Z2\xd7\xecE\x83\xc7\xe16\xfb]v\xc7\xe1gy\x9d\x9e\xb6\xe7\xf1\xeb\xb9\xff\xfe\xb7\x17\xd8\x07X(hHx\xa8\x98\xc8\x18\xf3\xe5\xa8\x06\xa9\xd7h#%\xc9w9\x98\x89\xb8\xb9\xd8I\x89\x13Y\xf98*\x1a:\xf9\x99Z\x8a\xba\x8a\xd9\xaa\xf9\xca\x19\xeb9\x0b\xcaCz\xea\x9a\x0b\xbb+\xdbK\xfbk{\x84{kZ\xcc\x1a\xac\x9a\\\xab|\xac\xeb\xcc\x0b\xed+\x0dL-<\x83,\xa3\xbd\xcd\xdd\xed\xfd\x0d\x1e^=lL\x9em\xfe\x8c\x1e\xad>\xcd>\x8e\x9d\x0e\xbf.\xdfN\xffnd\x7f\x8d\xbfo\xc9\xec\xbf\x0c\xd0Z3w\xfa\xfa\x05$80_B~\xc4\x10\xfe\x13\xf8\xd0\xe1A\x85\x11)NdX\xce\"\xc4\x8b\xff\x067z\x94\xf8Q#\xc8\x91\"Kb<g\xb2#\xc9\x93\xf1X\xcesY\x0f\xe6=\x95)\x1b\xd6\xcc(\xb3\xa0\xcd\x9c\x0bi\xf2\xac\xf8\x93\xe3N\x9fD\x87\x1a\xc5Y\x14\xe9Q\x94AC6]\x99\x94i\xd4\x96S_V\x8dyu\xe6R\xaa[\xadv\xc5\xfaU\xab\xd2\xb1R\xc3\xea$\xcb\x15\xadW\xb5`\xd9\x8a-\xeb\xf6,\xdc\xb9i\xe9\xae\xb5\xdb\x16\xef\xdb\xba|\xef\xf6\xcd\xfbw\xaf\xdf\xc1\x80\x09\x0b.\x8c\xf8\xb0b\xb9\x81\x19\x1bv\x9c\x18\xf2\xe2\x9ef)\xc7\xb5\xacW\xb2f\xcc\x8d9?\xf6\x1c\x19\xf4d\xa0Y7\x93\xae|\xfar\xea\xcc\xa2M\x0bU\xfd\x9a\xf5\xea\xce\xb3?\xd7\x0e}{tl\xda\xbbm\xf7\xc6\xfd[\xb7\xd3\xd2\xad\x8b\xe7v=\x1cup\xe4P\x95'\x87\xfd\\\xf6r\xe3\xd3\x8fS\x8f\xce\x1b\xbbo\xed\xc0\xb9\x0bo\x0e\x1d\xbct\xef\xcco\x8e\x17\x9f\x1d\xfdv\xf5\xdd\xd9\x7f7\x9f\x1e\xfez\xf9\xed\xe9\xbf\x7fj\xbf<\xfe\xfd\xc4\xad\xfb\xff\xaf\x0e\x20y\xd7\xb9\xa7_\x7f\x01\x128`~\x09\xf2\xe7\x1c\x82\xff\x09\xf8\xa0\x83\x07*\x18!\x85\x132\x18\x9e\x85\x10^h\xe0\x86\x1eJ\xf8\xa1\x86\x20\x8e(b\x89\x18\x9egb\x87$\x9e\x18\x1f\x8b\xf3\xb9X\x1f\x8c\xf7\xa9\x98b\x835f(c\x816\xe6\xb8\x20\x8d<V\xf8#\x87;\xfaH\xe4\x90F\xe2X$\x92G\xa2\x18d\x88M\xae\x98$\x93Q\xb68\xe5\x8bU\xc6x\xe5\x8cKR\xb9\xa5\x95]b\xf9\xa5\x96J\x8e)e\x98:\x92\xc9%\x9a^\xaa\x09&\x9bb\x96\xe9\xe6\x99p\xce\x99&\x9dk\xda\xd9&\x9eo\xd6\xc9\xe7\x9d}\xe6\xf9\xe7\x9e~\x0e\x0a(\xa1\x82\x16\x8a\xe8\xa1\x8a\xca\x19(\xa3\x86:\x9a(\xa4\x8b\xf6h&\xa5qZ\xaa\xa7\xa4\x9ab\xda(\xa7\x8fz\x1a)\xa8\x93\x02\x99\xe5\xa6\xa4Vz\xea\xa5\xa9f*\xaa\xa9B\xaa\xfa*\xab\xabv:\xeb\xa7\xb5\x86z\xeb\xa8\xb1\xd2\xba\xab\xad\xbd\xe2\xfa\xab\xaeN\x96\xdaj\xb1\xb9\xba:,\xaa\xc1\xc9\"\x0b\xa5\xb2\xc9\xc2\xfa\xac\xac\xcb\x1a;\xed\xb1\xd4F\xcb+\xb6\xbej\x0b,\xb7\xc26\x0b-\xb8\xd2z\xcb\xec\x8d\xe3\x8a\x9b-\xba\xdb\xaa\xdb-\xbb\xdf\x9a\x9b.\xbc\xeb\xca\xdb.\xbd\xef>io\xb9\xf8\xeeK\xac\xb5\xfeV\x0b0\xb9\xd7\xba\xabo\xbf\x01\x13<p\xbe\x09\xf3\xeb,\xc2\xff\x0a\xfc\xb0\xc3\x07+\x1c1\xc5\x133\x1c\xae\xc5\x10_l\xf0\xc6\x1eK\xfc\xb1\xc6\x20\x8f,r\xc9\x18\x9fkr\xc7$\x9f\x1c/\xcb\xf3\xba\\/\xcc\xf7\xaa\x9cr\xc35g,s\xc16\xe7\xbc0\xcd<W\xfc3\xc7;\xfbL\xf4\xd0F\xe3\\4\xd2G\xa3\x1ct\xc8M\xaf\x9c4\xd3Q\xb7<\xf5\xcbU\xc7|\xf5\xccKS\xbd\xb5\xd5]c\xfd\xb5\xd6J\x8f-u\xd8:\xe3L\x02\x09\x05\x00\x00;",
-
-	"images/treeview-gray.gif": "GIF89a`\x00\x85\x00\xf0\x02\x00\x00\x00\x00\x80\x80\x80!\xf9\x04\x05\x00\x00\x02\x00,\x00\x00\x00\x00`\x00\x85\x00\x00\x02\xff\x94\x8f\xa9\xcb\xed\x0f\x05\x98\xc0\xd1\x88\xb3\xde\xa8\xf2\x0f\x86\x9a'\x96\xa6I\x9e\xea\xca\xb6\xee\x1a\xc4\xb2\xfc\xd6f\xb0\xe0\xf6\xfe\xe9\xd2\xe1\xe3\x09#>Rp\x88d\xe0(\x13\xc1\xec\x98L\x16\x81\xd1\xaabj\x80Z\xa5\xb9\xad\xf79\xf3\x8a\xb3\xe32\xd9<\xd6\xa2\xb9\xebo\xdb\xfd\xde\xa5\xa8q\xdb\xfc\\\xcf\\,\xcdk~T\xa2\xf6\xb7p7hx\x88\xd8\x06F\x93x\xa2%\xd8\xa8\xf1\x18y\xd3E)\xb2\xc4\xe4\x14v\xb91\xd9\x09\xf2\x09\xca!:*\xb9\x08i\x0a\x91\xaa\x8a\xc1\xda\xba\x0a\x1b(\x8bI\x1b\xf2J[\x88+\xab\xdb\xba\xd7\xf0\x8b\xb0\xfbW(\xe9k\x8b\x9c\xac\xbc\x9c\x85\xcal\x990\xdc\x8a\xe5\xf4\xecg`d\x1d-\xa1\xf9\xa4M-\xad\x0a\xae-\x0cM\x8e\x1aN\xae\xbe\xce\xde\xee\xaeR\xcc\x1e\xaf\xaa\x09\xdc\x97\xdc\xbb\x9e\xaf\xbeO\xde\xff^\xed\x1d:v\xa5\xbe\x1d\xc8\xb6n\\Bn\x17\xbcYS\xa8\x0e\xe29s\xdf\x9c\x01\xbc\x881\xa3\xc6\x1fa\x19\xe7\xf1[\x16\x8c\xd0=d\x1e\xfdi,\xb91eB\x8b\x11)>t\xf9\xac\xe0K&\x15\x1c\xc6\x84\xc9L\xe6\xcdk\x11Y\xaa\xfc\x094h'\x94\xd6\x88>3z)d\x02\xa5;1\xa6C\xf6\xd4VTZSM\x0d\\\xc8sbV\x83[gv\xe3\xd4\xb4\x1c\xd6mc\xc5\xf6\\$4\xad\xda\xb5l\xdb\xba}\xcb\xa0\x00\x00;",
-
-	"implements.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Implements</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Implements</span></p>\x0a\x09\x09<div\x20style=\"margin-left:\x201in\"\x20id='implements-{{.Index}}'>...</div>\x0a\x09</div>\x0a</div>\x0a",
-
-	"jquery.js": "/*!\x20jQuery\x20v1.8.2\x20jquery.com\x20|\x20jquery.org/license\x20*/\x0a(function(a,b){function\x20G(a){var\x20b=F[a]={};return\x20p.each(a.split(s),function(a,c){b[c]=!0}),b}function\x20J(a,c,d){if(d===b&&a.nodeType===1){var\x20e=\"data-\"+c.replace(I,\"-$1\").toLowerCase();d=a.getAttribute(e);if(typeof\x20d==\"string\"){try{d=d===\"true\"?!0:d===\"false\"?!1:d===\"null\"?null:+d+\"\"===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else\x20d=b}return\x20d}function\x20K(a){var\x20b;for(b\x20in\x20a){if(b===\"data\"&&p.isEmptyObject(a[b]))continue;if(b!==\"toJSON\")return!1}return!0}function\x20ba(){return!1}function\x20bb(){return!0}function\x20bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function\x20bi(a,b){do\x20a=a[b];while(a&&a.nodeType!==1);return\x20a}function\x20bj(a,b,c){b=b||0;if(p.isFunction(b))return\x20p.grep(a,function(a,d){var\x20e=!!b.call(a,d,a);return\x20e===c});if(b.nodeType)return\x20p.grep(a,function(a,d){return\x20a===b===c});if(typeof\x20b==\"string\"){var\x20d=p.grep(a,function(a){return\x20a.nodeType===1});if(be.test(b))return\x20p.filter(b,d,!c);b=p.filter(b,d)}return\x20p.grep(a,function(a,d){return\x20p.inArray(a,b)>=0===c})}function\x20bk(a){var\x20b=bl.split(\"|\"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return\x20c}function\x20bC(a,b){return\x20a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function\x20bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var\x20c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete\x20g.handle,g.events={};for(c\x20in\x20h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function\x20bE(a,b){var\x20c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c===\"object\"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c===\"input\"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c===\"option\"?b.selected=a.defaultSelected:c===\"input\"||c===\"textarea\"?b.defaultValue=a.defaultValue:c===\"script\"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function\x20bF(a){return\x20typeof\x20a.getElementsByTagName!=\"undefined\"?a.getElementsByTagName(\"*\"):typeof\x20a.querySelectorAll!=\"undefined\"?a.querySelectorAll(\"*\"):[]}function\x20bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function\x20bY(a,b){if(b\x20in\x20a)return\x20b;var\x20c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b\x20in\x20a)return\x20b}return\x20d}function\x20bZ(a,b){return\x20a=b||a,p.css(a,\"display\")===\"none\"||!p.contains(a.ownerDocument,a)}function\x20b$(a,b){var\x20c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,\"olddisplay\"),b?(!e[f]&&c.style.display===\"none\"&&(c.style.display=\"\"),c.style.display===\"\"&&bZ(c)&&(e[f]=p._data(c,\"olddisplay\",cc(c.nodeName)))):(d=bH(c,\"display\"),!e[f]&&d!==\"none\"&&p._data(c,\"olddisplay\",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display===\"none\"||c.style.display===\"\")c.style.display=b?e[f]||\"\":\"none\"}return\x20a}function\x20b_(a,b,c){var\x20d=bP.exec(b);return\x20d?Math.max(0,d[1]-(c||0))+(d[2]||\"px\"):b}function\x20ca(a,b,c,d){var\x20e=c===(d?\"border\":\"content\")?4:b===\"width\"?1:0,f=0;for(;e<4;e+=2)c===\"margin\"&&(f+=p.css(a,c+bV[e],!0)),d?(c===\"content\"&&(f-=parseFloat(bH(a,\"padding\"+bV[e]))||0),c!==\"margin\"&&(f-=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0)):(f+=parseFloat(bH(a,\"padding\"+bV[e]))||0,c!==\"padding\"&&(f+=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0));return\x20f}function\x20cb(a,b,c){var\x20d=b===\"width\"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return\x20d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return\x20d+ca(a,b,c||(f?\"border\":\"content\"),e)+\"px\"}function\x20cc(a){if(bS[a])return\x20bS[a];var\x20b=p(\"<\"+a+\">\").appendTo(e.body),c=b.css(\"display\");b.remove();if(c===\"none\"||c===\"\"){bI=e.body.appendChild(bI||p.extend(e.createElement(\"iframe\"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(\"<!doctype\x20html><html><body>\"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,\"display\"),e.body.removeChild(bI)}return\x20bS[a]=c,c}function\x20ci(a,b,c,d){var\x20e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+\"[\"+(typeof\x20e==\"object\"?b:\"\")+\"]\",e,c,d)});else\x20if(!c&&p.type(b)===\"object\")for(e\x20in\x20b)ci(a+\"[\"+e+\"]\",b[e],c,d);else\x20d(a,b)}function\x20cz(a){return\x20function(b,c){typeof\x20b!=\"string\"&&(c=b,b=\"*\");var\x20d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\\+/.test(d),f&&(d=d.substr(1)||\"*\"),e=a[d]=a[d]||[],e[f?\"unshift\":\"push\"](c)}}function\x20cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var\x20h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof\x20h==\"string\"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g[\"*\"]&&(h=cA(a,c,d,e,\"*\",g)),h}function\x20cB(a,c){var\x20d,e,f=p.ajaxSettings.flatOptions||{};for(d\x20in\x20c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function\x20cC(a,c,d){var\x20e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f\x20in\x20k)f\x20in\x20d&&(c[k[f]]=d[f]);while(j[0]===\"*\")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader(\"content-type\"));if(e)for(f\x20in\x20i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in\x20d)g=j[0];else{for(f\x20in\x20d){if(!j[0]||a.converters[f+\"\x20\"+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return\x20g!==j[0]&&j.unshift(g),d[g]}function\x20cD(a,b){var\x20c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c\x20in\x20a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!==\"*\"){if(h!==\"*\"&&h!==e){c=i[h+\"\x20\"+e]||i[\"*\x20\"+e];if(!c)for(d\x20in\x20i){f=d.split(\"\x20\");if(f[1]===e){c=i[h+\"\x20\"+f[0]]||i[\"*\x20\"+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a[\"throws\"])b=c(b);else\x20try{b=c(b)}catch(k){return{state:\"parsererror\",error:c?k:\"No\x20conversion\x20from\x20\"+h+\"\x20to\x20\"+e}}}h=e}return{state:\"success\",data:b}}function\x20cL(){try{return\x20new\x20a.XMLHttpRequest}catch(b){}}function\x20cM(){try{return\x20new\x20a.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}function\x20cU(){return\x20setTimeout(function(){cN=b},0),cN=p.now()}function\x20cV(a,b){p.each(b,function(b,c){var\x20d=(cT[b]||[]).concat(cT[\"*\"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function\x20cW(a,b,c){var\x20d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete\x20i.elem}),i=function(){var\x20b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return\x20h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var\x20e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return\x20j.tweens.push(e),e},stop:function(b){var\x20c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return\x20b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return\x20d}return\x20cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function\x20cX(a,b){var\x20c,d,e,f,g;for(c\x20in\x20a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete\x20a[c]),g=p.cssHooks[d];if(g&&\"expand\"in\x20g){f=g.expand(f),delete\x20a[d];for(c\x20in\x20f)c\x20in\x20a||(a[c]=f[c],b[c]=e)}else\x20b[d]=e}}function\x20cY(a,b,c){var\x20d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,\"fx\"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,\"fx\").length||j.empty.fire()})})),a.nodeType===1&&(\"height\"in\x20b||\"width\"in\x20b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,\"display\")===\"inline\"&&p.css(a,\"float\")===\"none\"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)===\"inline\"?m.display=\"inline-block\":m.zoom=1)),c.overflow&&(m.overflow=\"hidden\",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d\x20in\x20b){f=b[d];if(cP.exec(f)){delete\x20b[d];if(f===(q?\"hide\":\"show\"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,\"fxshow\")||p._data(a,\"fxshow\",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var\x20b;p.removeData(a,\"fxshow\",!0);for(b\x20in\x20n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e\x20in\x20h||(h[e]=i.start,q&&(i.end=i.start,i.start=e===\"width\"||e===\"height\"?1:0))}}function\x20cZ(a,b,c,d,e){return\x20new\x20cZ.prototype.init(a,b,c,d,e)}function\x20c$(a,b){var\x20c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d[\"margin\"+c]=d[\"padding\"+c]=a;return\x20b&&(d.opacity=d.width=a),d}function\x20da(a){return\x20p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var\x20c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return\x20new\x20p.fn.init(a,b,c)},q=/[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,r=/\\S/,s=/\\s+/,t=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,u=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,v=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,w=/^[\\],:{}\\s]*$/,x=/(?:^|:|,)(?:\\s*\\[)+/g,y=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,z=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,A=/^-ms-/,B=/-([\\da-z])/gi,C=function(a,b){return(b+\"\").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener(\"DOMContentLoaded\",D,!1),p.ready()):e.readyState===\"complete\"&&(e.detachEvent(\"onreadystatechange\",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var\x20f,g,h,i;if(!a)return\x20this;if(a.nodeType)return\x20this.context=this[0]=a,this.length=1,this;if(typeof\x20a==\"string\"){a.charAt(0)===\"<\"&&a.charAt(a.length-1)===\">\"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return\x20c=c\x20instanceof\x20p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return\x20d.find(a);this.length=1,this[0]=g}return\x20this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return\x20p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:\"\",jquery:\"1.8.2\",length:0,size:function(){return\x20this.length},toArray:function(){return\x20k.call(this)},get:function(a){return\x20a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var\x20d=p.merge(this.constructor(),a);return\x20d.prevObject=this,d.context=this.context,b===\"find\"?d.selector=this.selector+(this.selector?\"\x20\":\"\")+c:b&&(d.selector=this.selector+\".\"+b+\"(\"+c+\")\"),d},each:function(a,b){return\x20p.each(this,a,b)},ready:function(a){return\x20p.ready.promise().done(a),this},eq:function(a){return\x20a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return\x20this.eq(0)},last:function(){return\x20this.eq(-1)},slice:function(){return\x20this.pushStack(k.apply(this,arguments),\"slice\",k.call(arguments).join(\",\"))},map:function(a){return\x20this.pushStack(p.map(this,function(b,c){return\x20a.call(b,c,b)}))},end:function(){return\x20this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var\x20a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof\x20h==\"boolean\"&&(k=h,h=arguments[1]||{},i=2),typeof\x20h!=\"object\"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c\x20in\x20a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return\x20h},p.extend({noConflict:function(b){return\x20a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return\x20setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger(\"ready\").off(\"ready\")},isFunction:function(a){return\x20p.type(a)===\"function\"},isArray:Array.isArray||function(a){return\x20p.type(a)===\"array\"},isWindow:function(a){return\x20a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return\x20a==null?String(a):E[m.call(a)]||\"object\"},isPlainObject:function(a){if(!a||p.type(a)!==\"object\"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,\"constructor\")&&!n.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}var\x20d;for(d\x20in\x20a);return\x20d===b||n.call(a,d)},isEmptyObject:function(a){var\x20b;for(b\x20in\x20a)return!1;return!0},error:function(a){throw\x20new\x20Error(a)},parseHTML:function(a,b,c){var\x20d;return!a||typeof\x20a!=\"string\"?null:(typeof\x20b==\"boolean\"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof\x20b!=\"string\")return\x20null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return\x20a.JSON.parse(b);if(w.test(b.replace(y,\"@\").replace(z,\"]\").replace(x,\"\")))return(new\x20Function(\"return\x20\"+b))();p.error(\"Invalid\x20JSON:\x20\"+b)},parseXML:function(c){var\x20d,e;if(!c||typeof\x20c!=\"string\")return\x20null;try{a.DOMParser?(e=new\x20DOMParser,d=e.parseFromString(c,\"text/xml\")):(d=new\x20ActiveXObject(\"Microsoft.XMLDOM\"),d.async=\"false\",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName(\"parsererror\").length)&&p.error(\"Invalid\x20XML:\x20\"+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return\x20a.replace(A,\"ms-\").replace(B,C)},nodeName:function(a,b){return\x20a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var\x20e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e\x20in\x20a)if(c.apply(a[e],d)===!1)break}else\x20for(;f<g;)if(c.apply(a[f++],d)===!1)break}else\x20if(h){for(e\x20in\x20a)if(c.call(a[e],e,a[e])===!1)break}else\x20for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return\x20a},trim:o&&!o.call(\"\xef\xbb\xbf\xc2\xa0\")?function(a){return\x20a==null?\"\":o.call(a)}:function(a){return\x20a==null?\"\":(a+\"\").replace(t,\"\")},makeArray:function(a,b){var\x20c,d=b||[];return\x20a!=null&&(c=p.type(a),a.length==null||c===\"string\"||c===\"function\"||c===\"regexp\"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var\x20d;if(b){if(l)return\x20l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c\x20in\x20b&&b[c]===a)return\x20c}return-1},merge:function(a,c){var\x20d=c.length,e=a.length,f=0;if(typeof\x20d==\"number\")for(;f<d;f++)a[e++]=c[f];else\x20while(c[f]!==b)a[e++]=c[f++];return\x20a.length=e,a},grep:function(a,b,c){var\x20d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return\x20e},map:function(a,c,d){var\x20e,f,g=[],h=0,i=a.length,j=a\x20instanceof\x20p||i!==b&&typeof\x20i==\"number\"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else\x20for(f\x20in\x20a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return\x20g.concat.apply([],g)},guid:1,proxy:function(a,c){var\x20d,e,f;return\x20typeof\x20c==\"string\"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return\x20a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var\x20i,j=d==null,k=0,l=a.length;if(d&&typeof\x20d==\"object\"){for(k\x20in\x20d)p.access(a,c,k,d[k],1,g,e);f=1}else\x20if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return\x20i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return\x20f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new\x20Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState===\"complete\")setTimeout(p.ready,1);else\x20if(e.addEventListener)e.addEventListener(\"DOMContentLoaded\",D,!1),a.addEventListener(\"load\",p.ready,!1);else{e.attachEvent(\"onreadystatechange\",D),a.attachEvent(\"onload\",p.ready);var\x20c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function\x20g(){if(!p.isReady){try{c.doScroll(\"left\")}catch(a){return\x20setTimeout(g,50)}p.ready()}}()}}return\x20d.promise(b)},p.each(\"Boolean\x20Number\x20String\x20Function\x20Array\x20Date\x20RegExp\x20Object\".split(\"\x20\"),function(a,b){E[\"[object\x20\"+b+\"]\"]=b.toLowerCase()}),c=p(e);var\x20F={};p.Callbacks=function(a){a=typeof\x20a==\"string\"?F[a]||G(a):p.extend({},a);var\x20c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var\x20b=i.length;(function\x20d(b){p.each(b,function(b,c){var\x20e=p.type(c);e===\"function\"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!==\"string\"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return\x20this},remove:function(){return\x20i&&p.each(arguments,function(a,b){var\x20c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return\x20p.inArray(a,i)>-1},empty:function(){return\x20i=[],this},disable:function(){return\x20i=j=c=b,this},disabled:function(){return!i},lock:function(){return\x20j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return\x20b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return\x20l.fireWith(this,arguments),this},fired:function(){return!!d}};return\x20l},p.extend({Deferred:function(a){var\x20b=[[\"resolve\",\"done\",p.Callbacks(\"once\x20memory\"),\"resolved\"],[\"reject\",\"fail\",p.Callbacks(\"once\x20memory\"),\"rejected\"],[\"notify\",\"progress\",p.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return\x20c},always:function(){return\x20e.done(arguments).fail(arguments),this},then:function(){var\x20a=arguments;return\x20p.Deferred(function(c){p.each(b,function(b,d){var\x20f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var\x20a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+\"With\"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return\x20a!=null?p.extend(a,d):d}},e={};return\x20d.pipe=d.then,p.each(b,function(a,f){var\x20g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var\x20b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return\x20function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new\x20Array(d),i=new\x20Array(d),j=new\x20Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return\x20e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var\x20b,c,d,f,g,h,i,j,k,l,m,n=e.createElement(\"div\");n.setAttribute(\"className\",\"t\"),n.innerHTML=\"\x20\x20<link/><table></table><a\x20href='/a'>a</a><input\x20type='checkbox'/>\",c=n.getElementsByTagName(\"*\"),d=n.getElementsByTagName(\"a\")[0],d.style.cssText=\"top:1px;float:left;opacity:.5\";if(!c||!c.length)return{};f=e.createElement(\"select\"),g=f.appendChild(e.createElement(\"option\")),h=n.getElementsByTagName(\"input\")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName(\"tbody\").length,htmlSerialize:!!n.getElementsByTagName(\"link\").length,style:/top/.test(d.getAttribute(\"style\")),hrefNormalized:d.getAttribute(\"href\")===\"/a\",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value===\"on\",optSelected:g.selected,getSetAttribute:n.className!==\"t\",enctype:!!e.createElement(\"form\").enctype,html5Clone:e.createElement(\"nav\").cloneNode(!0).outerHTML!==\"<:nav></:nav>\",boxModel:e.compatMode===\"CSS1Compat\",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete\x20n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent(\"onclick\",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent(\"onclick\"),n.detachEvent(\"onclick\",m)),h=e.createElement(\"input\"),h.value=\"t\",h.setAttribute(\"type\",\"radio\"),b.radioValue=h.value===\"t\",h.setAttribute(\"checked\",\"checked\"),h.setAttribute(\"name\",\"t\"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k\x20in{submit:!0,change:!0,focusin:!0})j=\"on\"+k,l=j\x20in\x20n,l||(n.setAttribute(j,\"return;\"),l=typeof\x20n[j]==\"function\"),b[k+\"Bubbles\"]=l;return\x20p(function(){var\x20c,d,f,g,h=\"padding:0;margin:0;border:0;display:block;overflow:hidden;\",i=e.getElementsByTagName(\"body\")[0];if(!i)return;c=e.createElement(\"div\"),c.style.cssText=\"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\",i.insertBefore(c,i.firstChild),d=e.createElement(\"div\"),c.appendChild(d),d.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",f=d.getElementsByTagName(\"td\"),f[0].style.cssText=\"padding:0;margin:0;border:0;display:none\",l=f[0].offsetHeight===0,f[0].style.display=\"\",f[1].style.display=\"none\",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML=\"\",d.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!==\"1%\",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:\"4px\"}).width===\"4px\",g=e.createElement(\"div\"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width=\"0\",d.style.width=\"1px\",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof\x20d.style.zoom!=\"undefined\"&&(d.innerHTML=\"\",d.style.cssText=h+\"width:1px;padding:1px;display:inline;zoom:1\",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display=\"block\",d.style.overflow=\"visible\",d.innerHTML=\"<div></div>\",d.firstChild.style.width=\"5px\",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var\x20H=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:\"jQuery\"+(p.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:!0,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:!0},hasData:function(a){return\x20a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var\x20f,g,h=p.expando,i=typeof\x20c==\"string\",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof\x20c==\"object\"||typeof\x20c==\"function\")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return\x20f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var\x20d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b\x20in\x20d?b=[b]:(b=p.camelCase(b),b\x20in\x20d?b=[b]:b=b.split(\"\x20\")));for(e=0,f=b.length;e<f;e++)delete\x20d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete\x20h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete\x20h[i]:h[i]=null},_data:function(a,b,c){return\x20p.data(a,b,c,!0)},acceptData:function(a){var\x20b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute(\"classid\")===b}}),p.fn.extend({data:function(a,c){var\x20d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,\"parsedAttrs\")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf(\"data-\")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,\"parsedAttrs\",!0)}}return\x20k}return\x20typeof\x20a==\"object\"?this.each(function(){p.data(this,a)}):(d=a.split(\".\",2),d[1]=d[1]?\".\"+d[1]:\"\",e=d[1]+\"!\",p.access(this,function(c){if(c===b)return\x20k=this.triggerHandler(\"getData\"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var\x20b=p(this);b.triggerHandler(\"setData\"+e,d),p.data(this,a,c),b.triggerHandler(\"changeData\"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return\x20this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var\x20d;if(a)return\x20b=(b||\"fx\")+\"queue\",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||\"fx\";var\x20c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e===\"inprogress\"&&(e=c.shift(),d--),e&&(b===\"fx\"&&c.unshift(\"inprogress\"),delete\x20f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var\x20c=b+\"queueHooks\";return\x20p._data(a,c)||p._data(a,c,{empty:p.Callbacks(\"once\x20memory\").add(function(){p.removeData(a,b+\"queue\",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var\x20d=2;return\x20typeof\x20a!=\"string\"&&(c=a,a=\"fx\",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var\x20b=p.queue(this,a,c);p._queueHooks(this,a),a===\"fx\"&&b[0]!==\"inprogress\"&&p.dequeue(this,a)})},dequeue:function(a){return\x20this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return\x20a=p.fx?p.fx.speeds[a]||a:a,b=b||\"fx\",this.queue(b,function(b,c){var\x20d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return\x20this.queue(a||\"fx\",[])},promise:function(a,c){var\x20d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof\x20a!=\"string\"&&(c=a,a=b),a=a||\"fx\";while(h--)d=p._data(g[h],a+\"queueHooks\"),d&&d.empty&&(e++,d.empty.add(i));return\x20i(),f.promise(c)}});var\x20L,M,N,O=/[\\t\\r\\n]/g,P=/\\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return\x20p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return\x20this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return\x20p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return\x20a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete\x20this[a]}catch(c){}})},addClass:function(a){var\x20b,c,d,e,f,g,h;if(p.isFunction(a))return\x20this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof\x20a==\"string\"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=\"\x20\"+e.className+\"\x20\";for(g=0,h=b.length;g<h;g++)f.indexOf(\"\x20\"+b[g]+\"\x20\")<0&&(f+=b[g]+\"\x20\");e.className=p.trim(f)}}}return\x20this},removeClass:function(a){var\x20c,d,e,f,g,h,i;if(p.isFunction(a))return\x20this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof\x20a==\"string\"||a===b){c=(a||\"\").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(\"\x20\"+e.className+\"\x20\").replace(O,\"\x20\");for(f=0,g=c.length;f<g;f++)while(d.indexOf(\"\x20\"+c[f]+\"\x20\")>=0)d=d.replace(\"\x20\"+c[f]+\"\x20\",\"\x20\");e.className=a?p.trim(d):\"\"}}}return\x20this},toggleClass:function(a,b){var\x20c=typeof\x20a,d=typeof\x20b==\"boolean\";return\x20p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c===\"string\"){var\x20e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?\"addClass\":\"removeClass\"](e)}else\x20if(c===\"undefined\"||c===\"boolean\")this.className&&p._data(this,\"__className__\",this.className),this.className=this.className||a===!1?\"\":p._data(this,\"__className__\")||\"\"})},hasClass:function(a){var\x20b=\"\x20\"+a+\"\x20\",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(\"\x20\"+this[c].className+\"\x20\").replace(O,\"\x20\").indexOf(b)>=0)return!0;return!1},val:function(a){var\x20c,d,e,f=this[0];if(!arguments.length){if(f)return\x20c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&\"get\"in\x20c&&(d=c.get(f,\"value\"))!==b?d:(d=f.value,typeof\x20d==\"string\"?d.replace(P,\"\"):d==null?\"\":d);return}return\x20e=p.isFunction(a),this.each(function(d){var\x20f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f=\"\":typeof\x20f==\"number\"?f+=\"\":p.isArray(f)&&(f=p.map(f,function(a){return\x20a==null?\"\":a+\"\"})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!(\"set\"in\x20c)||c.set(this,f,\"value\")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var\x20b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var\x20b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type===\"select-one\";if(f<0)return\x20null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute(\"disabled\")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,\"optgroup\"))){b=p(e).val();if(i)return\x20b;g.push(b)}}return\x20i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var\x20c=p.makeArray(b);return\x20p(a).find(\"option\").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var\x20f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return\x20p(a)[c](d);if(typeof\x20a.getAttribute==\"undefined\")return\x20p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return\x20g&&\"set\"in\x20g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+\"\"),d)}return\x20g&&\"get\"in\x20g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var\x20c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,\"\"),a.removeAttribute(U?e:c),f&&c\x20in\x20a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error(\"type\x20property\x20can't\x20be\x20changed\");else\x20if(!p.support.radioValue&&b===\"radio\"&&p.nodeName(a,\"input\")){var\x20c=a.value;return\x20a.setAttribute(\"type\",b),c&&(a.value=c),b}}},value:{get:function(a,b){return\x20L&&p.nodeName(a,\"button\")?L.get(a,b):b\x20in\x20a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,\"button\"))return\x20L.set(a,b,c);a.value=b}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(a,c,d){var\x20e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return\x20g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&\"set\"in\x20f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&\"get\"in\x20f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var\x20c=a.getAttributeNode(\"tabindex\");return\x20c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var\x20d,e=p.prop(a,c);return\x20e===!0||typeof\x20e!=\"boolean\"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var\x20d;return\x20b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d\x20in\x20a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var\x20d;return\x20d=a.getAttributeNode(c),d&&(N[c]?d.value!==\"\":d.specified)?d.value:b},set:function(a,b,c){var\x20d=a.getAttributeNode(c);return\x20d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+\"\"}},p.each([\"width\",\"height\"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c===\"\")return\x20a.setAttribute(b,\"auto\"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===\"\"&&(b=\"false\"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each([\"href\",\"src\",\"width\",\"height\"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var\x20d=a.getAttribute(c,2);return\x20d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return\x20a.style.cssText.toLowerCase()||b},set:function(a,b){return\x20a.style.cssText=b+\"\"}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var\x20b=a.parentNode;return\x20b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype=\"encoding\"),p.support.checkOn||p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]={get:function(a){return\x20a.getAttribute(\"value\")===null?\"on\":a.value}}}),p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return\x20a.checked=p.inArray(p(a).val(),b)>=0}})});var\x20V=/^(?:textarea|input|select)$/i,W=/^([^\\.]*|)(?:\\.(.+)|)$/,X=/(?:^|\\s)hover(\\.\\S+|)\\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return\x20p.event.special.hover?a:a.replace(X,\"mouseenter$1\x20mouseleave$1\")};p.event={add:function(a,c,d,e,f){var\x20g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return\x20typeof\x20p!=\"undefined\"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(\"\x20\");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||\"\").split(\".\").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(\".\")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent(\"on\"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var\x20f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||\"\")).split(\"\x20\");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h\x20in\x20m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new\x20RegExp(\"(^|\\\\.)\"+j.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d===\"**\"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete\x20m[h])}p.isEmptyObject(m)&&(delete\x20r.handle,p.removeData(a,\"events\",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var\x20h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf(\"!\")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(\".\")>=0&&(t=s.split(\".\"),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof\x20c==\"object\"?c[p.expando]?c:new\x20p.Event(s,c):new\x20p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join(\".\"),c.namespace_re=c.namespace?new\x20RegExp(\"(^|\\\\.)\"+t.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,m=s.indexOf(\":\")<0?\"on\"+s:\"\";if(!f){h=p.cache;for(j\x20in\x20h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,\"events\")||{})[c.type]&&p._data(k,\"handle\"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return\x20c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!==\"click\"||!p.nodeName(f,\"a\"))&&p.acceptData(f)&&m&&f[s]&&(s!==\"focus\"&&s!==\"blur\"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var\x20d,e,f,g,h,i,j,l,m,n,o=(p._data(this,\"events\")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!==\"click\"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!==\"click\"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return\x20t.postDispatch&&t.postDispatch.call(this,c),c.result},props:\"attrChange\x20attrName\x20relatedNode\x20srcElement\x20altKey\x20bubbles\x20cancelable\x20ctrlKey\x20currentTarget\x20eventPhase\x20metaKey\x20relatedTarget\x20shiftKey\x20target\x20timeStamp\x20view\x20which\".split(\"\x20\"),fixHooks:{},keyHooks:{props:\"char\x20charCode\x20key\x20keyCode\".split(\"\x20\"),filter:function(a,b){return\x20a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:\"button\x20buttons\x20clientX\x20clientY\x20fromElement\x20offsetX\x20offsetY\x20pageX\x20pageY\x20screenX\x20screenY\x20toElement\".split(\"\x20\"),filter:function(a,c){var\x20d,f,g,h=c.button,i=c.fromElement;return\x20a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return\x20a;var\x20b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return\x20a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var\x20e=p.extend(new\x20p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var\x20d=\"on\"+b;a.detachEvent&&(typeof\x20a[d]==\"undefined\"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this\x20instanceof\x20p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else\x20return\x20new\x20p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var\x20a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var\x20a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var\x20c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return\x20c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,\"form\"))return!1;p.event.add(this,\"click._submit\x20keypress._submit\",function(a){var\x20c=a.target,d=p.nodeName(c,\"input\")||p.nodeName(c,\"button\")?c.form:b;d&&!p._data(d,\"_submit_attached\")&&(p.event.add(d,\"submit._submit\",function(a){a._submit_bubble=!0}),p._data(d,\"_submit_attached\",!0))})},postDispatch:function(a){a._submit_bubble&&(delete\x20a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate(\"submit\",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,\"form\"))return!1;p.event.remove(this,\"._submit\")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\")p.event.add(this,\"propertychange._change\",function(a){a.originalEvent.propertyName===\"checked\"&&(this._just_changed=!0)}),p.event.add(this,\"click._change\",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate(\"change\",this,a,!0)});return!1}p.event.add(this,\"beforeactivate._change\",function(a){var\x20b=a.target;V.test(b.nodeName)&&!p._data(b,\"_change_attached\")&&(p.event.add(b,\"change._change\",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate(\"change\",this.parentNode,a,!0)}),p._data(b,\"_change_attached\",!0))})},handle:function(a){var\x20b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!==\"radio\"&&b.type!==\"checkbox\")return\x20a.handleObj.handler.apply(this,arguments)},teardown:function(){return\x20p.event.remove(this,\"._change\"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var\x20c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var\x20g,h;if(typeof\x20a==\"object\"){typeof\x20c!=\"string\"&&(d=d||c,c=b);for(h\x20in\x20a)this.on(h,c,d,a[h],f);return\x20this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof\x20c==\"string\"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else\x20if(!e)return\x20this;return\x20f===1&&(g=e,e=function(a){return\x20p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return\x20this.on(a,b,c,d,1)},off:function(a,c,d){var\x20e,f;if(a&&a.preventDefault&&a.handleObj)return\x20e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+\".\"+e.namespace:e.origType,e.selector,e.handler),this;if(typeof\x20a==\"object\"){for(f\x20in\x20a)this.off(f,c,a[f]);return\x20this}if(c===!1||typeof\x20c==\"function\")d=c,c=b;return\x20d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return\x20this.on(a,null,b,c)},unbind:function(a,b){return\x20this.off(a,null,b)},live:function(a,b,c){return\x20p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return\x20p(this.context).off(a,this.selector||\"**\",b),this},delegate:function(a,b,c,d){return\x20this.on(b,a,c,d)},undelegate:function(a,b,c){return\x20arguments.length===1?this.off(a,\"**\"):this.off(b,a||\"**\",c)},trigger:function(a,b){return\x20this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return\x20p.event.trigger(a,b,this[0],!0)},toggle:function(a){var\x20b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var\x20e=(p._data(this,\"lastToggle\"+a.guid)||0)%d;return\x20p._data(this,\"lastToggle\"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return\x20this.click(e)},hover:function(a,b){return\x20this.mouseenter(a).mouseleave(b||a)}}),p.each(\"blur\x20focus\x20focusin\x20focusout\x20load\x20resize\x20scroll\x20unload\x20click\x20dblclick\x20mousedown\x20mouseup\x20mousemove\x20mouseover\x20mouseout\x20mouseenter\x20mouseleave\x20change\x20select\x20submit\x20keydown\x20keypress\x20keyup\x20error\x20contextmenu\".split(\"\x20\"),function(a,b){p.fn[b]=function(a,c){return\x20c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function\x20bc(a,b,c,d){c=c||[],b=b||r;var\x20e,f,i,j,k=b.nodeType;if(!a||typeof\x20a!=\"string\")return\x20c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return\x20c;if(f.id===j)return\x20c.push(f),c}else\x20if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return\x20c.push(f),c}else{if(e[2])return\x20w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return\x20w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return\x20bp(a.replace(L,\"$1\"),b,c,d,i)}function\x20bd(a){return\x20function(b){var\x20c=b.nodeName.toLowerCase();return\x20c===\"input\"&&b.type===a}}function\x20be(a){return\x20function(b){var\x20c=b.nodeName.toLowerCase();return(c===\"input\"||c===\"button\")&&b.type===a}}function\x20bf(a){return\x20z(function(b){return\x20b=+b,z(function(c,d){var\x20e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function\x20bg(a,b,c){if(a===b)return\x20c;var\x20d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return\x201}function\x20bh(a,b){var\x20c,d,f,g,h,i,j,k=C[o][a];if(k)return\x20b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new\x20q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L,\"\x20\");for(g\x20in\x20e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new\x20q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return\x20b?h.length:h?bc.error(a):C(a,i).slice(0)}function\x20bi(a,b,d){var\x20e=b.dir,f=d&&b.dir===\"parentNode\",g=u++;return\x20b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return\x20a(b,c,d)}:function(b,d,h){if(!h){var\x20i,j=t+\"\x20\"+g+\"\x20\",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return\x20b.sizset;if(typeof\x20i==\"string\"&&i.indexOf(j)===0){if(b.sizset)return\x20b}else{b[o]=k;if(a(b,d,h))return\x20b.sizset=!0,b;b.sizset=!1}}}else\x20while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return\x20b}}function\x20bj(a){return\x20a.length>1?function(b,c,d){var\x20e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function\x20bk(a,b,c,d,e){var\x20f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return\x20g}function\x20bl(a,b,c,d,e,f){return\x20d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var\x20j,k,l,m=[],n=[],o=g.length,p=f||bo(b||\"*\",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else\x20r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function\x20bm(a){var\x20b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[\"\x20\"],i=g?1:0,j=bi(function(a){return\x20a===b},h,!0),k=bi(function(a){return\x20y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return\x20bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join(\"\").replace(L,\"$1\"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(\"\"))}m.push(c)}return\x20bj(m)}function\x20bn(a,b){var\x20d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var\x20n,o,p,q=[],s=0,u=\"0\",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG(\"*\",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return\x20y&&(t=B,l=z),x};return\x20g.el=0,d?z(g):g}function\x20bo(a,b,c,d){var\x20e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return\x20c}function\x20bp(a,b,c,d,f){var\x20g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type===\"ID\"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,\"\"),b,f)[0];if(!b)return\x20c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,\"\"),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join(\"\");if(!a)return\x20w.apply(c,x.call(d,0)),c;break}}}return\x20i(a,m)(d,b,f,c,R.test(a)),c}function\x20bq(){}var\x20c,d,e,f,g,h,i,j,k,l,m=!0,n=\"undefined\",o=(\"sizcache\"+Math.random()).replace(\".\",\"\"),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var\x20b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return\x20b;return-1},z=function(a,b){return\x20a[o]=b==null||b,a},A=function(){var\x20a={},b=[];return\x20z(function(c,d){return\x20b.push(c)>e.cacheLength&&delete\x20a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",F=\"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",G=F.replace(\"w\",\"w#\"),H=\"([*^$|!~]?=)\",I=\"\\\\[\"+E+\"*(\"+F+\")\"+E+\"*(?:\"+H+E+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+G+\")|)|)\"+E+\"*\\\\]\",J=\":(\"+F+\")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\"+I+\")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",K=\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+E+\"*((?:-\\\\d)?\\\\d*)\"+E+\"*\\\\)|)(?=[^-]|$)\",L=new\x20RegExp(\"^\"+E+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+E+\"+$\",\"g\"),M=new\x20RegExp(\"^\"+E+\"*,\"+E+\"*\"),N=new\x20RegExp(\"^\"+E+\"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\"+E+\"*\"),O=new\x20RegExp(J),P=/^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,Q=/^:not/,R=/[\\x20\\t\\r\\n\\f]*[+~]/,S=/:not\\($/,T=/h\\d/i,U=/input|select|textarea|button/i,V=/\\\\(?!\\\\)/g,W={ID:new\x20RegExp(\"^#(\"+F+\")\"),CLASS:new\x20RegExp(\"^\\\\.(\"+F+\")\"),NAME:new\x20RegExp(\"^\\\\[name=['\\\"]?(\"+F+\")['\\\"]?\\\\]\"),TAG:new\x20RegExp(\"^(\"+F.replace(\"w\",\"w*\")+\")\"),ATTR:new\x20RegExp(\"^\"+I),PSEUDO:new\x20RegExp(\"^\"+J),POS:new\x20RegExp(K,\"i\"),CHILD:new\x20RegExp(\"^:(only|nth|first|last)-child(?:\\\\(\"+E+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+E+\"*(?:([+-]|)\"+E+\"*(\\\\d+)|))\"+E+\"*\\\\)|)\",\"i\"),needsContext:new\x20RegExp(\"^\"+E+\"*[>+~]|\"+K,\"i\")},X=function(a){var\x20b=r.createElement(\"div\");try{return\x20a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return\x20a.appendChild(r.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),Z=X(function(a){return\x20a.innerHTML=\"<a\x20href='#'></a>\",a.firstChild&&typeof\x20a.firstChild.getAttribute!==n&&a.firstChild.getAttribute(\"href\")===\"#\"}),$=X(function(a){a.innerHTML=\"<select></select>\";var\x20b=typeof\x20a.lastChild.getAttribute(\"multiple\");return\x20b!==\"boolean\"&&b!==\"string\"}),_=X(function(a){return\x20a.innerHTML=\"<div\x20class='hidden\x20e'></div><div\x20class='hidden'></div>\",!a.getElementsByClassName||!a.getElementsByClassName(\"e\").length?!1:(a.lastChild.className=\"e\",a.getElementsByClassName(\"e\").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML=\"<a\x20name='\"+o+\"'></a><div\x20name='\"+o+\"'></div>\",s.insertBefore(a,s.firstChild);var\x20b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return\x20d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var\x20b,c=[];for(;b=this[a];a++)c.push(b);return\x20c}}bc.matches=function(a,b){return\x20bc(a,null,null,b)},bc.matchesSelector=function(a,b){return\x20bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var\x20b,c=\"\",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof\x20a.textContent==\"string\")return\x20a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else\x20if(e===3||e===4)return\x20a.nodeValue}else\x20for(;b=a[d];d++)c+=f(b);return\x20c},g=bc.isXML=function(a){var\x20b=a&&(a.ownerDocument||a).documentElement;return\x20b?b.nodeName!==\"HTML\":!1},h=bc.contains=s.contains?function(a,b){var\x20c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return\x20a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return\x20b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var\x20c,d=g(a);return\x20d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof\x20a[b]==\"boolean\"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return\x20a.getAttribute(\"href\",2)},type:function(a){return\x20a.getAttribute(\"type\")}},find:{ID:d?function(a,b,c){if(typeof\x20b.getElementById!==n&&!c){var\x20d=b.getElementById(a);return\x20d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof\x20c.getElementById!==n&&!d){var\x20e=c.getElementById(a);return\x20e?e.id===a||typeof\x20e.getAttributeNode!==n&&e.getAttributeNode(\"id\").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof\x20b.getElementsByTagName!==n)return\x20b.getElementsByTagName(a)}:function(a,b){var\x20c=b.getElementsByTagName(a);if(a===\"*\"){var\x20d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return\x20e}return\x20c},NAME:ba&&function(a,b){if(typeof\x20b.getElementsByName!==n)return\x20b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof\x20b.getElementsByClassName!==n&&!c)return\x20b.getElementsByClassName(a)}},relative:{\">\":{dir:\"parentNode\",first:!0},\"\x20\":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return\x20a[1]=a[1].replace(V,\"\"),a[3]=(a[4]||a[5]||\"\").replace(V,\"\"),a[2]===\"~=\"&&(a[3]=\"\x20\"+a[3]+\"\x20\"),a.slice(0,4)},CHILD:function(a){return\x20a[1]=a[1].toLowerCase(),a[1]===\"nth\"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]===\"even\"||a[2]===\"odd\")),a[4]=+(a[6]+a[7]||a[2]===\"odd\")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var\x20b,c;if(W.CHILD.test(a[0]))return\x20null;if(a[3])a[2]=a[3];else\x20if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(\")\",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return\x20a.slice(0,3)}},filter:{ID:d?function(a){return\x20a=a.replace(V,\"\"),function(b){return\x20b.getAttribute(\"id\")===a}}:function(a){return\x20a=a.replace(V,\"\"),function(b){var\x20c=typeof\x20b.getAttributeNode!==n&&b.getAttributeNode(\"id\");return\x20c&&c.value===a}},TAG:function(a){return\x20a===\"*\"?function(){return!0}:(a=a.replace(V,\"\").toLowerCase(),function(b){return\x20b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var\x20b=B[o][a];return\x20b||(b=B(a,new\x20RegExp(\"(^|\"+E+\")\"+a+\"(\"+E+\"|$)\"))),function(a){return\x20b.test(a.className||typeof\x20a.getAttribute!==n&&a.getAttribute(\"class\")||\"\")}},ATTR:function(a,b,c){return\x20function(d,e){var\x20f=bc.attr(d,a);return\x20f==null?b===\"!=\":b?(f+=\"\",b===\"=\"?f===c:b===\"!=\"?f!==c:b===\"^=\"?c&&f.indexOf(c)===0:b===\"*=\"?c&&f.indexOf(c)>-1:b===\"$=\"?c&&f.substr(f.length-c.length)===c:b===\"~=\"?(\"\x20\"+f+\"\x20\").indexOf(c)>-1:b===\"|=\"?f===c||f.substr(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d){return\x20a===\"nth\"?function(a){var\x20b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return\x20e-=d,e===c||e%c===0&&e/c>=0}:function(b){var\x20c=b;switch(a){case\"only\":case\"first\":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a===\"first\")return!0;c=b;case\"last\":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var\x20c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error(\"unsupported\x20pseudo:\x20\"+a);return\x20d[o]?d(b):d.length>1?(c=[a,a,\"\",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var\x20e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return\x20d(a,0,c)}):d}},pseudos:{not:z(function(a){var\x20b=[],c=[],d=i(a.replace(L,\"$1\"));return\x20d[o]?z(function(a,b,c,e){var\x20f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return\x20b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return\x20function(b){return\x20bc(a,b).length>0}}),contains:z(function(a){return\x20function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return\x20a.disabled===!1},disabled:function(a){return\x20a.disabled===!0},checked:function(a){var\x20b=a.nodeName.toLowerCase();return\x20b===\"input\"&&!!a.checked||b===\"option\"&&!!a.selected},selected:function(a){return\x20a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var\x20b;a=a.firstChild;while(a){if(a.nodeName>\"@\"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return\x20T.test(a.nodeName)},text:function(a){var\x20b,c;return\x20a.nodeName.toLowerCase()===\"input\"&&(b=a.type)===\"text\"&&((c=a.getAttribute(\"type\"))==null||c.toLowerCase()===b)},radio:bd(\"radio\"),checkbox:bd(\"checkbox\"),file:bd(\"file\"),password:bd(\"password\"),image:bd(\"image\"),submit:be(\"submit\"),reset:be(\"reset\"),button:function(a){var\x20b=a.nodeName.toLowerCase();return\x20b===\"input\"&&a.type===\"button\"||b===\"button\"},input:function(a){return\x20U.test(a.nodeName)},focus:function(a){var\x20b=a.ownerDocument;return\x20a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return\x20a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var\x20d=0;d<b;d+=2)a.push(d);return\x20a}),odd:bf(function(a,b,c){for(var\x20d=1;d<b;d+=2)a.push(d);return\x20a}),lt:bf(function(a,b,c){for(var\x20d=c<0?c+b:c;--d>=0;)a.push(d);return\x20a}),gt:bf(function(a,b,c){for(var\x20d=c<0?c+b:c;++d<b;)a.push(d);return\x20a})}},j=s.compareDocumentPosition?function(a,b){return\x20a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return\x20k=!0,0;if(a.sourceIndex&&b.sourceIndex)return\x20a.sourceIndex-b.sourceIndex;var\x20c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return\x20bg(a,b);if(!g)return-1;if(!h)return\x201;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var\x20j=0;j<c&&j<d;j++)if(e[j]!==f[j])return\x20bg(e[j],f[j]);return\x20j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var\x20b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return\x20a},bc.error=function(a){throw\x20new\x20Error(\"Syntax\x20error,\x20unrecognized\x20expression:\x20\"+a)},i=bc.compile=function(a,b){var\x20c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return\x20f},r.querySelectorAll&&function(){var\x20a,b=bp,c=/'|\\\\/g,d=/\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,e=[\":focus\"],f=[\":active\",\":focus\"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML=\"<select><option\x20selected=''></option></select>\",a.querySelectorAll(\"[selected]\").length||e.push(\"\\\\[\"+E+\"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\"),a.querySelectorAll(\":checked\").length||e.push(\":checked\")}),X(function(a){a.innerHTML=\"<p\x20test=''></p>\",a.querySelectorAll(\"[test^='']\").length&&e.push(\"[*^$]=\"+E+\"*(?:\\\"\\\"|'')\"),a.innerHTML=\"<input\x20type='hidden'/>\",a.querySelectorAll(\":enabled\").length||e.push(\":enabled\",\":disabled\")}),e=new\x20RegExp(e.join(\"|\")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var\x20i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!==\"object\"){i=bh(a),(k=d.getAttribute(\"id\"))?l=k.replace(c,\"\\\\$&\"):d.setAttribute(\"id\",l),l=\"[id='\"+l+\"']\x20\",j=i.length;while(j--)i[j]=l+i[j].join(\"\");m=R.test(a)&&d.parentNode||d,n=i.join(\",\")}if(n)try{return\x20w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute(\"id\")}}return\x20b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,\"div\");try{h.call(b,\"[test!='']:sizzle\"),f.push(\"!=\",J)}catch(c){}}),f=new\x20RegExp(f.join(\"|\")),bc.matchesSelector=function(b,c){c=c.replace(d,\"='$1']\");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var\x20i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return\x20i}catch(j){}return\x20bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new\x20bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[\":\"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var\x20bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\\[\\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var\x20b,c,d,e,f,g,h=this;if(typeof\x20a!=\"string\")return\x20p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack(\"\",\"find\",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return\x20g},has:function(a){var\x20b,c=p(a,this),d=c.length;return\x20this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return\x20this.pushStack(bj(this,a,!1),\"not\",a)},filter:function(a){return\x20this.pushStack(bj(this,a,!0),\"filter\",a)},is:function(a){return!!a&&(typeof\x20a==\"string\"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var\x20c,d=0,e=this.length,f=[],g=bf.test(a)||typeof\x20a!=\"string\"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return\x20f=f.length>1?p.unique(f):f,this.pushStack(f,\"closest\",a)},index:function(a){return\x20a?typeof\x20a==\"string\"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var\x20c=typeof\x20a==\"string\"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return\x20this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return\x20this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var\x20b=a.parentNode;return\x20b&&b.nodeType!==11?b:null},parents:function(a){return\x20p.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return\x20p.dir(a,\"parentNode\",c)},next:function(a){return\x20bi(a,\"nextSibling\")},prev:function(a){return\x20bi(a,\"previousSibling\")},nextAll:function(a){return\x20p.dir(a,\"nextSibling\")},prevAll:function(a){return\x20p.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return\x20p.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return\x20p.dir(a,\"previousSibling\",c)},siblings:function(a){return\x20p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return\x20p.sibling(a.firstChild)},contents:function(a){return\x20p.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var\x20e=p.map(this,b,c);return\x20bc.test(a)||(d=c),d&&typeof\x20d==\"string\"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(\",\"))}}),p.extend({filter:function(a,b,c){return\x20c&&(a=\":not(\"+a+\")\"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var\x20e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return\x20e},sibling:function(a,b){var\x20c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return\x20c}});var\x20bl=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",bm=/\x20jQuery\\d+=\"(?:null|\\d+)\"/g,bn=/^\\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,bp=/<([\\w:]+)/,bq=/<tbody/i,br=/<|&#?\\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new\x20RegExp(\"<(?:\"+bl+\")[\\\\s/>]\",\"i\"),bv=/^(?:checkbox|radio)$/,bw=/checked\\s*(?:[^=]|=\\s*.checked.)/i,bx=/\\/(java|ecma)script/i,by=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,bz={option:[1,\"<select\x20multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},bA=bk(e),bB=bA.appendChild(e.createElement(\"div\"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,\"X<div>\",\"</div>\"]),p.fn.extend({text:function(a){return\x20p.access(this,function(a){return\x20a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return\x20this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var\x20b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var\x20a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return\x20a}).append(this)}return\x20this},wrapInner:function(a){return\x20p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var\x20b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var\x20b=p.isFunction(a);return\x20this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return\x20this.parent().each(function(){p.nodeName(this,\"body\")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return\x20this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return\x20this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return\x20this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var\x20a=p.clean(arguments);return\x20this.pushStack(p.merge(a,this),\"before\",this.selector)}},after:function(){if(!bh(this[0]))return\x20this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var\x20a=p.clean(arguments);return\x20this.pushStack(p.merge(this,a),\"after\",this.selector)}},remove:function(a,b){var\x20c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return\x20this},empty:function(){var\x20a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName(\"*\"));while(a.firstChild)a.removeChild(a.firstChild)}return\x20this},clone:function(a,b){return\x20a=a==null?!1:a,b=b==null?a:b,this.map(function(){return\x20p.clone(this,a,b)})},html:function(a){return\x20p.access(this,function(a){var\x20c=this[0]||{},d=0,e=this.length;if(a===b)return\x20c.nodeType===1?c.innerHTML.replace(bm,\"\"):b;if(typeof\x20a==\"string\"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=a.replace(bo,\"<$1></$2>\");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return\x20bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),\"replaceWith\",a):this:p.isFunction(a)?this.each(function(b){var\x20c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof\x20a!=\"string\"&&(a=p(a).detach()),this.each(function(){var\x20b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return\x20this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var\x20e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof\x20j==\"string\"&&bw.test(j))return\x20this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return\x20this.each(function(e){var\x20f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,\"tr\");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],\"table\")?bC(this[i],\"tbody\"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0}):p.error(\"no\x20ajax\"):p.globalEval((b.text||b.textContent||b.innerHTML||\"\").replace(by,\"\")),b.parentNode&&b.parentNode.removeChild(b)})}return\x20this}}),p.buildFragment=function(a,c,d){var\x20f,g,h,i=a[0];return\x20c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof\x20i==\"string\"&&i.length<512&&c===e&&i.charAt(0)===\"<\"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){p.fn[a]=function(c){var\x20d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return\x20g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return\x20this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var\x20d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test(\"<\"+a.nodeName+\">\")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return\x20d=e=null,g},clean:function(a,b,c,d){var\x20f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof\x20b.createDocumentFragment==\"undefined\")b=e;for(f=0;(h=a[f])!=null;f++){typeof\x20h==\"number\"&&(h+=\"\");if(!h)continue;if(typeof\x20h==\"string\")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement(\"div\"),s.appendChild(l),h=h.replace(bo,\"<$1></$2>\"),i=(bp.exec(h)||[\"\",\"\"])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i===\"table\"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===\"<table>\"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],\"tbody\")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,\"input\")?bG(h):typeof\x20h.getElementsByTagName!=\"undefined\"&&p.grep(h.getElementsByTagName(\"input\"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return\x20d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,\"script\")||!q(h))c.appendChild(h),typeof\x20h.getElementsByTagName!=\"undefined\"&&(r=p.grep(p.merge([],h.getElementsByTagName(\"script\")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return\x20t},cleanData:function(a,b){var\x20c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f\x20in\x20c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete\x20i[d],j?delete\x20e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var\x20a,b;p.uaMatch=function(a){a=a.toLowerCase();var\x20b=/(chrome)[\x20\\/]([\\w.]+)/.exec(a)||/(webkit)[\x20\\/]([\\w.]+)/.exec(a)||/(opera)(?:.*version|)[\x20\\/]([\\w.]+)/.exec(a)||/(msie)\x20([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*?\x20rv:([\\w.]+)|)/.exec(a)||[];return{browser:b[1]||\"\",version:b[2]||\"0\"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function\x20a(b,c){return\x20new\x20a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function\x20c(c,d){return\x20d&&d\x20instanceof\x20p&&!(d\x20instanceof\x20a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var\x20b=a(e);return\x20a}}();var\x20bH,bI,bJ,bK=/alpha\\([^)]*\\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new\x20RegExp(\"^(\"+q+\")(.*)$\",\"i\"),bQ=new\x20RegExp(\"^(\"+q+\")(?!px)[a-z%]+$\",\"i\"),bR=new\x20RegExp(\"^([-+])=(\"+q+\")\",\"i\"),bS={},bT={position:\"absolute\",visibility:\"hidden\",display:\"block\"},bU={letterSpacing:0,fontWeight:400},bV=[\"Top\",\"Right\",\"Bottom\",\"Left\"],bW=[\"Webkit\",\"O\",\"Moz\",\"ms\"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return\x20p.access(this,function(a,c,d){return\x20d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return\x20b$(this,!0)},hide:function(){return\x20b$(this)},toggle:function(a,b){var\x20c=typeof\x20a==\"boolean\";return\x20p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var\x20c=bH(a,\"opacity\");return\x20c===\"\"?\"1\":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":p.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var\x20f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return\x20h&&\"get\"in\x20h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof\x20d,g===\"string\"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g=\"number\");if(d==null||g===\"number\"&&isNaN(d))return;g===\"number\"&&!p.cssNumber[i]&&(d+=\"px\");if(!h||!(\"set\"in\x20h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var\x20f,g,h,i=p.camelCase(c);return\x20c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&\"get\"in\x20h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f===\"normal\"&&c\x20in\x20bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var\x20d,e,f={};for(e\x20in\x20b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e\x20in\x20b)a.style[e]=f[e];return\x20d}}),a.getComputedStyle?bH=function(b,c){var\x20d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return\x20h&&(d=h[c],d===\"\"&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var\x20c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return\x20e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b===\"fontSize\"?\"1em\":e,e=f.pixelLeft+\"px\",f.left=c,d&&(a.runtimeStyle.left=d)),e===\"\"?\"auto\":e}),p.each([\"height\",\"width\"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return\x20a.offsetWidth===0&&bN.test(bH(a,\"display\"))?p.swap(a,bT,function(){return\x20cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return\x20b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return\x20bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":b?\"1\":\"\"},set:function(a,b){var\x20c=a.style,d=a.currentStyle,e=p.isNumeric(b)?\"alpha(opacity=\"+b*100+\")\":\"\",f=d&&d.filter||c.filter||\"\";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,\"\"))===\"\"&&c.removeAttribute){c.removeAttribute(\"filter\");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+\"\x20\"+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return\x20p.swap(a,{display:\"inline-block\"},function(){if(b)return\x20bH(a,\"marginRight\")})}}),!p.support.pixelPosition&&p.fn.position&&p.each([\"top\",\"left\"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var\x20d=bH(a,b);return\x20bQ.test(d)?p(a).position()[b]+\"px\":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return\x20a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,\"display\"))===\"none\"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){p.cssHooks[a+b]={expand:function(c){var\x20d,e=typeof\x20c==\"string\"?c.split(\"\x20\"):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return\x20f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var\x20cd=/%20/g,ce=/\\[\\]$/,cf=/\\r?\\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return\x20p.param(this.serializeArray())},serializeArray:function(){return\x20this.map(function(){return\x20this.elements?p.makeArray(this.elements):this}).filter(function(){return\x20this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var\x20c=p(this).val();return\x20c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,\"\\r\\n\")}}):{name:b.name,value:c.replace(cf,\"\\r\\n\")}}).get()}}),p.param=function(a,c){var\x20d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?\"\":b,e[e.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else\x20for(d\x20in\x20a)ci(d,a[d],c,f);return\x20e.join(\"&\").replace(cd,\"+\")};var\x20cj,ck,cl=/#.*$/,cm=/^(.*?):[\x20\\t]*([^\\r\\n]*)\\r?$/mg,cn=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\\/\\//,cq=/\\?/,cr=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=[\"*/\"]+[\"*\"];try{ck=f.href}catch(cy){ck=e.createElement(\"a\"),ck.href=\"\",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof\x20a!=\"string\"&&cu)return\x20cu.apply(this,arguments);if(!this.length)return\x20this;var\x20e,f,g,h=this,i=a.indexOf(\"\x20\");return\x20i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof\x20c==\"object\"&&(f=\"POST\"),p.ajax({url:a,type:f,dataType:\"html\",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p(\"<div>\").append(a.replace(cr,\"\")).find(e):a)}),this},p.each(\"ajaxStart\x20ajaxStop\x20ajaxComplete\x20ajaxError\x20ajaxSuccess\x20ajaxSend\".split(\"\x20\"),function(a,b){p.fn[b]=function(a){return\x20this.on(b,a)}}),p.each([\"get\",\"post\"],function(a,c){p[c]=function(a,d,e,f){return\x20p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return\x20p.get(a,b,c,\"script\")},getJSON:function(a,b,c){return\x20p.get(a,b,c,\"json\")},ajaxSetup:function(a,b){return\x20b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:\"GET\",contentType:\"application/x-www-form-urlencoded;\x20charset=UTF-8\",processData:!0,async:!0,accepts:{xml:\"application/xml,\x20text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json,\x20text/javascript\",\"*\":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"*\x20text\":a.String,\"text\x20html\":!0,\"text\x20json\":p.parseJSON,\"text\x20xml\":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function\x20y(a,c,f,i){var\x20k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||\"\",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader(\"Last-Modified\"),w&&(p.lastModified[d]=w),w=x.getResponseHeader(\"Etag\"),w&&(p.etag[d]=w)),a===304?(y=\"notmodified\",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y=\"error\",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+\"\",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger(\"ajax\"+(k?\"Success\":\"Error\"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger(\"ajaxComplete\",[x,l]),--p.active||p.event.trigger(\"ajaxStop\"))}typeof\x20a==\"object\"&&(c=a,a=b),c=c||{};var\x20d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m\x20instanceof\x20p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks(\"once\x20memory\"),r=l.statusCode||{},t={},u={},v=0,w=\"canceled\",x={readyState:0,setRequestHeader:function(a,b){if(!v){var\x20c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return\x20this},getAllResponseHeaders:function(){return\x20v===2?e:null},getResponseHeader:function(a){var\x20c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return\x20c===b?null:c},overrideMimeType:function(a){return\x20v||(l.mimeType=a),this},abort:function(a){return\x20a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var\x20b;if(v<2)for(b\x20in\x20a)r[b]=[r[b],a[b]];else\x20b=a[x.status],x.always(b)}return\x20this},l.url=((a||l.url)+\"\").replace(cl,\"\").replace(cp,cj[1]+\"//\"),l.dataTypes=p.trim(l.dataType||\"*\").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(\":\")+(i[3]?\"\":i[1]===\"http:\"?80:443)!==cj.join(\":\")+(cj[3]?\"\":cj[1]===\"http:\"?80:443)),l.data&&l.processData&&typeof\x20l.data!=\"string\"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return\x20x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger(\"ajaxStart\");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?\"&\":\"?\")+l.data,delete\x20l.data),d=l.url;if(l.cache===!1){var\x20z=p.now(),A=l.url.replace(cs,\"$1_=\"+z);l.url=A+(A===l.url?(cq.test(l.url)?\"&\":\"?\")+\"_=\"+z:\"\")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader(\"Content-Type\",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader(\"If-Modified-Since\",p.lastModified[d]),p.etag[d]&&x.setRequestHeader(\"If-None-Match\",p.etag[d])),x.setRequestHeader(\"Accept\",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!==\"*\"?\",\x20\"+cx+\";\x20q=0.01\":\"\"):l.accepts[\"*\"]);for(k\x20in\x20l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w=\"abort\";for(k\x20in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,\"No\x20Transport\");else{x.readyState=1,j&&n.trigger(\"ajaxSend\",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort(\"timeout\")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else\x20throw\x20B}}return\x20x}return\x20x.abort()},active:0,lastModified:{},etag:{}});var\x20cE=[],cF=/\\?/,cG=/(=)\\?(?=&|$)|\\?\\?/,cH=p.now();p.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var\x20a=cE.pop()||p.expando+\"_\"+cH++;return\x20this[a]=!0,a}}),p.ajaxPrefilter(\"json\x20jsonp\",function(c,d,e){var\x20f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof\x20i==\"string\"&&!(c.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&cG.test(i);if(c.dataTypes[0]===\"jsonp\"||l||m)return\x20f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,\"$1\"+f):m?c.data=i.replace(cG,\"$1\"+f):k&&(c.url+=(cF.test(j)?\"&\":\"?\")+c.jsonp+\"=\"+f),c.converters[\"script\x20json\"]=function(){return\x20h||p.error(f+\"\x20was\x20not\x20called\"),h[0]},c.dataTypes[0]=\"json\",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),\"script\"}),p.ajaxSetup({accepts:{script:\"text/javascript,\x20application/javascript,\x20application/ecmascript,\x20application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text\x20script\":function(a){return\x20p.globalEval(a),a}}}),p.ajaxPrefilter(\"script\",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\",a.global=!1)}),p.ajaxTransport(\"script\",function(a){if(a.crossDomain){var\x20c,d=e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement;return{send:function(f,g){c=e.createElement(\"script\"),c.async=\"async\",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,\"success\")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var\x20cI,cJ=a.ActiveXObject?function(){for(var\x20a\x20in\x20cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&\"withCredentials\"in\x20a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var\x20d;return{send:function(e,f){var\x20g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h\x20in\x20c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e[\"X-Requested-With\"]&&(e[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(h\x20in\x20e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var\x20h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete\x20cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=\"\"}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var\x20cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new\x20RegExp(\"^(?:([-+])=|)(\"+q+\")([a-z%]*)$\",\"i\"),cR=/queueHooks$/,cS=[cY],cT={\"*\":[function(a,b){var\x20c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?\"\":\"px\");if(d!==\"px\"&&h){h=p.css(e.elem,a,!0)||c||1;do\x20i=i||\".5\",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return\x20e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=[\"*\"]):a=a.split(\"\x20\");var\x20c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||\"swing\",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?\"\":\"px\")},cur:function(){var\x20a=cZ.propHooks[this.prop];return\x20a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var\x20b,c=cZ.propHooks[this.prop];return\x20this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var\x20b;return\x20a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,\"\"),!b||b===\"auto\"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each([\"toggle\",\"show\",\"hide\"],function(a,b){var\x20c=p.fn[b];p.fn[b]=function(d,e,f){return\x20d==null||typeof\x20d==\"boolean\"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return\x20this.filter(bZ).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var\x20e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var\x20b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return\x20e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var\x20e=function(a){var\x20b=a.stop;delete\x20a.stop,b(d)};return\x20typeof\x20a!=\"string\"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var\x20b=!0,c=a!=null&&a+\"queueHooks\",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else\x20for(c\x20in\x20g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$(\"show\"),slideUp:c$(\"hide\"),slideToggle:c$(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){p.fn[a]=function(a,c,d){return\x20this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var\x20d=a&&typeof\x20a==\"object\"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof\x20d.duration==\"number\"?d.duration:d.duration\x20in\x20p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue=\"fx\";return\x20d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return\x20a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var\x20a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return\x20p.grep(p.timers,function(b){return\x20a===b.elem}).length});var\x20c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return\x20a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var\x20c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof\x20k.getBoundingClientRect!=\"undefined\"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var\x20b=a.offsetTop,c=a.offsetLeft;return\x20p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,\"marginTop\"))||0,c+=parseFloat(p.css(a,\"marginLeft\"))||0),{top:b,left:c}},setOffset:function(a,b,c){var\x20d=p.css(a,\"position\");d===\"static\"&&(a.style.position=\"relative\");var\x20e=p(a),f=e.offset(),g=p.css(a,\"top\"),h=p.css(a,\"left\"),i=(d===\"absolute\"||d===\"fixed\")&&p.inArray(\"auto\",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),\"using\"in\x20b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var\x20a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return\x20c.top-=parseFloat(p.css(a,\"marginTop\"))||0,c.left-=parseFloat(p.css(a,\"marginLeft\"))||0,d.top+=parseFloat(p.css(b[0],\"borderTopWidth\"))||0,d.left+=parseFloat(p.css(b[0],\"borderLeftWidth\"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return\x20this.map(function(){var\x20a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,\"position\")===\"static\")a=a.offsetParent;return\x20a||e.body})}}),p.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,c){var\x20d=/Y/.test(c);p.fn[a]=function(e){return\x20p.access(this,function(a,e,f){var\x20g=da(a);if(f===b)return\x20g?c\x20in\x20g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:\"height\",Width:\"width\"},function(a,c){p.each({padding:\"inner\"+a,content:c,\"\":\"outer\"+a},function(d,e){p.fn[e]=function(e,f){var\x20g=arguments.length&&(d||typeof\x20e!=\"boolean\"),h=d||(e===!0||f===!0?\"margin\":\"border\");return\x20p.access(this,function(c,d,e){var\x20f;return\x20p.isWindow(c)?c.document.documentElement[\"client\"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body[\"scroll\"+a],f[\"scroll\"+a],c.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof\x20define==\"function\"&&define.amd&&define.amd.jQuery&&define(\"jquery\",[],function(){return\x20p})})(window);",
-
-	"jquery.treeview.css": "/*\x20https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.css\x20*/\x0a/*\x20License:\x20MIT.\x20*/\x0a.treeview,\x20.treeview\x20ul\x20{\x0a\x09padding:\x200;\x0a\x09margin:\x200;\x0a\x09list-style:\x20none;\x0a}\x0a\x0a.treeview\x20ul\x20{\x0a\x09background-color:\x20white;\x0a\x09margin-top:\x204px;\x0a}\x0a\x0a.treeview\x20.hitarea\x20{\x0a\x09background:\x20url(images/treeview-default.gif)\x20-64px\x20-25px\x20no-repeat;\x0a\x09height:\x2016px;\x0a\x09width:\x2016px;\x0a\x09margin-left:\x20-16px;\x0a\x09float:\x20left;\x0a\x09cursor:\x20pointer;\x0a}\x0a/*\x20fix\x20for\x20IE6\x20*/\x0a*\x20html\x20.hitarea\x20{\x0a\x09display:\x20inline;\x0a\x09float:none;\x0a}\x0a\x0a.treeview\x20li\x20{\x0a\x09margin:\x200;\x0a\x09padding:\x203px\x200pt\x203px\x2016px;\x0a}\x0a\x0a.treeview\x20a.selected\x20{\x0a\x09background-color:\x20#eee;\x0a}\x0a\x0a#treecontrol\x20{\x20margin:\x201em\x200;\x20display:\x20none;\x20}\x0a\x0a.treeview\x20.hover\x20{\x20color:\x20red;\x20cursor:\x20pointer;\x20}\x0a\x0a.treeview\x20li\x20{\x20background:\x20url(images/treeview-default-line.gif)\x200\x200\x20no-repeat;\x20}\x0a.treeview\x20li.collapsable,\x20.treeview\x20li.expandable\x20{\x20background-position:\x200\x20-176px;\x20}\x0a\x0a.treeview\x20.expandable-hitarea\x20{\x20background-position:\x20-80px\x20-3px;\x20}\x0a\x0a.treeview\x20li.last\x20{\x20background-position:\x200\x20-1766px\x20}\x0a.treeview\x20li.lastCollapsable,\x20.treeview\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-default.gif);\x20}\x0a.treeview\x20li.lastCollapsable\x20{\x20background-position:\x200\x20-111px\x20}\x0a.treeview\x20li.lastExpandable\x20{\x20background-position:\x20-32px\x20-67px\x20}\x0a\x0a.treeview\x20div.lastCollapsable-hitarea,\x20.treeview\x20div.lastExpandable-hitarea\x20{\x20background-position:\x200;\x20}\x0a\x0a.treeview-red\x20li\x20{\x20background-image:\x20url(images/treeview-red-line.gif);\x20}\x0a.treeview-red\x20.hitarea,\x20.treeview-red\x20li.lastCollapsable,\x20.treeview-red\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-red.gif);\x20}\x0a\x0a.treeview-black\x20li\x20{\x20background-image:\x20url(images/treeview-black-line.gif);\x20}\x0a.treeview-black\x20.hitarea,\x20.treeview-black\x20li.lastCollapsable,\x20.treeview-black\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-black.gif);\x20}\x0a\x0a.treeview-gray\x20li\x20{\x20background-image:\x20url(images/treeview-gray-line.gif);\x20}\x0a.treeview-gray\x20.hitarea,\x20.treeview-gray\x20li.lastCollapsable,\x20.treeview-gray\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-gray.gif);\x20}\x0a\x0a.treeview-famfamfam\x20li\x20{\x20background-image:\x20url(images/treeview-famfamfam-line.gif);\x20}\x0a.treeview-famfamfam\x20.hitarea,\x20.treeview-famfamfam\x20li.lastCollapsable,\x20.treeview-famfamfam\x20li.lastExpandable\x20{\x20background-image:\x20url(images/treeview-famfamfam.gif);\x20}\x0a\x0a.treeview\x20.placeholder\x20{\x0a\x09background:\x20url(images/ajax-loader.gif)\x200\x200\x20no-repeat;\x0a\x09height:\x2016px;\x0a\x09width:\x2016px;\x0a\x09display:\x20block;\x0a}\x0a\x0a.filetree\x20li\x20{\x20padding:\x203px\x200\x202px\x2016px;\x20}\x0a.filetree\x20span.folder,\x20.filetree\x20span.file\x20{\x20padding:\x201px\x200\x201px\x2016px;\x20display:\x20block;\x20}\x0a.filetree\x20span.folder\x20{\x20background:\x20url(images/folder.gif)\x200\x200\x20no-repeat;\x20}\x0a.filetree\x20li.expandable\x20span.folder\x20{\x20background:\x20url(images/folder-closed.gif)\x200\x200\x20no-repeat;\x20}\x0a.filetree\x20span.file\x20{\x20background:\x20url(images/file.gif)\x200\x200\x20no-repeat;\x20}\x0a",
-
-	"jquery.treeview.edit.js": "/*\x20https://github.com/jzaefferer/jquery-treeview/blob/1.4.2/jquery.treeview.edit.js\x20*/\x0a/*\x20License:\x20MIT.\x20*/\x0a(function($)\x20{\x0a\x09var\x20CLASSES\x20=\x20$.treeview.classes;\x0a\x09var\x20proxied\x20=\x20$.fn.treeview;\x0a\x09$.fn.treeview\x20=\x20function(settings)\x20{\x0a\x09\x09settings\x20=\x20$.extend({},\x20settings);\x0a\x09\x09if\x20(settings.add)\x20{\x0a\x09\x09\x09return\x20this.trigger(\"add\",\x20[settings.add]);\x0a\x09\x09}\x0a\x09\x09if\x20(settings.remove)\x20{\x0a\x09\x09\x09return\x20this.trigger(\"remove\",\x20[settings.remove]);\x0a\x09\x09}\x0a\x09\x09return\x20proxied.apply(this,\x20arguments).bind(\"add\",\x20function(event,\x20branches)\x20{\x0a\x09\x09\x09$(branches).prev()\x0a\x09\x09\x09\x09.removeClass(CLASSES.last)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastCollapsable)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastExpandable)\x0a\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastCollapsableHitarea)\x0a\x09\x09\x09\x09.removeClass(CLASSES.lastExpandableHitarea);\x0a\x09\x09\x09$(branches).find(\"li\").andSelf().prepareBranches(settings).applyClasses(settings,\x20$(this).data(\"toggler\"));\x0a\x09\x09}).bind(\"remove\",\x20function(event,\x20branches)\x20{\x0a\x09\x09\x09var\x20prev\x20=\x20$(branches).prev();\x0a\x09\x09\x09var\x20parent\x20=\x20$(branches).parent();\x0a\x09\x09\x09$(branches).remove();\x0a\x09\x09\x09prev.filter(\":last-child\").addClass(CLASSES.last)\x0a\x09\x09\x09\x09.filter(\".\"\x20+\x20CLASSES.expandable).replaceClass(CLASSES.last,\x20CLASSES.lastExpandable).end()\x0a\x09\x09\x09\x09.find(\">.hitarea\").replaceClass(CLASSES.expandableHitarea,\x20CLASSES.lastExpandableHitarea).end()\x0a\x09\x09\x09\x09.filter(\".\"\x20+\x20CLASSES.collapsable).replaceClass(CLASSES.last,\x20CLASSES.lastCollapsable).end()\x0a\x09\x09\x09\x09.find(\">.hitarea\").replaceClass(CLASSES.collapsableHitarea,\x20CLASSES.lastCollapsableHitarea);\x0a\x09\x09\x09if\x20(parent.is(\":not(:has(>))\")\x20&&\x20parent[0]\x20!=\x20this)\x20{\x0a\x09\x09\x09\x09parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable)\x0a\x09\x09\x09\x09parent.siblings(\".hitarea\").andSelf().remove();\x0a\x09\x09\x09}\x0a\x09\x09});\x0a\x09};\x0a\x0a})(jQuery);\x0a",
-
-	"jquery.treeview.js": "/*\x0a\x20*\x20Treeview\x201.4.2\x20-\x20jQuery\x20plugin\x20to\x20hide\x20and\x20show\x20branches\x20of\x20a\x20tree\x0a\x20*\x0a\x20*\x20http://bassistance.de/jquery-plugins/jquery-plugin-treeview/\x0a\x20*\x0a\x20*\x20Copyright\x20J\xc3\xb6rn\x20Zaefferer\x0a\x20*\x20Released\x20under\x20the\x20MIT\x20license:\x0a\x20*\x20\x20\x20http://www.opensource.org/licenses/mit-license.php\x0a\x20*/\x0a\x0a;(function($)\x20{\x0a\x0a\x09//\x20TODO\x20rewrite\x20as\x20a\x20widget,\x20removing\x20all\x20the\x20extra\x20plugins\x0a\x09$.extend($.fn,\x20{\x0a\x09\x09swapClass:\x20function(c1,\x20c2)\x20{\x0a\x09\x09\x09var\x20c1Elements\x20=\x20this.filter('.'\x20+\x20c1);\x0a\x09\x09\x09this.filter('.'\x20+\x20c2).removeClass(c2).addClass(c1);\x0a\x09\x09\x09c1Elements.removeClass(c1).addClass(c2);\x0a\x09\x09\x09return\x20this;\x0a\x09\x09},\x0a\x09\x09replaceClass:\x20function(c1,\x20c2)\x20{\x0a\x09\x09\x09return\x20this.filter('.'\x20+\x20c1).removeClass(c1).addClass(c2).end();\x0a\x09\x09},\x0a\x09\x09hoverClass:\x20function(className)\x20{\x0a\x09\x09\x09className\x20=\x20className\x20||\x20\"hover\";\x0a\x09\x09\x09return\x20this.hover(function()\x20{\x0a\x09\x09\x09\x09$(this).addClass(className);\x0a\x09\x09\x09},\x20function()\x20{\x0a\x09\x09\x09\x09$(this).removeClass(className);\x0a\x09\x09\x09});\x0a\x09\x09},\x0a\x09\x09heightToggle:\x20function(animated,\x20callback)\x20{\x0a\x09\x09\x09animated\x20?\x0a\x09\x09\x09\x09this.animate({\x20height:\x20\"toggle\"\x20},\x20animated,\x20callback)\x20:\x0a\x09\x09\x09\x09this.each(function(){\x0a\x09\x09\x09\x09\x09jQuery(this)[\x20jQuery(this).is(\":hidden\")\x20?\x20\"show\"\x20:\x20\"hide\"\x20]();\x0a\x09\x09\x09\x09\x09if(callback)\x0a\x09\x09\x09\x09\x09\x09callback.apply(this,\x20arguments);\x0a\x09\x09\x09\x09});\x0a\x09\x09},\x0a\x09\x09heightHide:\x20function(animated,\x20callback)\x20{\x0a\x09\x09\x09if\x20(animated)\x20{\x0a\x09\x09\x09\x09this.animate({\x20height:\x20\"hide\"\x20},\x20animated,\x20callback);\x0a\x09\x09\x09}\x20else\x20{\x0a\x09\x09\x09\x09this.hide();\x0a\x09\x09\x09\x09if\x20(callback)\x0a\x09\x09\x09\x09\x09this.each(callback);\x0a\x09\x09\x09}\x0a\x09\x09},\x0a\x09\x09prepareBranches:\x20function(settings)\x20{\x0a\x09\x09\x09if\x20(!settings.prerendered)\x20{\x0a\x09\x09\x09\x09//\x20mark\x20last\x20tree\x20items\x0a\x09\x09\x09\x09this.filter(\":last-child:not(ul)\").addClass(CLASSES.last);\x0a\x09\x09\x09\x09//\x20collapse\x20whole\x20tree,\x20or\x20only\x20those\x20marked\x20as\x20closed,\x20anyway\x20except\x20those\x20marked\x20as\x20open\x0a\x09\x09\x09\x09this.filter((settings.collapsed\x20?\x20\"\"\x20:\x20\".\"\x20+\x20CLASSES.closed)\x20+\x20\":not(.\"\x20+\x20CLASSES.open\x20+\x20\")\").find(\">ul\").hide();\x0a\x09\x09\x09}\x0a\x09\x09\x09//\x20return\x20all\x20items\x20with\x20sublists\x0a\x09\x09\x09return\x20this.filter(\":has(>ul)\");\x0a\x09\x09},\x0a\x09\x09applyClasses:\x20function(settings,\x20toggler)\x20{\x0a\x09\x09\x09//\x20TODO\x20use\x20event\x20delegation\x0a\x09\x09\x09this.filter(\":has(>ul):not(:has(>a))\").find(\">span\").unbind(\"click.treeview\").bind(\"click.treeview\",\x20function(event)\x20{\x0a\x09\x09\x09\x09//\x20don't\x20handle\x20click\x20events\x20on\x20children,\x20eg.\x20checkboxes\x0a\x09\x09\x09\x09if\x20(\x20this\x20==\x20event.target\x20)\x0a\x09\x09\x09\x09\x09toggler.apply($(this).next());\x0a\x09\x09\x09}).add(\x20$(\"a\",\x20this)\x20).hoverClass();\x0a\x0a\x09\x09\x09if\x20(!settings.prerendered)\x20{\x0a\x09\x09\x09\x09//\x20handle\x20closed\x20ones\x20first\x0a\x09\x09\x09\x09this.filter(\":has(>ul:hidden)\")\x0a\x09\x09\x09\x09\x09\x09.addClass(CLASSES.expandable)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(CLASSES.last,\x20CLASSES.lastExpandable);\x0a\x0a\x09\x09\x09\x09//\x20handle\x20open\x20ones\x0a\x09\x09\x09\x09this.not(\":has(>ul:hidden)\")\x0a\x09\x09\x09\x09\x09\x09.addClass(CLASSES.collapsable)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(CLASSES.last,\x20CLASSES.lastCollapsable);\x0a\x0a\x09\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20create\x20hitarea\x20if\x20not\x20present\x0a\x09\x09\x09\x09var\x20hitarea\x20=\x20this.find(\"div.\"\x20+\x20CLASSES.hitarea);\x0a\x09\x09\x09\x09if\x20(!hitarea.length)\x0a\x09\x09\x09\x09\x09hitarea\x20=\x20this.prepend(\"<div\x20class=\\\"\"\x20+\x20CLASSES.hitarea\x20+\x20\"\\\"/>\").find(\"div.\"\x20+\x20CLASSES.hitarea);\x0a\x09\x09\x09\x09hitarea.removeClass().addClass(CLASSES.hitarea).each(function()\x20{\x0a\x09\x09\x09\x09\x09var\x20classes\x20=\x20\"\";\x0a\x09\x09\x09\x09\x09$.each($(this).parent().attr(\"class\").split(\"\x20\"),\x20function()\x20{\x0a\x09\x09\x09\x09\x09\x09classes\x20+=\x20this\x20+\x20\"-hitarea\x20\";\x0a\x09\x09\x09\x09\x09});\x0a\x09\x09\x09\x09\x09$(this).addClass(\x20classes\x20);\x0a\x09\x09\x09\x09})\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20apply\x20event\x20to\x20hitarea\x0a\x09\x09\x09this.find(\"div.\"\x20+\x20CLASSES.hitarea).click(\x20toggler\x20);\x0a\x09\x09},\x0a\x09\x09treeview:\x20function(settings)\x20{\x0a\x0a\x09\x09\x09settings\x20=\x20$.extend({\x0a\x09\x09\x09\x09cookieId:\x20\"treeview\"\x0a\x09\x09\x09},\x20settings);\x0a\x0a\x09\x09\x09if\x20(\x20settings.toggle\x20)\x20{\x0a\x09\x09\x09\x09var\x20callback\x20=\x20settings.toggle;\x0a\x09\x09\x09\x09settings.toggle\x20=\x20function()\x20{\x0a\x09\x09\x09\x09\x09return\x20callback.apply($(this).parent()[0],\x20arguments);\x0a\x09\x09\x09\x09};\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20factory\x20for\x20treecontroller\x0a\x09\x09\x09function\x20treeController(tree,\x20control)\x20{\x0a\x09\x09\x09\x09//\x20factory\x20for\x20click\x20handlers\x0a\x09\x09\x09\x09function\x20handler(filter)\x20{\x0a\x09\x09\x09\x09\x09return\x20function()\x20{\x0a\x09\x09\x09\x09\x09\x09//\x20reuse\x20toggle\x20event\x20handler,\x20applying\x20the\x20elements\x20to\x20toggle\x0a\x09\x09\x09\x09\x09\x09//\x20start\x20searching\x20for\x20all\x20hitareas\x0a\x09\x09\x09\x09\x09\x09toggler.apply(\x20$(\"div.\"\x20+\x20CLASSES.hitarea,\x20tree).filter(function()\x20{\x0a\x09\x09\x09\x09\x09\x09\x09//\x20for\x20plain\x20toggle,\x20no\x20filter\x20is\x20provided,\x20otherwise\x20we\x20need\x20to\x20check\x20the\x20parent\x20element\x0a\x09\x09\x09\x09\x09\x09\x09return\x20filter\x20?\x20$(this).parent(\".\"\x20+\x20filter).length\x20:\x20true;\x0a\x09\x09\x09\x09\x09\x09})\x20);\x0a\x09\x09\x09\x09\x09\x09return\x20false;\x0a\x09\x09\x09\x09\x09};\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09//\x20click\x20on\x20first\x20element\x20to\x20collapse\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(0)\",\x20control).click(\x20handler(CLASSES.collapsable)\x20);\x0a\x09\x09\x09\x09//\x20click\x20on\x20second\x20to\x20expand\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(1)\",\x20control).click(\x20handler(CLASSES.expandable)\x20);\x0a\x09\x09\x09\x09//\x20click\x20on\x20third\x20to\x20toggle\x20tree\x0a\x09\x09\x09\x09$(\"a:eq(2)\",\x20control).click(\x20handler()\x20);\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20handle\x20toggle\x20event\x0a\x09\x09\x09function\x20toggler()\x20{\x0a\x09\x09\x09\x09$(this)\x0a\x09\x09\x09\x09\x09.parent()\x0a\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20hitarea\x0a\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20)\x0a\x09\x09\x09\x09\x09.end()\x0a\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20parent\x20li\x0a\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09//\x20find\x20child\x20lists\x0a\x09\x09\x09\x09\x09.find(\x20\">ul\"\x20)\x0a\x09\x09\x09\x09\x09//\x20toggle\x20them\x0a\x09\x09\x09\x09\x09.heightToggle(\x20settings.animated,\x20settings.toggle\x20);\x0a\x09\x09\x09\x09if\x20(\x20settings.unique\x20)\x20{\x0a\x09\x09\x09\x09\x09$(this).parent()\x0a\x09\x09\x09\x09\x09\x09.siblings()\x0a\x09\x09\x09\x09\x09\x09//\x20swap\x20classes\x20for\x20hitarea\x0a\x09\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09.end()\x0a\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09\x09.replaceClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09\x09.find(\x20\">ul\"\x20)\x0a\x09\x09\x09\x09\x09\x09.heightHide(\x20settings.animated,\x20settings.toggle\x20);\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09}\x0a\x09\x09\x09this.data(\"toggler\",\x20toggler);\x0a\x0a\x09\x09\x09function\x20serialize()\x20{\x0a\x09\x09\x09\x09function\x20binary(arg)\x20{\x0a\x09\x09\x09\x09\x09return\x20arg\x20?\x201\x20:\x200;\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09var\x20data\x20=\x20[];\x0a\x09\x09\x09\x09branches.each(function(i,\x20e)\x20{\x0a\x09\x09\x09\x09\x09data[i]\x20=\x20$(e).is(\":has(>ul:visible)\")\x20?\x201\x20:\x200;\x0a\x09\x09\x09\x09});\x0a\x09\x09\x09\x09$.cookie(settings.cookieId,\x20data.join(\"\"),\x20settings.cookieOptions\x20);\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09function\x20deserialize()\x20{\x0a\x09\x09\x09\x09var\x20stored\x20=\x20$.cookie(settings.cookieId);\x0a\x09\x09\x09\x09if\x20(\x20stored\x20)\x20{\x0a\x09\x09\x09\x09\x09var\x20data\x20=\x20stored.split(\"\");\x0a\x09\x09\x09\x09\x09branches.each(function(i,\x20e)\x20{\x0a\x09\x09\x09\x09\x09\x09$(e).find(\">ul\")[\x20parseInt(data[i])\x20?\x20\"show\"\x20:\x20\"hide\"\x20]();\x0a\x09\x09\x09\x09\x09});\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09//\x20add\x20treeview\x20class\x20to\x20activate\x20styles\x0a\x09\x09\x09this.addClass(\"treeview\");\x0a\x0a\x09\x09\x09//\x20prepare\x20branches\x20and\x20find\x20all\x20tree\x20items\x20with\x20child\x20lists\x0a\x09\x09\x09var\x20branches\x20=\x20this.find(\"li\").prepareBranches(settings);\x0a\x0a\x09\x09\x09switch(settings.persist)\x20{\x0a\x09\x09\x09case\x20\"cookie\":\x0a\x09\x09\x09\x09var\x20toggleCallback\x20=\x20settings.toggle;\x0a\x09\x09\x09\x09settings.toggle\x20=\x20function()\x20{\x0a\x09\x09\x09\x09\x09serialize();\x0a\x09\x09\x09\x09\x09if\x20(toggleCallback)\x20{\x0a\x09\x09\x09\x09\x09\x09toggleCallback.apply(this,\x20arguments);\x0a\x09\x09\x09\x09\x09}\x0a\x09\x09\x09\x09};\x0a\x09\x09\x09\x09deserialize();\x0a\x09\x09\x09\x09break;\x0a\x09\x09\x09case\x20\"location\":\x0a\x09\x09\x09\x09var\x20current\x20=\x20this.find(\"a\").filter(function()\x20{\x0a\x09\x09\x09\x09\x09return\x20location.href.toLowerCase().indexOf(this.href.toLowerCase())\x20==\x200;\x0a\x09\x09\x09\x09});\x0a\x09\x09\x09\x09if\x20(\x20current.length\x20)\x20{\x0a\x09\x09\x09\x09\x09//\x20TODO\x20update\x20the\x20open/closed\x20classes\x0a\x09\x09\x09\x09\x09var\x20items\x20=\x20current.addClass(\"selected\").parents(\"ul,\x20li\").add(\x20current.next()\x20).show();\x0a\x09\x09\x09\x09\x09if\x20(settings.prerendered)\x20{\x0a\x09\x09\x09\x09\x09\x09//\x20if\x20prerendered\x20is\x20on,\x20replicate\x20the\x20basic\x20class\x20swapping\x0a\x09\x09\x09\x09\x09\x09items.filter(\"li\")\x0a\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsable,\x20CLASSES.expandable\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsable,\x20CLASSES.lastExpandable\x20)\x0a\x09\x09\x09\x09\x09\x09\x09.find(\">.hitarea\")\x0a\x09\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.collapsableHitarea,\x20CLASSES.expandableHitarea\x20)\x0a\x09\x09\x09\x09\x09\x09\x09\x09.swapClass(\x20CLASSES.lastCollapsableHitarea,\x20CLASSES.lastExpandableHitarea\x20);\x0a\x09\x09\x09\x09\x09}\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09\x09break;\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09branches.applyClasses(settings,\x20toggler);\x0a\x0a\x09\x09\x09//\x20if\x20control\x20option\x20is\x20set,\x20create\x20the\x20treecontroller\x20and\x20show\x20it\x0a\x09\x09\x09if\x20(\x20settings.control\x20)\x20{\x0a\x09\x09\x09\x09treeController(this,\x20settings.control);\x0a\x09\x09\x09\x09$(settings.control).show();\x0a\x09\x09\x09}\x0a\x0a\x09\x09\x09return\x20this;\x0a\x09\x09}\x0a\x09});\x0a\x0a\x09//\x20classes\x20used\x20by\x20the\x20plugin\x0a\x09//\x20need\x20to\x20be\x20styled\x20via\x20external\x20stylesheet,\x20see\x20first\x20example\x0a\x09$.treeview\x20=\x20{};\x0a\x09var\x20CLASSES\x20=\x20($.treeview.classes\x20=\x20{\x0a\x09\x09open:\x20\"open\",\x0a\x09\x09closed:\x20\"closed\",\x0a\x09\x09expandable:\x20\"expandable\",\x0a\x09\x09expandableHitarea:\x20\"expandable-hitarea\",\x0a\x09\x09lastExpandableHitarea:\x20\"lastExpandable-hitarea\",\x0a\x09\x09collapsable:\x20\"collapsable\",\x0a\x09\x09collapsableHitarea:\x20\"collapsable-hitarea\",\x0a\x09\x09lastCollapsableHitarea:\x20\"lastCollapsable-hitarea\",\x0a\x09\x09lastCollapsable:\x20\"lastCollapsable\",\x0a\x09\x09lastExpandable:\x20\"lastExpandable\",\x0a\x09\x09last:\x20\"last\",\x0a\x09\x09hitarea:\x20\"hitarea\"\x0a\x09});\x0a\x0a})(jQuery);\x0a",
-
-	"methodset.html": "<div\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09<div\x20class=\"collapsed\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xb9\x20<span\x20class=\"text\">Method\x20set</span></p>\x0a\x09</div>\x0a\x09<div\x20class=\"expanded\">\x0a\x09\x09<p\x20class=\"exampleHeading\x20toggleButton\">\xe2\x96\xbe\x20<span\x20class=\"text\">Method\x20set</span></p>\x0a\x09\x09<div\x20style=\"margin-left:\x201in\"\x20id='methodset-{{.Index}}'>...</div>\x0a\x09</div>\x0a</div>\x0a",
-
-	"package.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a<!--\x0a\x09Note:\x20Static\x20(i.e.,\x20not\x20template-generated)\x20href\x20and\x20id\x0a\x09attributes\x20start\x20with\x20\"pkg-\"\x20to\x20make\x20it\x20impossible\x20for\x0a\x09them\x20to\x20conflict\x20with\x20generated\x20attributes\x20(some\x20of\x20which\x0a\x09correspond\x20to\x20Go\x20identifiers).\x0a-->\x0a{{with\x20.PDoc}}\x0a\x09<script>\x0a\x09document.ANALYSIS_DATA\x20=\x20{{$.AnalysisData}};\x0a\x09document.CALLGRAPH\x20=\x20{{$.CallGraph}};\x0a\x09</script>\x0a\x0a\x09{{if\x20$.IsMain}}\x0a\x09\x09{{/*\x20command\x20documentation\x20*/}}\x0a\x09\x09{{comment_html\x20.Doc}}\x0a\x09{{else}}\x0a\x09\x09{{/*\x20package\x20documentation\x20*/}}\x0a\x09\x09<div\x20id=\"short-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09<dd><code>import\x20\"{{html\x20.ImportPath}}\"</code></dd>\x0a\x09\x09\x09</dl>\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09<dd><a\x20href=\"#pkg-overview\"\x20class=\"overviewLink\">Overview</a></dd>\x0a\x09\x09\x09<dd><a\x20href=\"#pkg-index\"\x20class=\"indexLink\">Index</a></dd>\x0a\x09\x09\x09{{if\x20$.Examples}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-examples\"\x20class=\"examplesLink\">Examples</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20$.Dirs}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-subdirectories\">Subdirectories</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x09\x09<!--\x20The\x20package's\x20Name\x20is\x20printed\x20as\x20title\x20by\x20the\x20top-level\x20template\x20-->\x0a\x09\x09<div\x20id=\"pkg-overview\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Overview\x20section\">Overview\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Overview\x20section\">Overview\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20\"\"}}\x0a\x09\x09\x09</div>\x0a\x09\x09</div>\x0a\x0a\x09\x09<div\x20id=\"pkg-index\"\x20class=\"toggleVisible\">\x0a\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Index\x20section\">Index\x20\xe2\x96\xb9</h2>\x0a\x09\x09</div>\x0a\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Index\x20section\">Index\x20\xe2\x96\xbe</h2>\x0a\x0a\x09\x09<!--\x20Table\x20of\x20contents\x20for\x20API;\x20must\x20be\x20named\x20manual-nav\x20to\x20turn\x20off\x20auto\x20nav.\x20-->\x0a\x09\x09\x09<div\x20id=\"manual-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09{{if\x20.Consts}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-constants\">Constants</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20.Vars}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-variables\">Variables</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{range\x20.Types}}\x0a\x09\x09\x09\x09{{$tname_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#{{$tname_html}}\">type\x20{{$tname_html}}</a></dd>\x0a\x09\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09\x09<dd>&nbsp;\x20&nbsp;\x20<a\x20href=\"#{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{range\x20.Methods}}\x0a\x09\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09\x09<dd>&nbsp;\x20&nbsp;\x20<a\x20href=\"#{{$tname_html}}.{{$name_html}}\">{{node_html\x20$\x20.Decl\x20false\x20|\x20sanitize}}</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20$.Notes}}\x0a\x09\x09\x09\x09{{range\x20$marker,\x20$item\x20:=\x20$.Notes}}\x0a\x09\x09\x09\x09<dd><a\x20href=\"#pkg-note-{{$marker}}\">{{noteTitle\x20$marker\x20|\x20html}}s</a></dd>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09\x09</div><!--\x20#manual-nav\x20-->\x0a\x0a\x09\x09{{if\x20$.Examples}}\x0a\x09\x09<div\x20id=\"pkg-examples\">\x0a\x09\x09\x09<h3>Examples</h3>\x0a\x09\x09\x09<div\x20class=\"js-expandAll\x20expandAll\x20collapsed\">(Expand\x20All)</div>\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09{{range\x20$.Examples}}\x0a\x09\x09\x09<dd><a\x20class=\"exampleLink\"\x20href=\"#example_{{.Name}}\">{{example_name\x20.Name}}</a></dd>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x09\x09{{end}}\x0a\x0a\x09\x09{{with\x20.Filenames}}\x0a\x09\x09\x09<h3>Package\x20files</h3>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09<span\x20style=\"font-size:90%\">\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09<a\x20href=\"{{.|srcLink|html}}\">{{.|filename|html}}</a>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</span>\x0a\x09\x09\x09</p>\x0a\x09\x09{{end}}\x0a\x09\x09</div><!--\x20.expanded\x20-->\x0a\x09\x09</div><!--\x20#pkg-index\x20-->\x0a\x0a\x09\x09{{if\x20ne\x20$.CallGraph\x20\"null\"}}\x0a\x09\x09<div\x20id=\"pkg-callgraph\"\x20class=\"toggle\"\x20style=\"display:\x20none\">\x0a\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Internal\x20Call\x20Graph\x20section\">Internal\x20call\x20graph\x20\xe2\x96\xb9</h2>\x0a\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Internal\x20Call\x20Graph\x20section\">Internal\x20call\x20graph\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20In\x20the\x20call\x20graph\x20viewer\x20below,\x20each\x20node\x0a\x09\x09\x09\x20\x20is\x20a\x20function\x20belonging\x20to\x20this\x20package\x0a\x09\x09\x09\x20\x20and\x20its\x20children\x20are\x20the\x20functions\x20it\x0a\x09\x09\x09\x20\x20calls&mdash;perhaps\x20dynamically.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20The\x20root\x20nodes\x20are\x20the\x20entry\x20points\x20of\x20the\x0a\x09\x09\x09\x20\x20package:\x20functions\x20that\x20may\x20be\x20called\x20from\x0a\x09\x09\x09\x20\x20outside\x20the\x20package.\x0a\x09\x09\x09\x20\x20There\x20may\x20be\x20non-exported\x20or\x20anonymous\x0a\x09\x09\x09\x20\x20functions\x20among\x20them\x20if\x20they\x20are\x20called\x0a\x09\x09\x09\x20\x20dynamically\x20from\x20another\x20package.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20Click\x20a\x20node\x20to\x20visit\x20that\x20function's\x20source\x20code.\x0a\x09\x09\x09\x20\x20From\x20there\x20you\x20can\x20visit\x20its\x20callers\x20by\x0a\x09\x09\x09\x20\x20clicking\x20its\x20declaring\x20<code>func</code>\x0a\x09\x09\x09\x20\x20token.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<p>\x0a\x09\x09\x09\x20\x20Functions\x20may\x20be\x20omitted\x20if\x20they\x20were\x0a\x09\x09\x09\x20\x20determined\x20to\x20be\x20unreachable\x20in\x20the\x0a\x09\x09\x09\x20\x20particular\x20programs\x20or\x20tests\x20that\x20were\x0a\x09\x09\x09\x20\x20analyzed.\x0a\x09\x09\x09</p>\x0a\x09\x09\x09<!--\x20Zero\x20means\x20show\x20all\x20package\x20entry\x20points.\x20-->\x0a\x09\x09\x09<ul\x20style=\"margin-left:\x200.5in\"\x20id=\"callgraph-0\"\x20class=\"treeview\"></ul>\x0a\x09\x09</div>\x0a\x09\x09</div>\x20<!--\x20#pkg-callgraph\x20-->\x0a\x09\x09{{end}}\x0a\x0a\x09\x09{{with\x20.Consts}}\x0a\x09\x09\x09<h2\x20id=\"pkg-constants\">Constants</h2>\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09\x09{{with\x20.Vars}}\x0a\x09\x09\x09<h2\x20id=\"pkg-variables\">Variables</h2>\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09{{/*\x20Name\x20is\x20a\x20string\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09<h2\x20id=\"{{$name_html}}\">func\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"func\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09</h2>\x0a\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09{{example_html\x20$\x20.Name}}\x0a\x09\x09\x09{{callgraph_html\x20$\x20\"\"\x20.Name}}\x0a\x0a\x09\x09{{end}}\x0a\x09\x09{{range\x20.Types}}\x0a\x09\x09\x09{{$tname\x20:=\x20.Name}}\x0a\x09\x09\x09{{$tname_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09<h2\x20id=\"{{$tname_html}}\">type\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$tname_html}}</a>\x0a\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$tname_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"type\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09</h2>\x0a\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x0a\x09\x09\x09{{range\x20.Consts}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.Vars}}\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{example_html\x20$\x20$tname}}\x0a\x09\x09\x09{{implements_html\x20$\x20$tname}}\x0a\x09\x09\x09{{methodset_html\x20$\x20$tname}}\x0a\x0a\x09\x09\x09{{range\x20.Funcs}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<h3\x20id=\"{{$name_html}}\">func\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"func\"\x20\"\"\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09\x09</h3>\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20.Name}}\x0a\x09\x09\x09\x09{{callgraph_html\x20$\x20\"\"\x20.Name}}\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.Methods}}\x0a\x09\x09\x09\x09{{$name_html\x20:=\x20html\x20.Name}}\x0a\x09\x09\x09\x09<h3\x20id=\"{{$tname_html}}.{{$name_html}}\">func\x20({{html\x20.Recv}})\x20<a\x20href=\"{{posLink_url\x20$\x20.Decl}}\">{{$name_html}}</a>\x0a\x09\x09\x09\x09\x09<a\x20class=\"permalink\"\x20href=\"#{{$tname_html}}.{{$name_html}}\">&#xb6;</a>\x0a\x09\x09\x09\x09\x09{{$since\x20:=\x20since\x20\"method\"\x20.Recv\x20.Name\x20$.PDoc.ImportPath}}\x0a\x09\x09\x09\x09\x09{{if\x20$since}}<span\x20title=\"Added\x20in\x20Go\x20{{$since}}\">{{$since}}</span>{{end}}\x0a\x09\x09\x09\x09</h3>\x0a\x09\x09\x09\x09<pre>{{node_html\x20$\x20.Decl\x20true}}</pre>\x0a\x09\x09\x09\x09{{comment_html\x20.Doc}}\x0a\x09\x09\x09\x09{{$name\x20:=\x20printf\x20\"%s_%s\"\x20$tname\x20.Name}}\x0a\x09\x09\x09\x09{{example_html\x20$\x20$name}}\x0a\x09\x09\x09\x09{{callgraph_html\x20$\x20.Recv\x20.Name}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x0a\x09{{with\x20$.Notes}}\x0a\x09\x09{{range\x20$marker,\x20$content\x20:=\x20.}}\x0a\x09\x09\x09<h2\x20id=\"pkg-note-{{$marker}}\">{{noteTitle\x20$marker\x20|\x20html}}s</h2>\x0a\x09\x09\x09<ul\x20style=\"list-style:\x20none;\x20padding:\x200;\">\x0a\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09<li><a\x20href=\"{{posLink_url\x20$\x20.}}\"\x20style=\"float:\x20left;\">&#x261e;</a>\x20{{comment_html\x20.Body}}</li>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09</ul>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.PAst}}\x0a\x09{{range\x20$filename,\x20$ast\x20:=\x20.}}\x0a\x09\x09<a\x20href=\"{{$filename|srcLink|html}}\">{{$filename|filename|html}}</a>:<pre>{{node_html\x20$\x20$ast\x20false}}</pre>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Dirs}}\x0a\x09{{/*\x20DirList\x20entries\x20are\x20numbers\x20and\x20strings\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09{{if\x20$.PDoc}}\x0a\x09\x09<h2\x20id=\"pkg-subdirectories\">Subdirectories</h2>\x0a\x09{{end}}\x0a\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09<table>\x0a\x09\x09\x09<tr>\x0a\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09{{if\x20not\x20(or\x20(eq\x20$.Dirname\x20\"/src/cmd\")\x20$.DirFlat)}}\x0a\x09\x09\x09<tr>\x0a\x09\x09\x09\x09<td\x20colspan=\"2\"><a\x20href=\"..\">..</a></td>\x0a\x09\x09\x09</tr>\x0a\x09\x09\x09{{end}}\x0a\x0a\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09</tr>\x0a\x09\x09\x09{{end}}\x0a\x09\x09</table>\x0a\x09</div>\x0a{{end}}\x0a",
-
-	"packageroot.html": "<!--\x0a\x09Copyright\x202018\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a<!--\x0a\x09Note:\x20Static\x20(i.e.,\x20not\x20template-generated)\x20href\x20and\x20id\x0a\x09attributes\x20start\x20with\x20\"pkg-\"\x20to\x20make\x20it\x20impossible\x20for\x0a\x09them\x20to\x20conflict\x20with\x20generated\x20attributes\x20(some\x20of\x20which\x0a\x09correspond\x20to\x20Go\x20identifiers).\x0a-->\x0a{{with\x20.PAst}}\x0a\x09{{range\x20$filename,\x20$ast\x20:=\x20.}}\x0a\x09\x09<a\x20href=\"{{$filename|srcLink|html}}\">{{$filename|filename|html}}</a>:<pre>{{node_html\x20$\x20$ast\x20false}}</pre>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Dirs}}\x0a\x09{{/*\x20DirList\x20entries\x20are\x20numbers\x20and\x20strings\x20-\x20no\x20need\x20for\x20FSet\x20*/}}\x0a\x09{{if\x20$.PDoc}}\x0a\x09\x09<h2\x20id=\"pkg-subdirectories\">Subdirectories</h2>\x0a\x09{{end}}\x0a\x09\x09<div\x20id=\"manual-nav\">\x0a\x09\x09\x09<dl>\x0a\x09\x09\x09\x09<dt><a\x20href=\"#stdlib\">Standard\x20library</a></dt>\x0a\x09\x09\x09\x09{{if\x20hasThirdParty\x20.List\x20}}\x0a\x09\x09\x09\x09\x09<dt><a\x20href=\"#thirdparty\">Third\x20party</a></dt>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09<dt><a\x20href=\"#other\">Other\x20packages</a></dt>\x0a\x09\x09\x09\x09<dd><a\x20href=\"#subrepo\">Sub-repositories</a></dd>\x0a\x09\x09\x09\x09<dd><a\x20href=\"#community\">Community</a></dd>\x0a\x09\x09\x09</dl>\x0a\x09\x09</div>\x0a\x0a\x09\x09<div\x20id=\"stdlib\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Standard\x20library\x20section\">Standard\x20library\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Standard\x20library\x20section\">Standard\x20library\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09<img\x20alt=\"\"\x20class=\"gopher\"\x20src=\"/doc/gopher/pkg.png\"/>\x0a\x09\x09\x09\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09\x09\x09\x09<table>\x0a\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09{{if\x20eq\x20.RootType\x20\"GOROOT\"}}\x0a\x09\x09\x09\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</table>\x0a\x09\x09\x09\x09</div>\x20<!--\x20.pkg-dir\x20-->\x0a\x09\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09</div>\x20<!--\x20#stdlib\x20.toggleVisible\x20-->\x0a\x0a\x09{{if\x20hasThirdParty\x20.List\x20}}\x0a\x09\x09<div\x20id=\"thirdparty\"\x20class=\"toggleVisible\">\x0a\x09\x09\x09<div\x20class=\"collapsed\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20show\x20Third\x20party\x20section\">Third\x20party\x20\xe2\x96\xb9</h2>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20class=\"expanded\">\x0a\x09\x09\x09\x09<h2\x20class=\"toggleButton\"\x20title=\"Click\x20to\x20hide\x20Third\x20party\x20section\">Third\x20party\x20\xe2\x96\xbe</h2>\x0a\x09\x09\x09\x09<div\x20class=\"pkg-dir\">\x0a\x09\x09\x09\x09\x09<table>\x0a\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-name\">Name</th>\x0a\x09\x09\x09\x09\x09\x09\x09<th\x20class=\"pkg-synopsis\">Synopsis</th>\x0a\x09\x09\x09\x09\x09\x09</tr>\x0a\x0a\x09\x09\x09\x09\x09\x09{{range\x20.List}}\x0a\x09\x09\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20eq\x20.RootType\x20\"GOPATH\"}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20$.DirFlat}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{if\x20.HasPkg}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-name\"\x20style=\"padding-left:\x20{{multiply\x20.Depth\x2020}}px;\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09<a\x20href=\"{{html\x20.Path}}/{{modeQueryString\x20$.Mode\x20|\x20html}}\">{{html\x20.Name}}</a>\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09<td\x20class=\"pkg-synopsis\">\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09{{html\x20.Synopsis}}\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</table>\x0a\x09\x09\x09\x09</div>\x20<!--\x20.pkg-dir\x20-->\x0a\x09\x09\x09</div>\x20<!--\x20.expanded\x20-->\x0a\x09\x09</div>\x20<!--\x20#stdlib\x20.toggleVisible\x20-->\x0a\x09{{end}}\x0a\x0a\x09<h2\x20id=\"other\">Other\x20packages</h2>\x0a\x09<h3\x20id=\"subrepo\">Sub-repositories</h3>\x0a\x09<p>\x0a\x09These\x20packages\x20are\x20part\x20of\x20the\x20Go\x20Project\x20but\x20outside\x20the\x20main\x20Go\x20tree.\x0a\x09They\x20are\x20developed\x20under\x20looser\x20<a\x20href=\"/doc/go1compat\">compatibility\x20requirements</a>\x20than\x20the\x20Go\x20core.\x0a\x09Install\x20them\x20with\x20\"<a\x20href=\"/cmd/go/#hdr-Download_and_install_packages_and_dependencies\">go\x20get</a>\".\x0a\x09</p>\x0a\x09<ul>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/benchmarks\">benchmarks</a>\x20\xe2\x80\x94\x20benchmarks\x20to\x20measure\x20Go\x20as\x20it\x20is\x20developed.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/blog\">blog</a>\x20\xe2\x80\x94\x20<a\x20href=\"//blog.golang.org\">blog.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/build\">build</a>\x20\xe2\x80\x94\x20<a\x20href=\"//build.golang.org\">build.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/crypto\">crypto</a>\x20\xe2\x80\x94\x20additional\x20cryptography\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/debug\">debug</a>\x20\xe2\x80\x94\x20an\x20experimental\x20debugger\x20for\x20Go.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/image\">image</a>\x20\xe2\x80\x94\x20additional\x20imaging\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/mobile\">mobile</a>\x20\xe2\x80\x94\x20experimental\x20support\x20for\x20Go\x20on\x20mobile\x20platforms.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/net\">net</a>\x20\xe2\x80\x94\x20additional\x20networking\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/perf\">perf</a>\x20\xe2\x80\x94\x20packages\x20and\x20tools\x20for\x20performance\x20measurement,\x20storage,\x20and\x20analysis.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/pkgsite\">pkgsite</a>\x20\xe2\x80\x94\x20home\x20of\x20the\x20pkg.go.dev\x20website.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/review\">review</a>\x20\xe2\x80\x94\x20a\x20tool\x20for\x20working\x20with\x20Gerrit\x20code\x20reviews.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/sync\">sync</a>\x20\xe2\x80\x94\x20additional\x20concurrency\x20primitives.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/sys\">sys</a>\x20\xe2\x80\x94\x20packages\x20for\x20making\x20system\x20calls.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/text\">text</a>\x20\xe2\x80\x94\x20packages\x20for\x20working\x20with\x20text.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/time\">time</a>\x20\xe2\x80\x94\x20additional\x20time\x20packages.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/tools\">tools</a>\x20\xe2\x80\x94\x20godoc,\x20goimports,\x20gorename,\x20and\x20other\x20tools.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/tour\">tour</a>\x20\xe2\x80\x94\x20<a\x20href=\"//tour.golang.org\">tour.golang.org</a>'s\x20implementation.</li>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev/golang.org/x/exp\">exp</a>\x20\xe2\x80\x94\x20experimental\x20and\x20deprecated\x20packages\x20(handle\x20with\x20care;\x20may\x20change\x20without\x20warning).</li>\x0a\x09</ul>\x0a\x0a\x09<h3\x20id=\"community\">Community</h3>\x0a\x09<p>\x0a\x09These\x20services\x20can\x20help\x20you\x20find\x20Open\x20Source\x20packages\x20provided\x20by\x20the\x20community.\x0a\x09</p>\x0a\x09<ul>\x0a\x09\x09<li><a\x20href=\"//pkg.go.dev\">Pkg.go.dev</a>\x20-\x20the\x20Go\x20package\x20discovery\x20site.</li>\x0a\x09\x09<li><a\x20href=\"/wiki/Projects\">Projects\x20at\x20the\x20Go\x20Wiki</a>\x20-\x20a\x20curated\x20list\x20of\x20Go\x20projects.</li>\x0a\x09</ul>\x0a{{end}}\x0a",
-
-	"play.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0afunction\x20initPlayground(transport)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20function\x20text(node)\x20{\x0a\x20\x20\x20\x20var\x20s\x20=\x20'';\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20node.childNodes.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20n\x20=\x20node.childNodes[i];\x0a\x20\x20\x20\x20\x20\x20if\x20(n.nodeType\x20===\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'BUTTON')\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'SPAN'\x20&&\x20n.className\x20===\x20'number')\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(n.tagName\x20===\x20'DIV'\x20||\x20n.tagName\x20===\x20'BR'\x20||\x20n.tagName\x20===\x20'PRE')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20'\\n';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20text(n);\x0a\x20\x20\x20\x20\x20\x20\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(n.nodeType\x20===\x203)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20s\x20+=\x20n.nodeValue;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20s.replace('\\xA0',\x20'\x20');\x20//\x20replace\x20non-breaking\x20spaces\x0a\x20\x20}\x0a\x0a\x20\x20//\x20When\x20presenter\x20notes\x20are\x20enabled,\x20the\x20index\x20passed\x0a\x20\x20//\x20here\x20will\x20identify\x20the\x20playground\x20to\x20be\x20synced\x0a\x20\x20function\x20init(code,\x20index)\x20{\x0a\x20\x20\x20\x20var\x20output\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20var\x20outpre\x20=\x20document.createElement('pre');\x0a\x20\x20\x20\x20var\x20running;\x0a\x0a\x20\x20\x20\x20if\x20($\x20&&\x20$(output).resizable)\x20{\x0a\x20\x20\x20\x20\x20\x20$(output).resizable({\x0a\x20\x20\x20\x20\x20\x20\x20\x20handles:\x20'n,w,nw',\x0a\x20\x20\x20\x20\x20\x20\x20\x20minHeight:\x2027,\x0a\x20\x20\x20\x20\x20\x20\x20\x20minWidth:\x20135,\x0a\x20\x20\x20\x20\x20\x20\x20\x20maxHeight:\x20608,\x0a\x20\x20\x20\x20\x20\x20\x20\x20maxWidth:\x20990,\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onKill()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onKill',\x20index);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onRun(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20sk\x20=\x20e.shiftKey\x20||\x20localStorage.getItem('play-shiftKey')\x20===\x20'true';\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.style.display\x20=\x20'block';\x0a\x20\x20\x20\x20\x20\x20outpre.textContent\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20run1.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20\x20\x20var\x20options\x20=\x20{\x20Race:\x20sk\x20};\x0a\x20\x20\x20\x20\x20\x20running\x20=\x20transport.Run(text(code),\x20PlaygroundOutput(outpre),\x20options);\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onRun',\x20index,\x20e);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20onClose()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20\x20\x20run1.style.display\x20=\x20'inline-block';\x0a\x20\x20\x20\x20\x20\x20if\x20(window.notesEnabled)\x20updatePlayStorage('onClose',\x20index);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(window.notesEnabled)\x20{\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onRun.push(onRun);\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onClose.push(onClose);\x0a\x20\x20\x20\x20\x20\x20playgroundHandlers.onKill.push(onKill);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20run1\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20run1.textContent\x20=\x20'Run';\x0a\x20\x20\x20\x20run1.className\x20=\x20'run';\x0a\x20\x20\x20\x20run1.addEventListener('click',\x20onRun,\x20false);\x0a\x20\x20\x20\x20var\x20run2\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20run2.className\x20=\x20'run';\x0a\x20\x20\x20\x20run2.textContent\x20=\x20'Run';\x0a\x20\x20\x20\x20run2.addEventListener('click',\x20onRun,\x20false);\x0a\x20\x20\x20\x20var\x20kill\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20kill.className\x20=\x20'kill';\x0a\x20\x20\x20\x20kill.textContent\x20=\x20'Kill';\x0a\x20\x20\x20\x20kill.addEventListener('click',\x20onKill,\x20false);\x0a\x20\x20\x20\x20var\x20close\x20=\x20document.createElement('button');\x0a\x20\x20\x20\x20close.className\x20=\x20'close';\x0a\x20\x20\x20\x20close.textContent\x20=\x20'Close';\x0a\x20\x20\x20\x20close.addEventListener('click',\x20onClose,\x20false);\x0a\x0a\x20\x20\x20\x20var\x20button\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20button.classList.add('buttons');\x0a\x20\x20\x20\x20button.appendChild(run1);\x0a\x20\x20\x20\x20//\x20Hack\x20to\x20simulate\x20insertAfter\x0a\x20\x20\x20\x20code.parentNode.insertBefore(button,\x20code.nextSibling);\x0a\x0a\x20\x20\x20\x20var\x20buttons\x20=\x20document.createElement('div');\x0a\x20\x20\x20\x20buttons.classList.add('buttons');\x0a\x20\x20\x20\x20buttons.appendChild(run2);\x0a\x20\x20\x20\x20buttons.appendChild(kill);\x0a\x20\x20\x20\x20buttons.appendChild(close);\x0a\x0a\x20\x20\x20\x20output.classList.add('output');\x0a\x20\x20\x20\x20output.appendChild(buttons);\x0a\x20\x20\x20\x20output.appendChild(outpre);\x0a\x20\x20\x20\x20output.style.display\x20=\x20'none';\x0a\x20\x20\x20\x20code.parentNode.insertBefore(output,\x20button.nextSibling);\x0a\x20\x20}\x0a\x0a\x20\x20var\x20play\x20=\x20document.querySelectorAll('div.playground');\x0a\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20play.length;\x20i++)\x20{\x0a\x20\x20\x20\x20init(play[i],\x20i);\x0a\x20\x20}\x0a}\x0a",
-
-	"playground.js": "//\x20Copyright\x202012\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a//\x20Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a//\x20license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a\x0a/*\x0aIn\x20the\x20absence\x20of\x20any\x20formal\x20way\x20to\x20specify\x20interfaces\x20in\x20JavaScript,\x0ahere's\x20a\x20skeleton\x20implementation\x20of\x20a\x20playground\x20transport.\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20function\x20Transport()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Set\x20up\x20any\x20transport\x20state\x20(eg,\x20make\x20a\x20websocket\x20connection).\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Compile\x20and\x20run\x20the\x20program\x20'body'\x20with\x20'options'.\x0a\x09\x09\x09\x09//\x20Call\x20the\x20'output'\x20callback\x20to\x20display\x20program\x20output.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Kill\x20the\x20running\x20program.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x09//\x20The\x20output\x20callback\x20is\x20called\x20multiple\x20times,\x20and\x20each\x20time\x20it\x20is\x0a\x09//\x20passed\x20an\x20object\x20of\x20this\x20form.\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20write\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'string',\x20//\x20'start',\x20'stdout',\x20'stderr',\x20'end'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Body:\x20'string'\x20\x20//\x20content\x20of\x20write\x20or\x20end\x20status\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x09//\x20The\x20first\x20call\x20must\x20be\x20of\x20Kind\x20'start'\x20with\x20no\x20body.\x0a\x09//\x20Subsequent\x20calls\x20may\x20be\x20of\x20Kind\x20'stdout'\x20or\x20'stderr'\x0a\x09//\x20and\x20must\x20have\x20a\x20non-null\x20Body\x20string.\x0a\x09//\x20The\x20final\x20call\x20should\x20be\x20of\x20Kind\x20'end'\x20with\x20an\x20optional\x0a\x09//\x20Body\x20string,\x20signifying\x20a\x20failure\x20(\"killed\",\x20for\x20example).\x0a\x0a\x09//\x20The\x20output\x20callback\x20must\x20be\x20of\x20this\x20form.\x0a\x09//\x20See\x20PlaygroundOutput\x20(below)\x20for\x20an\x20implementation.\x0a\x20\x20\x20\x20\x20\x20\x20\x20function\x20outputCallback(write)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a*/\x0a\x0a//\x20HTTPTransport\x20is\x20the\x20default\x20transport.\x0a//\x20enableVet\x20enables\x20running\x20vet\x20if\x20a\x20program\x20was\x20compiled\x20and\x20ran\x20successfully.\x0a//\x20If\x20vet\x20returned\x20any\x20errors,\x20display\x20them\x20before\x20the\x20output\x20of\x20a\x20program.\x0afunction\x20HTTPTransport(enableVet)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20function\x20playback(output,\x20data)\x20{\x0a\x20\x20\x20\x20//\x20Backwards\x20compatibility:\x20default\x20values\x20do\x20not\x20affect\x20the\x20output.\x0a\x20\x20\x20\x20var\x20events\x20=\x20data.Events\x20||\x20[];\x0a\x20\x20\x20\x20var\x20errors\x20=\x20data.Errors\x20||\x20'';\x0a\x20\x20\x20\x20var\x20status\x20=\x20data.Status\x20||\x200;\x0a\x20\x20\x20\x20var\x20isTest\x20=\x20data.IsTest\x20||\x20false;\x0a\x20\x20\x20\x20var\x20testsFailed\x20=\x20data.TestsFailed\x20||\x200;\x0a\x0a\x20\x20\x20\x20var\x20timeout;\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20function\x20next()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!events\x20||\x20events.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(isTest)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(testsFailed\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Body:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\\n'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20testsFailed\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\x20test'\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(testsFailed\x20>\x201\x20?\x20's'\x20:\x20'')\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'\x20failed.',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'system',\x20Body:\x20'\\nAll\x20tests\x20passed.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(status\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20'status\x20'\x20+\x20status\x20+\x20'.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(errors\x20!==\x20'')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20errors\x20are\x20displayed\x20only\x20in\x20the\x20case\x20of\x20timeout.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20errors\x20+\x20'.'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20e\x20=\x20events.shift();\x0a\x20\x20\x20\x20\x20\x20if\x20(e.Delay\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20e.Kind,\x20Body:\x20e.Message\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20timeout\x20=\x20setTimeout(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20e.Kind,\x20Body:\x20e.Message\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20\x20\x20},\x20e.Delay\x20/\x201000000);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20Stop:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearTimeout(timeout);\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x0a\x0a\x20\x20function\x20error(output,\x20msg)\x20{\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'stderr',\x20Body:\x20msg\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'end'\x20});\x0a\x20\x20}\x0a\x0a\x20\x20function\x20buildFailed(output,\x20msg)\x20{\x0a\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'stderr',\x20Body:\x20msg\x20});\x0a\x20\x20\x20\x20output({\x20Kind:\x20'system',\x20Body:\x20'\\nGo\x20build\x20failed.'\x20});\x0a\x20\x20}\x0a\x0a\x20\x20var\x20seq\x20=\x200;\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20seq++;\x0a\x20\x20\x20\x20\x20\x20var\x20cur\x20=\x20seq;\x0a\x20\x20\x20\x20\x20\x20var\x20playing;\x0a\x20\x20\x20\x20\x20\x20$.ajax('/compile',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x20version:\x202,\x20body:\x20body,\x20withVet:\x20enableVet\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(data)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20!=\x20cur)\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data)\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(playing\x20!=\x20null)\x20playing.Stop();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Errors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Errors\x20===\x20'process\x20took\x20too\x20long')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Playback\x20the\x20output\x20that\x20was\x20captured\x20before\x20the\x20timeout.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buildFailed(output,\x20data.Errors);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data.Events)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.VetErrors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Inject\x20errors\x20from\x20the\x20vet\x20as\x20the\x20first\x20events\x20in\x20the\x20output.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20'Go\x20vet\x20exited.\\n\\n',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20data.VetErrors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'stderr',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!enableVet\x20||\x20data.VetOK\x20||\x20data.VetErrors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20In\x20case\x20the\x20server\x20support\x20doesn't\x20support\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20compile+vet\x20in\x20same\x20request\x20signaled\x20by\x20the\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20'withVet'\x20parameter\x20above,\x20also\x20try\x20the\x20old\x20way.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20TODO:\x20remove\x20this\x20when\x20it\x20falls\x20out\x20of\x20use.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20It\x20is\x202019-05-13\x20now.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$.ajax('/vet',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x20body:\x20body\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(dataVet)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(dataVet.Errors)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20inject\x20errors\x20from\x20the\x20vet\x20as\x20the\x20first\x20events\x20in\x20the\x20output\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20'Go\x20vet\x20exited.\\n\\n',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'system',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data.Events.unshift({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Message:\x20dataVet.Errors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kind:\x20'stderr',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Delay:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20playing\x20=\x20playback(output,\x20data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error(output,\x20'Error\x20communicating\x20with\x20remote\x20server.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(playing\x20!=\x20null)\x20playing.Stop();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'end',\x20Body:\x20'killed'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20},\x0a\x20\x20};\x0a}\x0a\x0afunction\x20SocketTransport()\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20var\x20id\x20=\x200;\x0a\x20\x20var\x20outputs\x20=\x20{};\x0a\x20\x20var\x20started\x20=\x20{};\x0a\x20\x20var\x20websocket;\x0a\x20\x20if\x20(window.location.protocol\x20==\x20'http:')\x20{\x0a\x20\x20\x20\x20websocket\x20=\x20new\x20WebSocket('ws://'\x20+\x20window.location.host\x20+\x20'/socket');\x0a\x20\x20}\x20else\x20if\x20(window.location.protocol\x20==\x20'https:')\x20{\x0a\x20\x20\x20\x20websocket\x20=\x20new\x20WebSocket('wss://'\x20+\x20window.location.host\x20+\x20'/socket');\x0a\x20\x20}\x0a\x0a\x20\x20websocket.onclose\x20=\x20function()\x20{\x0a\x20\x20\x20\x20console.log('websocket\x20connection\x20closed');\x0a\x20\x20};\x0a\x0a\x20\x20websocket.onmessage\x20=\x20function(e)\x20{\x0a\x20\x20\x20\x20var\x20m\x20=\x20JSON.parse(e.data);\x0a\x20\x20\x20\x20var\x20output\x20=\x20outputs[m.Id];\x0a\x20\x20\x20\x20if\x20(output\x20===\x20null)\x20return;\x0a\x20\x20\x20\x20if\x20(!started[m.Id])\x20{\x0a\x20\x20\x20\x20\x20\x20output({\x20Kind:\x20'start'\x20});\x0a\x20\x20\x20\x20\x20\x20started[m.Id]\x20=\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20output({\x20Kind:\x20m.Kind,\x20Body:\x20m.Body\x20});\x0a\x20\x20};\x0a\x0a\x20\x20function\x20send(m)\x20{\x0a\x20\x20\x20\x20websocket.send(JSON.stringify(m));\x0a\x20\x20}\x0a\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20Run:\x20function(body,\x20output,\x20options)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20thisID\x20=\x20id\x20+\x20'';\x0a\x20\x20\x20\x20\x20\x20id++;\x0a\x20\x20\x20\x20\x20\x20outputs[thisID]\x20=\x20output;\x0a\x20\x20\x20\x20\x20\x20send({\x20Id:\x20thisID,\x20Kind:\x20'run',\x20Body:\x20body,\x20Options:\x20options\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20Kill:\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20send({\x20Id:\x20thisID,\x20Kind:\x20'kill'\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20},\x0a\x20\x20};\x0a}\x0a\x0afunction\x20PlaygroundOutput(el)\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20return\x20function(write)\x20{\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'start')\x20{\x0a\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20cl\x20=\x20'system';\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'stdout'\x20||\x20write.Kind\x20==\x20'stderr')\x20cl\x20=\x20write.Kind;\x0a\x0a\x20\x20\x20\x20var\x20m\x20=\x20write.Body;\x0a\x20\x20\x20\x20if\x20(write.Kind\x20==\x20'end')\x20{\x0a\x20\x20\x20\x20\x20\x20m\x20=\x20'\\nProgram\x20exited'\x20+\x20(m\x20?\x20':\x20'\x20+\x20m\x20:\x20'.');\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(m.indexOf('IMAGE:')\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20TODO(adg):\x20buffer\x20all\x20writes\x20before\x20creating\x20image\x0a\x20\x20\x20\x20\x20\x20var\x20url\x20=\x20'data:image/png;base64,'\x20+\x20m.substr(6);\x0a\x20\x20\x20\x20\x20\x20var\x20img\x20=\x20document.createElement('img');\x0a\x20\x20\x20\x20\x20\x20img.src\x20=\x20url;\x0a\x20\x20\x20\x20\x20\x20el.appendChild(img);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20^L\x20clears\x20the\x20screen.\x0a\x20\x20\x20\x20var\x20s\x20=\x20m.split('\\x0c');\x0a\x20\x20\x20\x20if\x20(s.length\x20>\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20el.innerHTML\x20=\x20'';\x0a\x20\x20\x20\x20\x20\x20m\x20=\x20s.pop();\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/&/g,\x20'&amp;');\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/</g,\x20'&lt;');\x0a\x20\x20\x20\x20m\x20=\x20m.replace(/>/g,\x20'&gt;');\x0a\x0a\x20\x20\x20\x20var\x20needScroll\x20=\x20el.scrollTop\x20+\x20el.offsetHeight\x20==\x20el.scrollHeight;\x0a\x0a\x20\x20\x20\x20var\x20span\x20=\x20document.createElement('span');\x0a\x20\x20\x20\x20span.className\x20=\x20cl;\x0a\x20\x20\x20\x20span.innerHTML\x20=\x20m;\x0a\x20\x20\x20\x20el.appendChild(span);\x0a\x0a\x20\x20\x20\x20if\x20(needScroll)\x20el.scrollTop\x20=\x20el.scrollHeight\x20-\x20el.offsetHeight;\x0a\x20\x20};\x0a}\x0a\x0a(function()\x20{\x0a\x20\x20function\x20lineHighlight(error)\x20{\x0a\x20\x20\x20\x20var\x20regex\x20=\x20/prog.go:([0-9]+)/g;\x0a\x20\x20\x20\x20var\x20r\x20=\x20regex.exec(error);\x0a\x20\x20\x20\x20while\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20$('.lines\x20div')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.eq(r[1]\x20-\x201)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.addClass('lineerror');\x0a\x20\x20\x20\x20\x20\x20r\x20=\x20regex.exec(error);\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20function\x20highlightOutput(wrappedOutput)\x20{\x0a\x20\x20\x20\x20return\x20function(write)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(write.Body)\x20lineHighlight(write.Body);\x0a\x20\x20\x20\x20\x20\x20wrappedOutput(write);\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x0a\x20\x20function\x20lineClear()\x20{\x0a\x20\x20\x20\x20$('.lineerror').removeClass('lineerror');\x0a\x20\x20}\x0a\x0a\x20\x20//\x20opts\x20is\x20an\x20object\x20with\x20these\x20keys\x0a\x20\x20//\x20\x20codeEl\x20-\x20code\x20editor\x20element\x0a\x20\x20//\x20\x20outputEl\x20-\x20program\x20output\x20element\x0a\x20\x20//\x20\x20runEl\x20-\x20run\x20button\x20element\x0a\x20\x20//\x20\x20fmtEl\x20-\x20fmt\x20button\x20element\x20(optional)\x0a\x20\x20//\x20\x20fmtImportEl\x20-\x20fmt\x20\"imports\"\x20checkbox\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareEl\x20-\x20share\x20button\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareURLEl\x20-\x20share\x20URL\x20text\x20input\x20element\x20(optional)\x0a\x20\x20//\x20\x20shareRedirect\x20-\x20base\x20URL\x20to\x20redirect\x20to\x20on\x20share\x20(optional)\x0a\x20\x20//\x20\x20toysEl\x20-\x20toys\x20select\x20element\x20(optional)\x0a\x20\x20//\x20\x20enableHistory\x20-\x20enable\x20using\x20HTML5\x20history\x20API\x20(optional)\x0a\x20\x20//\x20\x20transport\x20-\x20playground\x20transport\x20to\x20use\x20(default\x20is\x20HTTPTransport)\x0a\x20\x20//\x20\x20enableShortcuts\x20-\x20whether\x20to\x20enable\x20shortcuts\x20(Ctrl+S/Cmd+S\x20to\x20save)\x20(default\x20is\x20false)\x0a\x20\x20//\x20\x20enableVet\x20-\x20enable\x20running\x20vet\x20and\x20displaying\x20its\x20errors\x0a\x20\x20function\x20playground(opts)\x20{\x0a\x20\x20\x20\x20var\x20code\x20=\x20$(opts.codeEl);\x0a\x20\x20\x20\x20var\x20transport\x20=\x20opts['transport']\x20||\x20new\x20HTTPTransport(opts['enableVet']);\x0a\x20\x20\x20\x20var\x20running;\x0a\x0a\x20\x20\x20\x20//\x20autoindent\x20helpers.\x0a\x20\x20\x20\x20function\x20insertTabs(n)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20find\x20the\x20selection\x20start\x20and\x20end\x0a\x20\x20\x20\x20\x20\x20var\x20start\x20=\x20code[0].selectionStart;\x0a\x20\x20\x20\x20\x20\x20var\x20end\x20=\x20code[0].selectionEnd;\x0a\x20\x20\x20\x20\x20\x20//\x20split\x20the\x20textarea\x20content\x20into\x20two,\x20and\x20insert\x20n\x20tabs\x0a\x20\x20\x20\x20\x20\x20var\x20v\x20=\x20code[0].value;\x0a\x20\x20\x20\x20\x20\x20var\x20u\x20=\x20v.substr(0,\x20start);\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20n;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20u\x20+=\x20'\\t';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20u\x20+=\x20v.substr(end);\x0a\x20\x20\x20\x20\x20\x20//\x20set\x20revised\x20content\x0a\x20\x20\x20\x20\x20\x20code[0].value\x20=\x20u;\x0a\x20\x20\x20\x20\x20\x20//\x20reset\x20caret\x20position\x20after\x20inserted\x20tabs\x0a\x20\x20\x20\x20\x20\x20code[0].selectionStart\x20=\x20start\x20+\x20n;\x0a\x20\x20\x20\x20\x20\x20code[0].selectionEnd\x20=\x20start\x20+\x20n;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20autoindent(el)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20curpos\x20=\x20el.selectionStart;\x0a\x20\x20\x20\x20\x20\x20var\x20tabs\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20while\x20(curpos\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20curpos--;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(el.value[curpos]\x20==\x20'\\t')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tabs++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(tabs\x20>\x200\x20||\x20el.value[curpos]\x20==\x20'\\n')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20setTimeout(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20insertTabs(tabs);\x0a\x20\x20\x20\x20\x20\x20},\x201);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20NOTE(cbro):\x20e\x20is\x20a\x20jQuery\x20event,\x20not\x20a\x20DOM\x20event.\x0a\x20\x20\x20\x20function\x20handleSaveShortcut(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.isDefaultPrevented())\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(!e.metaKey\x20&&\x20!e.ctrlKey)\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(e.key\x20!=\x20'S'\x20&&\x20e.key\x20!=\x20's')\x20return\x20false;\x0a\x0a\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Share\x20and\x20save\x0a\x20\x20\x20\x20\x20\x20share(function(url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20url\x20+\x20'.go?download=true';\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20keyHandler(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opts.enableShortcuts\x20&&\x20handleSaveShortcut(e))\x20return;\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(e.keyCode\x20==\x209\x20&&\x20!e.ctrlKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20tab\x20(but\x20not\x20ctrl-tab)\x0a\x20\x20\x20\x20\x20\x20\x20\x20insertTabs(1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(e.keyCode\x20==\x2013)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20enter\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.shiftKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20+shift\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20run();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.ctrlKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20+control\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fmt();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autoindent(e.target);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20code.unbind('keydown').bind('keydown',\x20keyHandler);\x0a\x20\x20\x20\x20var\x20outdiv\x20=\x20$(opts.outputEl).empty();\x0a\x20\x20\x20\x20var\x20output\x20=\x20$('<pre/>').appendTo(outdiv);\x0a\x0a\x20\x20\x20\x20function\x20body()\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20$(opts.codeEl).val();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20setBody(text)\x20{\x0a\x20\x20\x20\x20\x20\x20$(opts.codeEl).val(text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20origin(href)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20(''\x20+\x20href)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.split('/')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.slice(0,\x203)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.join('/');\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20pushedEmpty\x20=\x20window.location.pathname\x20==\x20'/';\x0a\x20\x20\x20\x20function\x20inputChanged()\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(pushedEmpty)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20pushedEmpty\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20$(opts.shareURLEl).hide();\x0a\x20\x20\x20\x20\x20\x20window.history.pushState(null,\x20'',\x20'/');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20popState(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e\x20===\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(e\x20&&\x20e.state\x20&&\x20e.state.code)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setBody(e.state.code);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20rewriteHistory\x20=\x20false;\x0a\x20\x20\x20\x20if\x20(\x0a\x20\x20\x20\x20\x20\x20window.history\x20&&\x0a\x20\x20\x20\x20\x20\x20window.history.pushState\x20&&\x0a\x20\x20\x20\x20\x20\x20window.addEventListener\x20&&\x0a\x20\x20\x20\x20\x20\x20opts.enableHistory\x0a\x20\x20\x20\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20rewriteHistory\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20code[0].addEventListener('input',\x20inputChanged);\x0a\x20\x20\x20\x20\x20\x20window.addEventListener('popstate',\x20popState);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20setError(error)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20lineClear();\x0a\x20\x20\x20\x20\x20\x20lineHighlight(error);\x0a\x20\x20\x20\x20\x20\x20output\x0a\x20\x20\x20\x20\x20\x20\x20\x20.empty()\x0a\x20\x20\x20\x20\x20\x20\x20\x20.addClass('error')\x0a\x20\x20\x20\x20\x20\x20\x20\x20.text(error);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20loading()\x20{\x0a\x20\x20\x20\x20\x20\x20lineClear();\x0a\x20\x20\x20\x20\x20\x20if\x20(running)\x20running.Kill();\x0a\x20\x20\x20\x20\x20\x20output.removeClass('error').text('Waiting\x20for\x20remote\x20server...');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20function\x20run()\x20{\x0a\x20\x20\x20\x20\x20\x20loading();\x0a\x20\x20\x20\x20\x20\x20running\x20=\x20transport.Run(\x0a\x20\x20\x20\x20\x20\x20\x20\x20body(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20highlightOutput(PlaygroundOutput(output[0]))\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20fmt()\x20{\x0a\x20\x20\x20\x20\x20\x20loading();\x0a\x20\x20\x20\x20\x20\x20var\x20data\x20=\x20{\x20body:\x20body()\x20};\x0a\x20\x20\x20\x20\x20\x20if\x20($(opts.fmtImportEl).is(':checked'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20data['imports']\x20=\x20'true';\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$.ajax('/fmt',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20dataType:\x20'json',\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20function(data)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.Error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setError(data.Error);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setBody(data.Body);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setError('');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20shareURL;\x20//\x20jQuery\x20element\x20to\x20show\x20the\x20shared\x20URL.\x0a\x20\x20\x20\x20var\x20sharing\x20=\x20false;\x20//\x20true\x20if\x20there\x20is\x20a\x20pending\x20request.\x0a\x20\x20\x20\x20var\x20shareCallbacks\x20=\x20[];\x0a\x20\x20\x20\x20function\x20share(opt_callback)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opt_callback)\x20shareCallbacks.push(opt_callback);\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(sharing)\x20return;\x0a\x20\x20\x20\x20\x20\x20sharing\x20=\x20true;\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20sharingData\x20=\x20body();\x0a\x20\x20\x20\x20\x20\x20$.ajax('/share',\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20processData:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20sharingData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'POST',\x0a\x20\x20\x20\x20\x20\x20\x20\x20contentType:\x20'text/plain;\x20charset=utf-8',\x0a\x20\x20\x20\x20\x20\x20\x20\x20complete:\x20function(xhr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sharing\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20!=\x20200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alert('Server\x20error;\x20try\x20again.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(opts.shareRedirect)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location\x20=\x20opts.shareRedirect\x20+\x20xhr.responseText;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20path\x20=\x20'/p/'\x20+\x20xhr.responseText;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20url\x20=\x20origin(window.location)\x20+\x20path;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20shareCallbacks.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareCallbacks[i](url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareCallbacks\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(shareURL)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20shareURL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.show()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.val(url)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.focus()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.select();\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(rewriteHistory)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20historyData\x20=\x20{\x20code:\x20sharingData\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.history.pushState(historyData,\x20'',\x20path);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pushedEmpty\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20$(opts.runEl).click(run);\x0a\x20\x20\x20\x20$(opts.fmtEl).click(fmt);\x0a\x0a\x20\x20\x20\x20if\x20(\x0a\x20\x20\x20\x20\x20\x20opts.shareEl\x20!==\x20null\x20&&\x0a\x20\x20\x20\x20\x20\x20(opts.shareURLEl\x20!==\x20null\x20||\x20opts.shareRedirect\x20!==\x20null)\x0a\x20\x20\x20\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(opts.shareURLEl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20shareURL\x20=\x20$(opts.shareURLEl).hide();\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20$(opts.shareEl).click(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20share();\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(opts.toysEl\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20$(opts.toysEl).bind('change',\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20toy\x20=\x20$(this).val();\x0a\x20\x20\x20\x20\x20\x20\x20\x20$.ajax('/doc/play/'\x20+\x20toy,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20processData:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20'GET',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20complete:\x20function(xhr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20!=\x20200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alert('Server\x20error;\x20try\x20again.');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setBody(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20window.playground\x20=\x20playground;\x0a})();\x0a",
-
-	"search.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a\x0a{{\x20$colCount\x20:=\x20tocColCount\x20.}}\x0a{{/*\x20Generate\x20the\x20TOC\x20*/}}\x0a<nav\x20class=\"search-nav\"\x20style=\"column-count:\x20{{$colCount}}\"\x20role=\"navigation\">\x0a{{range\x20$key,\x20$val\x20:=\x20.Idents}}\x0a\x09{{if\x20$val}}\x0a\x09\x09<a\x20href=\"#{{$key.Name}}\">{{$key.Name}}</a>\x0a\x09\x09<br\x20/>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{if\x20not\x20.Idents}}\x0a\x09{{with\x20.Pak}}\x0a\x09\x09<a\x20href=\"#Packages\">Package\x20{{html\x20$.Query}}</a>\x0a\x09\x09<br\x20/>\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Hit}}\x0a\x09{{with\x20.Decls}}\x0a\x09\x09<a\x20href=\"#Global\">Package-level\x20declarations</a>\x0a\x09\x09<br\x20/>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<a\x20href=\"#Global_{{$pkg_html}}\"\x20class=\"indent\">package\x20{{html\x20.Pak.Name}}</a>\x0a\x09\x09\x09<br\x20/>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x09{{with\x20.Others}}\x0a\x09\x09<a\x20href=\"#Local\">Local\x20declarations\x20and\x20uses</a>\x0a\x09\x09<br\x20/>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<a\x20href=\"#Local_{{$pkg_html}}\"\x20class=\"indent\">package\x20{{html\x20.Pak.Name}}</a>\x0a\x09\x09\x09<br\x20/>\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a\x0a{{with\x20.Textual}}\x0a\x09{{if\x20$.Complete}}\x0a\x09\x09<a\x20href=\"#Textual\">{{html\x20$.Found}}\x20textual\x20occurrences</a>\x0a\x09{{else}}\x0a\x09\x09<a\x20href=\"#Textual\">More\x20than\x20{{html\x20$.Found}}\x20textual\x20occurrences</a>\x0a\x09{{end}}\x0a{{end}}\x0a</nav>\x0a\x0a{{with\x20.Alert}}\x0a\x09<p>\x0a\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">{{html\x20.}}</span>\x0a\x09</p>\x0a{{end}}\x0a{{with\x20.Alt}}\x0a\x09<p>\x0a\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">Did\x20you\x20mean:\x20</span>\x0a\x09{{range\x20.Alts}}\x0a\x09\x09<a\x20href=\"search?q={{urlquery\x20.}}\"\x20style=\"font-size:120%\">{{html\x20.}}</a>\x0a\x09{{end}}\x0a\x09</p>\x0a{{end}}\x0a",
-
-	"searchcode.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{$query_url\x20:=\x20urlquery\x20.Query}}\x0a{{if\x20not\x20.Idents}}\x0a\x09{{with\x20.Pak}}\x0a\x09\x09<h2\x20id=\"Packages\">Package\x20{{html\x20$.Query}}</h2>\x0a\x09\x09<p>\x0a\x09\x09<table\x20class=\"layout\">\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<tr><td><a\x20href=\"/{{$pkg_html}}\">{{$pkg_html}}</a></td></tr>\x0a\x09\x09{{end}}\x0a\x09\x09</table>\x0a\x09\x09</p>\x0a\x09{{end}}\x0a{{end}}\x0a{{with\x20.Hit}}\x0a\x09{{with\x20.Decls}}\x0a\x09\x09<h2\x20id=\"Global\">Package-level\x20declarations</h2>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<h3\x20id=\"Global_{{$pkg_html}}\">package\x20<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Pak.Name}}</a></h3>\x0a\x09\x09\x09{{range\x20.Files}}\x0a\x09\x09\x09\x09{{$file\x20:=\x20.File.Path}}\x0a\x09\x09\x09\x09{{range\x20.Groups}}\x0a\x09\x09\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09\x09\x09{{$line\x20:=\x20infoLine\x20.}}\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20$line\x20|\x20html}}\">{{$file}}:{{$line}}</a>\x0a\x09\x09\x09\x09\x09\x09{{infoSnippet_html\x20.}}\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a\x09{{with\x20.Others}}\x0a\x09\x09<h2\x20id=\"Local\">Local\x20declarations\x20and\x20uses</h2>\x0a\x09\x09{{range\x20.}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Pak.Path\x20|\x20html}}\x0a\x09\x09\x09<h3\x20id=\"Local_{{$pkg_html}}\">package\x20<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Pak.Name}}</a></h3>\x0a\x09\x09\x09{{range\x20.Files}}\x0a\x09\x09\x09\x09{{$file\x20:=\x20.File.Path}}\x0a\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x200\x20|\x20html}}\">{{$file}}</a>\x0a\x09\x09\x09\x09<table\x20class=\"layout\">\x0a\x09\x09\x09\x09{{range\x20.Groups}}\x0a\x09\x09\x09\x09\x09<tr>\x0a\x09\x09\x09\x09\x09<td\x20width=\"25\"></td>\x0a\x09\x09\x09\x09\x09<th\x20align=\"left\"\x20valign=\"top\">{{index\x20.\x200\x20|\x20infoKind_html}}</th>\x0a\x09\x09\x09\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09\x09\x09\x09<td>\x0a\x09\x09\x09\x09\x09{{range\x20.}}\x0a\x09\x09\x09\x09\x09\x09{{$line\x20:=\x20infoLine\x20.}}\x0a\x09\x09\x09\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20$line\x20|\x20html}}\">{{$line}}</a>\x0a\x09\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09\x09</td>\x0a\x09\x09\x09\x09\x09</tr>\x0a\x09\x09\x09\x09{{end}}\x0a\x09\x09\x09\x09</table>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a",
-
-	"searchdoc.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{range\x20$key,\x20$val\x20:=\x20.Idents}}\x0a\x09{{if\x20$val}}\x0a\x09\x09<h2\x20id=\"{{$key.Name}}\">{{$key.Name}}</h2>\x0a\x09\x09{{range\x20$val}}\x0a\x09\x09\x09{{$pkg_html\x20:=\x20pkgLink\x20.Path\x20|\x20html}}\x0a\x09\x09\x09{{if\x20eq\x20\"Packages\"\x20$key.Name}}\x0a\x09\x09\x09\x09<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Path}}</a>\x0a\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09{{$doc_html\x20:=\x20docLink\x20.Path\x20.Name|\x20html}}\x0a\x09\x09\x09\x09<a\x20href=\"/{{$pkg_html}}\">{{html\x20.Package}}</a>.<a\x20href=\"{{$doc_html}}\">{{.Name}}</a>\x0a\x09\x09\x09{{end}}\x0a\x09\x09\x09{{if\x20.Doc}}\x0a\x09\x09\x09\x09<p>{{comment_html\x20.Doc}}</p>\x0a\x09\x09\x09{{else}}\x0a\x09\x09\x09\x09<p><em>No\x20documentation\x20available</em></p>\x0a\x09\x09\x09{{end}}\x0a\x09\x09{{end}}\x0a\x09{{end}}\x0a{{end}}\x0a",
-
-	"searchtxt.html": "<!--\x0a\x09Copyright\x202009\x20The\x20Go\x20Authors.\x20All\x20rights\x20reserved.\x0a\x09Use\x20of\x20this\x20source\x20code\x20is\x20governed\x20by\x20a\x20BSD-style\x0a\x09license\x20that\x20can\x20be\x20found\x20in\x20the\x20LICENSE\x20file.\x0a-->\x0a{{$query_url\x20:=\x20urlquery\x20.Query}}\x0a{{with\x20.Textual}}\x0a\x09{{if\x20$.Complete}}\x0a\x09\x09<h2\x20id=\"Textual\">{{html\x20$.Found}}\x20textual\x20occurrences</h2>\x0a\x09{{else}}\x0a\x09\x09<h2\x20id=\"Textual\">More\x20than\x20{{html\x20$.Found}}\x20textual\x20occurrences</h2>\x0a\x09\x09<p>\x0a\x09\x09<span\x20class=\"alert\"\x20style=\"font-size:120%\">Not\x20all\x20files\x20or\x20lines\x20containing\x20\"{{html\x20$.Query}}\"\x20are\x20shown.</span>\x0a\x09\x09</p>\x0a\x09{{end}}\x0a\x09<p>\x0a\x09<table\x20class=\"layout\">\x0a\x09{{range\x20.}}\x0a\x09\x09{{$file\x20:=\x20.Filename}}\x0a\x09\x09<tr>\x0a\x09\x09<td\x20align=\"left\"\x20valign=\"top\">\x0a\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x200}}\">{{$file}}</a>:\x0a\x09\x09</td>\x0a\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09<th\x20align=\"left\"\x20valign=\"top\">{{len\x20.Lines}}</th>\x0a\x09\x09<td\x20align=\"left\"\x20width=\"4\"></td>\x0a\x09\x09<td\x20align=\"left\">\x0a\x09\x09{{range\x20.Lines}}\x0a\x09\x09\x09<a\x20href=\"{{queryLink\x20$file\x20$query_url\x20.}}\">{{html\x20.}}</a>\x0a\x09\x09{{end}}\x0a\x09\x09{{if\x20not\x20$.Complete}}\x0a\x09\x09\x09...\x0a\x09\x09{{end}}\x0a\x09\x09</td>\x0a\x09\x09</tr>\x0a\x09{{end}}\x0a\x09{{if\x20not\x20$.Complete}}\x0a\x09\x09<tr><td\x20align=\"left\">...</td></tr>\x0a\x09{{end}}\x0a\x09</table>\x0a\x09</p>\x0a{{end}}\x0a",
-
-	"style.css": "body\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Arial,\x20sans-serif;\x0a\x20\x20background-color:\x20#fff;\x0a\x20\x20line-height:\x201.3;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20color:\x20#222;\x0a}\x0atextarea\x20{\x0a\x20\x20/*\x20Inherit\x20text\x20color\x20from\x20body\x20avoiding\x20illegible\x20text\x20in\x20the\x20case\x20where\x20the\x0a\x20\x09*\x20user\x20has\x20inverted\x20the\x20browsers\x20custom\x20text\x20and\x20background\x20colors.\x20*/\x0a\x20\x20color:\x20inherit;\x0a}\x0apre,\x0acode\x20{\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0apre\x20{\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20overflow-x:\x20auto;\x0a}\x0apre\x20.comment\x20{\x0a\x20\x20color:\x20#006600;\x0a}\x0apre\x20.highlight,\x0apre\x20.highlight-comment,\x0apre\x20.selection-highlight,\x0apre\x20.selection-highlight-comment\x20{\x0a\x20\x20background:\x20#ffff00;\x0a}\x0apre\x20.selection,\x0apre\x20.selection-comment\x20{\x0a\x20\x20background:\x20#ff9632;\x0a}\x0apre\x20.ln\x20{\x0a\x20\x20color:\x20#999;\x0a\x20\x20background:\x20#efefef;\x0a}\x0a.ln\x20{\x0a\x20\x20-webkit-user-select:\x20none;\x0a\x20\x20-moz-user-select:\x20none;\x0a\x20\x20-ms-user-select:\x20none;\x0a\x20\x20user-select:\x20none;\x0a\x0a\x20\x20/*\x20Ensure\x208\x20characters\x20in\x20the\x20document\x20-\x20which\x20due\x20to\x20floating\x0a\x20\x20\x20*\x20point\x20rendering\x20issues,\x20might\x20have\x20a\x20width\x20of\x20less\x20than\x201\x20each\x20-\x20are\x208\x0a\x20\x20\x20*\x20characters\x20wide,\x20so\x20a\x20tab\x20in\x20the\x209th\x20position\x20indents\x20properly.\x20See\x0a\x20\x20\x20*\x20https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091\x0a\x20\x20\x20*\x20for\x20more\x20information.\x20*/\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20width:\x208ch;\x0a}\x0a\x0a.search-nav\x20{\x0a\x20\x20margin-left:\x201.25rem;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20column-gap:\x201.25rem;\x0a\x20\x20column-fill:\x20auto;\x0a\x20\x20column-width:\x2014rem;\x0a}\x0a\x0a.search-nav\x20.indent\x20{\x0a\x20\x20margin-left:\x201.25rem;\x0a}\x0a\x0aa,\x0a.exampleHeading\x20.text,\x0a.expandAll\x20{\x0a\x20\x20color:\x20#375eab;\x0a\x20\x20text-decoration:\x20none;\x0a}\x0aa:hover,\x0a.exampleHeading\x20.text:hover,\x0a.expandAll:hover\x20{\x0a\x20\x20text-decoration:\x20underline;\x0a}\x0a.article\x20a\x20{\x0a\x20\x20text-decoration:\x20underline;\x0a}\x0a.article\x20.title\x20a\x20{\x0a\x20\x20text-decoration:\x20none;\x0a}\x0a\x0a.permalink\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a:hover\x20>\x20.permalink\x20{\x0a\x20\x20display:\x20inline;\x0a}\x0a\x0ap,\x0ali\x20{\x0a\x20\x20max-width:\x2050rem;\x0a\x20\x20word-wrap:\x20break-word;\x0a}\x0ap,\x0apre,\x0aul,\x0aol\x20{\x0a\x20\x20margin:\x201.25rem;\x0a}\x0apre\x20{\x0a\x20\x20background:\x20#efefef;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a\x0ah1,\x0ah2,\x0ah3,\x0ah4,\x0a.rootHeading\x20{\x0a\x20\x20margin:\x201.25rem\x200\x201.25rem;\x0a\x20\x20padding:\x200;\x0a\x20\x20color:\x20#375eab;\x0a\x20\x20font-weight:\x20bold;\x0a}\x0ah1\x20{\x0a\x20\x20font-size:\x201.75rem;\x0a\x20\x20line-height:\x201;\x0a}\x0ah1\x20.text-muted\x20{\x0a\x20\x20color:\x20#777;\x0a}\x0ah2\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20background:\x20#e0ebf5;\x0a\x20\x20padding:\x200.5rem;\x0a\x20\x20line-height:\x201.25;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20overflow-wrap:\x20break-word;\x0a}\x0ah2\x20a\x20{\x0a\x20\x20font-weight:\x20bold;\x0a}\x0ah3\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20line-height:\x201.25;\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20overflow-wrap:\x20break-word;\x0a}\x0ah3,\x0ah4\x20{\x0a\x20\x20margin:\x201.25rem\x200.3125rem;\x0a}\x0ah4\x20{\x0a\x20\x20font-size:\x201rem;\x0a}\x0a.rootHeading\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20margin:\x200;\x0a}\x0a\x0ah2\x20>\x20span,\x0ah3\x20>\x20span\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20margin:\x200\x2025px\x200\x200;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20color:\x20#5279c7;\x0a}\x0a\x0adl\x20{\x0a\x20\x20margin:\x201.25rem;\x0a}\x0add\x20{\x0a\x20\x20margin:\x200\x200\x200\x201.25rem;\x0a}\x0adl,\x0add\x20{\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#nav\x20table\x20td\x20{\x0a\x20\x20vertical-align:\x20top;\x0a}\x0a\x0a#pkg-index\x20h3\x20{\x0a\x20\x20font-size:\x201rem;\x0a}\x0a.pkg-dir\x20{\x0a\x20\x20padding:\x200\x200.625rem;\x0a}\x0a.pkg-dir\x20table\x20{\x0a\x20\x20border-collapse:\x20collapse;\x0a\x20\x20border-spacing:\x200;\x0a}\x0a.pkg-name\x20{\x0a\x20\x20padding-right:\x200.625rem;\x0a}\x0a.alert\x20{\x0a\x20\x20color:\x20#aa0000;\x0a}\x0a\x0a.top-heading\x20{\x0a\x20\x20float:\x20left;\x0a\x20\x20padding:\x201.313rem\x200;\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20font-weight:\x20normal;\x0a}\x0a.top-heading\x20a\x20{\x0a\x20\x20color:\x20#222;\x0a\x20\x20text-decoration:\x20none;\x0a}\x0a\x0a#pkg-examples\x20h3\x20{\x0a\x20\x20float:\x20left;\x0a}\x0a\x0a#pkg-examples\x20dl\x20{\x0a\x20\x20clear:\x20both;\x0a}\x0a\x0a.expandAll\x20{\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20float:\x20left;\x0a\x20\x20margin:\x201.25rem\x200;\x0a}\x0a\x0adiv#topbar\x20{\x0a\x20\x20background:\x20#e0ebf5;\x0a\x20\x20height:\x204rem;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a\x0adiv#page\x20{\x0a\x20\x20width:\x20100%;\x0a}\x0adiv#page\x20>\x20.container,\x0adiv#topbar\x20>\x20.container\x20{\x0a\x20\x20text-align:\x20left;\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20margin-right:\x20auto;\x0a\x20\x20padding:\x200\x201.25rem;\x0a}\x0adiv#topbar\x20>\x20.container,\x0adiv#page\x20>\x20.container\x20{\x0a\x20\x20max-width:\x2059.38rem;\x0a}\x0adiv#page.wide\x20>\x20.container,\x0adiv#topbar.wide\x20>\x20.container\x20{\x0a\x20\x20max-width:\x20none;\x0a}\x0adiv#plusone\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20clear:\x20right;\x0a\x20\x20margin-top:\x200.3125rem;\x0a}\x0a\x0adiv#footer\x20{\x0a\x20\x20text-align:\x20center;\x0a\x20\x20color:\x20#666;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20margin:\x202.5rem\x200;\x0a}\x0a\x0adiv#menu\x20>\x20a,\x0ainput#search,\x0adiv#learn\x20.buttons\x20a,\x0adiv.play\x20.buttons\x20a,\x0adiv#blog\x20.read\x20a,\x0a#menu-button\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x0a\x20\x20text-decoration:\x20none;\x0a\x20\x20font-size:\x201rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0adiv#playground\x20.buttons\x20a,\x0adiv#menu\x20>\x20a,\x0ainput#search,\x0a#menu-button\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv#playground\x20.buttons\x20a,\x0adiv#menu\x20>\x20a,\x0a#menu-button\x20{\x0a\x20\x20color:\x20white;\x0a\x20\x20background:\x20#375eab;\x0a}\x0a#playgroundButton.active\x20{\x0a\x20\x20background:\x20white;\x0a\x20\x20color:\x20#375eab;\x0a}\x0aa#start,\x0adiv#learn\x20.buttons\x20a,\x0adiv.play\x20.buttons\x20a,\x0adiv#blog\x20.read\x20a\x20{\x0a\x20\x20color:\x20#222;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20background:\x20#e0ebf5;\x0a}\x0a.download\x20{\x0a\x20\x20width:\x209.375rem;\x0a}\x0a\x0adiv#menu\x20{\x0a\x20\x20text-align:\x20right;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20max-height:\x200;\x0a\x20\x20-moz-transition:\x20max-height\x200.25s\x20linear;\x0a\x20\x20transition:\x20max-height\x200.25s\x20linear;\x0a\x20\x20width:\x20100%;\x0a}\x0adiv#menu.menu-visible\x20{\x0a\x20\x20max-height:\x2031.25rem;\x0a}\x0adiv#menu\x20>\x20a,\x0a#menu-button\x20{\x0a\x20\x20margin:\x200.625rem\x200.125rem;\x0a\x20\x20padding:\x200.625rem;\x0a}\x0a::-webkit-input-placeholder\x20{\x0a\x20\x20color:\x20#7f7f7f;\x0a\x20\x20opacity:\x201;\x0a}\x0a::placeholder\x20{\x0a\x20\x20color:\x20#7f7f7f;\x0a\x20\x20opacity:\x201;\x0a}\x0a#menu\x20.search-box\x20{\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20width:\x208.75rem;\x0a}\x0ainput#search\x20{\x0a\x20\x20background:\x20white;\x0a\x20\x20color:\x20#222;\x0a\x20\x20box-sizing:\x20border-box;\x0a\x20\x20-webkit-appearance:\x20none;\x0a\x20\x20border-top-right-radius:\x200;\x0a\x20\x20border-bottom-right-radius:\x200;\x0a\x20\x20border-right:\x200;\x0a\x20\x20margin-right:\x200;\x0a\x20\x20flex-grow:\x201;\x0a\x20\x20max-width:\x20100%;\x0a\x20\x20min-width:\x205.625rem;\x0a}\x0ainput#search:-webkit-search-decoration\x20{\x0a\x20\x20-webkit-appearance:\x20none;\x0a}\x0ainput#search:-moz-ui-invalid\x20{\x0a\x20\x20box-shadow:\x20unset;\x0a}\x0ainput#search\x20+\x20button\x20{\x0a\x20\x20display:\x20inline;\x0a\x20\x20font-size:\x201em;\x0a\x20\x20background-color:\x20#375eab;\x0a\x20\x20color:\x20white;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20border-top-left-radius:\x200;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200;\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20margin-left:\x200;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0ainput#search\x20+\x20button\x20span\x20{\x0a\x20\x20display:\x20flex;\x0a}\x0ainput#search\x20+\x20button\x20svg\x20{\x0a\x20\x20fill:\x20white;\x0a}\x0a\x0a#menu-button\x20{\x0a\x20\x20display:\x20none;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20right:\x200.3125rem;\x0a\x20\x20top:\x200;\x0a\x20\x20margin-right:\x200.3125rem;\x0a}\x0a#menu-button-arrow\x20{\x0a\x20\x20display:\x20inline-block;\x0a}\x0a.vertical-flip\x20{\x0a\x20\x20transform:\x20rotate(-180deg);\x0a}\x0a\x0adiv.left\x20{\x0a\x20\x20float:\x20left;\x0a\x20\x20clear:\x20left;\x0a\x20\x20margin-right:\x202.5%;\x0a}\x0adiv.right\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20clear:\x20right;\x0a\x20\x20margin-left:\x202.5%;\x0a}\x0adiv.left,\x0adiv.right\x20{\x0a\x20\x20width:\x2045%;\x0a}\x0a\x0adiv#learn,\x0adiv#about\x20{\x0a\x20\x20padding-top:\x201.25rem;\x0a}\x0adiv#learn\x20h2,\x0adiv#about\x20{\x0a\x20\x20margin:\x200;\x0a}\x0adiv#about\x20{\x0a\x20\x20font-size:\x201.25rem;\x0a\x20\x20margin:\x200\x20auto\x201.875rem;\x0a}\x0adiv#gopher\x20{\x0a\x20\x20background:\x20url(/doc/gopher/frontpage.png)\x20no-repeat;\x0a\x20\x20background-position:\x20center\x20top;\x0a\x20\x20height:\x209.688rem;\x0a\x20\x20max-height:\x20200px;\x20/*\x20Setting\x20in\x20px\x20to\x20prevent\x20the\x20gopher\x20from\x20blowing\x20up\x20in\x20very\x20high\x20default\x20font-sizes\x20*/\x0a}\x0aa#start\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20padding:\x200.625rem;\x0a\x0a\x20\x20text-align:\x20center;\x0a\x20\x20text-decoration:\x20none;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0aa#start\x20.big\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-weight:\x20bold;\x0a\x20\x20font-size:\x201.25rem;\x0a}\x0aa#start\x20.desc\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20font-weight:\x20normal;\x0a\x20\x20margin-top:\x200.3125rem;\x0a}\x0a\x0adiv#learn\x20.popout\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20display:\x20block;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20font-size:\x200.75rem;\x0a\x20\x20background:\x20url(/doc/share.png)\x20no-repeat;\x0a\x20\x20background-position:\x20right\x20center;\x0a\x20\x20padding:\x200.375rem\x201.688rem;\x0a}\x0adiv#learn\x20pre,\x0adiv#learn\x20textarea\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#learn\x20.input\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20margin-top:\x200.625rem;\x0a\x20\x20height:\x209.375rem;\x0a\x0a\x20\x20border-top-left-radius:\x200.3125rem;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a}\x0adiv#learn\x20.input\x20textarea\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20height:\x20100%;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x20none;\x0a\x20\x20resize:\x20none;\x0a}\x0adiv#learn\x20.output\x20{\x0a\x20\x20border-top:\x20none\x20!important;\x0a\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20height:\x203.688rem;\x0a\x20\x20overflow:\x20auto;\x0a\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a}\x0adiv#learn\x20.output\x20pre\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20border-radius:\x200;\x0a}\x0adiv#learn\x20.input,\x0adiv#learn\x20.input\x20textarea,\x0adiv#learn\x20.output,\x0adiv#learn\x20.output\x20pre\x20{\x0a\x20\x20background:\x20#ffffd8;\x0a}\x0adiv#learn\x20.input,\x0adiv#learn\x20.output\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv#learn\x20.buttons\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20padding:\x201.25rem\x200\x200.625rem\x200;\x0a\x20\x20text-align:\x20right;\x0a}\x0adiv#learn\x20.buttons\x20a\x20{\x0a\x20\x20height:\x201rem;\x0a\x20\x20margin-left:\x200.3125rem;\x0a\x20\x20padding:\x200.625rem;\x0a}\x0adiv#learn\x20.toys\x20{\x0a\x20\x20margin-top:\x200.5rem;\x0a}\x0adiv#learn\x20.toys\x20select\x20{\x0a\x20\x20font-size:\x200.875rem;\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a\x20\x20margin:\x200;\x0a}\x0adiv#learn\x20.output\x20.exit\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a\x0adiv#video\x20{\x0a\x20\x20max-width:\x20100%;\x0a}\x0adiv#blog,\x0adiv#video\x20{\x0a\x20\x20margin-top:\x202.5rem;\x0a}\x0adiv#blog\x20>\x20a,\x0adiv#blog\x20>\x20div,\x0adiv#blog\x20>\x20h2,\x0adiv#video\x20>\x20a,\x0adiv#video\x20>\x20div,\x0adiv#video\x20>\x20h2\x20{\x0a\x20\x20margin-bottom:\x200.625rem;\x0a}\x0adiv#blog\x20.title,\x0adiv#video\x20.title\x20{\x0a\x20\x20display:\x20block;\x0a\x20\x20font-size:\x201.25rem;\x0a}\x0adiv#blog\x20.when\x20{\x0a\x20\x20color:\x20#666;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv#blog\x20.read\x20{\x0a\x20\x20text-align:\x20right;\x0a}\x0a\x0a@supports\x20(--c:\x200)\x20{\x0a\x20\x20[style*='--aspect-ratio-padding:']\x20{\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20padding-top:\x20var(--aspect-ratio-padding);\x0a\x20\x20}\x0a\x0a\x20\x20[style*='--aspect-ratio-padding:']\x20>\x20*\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20}\x0a}\x0a\x0a.toggleButton\x20{\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a.toggle\x20>\x20.collapsed\x20{\x0a\x20\x20display:\x20block;\x0a}\x0a.toggle\x20>\x20.expanded\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a.toggleVisible\x20>\x20.collapsed\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a.toggleVisible\x20>\x20.expanded\x20{\x0a\x20\x20display:\x20block;\x0a}\x0a\x0atable.codetable\x20{\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20margin-right:\x20auto;\x0a\x20\x20border-style:\x20none;\x0a}\x0atable.codetable\x20td\x20{\x0a\x20\x20padding-right:\x200.625rem;\x0a}\x0ahr\x20{\x0a\x20\x20border-style:\x20none;\x0a\x20\x20border-top:\x200.0625rem\x20solid\x20black;\x0a}\x0a\x0aimg.gopher\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20margin-left:\x200.625rem;\x0a\x20\x20margin-bottom:\x200.625rem;\x0a\x20\x20z-index:\x20-1;\x0a}\x0ah2\x20{\x0a\x20\x20clear:\x20right;\x0a}\x0a\x0a/*\x20example\x20and\x20drop-down\x20playground\x20*/\x0adiv.play\x20{\x0a\x20\x20padding:\x200\x201.25rem\x202.5rem\x201.25rem;\x0a}\x0adiv.play\x20pre,\x0adiv.play\x20textarea,\x0adiv.play\x20.lines\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20margin:\x200;\x0a\x20\x20font-family:\x20Menlo,\x20monospace;\x0a\x20\x20font-size:\x200.875rem;\x0a}\x0adiv.play\x20.input\x20{\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20margin-top:\x200.625rem;\x0a\x0a\x20\x20border-top-left-radius:\x200.3125rem;\x0a\x20\x20border-top-right-radius:\x200.3125rem;\x0a\x0a\x20\x20overflow:\x20hidden;\x0a}\x0adiv.play\x20.input\x20textarea\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20height:\x20100%;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x20none;\x0a\x20\x20resize:\x20none;\x0a\x0a\x20\x20overflow:\x20hidden;\x0a}\x0adiv#playground\x20.input\x20textarea\x20{\x0a\x20\x20overflow:\x20auto;\x0a\x20\x20resize:\x20auto;\x0a}\x0adiv.play\x20.output\x20{\x0a\x20\x20border-top:\x20none\x20!important;\x0a\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20max-height:\x2012.5rem;\x0a\x20\x20overflow:\x20auto;\x0a\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a}\x0adiv.play\x20.output\x20pre\x20{\x0a\x20\x20padding:\x200;\x0a\x20\x20border-radius:\x200;\x0a}\x0adiv.play\x20.input,\x0adiv.play\x20.input\x20textarea,\x0adiv.play\x20.output,\x0adiv.play\x20.output\x20pre\x20{\x0a\x20\x20background:\x20#ffffd8;\x0a}\x0adiv.play\x20.input,\x0adiv.play\x20.output\x20{\x0a\x20\x20border:\x200.0625rem\x20solid\x20#375eab;\x0a}\x0adiv.play\x20.buttons\x20{\x0a\x20\x20float:\x20right;\x0a\x20\x20padding:\x201.25rem\x200\x200.625rem\x200;\x0a\x20\x20text-align:\x20right;\x0a}\x0adiv.play\x20.buttons\x20a\x20{\x0a\x20\x20height:\x201rem;\x0a\x20\x20margin-left:\x200.3125rem;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a.output\x20.stderr\x20{\x0a\x20\x20color:\x20#933;\x0a}\x0a.output\x20.system\x20{\x0a\x20\x20color:\x20#999;\x0a}\x0a\x0a/*\x20drop-down\x20playground\x20*/\x0adiv#playground\x20{\x0a\x20\x20/*\x20start\x20hidden;\x20revealed\x20by\x20javascript\x20*/\x0a\x20\x20display:\x20none;\x0a}\x0adiv#playground\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20top:\x203.938rem;\x0a\x20\x20right:\x201.25rem;\x0a\x20\x20padding:\x200\x200.625rem\x200.625rem\x200.625rem;\x0a\x20\x20z-index:\x201;\x0a\x20\x20text-align:\x20left;\x0a\x20\x20background:\x20#e0ebf5;\x0a\x0a\x20\x20border:\x200.0625rem\x20solid\x20#b0bbc5;\x0a\x20\x20border-top:\x20none;\x0a\x0a\x20\x20border-bottom-left-radius:\x200.3125rem;\x0a\x20\x20border-bottom-right-radius:\x200.3125rem;\x0a}\x0adiv#playground\x20.code\x20{\x0a\x20\x20width:\x2032.5rem;\x0a\x20\x20height:\x2012.5rem;\x0a}\x0adiv#playground\x20.output\x20{\x0a\x20\x20height:\x206.25rem;\x0a}\x0a\x0a/*\x20Inline\x20runnable\x20snippets\x20(play.js/initPlayground)\x20*/\x0a#content\x20.code\x20pre,\x0a#content\x20.playground\x20pre,\x0a#content\x20.output\x20pre\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20padding:\x200;\x0a\x20\x20background:\x20none;\x0a\x20\x20border:\x20none;\x0a\x20\x20outline:\x200\x20solid\x20transparent;\x0a\x20\x20overflow:\x20auto;\x0a}\x0a#content\x20.playground\x20.number,\x0a#content\x20.code\x20.number\x20{\x0a\x20\x20color:\x20#999;\x0a}\x0a#content\x20.code,\x0a#content\x20.playground,\x0a#content\x20.output\x20{\x0a\x20\x20width:\x20auto;\x0a\x20\x20margin:\x201.25rem;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a#content\x20.code,\x0a#content\x20.playground\x20{\x0a\x20\x20background:\x20#e9e9e9;\x0a}\x0a#content\x20.output\x20{\x0a\x20\x20background:\x20#202020;\x0a}\x0a#content\x20.output\x20.stdout,\x0a#content\x20.output\x20pre\x20{\x0a\x20\x20color:\x20#e6e6e6;\x0a}\x0a#content\x20.output\x20.stderr,\x0a#content\x20.output\x20.error\x20{\x0a\x20\x20color:\x20rgb(244,\x2074,\x2063);\x0a}\x0a#content\x20.output\x20.system,\x0a#content\x20.output\x20.exit\x20{\x0a\x20\x20color:\x20rgb(255,\x20209,\x2077);\x0a}\x0a#content\x20.buttons\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20float:\x20right;\x0a\x20\x20top:\x20-3.125rem;\x0a\x20\x20right:\x201.875rem;\x0a}\x0a#content\x20.output\x20.buttons\x20{\x0a\x20\x20top:\x20-3.75rem;\x0a\x20\x20right:\x200;\x0a\x20\x20height:\x200;\x0a}\x0a#content\x20.buttons\x20.kill\x20{\x0a\x20\x20display:\x20none;\x0a\x20\x20visibility:\x20hidden;\x0a}\x0aa.error\x20{\x0a\x20\x20font-weight:\x20bold;\x0a\x20\x20color:\x20white;\x0a\x20\x20background-color:\x20darkred;\x0a\x20\x20border-bottom-left-radius:\x200.25rem;\x0a\x20\x20border-bottom-right-radius:\x200.25rem;\x0a\x20\x20border-top-left-radius:\x200.25rem;\x0a\x20\x20border-top-right-radius:\x200.25rem;\x0a\x20\x20padding:\x200.125rem\x200.25rem\x200.125rem\x200.25rem;\x20/*\x20TRBL\x20*/\x0a}\x0a\x0a#heading-narrow\x20{\x0a\x20\x20display:\x20none;\x0a}\x0a\x0a.downloading\x20{\x0a\x20\x20background:\x20#f9f9be;\x0a\x20\x20padding:\x200.625rem;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20border-radius:\x200.3125rem;\x0a}\x0a\x0a@media\x20(max-width:\x2058.125em)\x20{\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2047.5em)\x20{\x0a\x20\x20.container\x20.left,\x0a\x20\x20.container\x20.right\x20{\x0a\x20\x20\x20\x20width:\x20auto;\x0a\x20\x20\x20\x20float:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20div#about\x20{\x0a\x20\x20\x20\x20max-width:\x2031.25rem;\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(min-width:\x2043.75em)\x20and\x20(max-width:\x2062.5em)\x20{\x0a\x20\x20div#menu\x20>\x20a\x20{\x0a\x20\x20\x20\x20margin:\x200.3125rem\x200;\x0a\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20}\x0a\x0a\x20\x20input#search\x20{\x0a\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2043.75em)\x20{\x0a\x20\x20body\x20{\x0a\x20\x20\x20\x20font-size:\x200.9375rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#playground\x20{\x0a\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20right:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20pre,\x0a\x20\x20code\x20{\x0a\x20\x20\x20\x20font-size:\x200.866rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#page\x20>\x20.container\x20{\x0a\x20\x20\x20\x20padding:\x200\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#topbar\x20{\x0a\x20\x20\x20\x20height:\x20auto;\x0a\x20\x20\x20\x20padding:\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#topbar\x20>\x20.container\x20{\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20.top-heading\x20{\x0a\x20\x20\x20\x20float:\x20none;\x0a\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20\x20\x20padding:\x200.75rem;\x0a\x20\x20}\x0a\x0a\x20\x20div#menu\x20{\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20float:\x20left;\x0a\x20\x20}\x0a\x0a\x20\x20div#menu\x20>\x20a\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20margin-left:\x200;\x0a\x20\x20\x20\x20margin-right:\x200;\x0a\x20\x20}\x0a\x0a\x20\x20#menu\x20.search-box\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20}\x0a\x0a\x20\x20#menu-button\x20{\x0a\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20}\x0a\x0a\x20\x20p,\x0a\x20\x20pre,\x0a\x20\x20ul,\x0a\x20\x20ol\x20{\x0a\x20\x20\x20\x20margin:\x200.625rem;\x0a\x20\x20}\x0a\x0a\x20\x20.pkg-synopsis\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x0a\x20\x20img.gopher\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20(max-width:\x2030em)\x20{\x0a\x20\x20#heading-wide\x20{\x0a\x20\x20\x20\x20display:\x20none;\x0a\x20\x20}\x0a\x20\x20#heading-narrow\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a}\x0a\x0a@media\x20print\x20{\x0a\x20\x20pre\x20{\x0a\x20\x20\x20\x20background:\x20#fff;\x0a\x20\x20\x20\x20border:\x200.0625rem\x20solid\x20#bbb;\x0a\x20\x20\x20\x20white-space:\x20pre-wrap;\x0a\x20\x20}\x0a}\x0a",
-}
internal/godoc/static/style.css
@@ -1,902 +0,0 @@
-body {
-  margin: 0;
-  font-family: Arial, sans-serif;
-  background-color: #fff;
-  line-height: 1.3;
-  text-align: center;
-  color: #222;
-}
-textarea {
-  /* Inherit text color from body avoiding illegible text in the case where the
- 	* user has inverted the browsers custom text and background colors. */
-  color: inherit;
-}
-pre,
-code {
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-pre {
-  line-height: 1.4;
-  overflow-x: auto;
-}
-pre .comment {
-  color: #006600;
-}
-pre .highlight,
-pre .highlight-comment,
-pre .selection-highlight,
-pre .selection-highlight-comment {
-  background: #ffff00;
-}
-pre .selection,
-pre .selection-comment {
-  background: #ff9632;
-}
-pre .ln {
-  color: #999;
-  background: #efefef;
-}
-.ln {
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-
-  /* Ensure 8 characters in the document - which due to floating
-   * point rendering issues, might have a width of less than 1 each - are 8
-   * characters wide, so a tab in the 9th position indents properly. See
-   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
-   * for more information. */
-  display: inline-block;
-  width: 8ch;
-}
-
-.search-nav {
-  margin-left: 1.25rem;
-  font-size: 0.875rem;
-  column-gap: 1.25rem;
-  column-fill: auto;
-  column-width: 14rem;
-}
-
-.search-nav .indent {
-  margin-left: 1.25rem;
-}
-
-a,
-.exampleHeading .text,
-.expandAll {
-  color: #375eab;
-  text-decoration: none;
-}
-a:hover,
-.exampleHeading .text:hover,
-.expandAll:hover {
-  text-decoration: underline;
-}
-.article a {
-  text-decoration: underline;
-}
-.article .title a {
-  text-decoration: none;
-}
-
-.permalink {
-  display: none;
-}
-:hover > .permalink {
-  display: inline;
-}
-
-p,
-li {
-  max-width: 50rem;
-  word-wrap: break-word;
-}
-p,
-pre,
-ul,
-ol {
-  margin: 1.25rem;
-}
-pre {
-  background: #efefef;
-  padding: 0.625rem;
-  border-radius: 0.3125rem;
-}
-
-h1,
-h2,
-h3,
-h4,
-.rootHeading {
-  margin: 1.25rem 0 1.25rem;
-  padding: 0;
-  color: #375eab;
-  font-weight: bold;
-}
-h1 {
-  font-size: 1.75rem;
-  line-height: 1;
-}
-h1 .text-muted {
-  color: #777;
-}
-h2 {
-  font-size: 1.25rem;
-  background: #e0ebf5;
-  padding: 0.5rem;
-  line-height: 1.25;
-  font-weight: normal;
-  overflow: auto;
-  overflow-wrap: break-word;
-}
-h2 a {
-  font-weight: bold;
-}
-h3 {
-  font-size: 1.25rem;
-  line-height: 1.25;
-  overflow: auto;
-  overflow-wrap: break-word;
-}
-h3,
-h4 {
-  margin: 1.25rem 0.3125rem;
-}
-h4 {
-  font-size: 1rem;
-}
-.rootHeading {
-  font-size: 1.25rem;
-  margin: 0;
-}
-
-h2 > span,
-h3 > span {
-  float: right;
-  margin: 0 25px 0 0;
-  font-weight: normal;
-  color: #5279c7;
-}
-
-dl {
-  margin: 1.25rem;
-}
-dd {
-  margin: 0 0 0 1.25rem;
-}
-dl,
-dd {
-  font-size: 0.875rem;
-}
-div#nav table td {
-  vertical-align: top;
-}
-
-#pkg-index h3 {
-  font-size: 1rem;
-}
-.pkg-dir {
-  padding: 0 0.625rem;
-}
-.pkg-dir table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-.pkg-name {
-  padding-right: 0.625rem;
-}
-.alert {
-  color: #aa0000;
-}
-
-.top-heading {
-  float: left;
-  padding: 1.313rem 0;
-  font-size: 1.25rem;
-  font-weight: normal;
-}
-.top-heading a {
-  color: #222;
-  text-decoration: none;
-}
-
-#pkg-examples h3 {
-  float: left;
-}
-
-#pkg-examples dl {
-  clear: both;
-}
-
-.expandAll {
-  cursor: pointer;
-  float: left;
-  margin: 1.25rem 0;
-}
-
-div#topbar {
-  background: #e0ebf5;
-  height: 4rem;
-  overflow: hidden;
-}
-
-div#page {
-  width: 100%;
-}
-div#page > .container,
-div#topbar > .container {
-  text-align: left;
-  margin-left: auto;
-  margin-right: auto;
-  padding: 0 1.25rem;
-}
-div#topbar > .container,
-div#page > .container {
-  max-width: 59.38rem;
-}
-div#page.wide > .container,
-div#topbar.wide > .container {
-  max-width: none;
-}
-div#plusone {
-  float: right;
-  clear: right;
-  margin-top: 0.3125rem;
-}
-
-div#footer {
-  text-align: center;
-  color: #666;
-  font-size: 0.875rem;
-  margin: 2.5rem 0;
-}
-
-div#menu > a,
-input#search,
-div#learn .buttons a,
-div.play .buttons a,
-div#blog .read a,
-#menu-button {
-  padding: 0.625rem;
-
-  text-decoration: none;
-  font-size: 1rem;
-  border-radius: 0.3125rem;
-}
-div#playground .buttons a,
-div#menu > a,
-input#search,
-#menu-button {
-  border: 0.0625rem solid #375eab;
-}
-div#playground .buttons a,
-div#menu > a,
-#menu-button {
-  color: white;
-  background: #375eab;
-}
-#playgroundButton.active {
-  background: white;
-  color: #375eab;
-}
-a#start,
-div#learn .buttons a,
-div.play .buttons a,
-div#blog .read a {
-  color: #222;
-  border: 0.0625rem solid #375eab;
-  background: #e0ebf5;
-}
-.download {
-  width: 9.375rem;
-}
-
-div#menu {
-  text-align: right;
-  padding: 0.625rem;
-  white-space: nowrap;
-  max-height: 0;
-  -moz-transition: max-height 0.25s linear;
-  transition: max-height 0.25s linear;
-  width: 100%;
-}
-div#menu.menu-visible {
-  max-height: 31.25rem;
-}
-div#menu > a,
-#menu-button {
-  margin: 0.625rem 0.125rem;
-  padding: 0.625rem;
-}
-::-webkit-input-placeholder {
-  color: #7f7f7f;
-  opacity: 1;
-}
-::placeholder {
-  color: #7f7f7f;
-  opacity: 1;
-}
-#menu .search-box {
-  display: inline-flex;
-  width: 8.75rem;
-}
-input#search {
-  background: white;
-  color: #222;
-  box-sizing: border-box;
-  -webkit-appearance: none;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-right: 0;
-  margin-right: 0;
-  flex-grow: 1;
-  max-width: 100%;
-  min-width: 5.625rem;
-}
-input#search:-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-input#search:-moz-ui-invalid {
-  box-shadow: unset;
-}
-input#search + button {
-  display: inline;
-  font-size: 1em;
-  background-color: #375eab;
-  color: white;
-  border: 0.0625rem solid #375eab;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0.3125rem;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0.3125rem;
-  margin-left: 0;
-  cursor: pointer;
-}
-input#search + button span {
-  display: flex;
-}
-input#search + button svg {
-  fill: white;
-}
-
-#menu-button {
-  display: none;
-  position: absolute;
-  right: 0.3125rem;
-  top: 0;
-  margin-right: 0.3125rem;
-}
-#menu-button-arrow {
-  display: inline-block;
-}
-.vertical-flip {
-  transform: rotate(-180deg);
-}
-
-div.left {
-  float: left;
-  clear: left;
-  margin-right: 2.5%;
-}
-div.right {
-  float: right;
-  clear: right;
-  margin-left: 2.5%;
-}
-div.left,
-div.right {
-  width: 45%;
-}
-
-div#learn,
-div#about {
-  padding-top: 1.25rem;
-}
-div#learn h2,
-div#about {
-  margin: 0;
-}
-div#about {
-  font-size: 1.25rem;
-  margin: 0 auto 1.875rem;
-}
-div#gopher {
-  background: url(/doc/gopher/frontpage.png) no-repeat;
-  background-position: center top;
-  height: 9.688rem;
-  max-height: 200px; /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
-}
-a#start {
-  display: block;
-  padding: 0.625rem;
-
-  text-align: center;
-  text-decoration: none;
-  border-radius: 0.3125rem;
-}
-a#start .big {
-  display: block;
-  font-weight: bold;
-  font-size: 1.25rem;
-}
-a#start .desc {
-  display: block;
-  font-size: 0.875rem;
-  font-weight: normal;
-  margin-top: 0.3125rem;
-}
-
-div#learn .popout {
-  float: right;
-  display: block;
-  cursor: pointer;
-  font-size: 0.75rem;
-  background: url(/doc/share.png) no-repeat;
-  background-position: right center;
-  padding: 0.375rem 1.688rem;
-}
-div#learn pre,
-div#learn textarea {
-  padding: 0;
-  margin: 0;
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-div#learn .input {
-  padding: 0.625rem;
-  margin-top: 0.625rem;
-  height: 9.375rem;
-
-  border-top-left-radius: 0.3125rem;
-  border-top-right-radius: 0.3125rem;
-}
-div#learn .input textarea {
-  width: 100%;
-  height: 100%;
-  border: none;
-  outline: none;
-  resize: none;
-}
-div#learn .output {
-  border-top: none !important;
-
-  padding: 0.625rem;
-  height: 3.688rem;
-  overflow: auto;
-
-  border-bottom-right-radius: 0.3125rem;
-  border-bottom-left-radius: 0.3125rem;
-}
-div#learn .output pre {
-  padding: 0;
-  border-radius: 0;
-}
-div#learn .input,
-div#learn .input textarea,
-div#learn .output,
-div#learn .output pre {
-  background: #ffffd8;
-}
-div#learn .input,
-div#learn .output {
-  border: 0.0625rem solid #375eab;
-}
-div#learn .buttons {
-  float: right;
-  padding: 1.25rem 0 0.625rem 0;
-  text-align: right;
-}
-div#learn .buttons a {
-  height: 1rem;
-  margin-left: 0.3125rem;
-  padding: 0.625rem;
-}
-div#learn .toys {
-  margin-top: 0.5rem;
-}
-div#learn .toys select {
-  font-size: 0.875rem;
-  border: 0.0625rem solid #375eab;
-  margin: 0;
-}
-div#learn .output .exit {
-  display: none;
-}
-
-div#video {
-  max-width: 100%;
-}
-div#blog,
-div#video {
-  margin-top: 2.5rem;
-}
-div#blog > a,
-div#blog > div,
-div#blog > h2,
-div#video > a,
-div#video > div,
-div#video > h2 {
-  margin-bottom: 0.625rem;
-}
-div#blog .title,
-div#video .title {
-  display: block;
-  font-size: 1.25rem;
-}
-div#blog .when {
-  color: #666;
-  font-size: 0.875rem;
-}
-div#blog .read {
-  text-align: right;
-}
-
-@supports (--c: 0) {
-  [style*='--aspect-ratio-padding:'] {
-    position: relative;
-    overflow: hidden;
-    padding-top: var(--aspect-ratio-padding);
-  }
-
-  [style*='--aspect-ratio-padding:'] > * {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-  }
-}
-
-.toggleButton {
-  cursor: pointer;
-}
-.toggle > .collapsed {
-  display: block;
-}
-.toggle > .expanded {
-  display: none;
-}
-.toggleVisible > .collapsed {
-  display: none;
-}
-.toggleVisible > .expanded {
-  display: block;
-}
-
-table.codetable {
-  margin-left: auto;
-  margin-right: auto;
-  border-style: none;
-}
-table.codetable td {
-  padding-right: 0.625rem;
-}
-hr {
-  border-style: none;
-  border-top: 0.0625rem solid black;
-}
-
-img.gopher {
-  float: right;
-  margin-left: 0.625rem;
-  margin-bottom: 0.625rem;
-  z-index: -1;
-}
-h2 {
-  clear: right;
-}
-
-/* example and drop-down playground */
-div.play {
-  padding: 0 1.25rem 2.5rem 1.25rem;
-}
-div.play pre,
-div.play textarea,
-div.play .lines {
-  padding: 0;
-  margin: 0;
-  font-family: Menlo, monospace;
-  font-size: 0.875rem;
-}
-div.play .input {
-  padding: 0.625rem;
-  margin-top: 0.625rem;
-
-  border-top-left-radius: 0.3125rem;
-  border-top-right-radius: 0.3125rem;
-
-  overflow: hidden;
-}
-div.play .input textarea {
-  width: 100%;
-  height: 100%;
-  border: none;
-  outline: none;
-  resize: none;
-
-  overflow: hidden;
-}
-div#playground .input textarea {
-  overflow: auto;
-  resize: auto;
-}
-div.play .output {
-  border-top: none !important;
-
-  padding: 0.625rem;
-  max-height: 12.5rem;
-  overflow: auto;
-
-  border-bottom-right-radius: 0.3125rem;
-  border-bottom-left-radius: 0.3125rem;
-}
-div.play .output pre {
-  padding: 0;
-  border-radius: 0;
-}
-div.play .input,
-div.play .input textarea,
-div.play .output,
-div.play .output pre {
-  background: #ffffd8;
-}
-div.play .input,
-div.play .output {
-  border: 0.0625rem solid #375eab;
-}
-div.play .buttons {
-  float: right;
-  padding: 1.25rem 0 0.625rem 0;
-  text-align: right;
-}
-div.play .buttons a {
-  height: 1rem;
-  margin-left: 0.3125rem;
-  padding: 0.625rem;
-  cursor: pointer;
-}
-.output .stderr {
-  color: #933;
-}
-.output .system {
-  color: #999;
-}
-
-/* drop-down playground */
-div#playground {
-  /* start hidden; revealed by javascript */
-  display: none;
-}
-div#playground {
-  position: absolute;
-  top: 3.938rem;
-  right: 1.25rem;
-  padding: 0 0.625rem 0.625rem 0.625rem;
-  z-index: 1;
-  text-align: left;
-  background: #e0ebf5;
-
-  border: 0.0625rem solid #b0bbc5;
-  border-top: none;
-
-  border-bottom-left-radius: 0.3125rem;
-  border-bottom-right-radius: 0.3125rem;
-}
-div#playground .code {
-  width: 32.5rem;
-  height: 12.5rem;
-}
-div#playground .output {
-  height: 6.25rem;
-}
-
-/* Inline runnable snippets (play.js/initPlayground) */
-#content .code pre,
-#content .playground pre,
-#content .output pre {
-  margin: 0;
-  padding: 0;
-  background: none;
-  border: none;
-  outline: 0 solid transparent;
-  overflow: auto;
-}
-#content .playground .number,
-#content .code .number {
-  color: #999;
-}
-#content .code,
-#content .playground,
-#content .output {
-  width: auto;
-  margin: 1.25rem;
-  padding: 0.625rem;
-  border-radius: 0.3125rem;
-}
-#content .code,
-#content .playground {
-  background: #e9e9e9;
-}
-#content .output {
-  background: #202020;
-}
-#content .output .stdout,
-#content .output pre {
-  color: #e6e6e6;
-}
-#content .output .stderr,
-#content .output .error {
-  color: rgb(244, 74, 63);
-}
-#content .output .system,
-#content .output .exit {
-  color: rgb(255, 209, 77);
-}
-#content .buttons {
-  position: relative;
-  float: right;
-  top: -3.125rem;
-  right: 1.875rem;
-}
-#content .output .buttons {
-  top: -3.75rem;
-  right: 0;
-  height: 0;
-}
-#content .buttons .kill {
-  display: none;
-  visibility: hidden;
-}
-a.error {
-  font-weight: bold;
-  color: white;
-  background-color: darkred;
-  border-bottom-left-radius: 0.25rem;
-  border-bottom-right-radius: 0.25rem;
-  border-top-left-radius: 0.25rem;
-  border-top-right-radius: 0.25rem;
-  padding: 0.125rem 0.25rem 0.125rem 0.25rem; /* TRBL */
-}
-
-#heading-narrow {
-  display: none;
-}
-
-.downloading {
-  background: #f9f9be;
-  padding: 0.625rem;
-  text-align: center;
-  border-radius: 0.3125rem;
-}
-
-@media (max-width: 58.125em) {
-  #heading-wide {
-    display: none;
-  }
-  #heading-narrow {
-    display: block;
-  }
-}
-
-@media (max-width: 47.5em) {
-  .container .left,
-  .container .right {
-    width: auto;
-    float: none;
-  }
-
-  div#about {
-    max-width: 31.25rem;
-    text-align: center;
-  }
-}
-
-@media (min-width: 43.75em) and (max-width: 62.5em) {
-  div#menu > a {
-    margin: 0.3125rem 0;
-    font-size: 0.875rem;
-  }
-
-  input#search {
-    font-size: 0.875rem;
-  }
-}
-
-@media (max-width: 43.75em) {
-  body {
-    font-size: 0.9375rem;
-  }
-
-  div#playground {
-    left: 0;
-    right: 0;
-  }
-
-  pre,
-  code {
-    font-size: 0.866rem;
-  }
-
-  div#page > .container {
-    padding: 0 0.625rem;
-  }
-
-  div#topbar {
-    height: auto;
-    padding: 0.625rem;
-  }
-
-  div#topbar > .container {
-    padding: 0;
-  }
-
-  #heading-wide {
-    display: block;
-  }
-  #heading-narrow {
-    display: none;
-  }
-
-  .top-heading {
-    float: none;
-    display: inline-block;
-    padding: 0.75rem;
-  }
-
-  div#menu {
-    padding: 0;
-    min-width: 0;
-    text-align: left;
-    float: left;
-  }
-
-  div#menu > a {
-    display: block;
-    margin-left: 0;
-    margin-right: 0;
-  }
-
-  #menu .search-box {
-    display: flex;
-    width: 100%;
-  }
-
-  #menu-button {
-    display: inline-block;
-  }
-
-  p,
-  pre,
-  ul,
-  ol {
-    margin: 0.625rem;
-  }
-
-  .pkg-synopsis {
-    display: none;
-  }
-
-  img.gopher {
-    display: none;
-  }
-}
-
-@media (max-width: 30em) {
-  #heading-wide {
-    display: none;
-  }
-  #heading-narrow {
-    display: block;
-  }
-}
-
-@media print {
-  pre {
-    background: #fff;
-    border: 0.0625rem solid #bbb;
-    white-space: pre-wrap;
-  }
-}
internal/godoc: remove analysis

We have never run this code on golang.org.
rsc committed 4 days ago commit b8cbee3f690f2ac8f3289811836efe1d61a5c910
internal/godoc/analysis/README
@@ -1,111 +0,0 @@
-
-Type and Pointer Analysis to-do list
-====================================
-
-Alan Donovan <adonovan@google.com>
-
-
-Overall design
---------------
-
-We should re-run the type and pointer analyses periodically,
-as we do with the indexer.
-
-Version skew: how to mitigate the bad effects of stale URLs in old pages?
-We could record the file's length/CRC32/mtime in the go/loader, and
-refuse to decorate it with links unless they match at serving time.
-
-Use the VFS mechanism when (a) enumerating packages and (b) loading
-them.  (Requires planned changes to go/loader.)
-
-Future work: shard this using map/reduce for larger corpora.
-
-Testing: how does one test that a web page "looks right"?
-
-
-Bugs
-----
-
-(*ssa.Program).Create requires transitively error-free packages.  We
-can make this more robust by making the requirement transitively free
-of "hard" errors; soft errors are fine.
-
-Markup of compiler errors is slightly buggy because they overlap with
-other selections (e.g. Idents).  Fix.
-
-
-User Interface
---------------
-
-CALLGRAPH:
-- Add a search box: given a search node, expand path from each entry
-  point to it.
-- Cause hovering over a given node to highlight that node, and all
-  nodes that are logically identical to it.
-- Initially expand the callgraph trees (but not their toggle divs).
-
-CALLEES:
-- The '(' links are not very discoverable.  Highlight them?
-
-Type info:
-- In the source viewer's lower pane, use a toggle div around the
-  IMPLEMENTS and METHODSETS lists, like we do in the package view.
-  Only expand them initially if short.
-- Include IMPLEMENTS and METHOD SETS information in search index.
-- URLs in IMPLEMENTS/METHOD SETS always link to source, even from the
-  package docs view.  This makes sense for links to non-exported
-  types, but links to exported types and funcs should probably go to
-  other package docs.
-- Suppress toggle divs for empty method sets.
-
-Misc:
-- The [X] button in the lower pane is subject to scrolling.
-- Should the lower pane be floating?  An iframe?
-  When we change document.location by clicking on a link, it will go away.
-  How do we prevent that (a la Gmail's chat windows)?
-- Progress/status: for each file, display its analysis status, one of:
-   - not in analysis scope
-   - type analysis running...
-   - type analysis complete
-     (+ optionally: there were type errors in this file)
-   And if PTA requested:
-   - type analysis complete; PTA not attempted due to type errors
-   - PTA running...
-   - PTA complete
-- Scroll the selection into view, e.g. the vertical center, or better
-  still, under the pointer (assuming we have a mouse).
-
-
-More features
--------------
-
-Display the REFERRERS relation?  (Useful but potentially large.)
-
-Display the INSTANTIATIONS relation? i.e. given a type T, show the set of
-syntactic constructs that can instantiate it:
-    var x T
-    x := T{...}
-    x = new(T)
-    x = make([]T, n)
-    etc
-    + all INSTANTIATIONS of all S defined as struct{t T} or [n]T
-(Potentially a lot of information.)
-(Add this to guru too.)
-
-
-Optimisations
--------------
-
-Each call to addLink takes a (per-file) lock.  The locking is
-fine-grained so server latency isn't terrible, but overall it makes
-the link computation quite slow.  Batch update might be better.
-
-Memory usage is now about 1.5GB for GOROOT + go.tools.  It used to be 700MB.
-
-Optimize for time and space.  The main slowdown is the network I/O
-time caused by an increase in page size of about 3x: about 2x from
-HTML, and 0.7--2.1x from JSON (unindented vs indented).  The JSON
-contains a lot of filenames (e.g. 820 copies of 16 distinct
-filenames).  20% of the HTML is L%d spans (now disabled).  The HTML
-also contains lots of tooltips for long struct/interface types.
-De-dup or just abbreviate?  The actual formatting is very fast.
internal/godoc/analysis/analysis.go
@@ -1,613 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package analysis performs type and pointer analysis
-// and generates mark-up for the Go source view.
-//
-// The Run method populates a Result object by running type and
-// (optionally) pointer analysis.  The Result object is thread-safe
-// and at all times may be accessed by a serving thread, even as it is
-// progressively populated as analysis facts are derived.
-//
-// The Result is a mapping from each godoc file URL
-// (e.g. /src/fmt/print.go) to information about that file.  The
-// information is a list of HTML markup links and a JSON array of
-// structured data values.  Some of the links call client-side
-// JavaScript functions that index this array.
-//
-// The analysis computes mark-up for the following relations:
-//
-// IMPORTS: for each ast.ImportSpec, the package that it denotes.
-//
-// RESOLUTION: for each ast.Ident, its kind and type, and the location
-// of its definition.
-//
-// METHOD SETS, IMPLEMENTS: for each ast.Ident defining a named type,
-// its method-set, the set of interfaces it implements or is
-// implemented by, and its size/align values.
-//
-// CALLERS, CALLEES: for each function declaration ('func' token), its
-// callers, and for each call-site ('(' token), its callees.
-//
-// CALLGRAPH: the package docs include an interactive viewer for the
-// intra-package call graph of "fmt".
-//
-// CHANNEL PEERS: for each channel operation make/<-/close, the set of
-// other channel ops that alias the same channel(s).
-//
-// ERRORS: for each locus of a frontend (scanner/parser/type) error, the
-// location is highlighted in red and hover text provides the compiler
-// error message.
-//
-package analysis // import "golang.org/x/website/internal/godoc/analysis"
-
-import (
-	"fmt"
-	"go/build"
-	"go/scanner"
-	"go/token"
-	"go/types"
-	"html"
-	"io"
-	"log"
-	"os"
-	"path/filepath"
-	"sort"
-	"strings"
-	"sync"
-
-	"golang.org/x/tools/go/loader"
-	"golang.org/x/tools/go/pointer"
-	"golang.org/x/tools/go/ssa"
-	"golang.org/x/tools/go/ssa/ssautil"
-)
-
-// -- links ------------------------------------------------------------
-
-// A Link is an HTML decoration of the bytes [Start, End) of a file.
-// Write is called before/after those bytes to emit the mark-up.
-type Link interface {
-	Start() int
-	End() int
-	Write(w io.Writer, _ int, start bool) // the godoc.LinkWriter signature
-}
-
-// An <a> element.
-type aLink struct {
-	start, end int    // =godoc.Segment
-	title      string // hover text
-	onclick    string // JS code (NB: trusted)
-	href       string // URL     (NB: trusted)
-}
-
-func (a aLink) Start() int { return a.start }
-func (a aLink) End() int   { return a.end }
-func (a aLink) Write(w io.Writer, _ int, start bool) {
-	if start {
-		fmt.Fprintf(w, `<a title='%s'`, html.EscapeString(a.title))
-		if a.onclick != "" {
-			fmt.Fprintf(w, ` onclick='%s'`, html.EscapeString(a.onclick))
-		}
-		if a.href != "" {
-			// TODO(adonovan): I think that in principle, a.href must first be
-			// url.QueryEscape'd, but if I do that, a leading slash becomes "%2F",
-			// which causes the browser to treat the path as relative, not absolute.
-			// WTF?
-			fmt.Fprintf(w, ` href='%s'`, html.EscapeString(a.href))
-		}
-		fmt.Fprintf(w, ">")
-	} else {
-		fmt.Fprintf(w, "</a>")
-	}
-}
-
-// An <a class='error'> element.
-type errorLink struct {
-	start int
-	msg   string
-}
-
-func (e errorLink) Start() int { return e.start }
-func (e errorLink) End() int   { return e.start + 1 }
-
-func (e errorLink) Write(w io.Writer, _ int, start bool) {
-	// <span> causes havoc, not sure why, so use <a>.
-	if start {
-		fmt.Fprintf(w, `<a class='error' title='%s'>`, html.EscapeString(e.msg))
-	} else {
-		fmt.Fprintf(w, "</a>")
-	}
-}
-
-// -- fileInfo ---------------------------------------------------------
-
-// FileInfo holds analysis information for the source file view.
-// Clients must not mutate it.
-type FileInfo struct {
-	Data  []interface{} // JSON serializable values
-	Links []Link        // HTML link markup
-}
-
-// A fileInfo is the server's store of hyperlinks and JSON data for a
-// particular file.
-type fileInfo struct {
-	mu        sync.Mutex
-	data      []interface{} // JSON objects
-	links     []Link
-	sorted    bool
-	hasErrors bool // TODO(adonovan): surface this in the UI
-}
-
-// addLink adds a link to the Go source file fi.
-func (fi *fileInfo) addLink(link Link) {
-	fi.mu.Lock()
-	fi.links = append(fi.links, link)
-	fi.sorted = false
-	if _, ok := link.(errorLink); ok {
-		fi.hasErrors = true
-	}
-	fi.mu.Unlock()
-}
-
-// addData adds the structured value x to the JSON data for the Go
-// source file fi.  Its index is returned.
-func (fi *fileInfo) addData(x interface{}) int {
-	fi.mu.Lock()
-	index := len(fi.data)
-	fi.data = append(fi.data, x)
-	fi.mu.Unlock()
-	return index
-}
-
-// get returns the file info in external form.
-// Callers must not mutate its fields.
-func (fi *fileInfo) get() FileInfo {
-	var r FileInfo
-	// Copy slices, to avoid races.
-	fi.mu.Lock()
-	r.Data = append(r.Data, fi.data...)
-	if !fi.sorted {
-		sort.Sort(linksByStart(fi.links))
-		fi.sorted = true
-	}
-	r.Links = append(r.Links, fi.links...)
-	fi.mu.Unlock()
-	return r
-}
-
-// PackageInfo holds analysis information for the package view.
-// Clients must not mutate it.
-type PackageInfo struct {
-	CallGraph      []*PCGNodeJSON
-	CallGraphIndex map[string]int
-	Types          []*TypeInfoJSON
-}
-
-type pkgInfo struct {
-	mu             sync.Mutex
-	callGraph      []*PCGNodeJSON
-	callGraphIndex map[string]int  // keys are (*ssa.Function).RelString()
-	types          []*TypeInfoJSON // type info for exported types
-}
-
-func (pi *pkgInfo) setCallGraph(callGraph []*PCGNodeJSON, callGraphIndex map[string]int) {
-	pi.mu.Lock()
-	pi.callGraph = callGraph
-	pi.callGraphIndex = callGraphIndex
-	pi.mu.Unlock()
-}
-
-func (pi *pkgInfo) addType(t *TypeInfoJSON) {
-	pi.mu.Lock()
-	pi.types = append(pi.types, t)
-	pi.mu.Unlock()
-}
-
-// get returns the package info in external form.
-// Callers must not mutate its fields.
-func (pi *pkgInfo) get() PackageInfo {
-	var r PackageInfo
-	// Copy slices, to avoid races.
-	pi.mu.Lock()
-	r.CallGraph = append(r.CallGraph, pi.callGraph...)
-	r.CallGraphIndex = pi.callGraphIndex
-	r.Types = append(r.Types, pi.types...)
-	pi.mu.Unlock()
-	return r
-}
-
-// -- Result -----------------------------------------------------------
-
-// Result contains the results of analysis.
-// The result contains a mapping from filenames to a set of HTML links
-// and JavaScript data referenced by the links.
-type Result struct {
-	mu        sync.Mutex           // guards maps (but not their contents)
-	status    string               // global analysis status
-	fileInfos map[string]*fileInfo // keys are godoc file URLs
-	pkgInfos  map[string]*pkgInfo  // keys are import paths
-}
-
-// fileInfo returns the fileInfo for the specified godoc file URL,
-// constructing it as needed.  Thread-safe.
-func (res *Result) fileInfo(url string) *fileInfo {
-	res.mu.Lock()
-	fi, ok := res.fileInfos[url]
-	if !ok {
-		if res.fileInfos == nil {
-			res.fileInfos = make(map[string]*fileInfo)
-		}
-		fi = new(fileInfo)
-		res.fileInfos[url] = fi
-	}
-	res.mu.Unlock()
-	return fi
-}
-
-// Status returns a human-readable description of the current analysis status.
-func (res *Result) Status() string {
-	res.mu.Lock()
-	defer res.mu.Unlock()
-	return res.status
-}
-
-func (res *Result) setStatusf(format string, args ...interface{}) {
-	res.mu.Lock()
-	res.status = fmt.Sprintf(format, args...)
-	log.Printf(format, args...)
-	res.mu.Unlock()
-}
-
-// FileInfo returns new slices containing opaque JSON values and the
-// HTML link markup for the specified godoc file URL.  Thread-safe.
-// Callers must not mutate the elements.
-// It returns "zero" if no data is available.
-//
-func (res *Result) FileInfo(url string) (fi FileInfo) {
-	return res.fileInfo(url).get()
-}
-
-// pkgInfo returns the pkgInfo for the specified import path,
-// constructing it as needed.  Thread-safe.
-func (res *Result) pkgInfo(importPath string) *pkgInfo {
-	res.mu.Lock()
-	pi, ok := res.pkgInfos[importPath]
-	if !ok {
-		if res.pkgInfos == nil {
-			res.pkgInfos = make(map[string]*pkgInfo)
-		}
-		pi = new(pkgInfo)
-		res.pkgInfos[importPath] = pi
-	}
-	res.mu.Unlock()
-	return pi
-}
-
-// PackageInfo returns new slices of JSON values for the callgraph and
-// type info for the specified package.  Thread-safe.
-// Callers must not mutate its fields.
-// PackageInfo returns "zero" if no data is available.
-//
-func (res *Result) PackageInfo(importPath string) PackageInfo {
-	return res.pkgInfo(importPath).get()
-}
-
-// -- analysis ---------------------------------------------------------
-
-type analysis struct {
-	result    *Result
-	prog      *ssa.Program
-	ops       []chanOp       // all channel ops in program
-	allNamed  []*types.Named // all "defined" (formerly "named") types in the program
-	ptaConfig pointer.Config
-	path2url  map[string]string // maps openable path to godoc file URL (/src/fmt/print.go)
-	pcgs      map[*ssa.Package]*packageCallGraph
-}
-
-// fileAndOffset returns the file and offset for a given pos.
-func (a *analysis) fileAndOffset(pos token.Pos) (fi *fileInfo, offset int) {
-	return a.fileAndOffsetPosn(a.prog.Fset.Position(pos))
-}
-
-// fileAndOffsetPosn returns the file and offset for a given position.
-func (a *analysis) fileAndOffsetPosn(posn token.Position) (fi *fileInfo, offset int) {
-	url := a.path2url[posn.Filename]
-	return a.result.fileInfo(url), posn.Offset
-}
-
-// posURL returns the URL of the source extent [pos, pos+len).
-func (a *analysis) posURL(pos token.Pos, len int) string {
-	if pos == token.NoPos {
-		return ""
-	}
-	posn := a.prog.Fset.Position(pos)
-	url := a.path2url[posn.Filename]
-	return fmt.Sprintf("%s?s=%d:%d#L%d",
-		url, posn.Offset, posn.Offset+len, posn.Line)
-}
-
-// ----------------------------------------------------------------------
-
-// Run runs program analysis and computes the resulting markup,
-// populating *result in a thread-safe manner, first with type
-// information then later with pointer analysis information if
-// enabled by the pta flag.
-//
-func Run(pta bool, result *Result) {
-	conf := loader.Config{
-		AllowErrors: true,
-	}
-
-	// Silence the default error handler.
-	// Don't print all errors; we'll report just
-	// one per errant package later.
-	conf.TypeChecker.Error = func(e error) {}
-
-	var roots, args []string // roots[i] ends with os.PathSeparator
-
-	// Enumerate packages in $GOROOT.
-	root := filepath.Join(build.Default.GOROOT, "src") + string(os.PathSeparator)
-	roots = append(roots, root)
-	args = allPackages(root)
-	log.Printf("GOROOT=%s: %s\n", root, args)
-
-	// Enumerate packages in $GOPATH.
-	for i, dir := range filepath.SplitList(build.Default.GOPATH) {
-		root := filepath.Join(dir, "src") + string(os.PathSeparator)
-		roots = append(roots, root)
-		pkgs := allPackages(root)
-		log.Printf("GOPATH[%d]=%s: %s\n", i, root, pkgs)
-		args = append(args, pkgs...)
-	}
-
-	// Uncomment to make startup quicker during debugging.
-	//args = []string{"golang.org/x/tools/cmd/godoc"}
-	//args = []string{"fmt"}
-
-	if _, err := conf.FromArgs(args, true); err != nil {
-		// TODO(adonovan): degrade gracefully, not fail totally.
-		// (The crippling case is a parse error in an external test file.)
-		result.setStatusf("Analysis failed: %s.", err) // import error
-		return
-	}
-
-	result.setStatusf("Loading and type-checking packages...")
-	iprog, err := conf.Load()
-	if iprog != nil {
-		// Report only the first error of each package.
-		for _, info := range iprog.AllPackages {
-			for _, err := range info.Errors {
-				fmt.Fprintln(os.Stderr, err)
-				break
-			}
-		}
-		log.Printf("Loaded %d packages.", len(iprog.AllPackages))
-	}
-	if err != nil {
-		result.setStatusf("Loading failed: %s.\n", err)
-		return
-	}
-
-	// Create SSA-form program representation.
-	// Only the transitively error-free packages are used.
-	prog := ssautil.CreateProgram(iprog, ssa.GlobalDebug)
-
-	// Create a "testmain" package for each package with tests.
-	for _, pkg := range prog.AllPackages() {
-		if testmain := prog.CreateTestMainPackage(pkg); testmain != nil {
-			log.Printf("Adding tests for %s", pkg.Pkg.Path())
-		}
-	}
-
-	// Build SSA code for bodies of all functions in the whole program.
-	result.setStatusf("Constructing SSA form...")
-	prog.Build()
-	log.Print("SSA construction complete")
-
-	a := analysis{
-		result: result,
-		prog:   prog,
-		pcgs:   make(map[*ssa.Package]*packageCallGraph),
-	}
-
-	// Build a mapping from openable filenames to godoc file URLs,
-	// i.e. "/src/" plus path relative to GOROOT/src or GOPATH[i]/src.
-	a.path2url = make(map[string]string)
-	for _, info := range iprog.AllPackages {
-	nextfile:
-		for _, f := range info.Files {
-			if f.Pos() == 0 {
-				continue // e.g. files generated by cgo
-			}
-			abs := iprog.Fset.File(f.Pos()).Name()
-			// Find the root to which this file belongs.
-			for _, root := range roots {
-				rel := strings.TrimPrefix(abs, root)
-				if len(rel) < len(abs) {
-					a.path2url[abs] = "/src/" + filepath.ToSlash(rel)
-					continue nextfile
-				}
-			}
-
-			log.Printf("Can't locate file %s (package %q) beneath any root",
-				abs, info.Pkg.Path())
-		}
-	}
-
-	// Add links for scanner, parser, type-checker errors.
-	// TODO(adonovan): fix: these links can overlap with
-	// identifier markup, causing the renderer to emit some
-	// characters twice.
-	errors := make(map[token.Position][]string)
-	for _, info := range iprog.AllPackages {
-		for _, err := range info.Errors {
-			switch err := err.(type) {
-			case types.Error:
-				posn := a.prog.Fset.Position(err.Pos)
-				errors[posn] = append(errors[posn], err.Msg)
-			case scanner.ErrorList:
-				for _, e := range err {
-					errors[e.Pos] = append(errors[e.Pos], e.Msg)
-				}
-			default:
-				log.Printf("Package %q has error (%T) without position: %v\n",
-					info.Pkg.Path(), err, err)
-			}
-		}
-	}
-	for posn, errs := range errors {
-		fi, offset := a.fileAndOffsetPosn(posn)
-		fi.addLink(errorLink{
-			start: offset,
-			msg:   strings.Join(errs, "\n"),
-		})
-	}
-
-	// ---------- type-based analyses ----------
-
-	// Compute the all-pairs IMPLEMENTS relation.
-	// Collect all named types, even local types
-	// (which can have methods via promotion)
-	// and the built-in "error".
-	errorType := types.Universe.Lookup("error").Type().(*types.Named)
-	a.allNamed = append(a.allNamed, errorType)
-	for _, info := range iprog.AllPackages {
-		for _, obj := range info.Defs {
-			if obj, ok := obj.(*types.TypeName); ok {
-				if named, ok := obj.Type().(*types.Named); ok {
-					a.allNamed = append(a.allNamed, named)
-				}
-			}
-		}
-	}
-	log.Print("Computing implements relation...")
-	facts := computeImplements(&a.prog.MethodSets, a.allNamed)
-
-	// Add the type-based analysis results.
-	log.Print("Extracting type info...")
-	for _, info := range iprog.AllPackages {
-		a.doTypeInfo(info, facts)
-	}
-
-	a.visitInstrs(pta)
-
-	result.setStatusf("Type analysis complete.")
-
-	if pta {
-		mainPkgs := ssautil.MainPackages(prog.AllPackages())
-		log.Print("Transitively error-free main packages: ", mainPkgs)
-		a.pointer(mainPkgs)
-	}
-}
-
-// visitInstrs visits all SSA instructions in the program.
-func (a *analysis) visitInstrs(pta bool) {
-	log.Print("Visit instructions...")
-	for fn := range ssautil.AllFunctions(a.prog) {
-		for _, b := range fn.Blocks {
-			for _, instr := range b.Instrs {
-				// CALLEES (static)
-				// (Dynamic calls require pointer analysis.)
-				//
-				// We use the SSA representation to find the static callee,
-				// since in many cases it does better than the
-				// types.Info.{Refs,Selection} information.  For example:
-				//
-				//   defer func(){}()      // static call to anon function
-				//   f := func(){}; f()    // static call to anon function
-				//   f := fmt.Println; f() // static call to named function
-				//
-				// The downside is that we get no static callee information
-				// for packages that (transitively) contain errors.
-				if site, ok := instr.(ssa.CallInstruction); ok {
-					if callee := site.Common().StaticCallee(); callee != nil {
-						// TODO(adonovan): callgraph: elide wrappers.
-						// (Do static calls ever go to wrappers?)
-						if site.Common().Pos() != token.NoPos {
-							a.addCallees(site, []*ssa.Function{callee})
-						}
-					}
-				}
-
-				if !pta {
-					continue
-				}
-
-				// CHANNEL PEERS
-				// Collect send/receive/close instructions in the whole ssa.Program.
-				for _, op := range chanOps(instr) {
-					a.ops = append(a.ops, op)
-					a.ptaConfig.AddQuery(op.ch) // add channel ssa.Value to PTA query
-				}
-			}
-		}
-	}
-	log.Print("Visit instructions complete")
-}
-
-// pointer runs the pointer analysis.
-func (a *analysis) pointer(mainPkgs []*ssa.Package) {
-	// Run the pointer analysis and build the complete callgraph.
-	a.ptaConfig.Mains = mainPkgs
-	a.ptaConfig.BuildCallGraph = true
-	a.ptaConfig.Reflection = false // (for now)
-
-	a.result.setStatusf("Pointer analysis running...")
-
-	ptares, err := pointer.Analyze(&a.ptaConfig)
-	if err != nil {
-		// If this happens, it indicates a bug.
-		a.result.setStatusf("Pointer analysis failed: %s.", err)
-		return
-	}
-	log.Print("Pointer analysis complete.")
-
-	// Add the results of pointer analysis.
-
-	a.result.setStatusf("Computing channel peers...")
-	a.doChannelPeers(ptares.Queries)
-	a.result.setStatusf("Computing dynamic call graph edges...")
-	a.doCallgraph(ptares.CallGraph)
-
-	a.result.setStatusf("Analysis complete.")
-}
-
-type linksByStart []Link
-
-func (a linksByStart) Less(i, j int) bool { return a[i].Start() < a[j].Start() }
-func (a linksByStart) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a linksByStart) Len() int           { return len(a) }
-
-// allPackages returns a new sorted slice of all packages beneath the
-// specified package root directory, e.g. $GOROOT/src or $GOPATH/src.
-// Derived from from go/ssa/stdlib_test.go
-// root must end with os.PathSeparator.
-//
-// TODO(adonovan): use buildutil.AllPackages when the tree thaws.
-func allPackages(root string) []string {
-	var pkgs []string
-	filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
-		if info == nil {
-			return nil // non-existent root directory?
-		}
-		if !info.IsDir() {
-			return nil // not a directory
-		}
-		// Prune the search if we encounter any of these names:
-		base := filepath.Base(path)
-		if base == "testdata" || strings.HasPrefix(base, ".") {
-			return filepath.SkipDir
-		}
-		pkg := filepath.ToSlash(strings.TrimPrefix(path, root))
-		switch pkg {
-		case "builtin":
-			return filepath.SkipDir
-		case "":
-			return nil // ignore root of tree
-		}
-		pkgs = append(pkgs, pkg)
-		return nil
-	})
-	return pkgs
-}
internal/godoc/analysis/callgraph.go
@@ -1,351 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package analysis
-
-// This file computes the CALLERS and CALLEES relations from the call
-// graph.  CALLERS/CALLEES information is displayed in the lower pane
-// when a "func" token or ast.CallExpr.Lparen is clicked, respectively.
-
-import (
-	"fmt"
-	"go/ast"
-	"go/token"
-	"go/types"
-	"log"
-	"math/big"
-	"sort"
-
-	"golang.org/x/tools/go/callgraph"
-	"golang.org/x/tools/go/ssa"
-)
-
-// doCallgraph computes the CALLEES and CALLERS relations.
-func (a *analysis) doCallgraph(cg *callgraph.Graph) {
-	log.Print("Deleting synthetic nodes...")
-	// TODO(adonovan): opt: DeleteSyntheticNodes is asymptotically
-	// inefficient and can be (unpredictably) slow.
-	cg.DeleteSyntheticNodes()
-	log.Print("Synthetic nodes deleted")
-
-	// Populate nodes of package call graphs (PCGs).
-	for _, n := range cg.Nodes {
-		a.pcgAddNode(n.Func)
-	}
-	// Within each PCG, sort funcs by name.
-	for _, pcg := range a.pcgs {
-		pcg.sortNodes()
-	}
-
-	calledFuncs := make(map[ssa.CallInstruction]map[*ssa.Function]bool)
-	callingSites := make(map[*ssa.Function]map[ssa.CallInstruction]bool)
-	for _, n := range cg.Nodes {
-		for _, e := range n.Out {
-			if e.Site == nil {
-				continue // a call from a synthetic node such as <root>
-			}
-
-			// Add (site pos, callee) to calledFuncs.
-			// (Dynamic calls only.)
-			callee := e.Callee.Func
-
-			a.pcgAddEdge(n.Func, callee)
-
-			if callee.Synthetic != "" {
-				continue // call of a package initializer
-			}
-
-			if e.Site.Common().StaticCallee() == nil {
-				// dynamic call
-				// (CALLEES information for static calls
-				// is computed using SSA information.)
-				lparen := e.Site.Common().Pos()
-				if lparen != token.NoPos {
-					fns := calledFuncs[e.Site]
-					if fns == nil {
-						fns = make(map[*ssa.Function]bool)
-						calledFuncs[e.Site] = fns
-					}
-					fns[callee] = true
-				}
-			}
-
-			// Add (callee, site) to callingSites.
-			fns := callingSites[callee]
-			if fns == nil {
-				fns = make(map[ssa.CallInstruction]bool)
-				callingSites[callee] = fns
-			}
-			fns[e.Site] = true
-		}
-	}
-
-	// CALLEES.
-	log.Print("Callees...")
-	for site, fns := range calledFuncs {
-		var funcs funcsByPos
-		for fn := range fns {
-			funcs = append(funcs, fn)
-		}
-		sort.Sort(funcs)
-
-		a.addCallees(site, funcs)
-	}
-
-	// CALLERS
-	log.Print("Callers...")
-	for callee, sites := range callingSites {
-		pos := funcToken(callee)
-		if pos == token.NoPos {
-			log.Printf("CALLERS: skipping %s: no pos", callee)
-			continue
-		}
-
-		var this *types.Package // for relativizing names
-		if callee.Pkg != nil {
-			this = callee.Pkg.Pkg
-		}
-
-		// Compute sites grouped by parent, with text and URLs.
-		sitesByParent := make(map[*ssa.Function]sitesByPos)
-		for site := range sites {
-			fn := site.Parent()
-			sitesByParent[fn] = append(sitesByParent[fn], site)
-		}
-		var funcs funcsByPos
-		for fn := range sitesByParent {
-			funcs = append(funcs, fn)
-		}
-		sort.Sort(funcs)
-
-		v := callersJSON{
-			Callee:  callee.String(),
-			Callers: []callerJSON{}, // (JS wants non-nil)
-		}
-		for _, fn := range funcs {
-			caller := callerJSON{
-				Func:  prettyFunc(this, fn),
-				Sites: []anchorJSON{}, // (JS wants non-nil)
-			}
-			sites := sitesByParent[fn]
-			sort.Sort(sites)
-			for _, site := range sites {
-				pos := site.Common().Pos()
-				if pos != token.NoPos {
-					caller.Sites = append(caller.Sites, anchorJSON{
-						Text: fmt.Sprintf("%d", a.prog.Fset.Position(pos).Line),
-						Href: a.posURL(pos, len("(")),
-					})
-				}
-			}
-			v.Callers = append(v.Callers, caller)
-		}
-
-		fi, offset := a.fileAndOffset(pos)
-		fi.addLink(aLink{
-			start:   offset,
-			end:     offset + len("func"),
-			title:   fmt.Sprintf("%d callers", len(sites)),
-			onclick: fmt.Sprintf("onClickCallers(%d)", fi.addData(v)),
-		})
-	}
-
-	// PACKAGE CALLGRAPH
-	log.Print("Package call graph...")
-	for pkg, pcg := range a.pcgs {
-		// Maps (*ssa.Function).RelString() to index in JSON CALLGRAPH array.
-		index := make(map[string]int)
-
-		// Treat exported functions (and exported methods of
-		// exported named types) as roots even if they aren't
-		// actually called from outside the package.
-		for i, n := range pcg.nodes {
-			if i == 0 || n.fn.Object() == nil || !n.fn.Object().Exported() {
-				continue
-			}
-			recv := n.fn.Signature.Recv()
-			if recv == nil || deref(recv.Type()).(*types.Named).Obj().Exported() {
-				roots := &pcg.nodes[0].edges
-				roots.SetBit(roots, i, 1)
-			}
-			index[n.fn.RelString(pkg.Pkg)] = i
-		}
-
-		json := a.pcgJSON(pcg)
-
-		// TODO(adonovan): pkg.Path() is not unique!
-		// It is possible to declare a non-test package called x_test.
-		a.result.pkgInfo(pkg.Pkg.Path()).setCallGraph(json, index)
-	}
-}
-
-// addCallees adds client data and links for the facts that site calls fns.
-func (a *analysis) addCallees(site ssa.CallInstruction, fns []*ssa.Function) {
-	v := calleesJSON{
-		Descr:   site.Common().Description(),
-		Callees: []anchorJSON{}, // (JS wants non-nil)
-	}
-	var this *types.Package // for relativizing names
-	if p := site.Parent().Package(); p != nil {
-		this = p.Pkg
-	}
-
-	for _, fn := range fns {
-		v.Callees = append(v.Callees, anchorJSON{
-			Text: prettyFunc(this, fn),
-			Href: a.posURL(funcToken(fn), len("func")),
-		})
-	}
-
-	fi, offset := a.fileAndOffset(site.Common().Pos())
-	fi.addLink(aLink{
-		start:   offset,
-		end:     offset + len("("),
-		title:   fmt.Sprintf("%d callees", len(v.Callees)),
-		onclick: fmt.Sprintf("onClickCallees(%d)", fi.addData(v)),
-	})
-}
-
-// -- utilities --------------------------------------------------------
-
-// stable order within packages but undefined across packages.
-type funcsByPos []*ssa.Function
-
-func (a funcsByPos) Less(i, j int) bool { return a[i].Pos() < a[j].Pos() }
-func (a funcsByPos) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a funcsByPos) Len() int           { return len(a) }
-
-type sitesByPos []ssa.CallInstruction
-
-func (a sitesByPos) Less(i, j int) bool { return a[i].Common().Pos() < a[j].Common().Pos() }
-func (a sitesByPos) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a sitesByPos) Len() int           { return len(a) }
-
-func funcToken(fn *ssa.Function) token.Pos {
-	switch syntax := fn.Syntax().(type) {
-	case *ast.FuncLit:
-		return syntax.Type.Func
-	case *ast.FuncDecl:
-		return syntax.Type.Func
-	}
-	return token.NoPos
-}
-
-// prettyFunc pretty-prints fn for the user interface.
-// TODO(adonovan): return HTML so we have more markup freedom.
-func prettyFunc(this *types.Package, fn *ssa.Function) string {
-	if fn.Parent() != nil {
-		return fmt.Sprintf("%s in %s",
-			types.TypeString(fn.Signature, types.RelativeTo(this)),
-			prettyFunc(this, fn.Parent()))
-	}
-	if fn.Synthetic != "" && fn.Name() == "init" {
-		// (This is the actual initializer, not a declared 'func init').
-		if fn.Pkg.Pkg == this {
-			return "package initializer"
-		}
-		return fmt.Sprintf("%q package initializer", fn.Pkg.Pkg.Path())
-	}
-	return fn.RelString(this)
-}
-
-// -- intra-package callgraph ------------------------------------------
-
-// pcgNode represents a node in the package call graph (PCG).
-type pcgNode struct {
-	fn     *ssa.Function
-	pretty string  // cache of prettyFunc(fn)
-	edges  big.Int // set of callee func indices
-}
-
-// A packageCallGraph represents the intra-package edges of the global call graph.
-// The zeroth node indicates "all external functions".
-type packageCallGraph struct {
-	nodeIndex map[*ssa.Function]int // maps func to node index (a small int)
-	nodes     []*pcgNode            // maps node index to node
-}
-
-// sortNodes populates pcg.nodes in name order and updates the nodeIndex.
-func (pcg *packageCallGraph) sortNodes() {
-	nodes := make([]*pcgNode, 0, len(pcg.nodeIndex))
-	nodes = append(nodes, &pcgNode{fn: nil, pretty: "<external>"})
-	for fn := range pcg.nodeIndex {
-		nodes = append(nodes, &pcgNode{
-			fn:     fn,
-			pretty: prettyFunc(fn.Pkg.Pkg, fn),
-		})
-	}
-	sort.Sort(pcgNodesByPretty(nodes[1:]))
-	for i, n := range nodes {
-		pcg.nodeIndex[n.fn] = i
-	}
-	pcg.nodes = nodes
-}
-
-func (pcg *packageCallGraph) addEdge(caller, callee *ssa.Function) {
-	var callerIndex int
-	if caller.Pkg == callee.Pkg {
-		// intra-package edge
-		callerIndex = pcg.nodeIndex[caller]
-		if callerIndex < 1 {
-			panic(caller)
-		}
-	}
-	edges := &pcg.nodes[callerIndex].edges
-	edges.SetBit(edges, pcg.nodeIndex[callee], 1)
-}
-
-func (a *analysis) pcgAddNode(fn *ssa.Function) {
-	if fn.Pkg == nil {
-		return
-	}
-	pcg, ok := a.pcgs[fn.Pkg]
-	if !ok {
-		pcg = &packageCallGraph{nodeIndex: make(map[*ssa.Function]int)}
-		a.pcgs[fn.Pkg] = pcg
-	}
-	pcg.nodeIndex[fn] = -1
-}
-
-func (a *analysis) pcgAddEdge(caller, callee *ssa.Function) {
-	if callee.Pkg != nil {
-		a.pcgs[callee.Pkg].addEdge(caller, callee)
-	}
-}
-
-// pcgJSON returns a new slice of callgraph JSON values.
-func (a *analysis) pcgJSON(pcg *packageCallGraph) []*PCGNodeJSON {
-	var nodes []*PCGNodeJSON
-	for _, n := range pcg.nodes {
-
-		// TODO(adonovan): why is there no good way to iterate
-		// over the set bits of a big.Int?
-		var callees []int
-		nbits := n.edges.BitLen()
-		for j := 0; j < nbits; j++ {
-			if n.edges.Bit(j) == 1 {
-				callees = append(callees, j)
-			}
-		}
-
-		var pos token.Pos
-		if n.fn != nil {
-			pos = funcToken(n.fn)
-		}
-		nodes = append(nodes, &PCGNodeJSON{
-			Func: anchorJSON{
-				Text: n.pretty,
-				Href: a.posURL(pos, len("func")),
-			},
-			Callees: callees,
-		})
-	}
-	return nodes
-}
-
-type pcgNodesByPretty []*pcgNode
-
-func (a pcgNodesByPretty) Less(i, j int) bool { return a[i].pretty < a[j].pretty }
-func (a pcgNodesByPretty) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a pcgNodesByPretty) Len() int           { return len(a) }
internal/godoc/analysis/implements.go
@@ -1,195 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package analysis
-
-// This file computes the "implements" relation over all pairs of
-// named types in the program.  (The mark-up is done by typeinfo.go.)
-
-// TODO(adonovan): do we want to report implements(C, I) where C and I
-// belong to different packages and at least one is not exported?
-
-import (
-	"go/types"
-	"sort"
-
-	"golang.org/x/tools/go/types/typeutil"
-)
-
-// computeImplements computes the "implements" relation over all pairs
-// of named types in allNamed.
-func computeImplements(cache *typeutil.MethodSetCache, allNamed []*types.Named) map[*types.Named]implementsFacts {
-	// Information about a single type's method set.
-	type msetInfo struct {
-		typ          types.Type
-		mset         *types.MethodSet
-		mask1, mask2 uint64
-	}
-
-	initMsetInfo := func(info *msetInfo, typ types.Type) {
-		info.typ = typ
-		info.mset = cache.MethodSet(typ)
-		for i := 0; i < info.mset.Len(); i++ {
-			name := info.mset.At(i).Obj().Name()
-			info.mask1 |= 1 << methodBit(name[0])
-			info.mask2 |= 1 << methodBit(name[len(name)-1])
-		}
-	}
-
-	// satisfies(T, U) reports whether type T satisfies type U.
-	// U must be an interface.
-	//
-	// Since there are thousands of types (and thus millions of
-	// pairs of types) and types.Assignable(T, U) is relatively
-	// expensive, we compute assignability directly from the
-	// method sets.  (At least one of T and U must be an
-	// interface.)
-	//
-	// We use a trick (thanks gri!) related to a Bloom filter to
-	// quickly reject most tests, which are false.  For each
-	// method set, we precompute a mask, a set of bits, one per
-	// distinct initial byte of each method name.  Thus the mask
-	// for io.ReadWriter would be {'R','W'}.  AssignableTo(T, U)
-	// cannot be true unless mask(T)&mask(U)==mask(U).
-	//
-	// As with a Bloom filter, we can improve precision by testing
-	// additional hashes, e.g. using the last letter of each
-	// method name, so long as the subset mask property holds.
-	//
-	// When analyzing the standard library, there are about 1e6
-	// calls to satisfies(), of which 0.6% return true.  With a
-	// 1-hash filter, 95% of calls avoid the expensive check; with
-	// a 2-hash filter, this grows to 98.2%.
-	satisfies := func(T, U *msetInfo) bool {
-		return T.mask1&U.mask1 == U.mask1 &&
-			T.mask2&U.mask2 == U.mask2 &&
-			containsAllIdsOf(T.mset, U.mset)
-	}
-
-	// Information about a named type N, and perhaps also *N.
-	type namedInfo struct {
-		isInterface bool
-		base        msetInfo // N
-		ptr         msetInfo // *N, iff N !isInterface
-	}
-
-	var infos []namedInfo
-
-	// Precompute the method sets and their masks.
-	for _, N := range allNamed {
-		var info namedInfo
-		initMsetInfo(&info.base, N)
-		_, info.isInterface = N.Underlying().(*types.Interface)
-		if !info.isInterface {
-			initMsetInfo(&info.ptr, types.NewPointer(N))
-		}
-
-		if info.base.mask1|info.ptr.mask1 == 0 {
-			continue // neither N nor *N has methods
-		}
-
-		infos = append(infos, info)
-	}
-
-	facts := make(map[*types.Named]implementsFacts)
-
-	// Test all pairs of distinct named types (T, U).
-	// TODO(adonovan): opt: compute (U, T) at the same time.
-	for t := range infos {
-		T := &infos[t]
-		var to, from, fromPtr []types.Type
-		for u := range infos {
-			if t == u {
-				continue
-			}
-			U := &infos[u]
-			switch {
-			case T.isInterface && U.isInterface:
-				if satisfies(&U.base, &T.base) {
-					to = append(to, U.base.typ)
-				}
-				if satisfies(&T.base, &U.base) {
-					from = append(from, U.base.typ)
-				}
-			case T.isInterface: // U concrete
-				if satisfies(&U.base, &T.base) {
-					to = append(to, U.base.typ)
-				} else if satisfies(&U.ptr, &T.base) {
-					to = append(to, U.ptr.typ)
-				}
-			case U.isInterface: // T concrete
-				if satisfies(&T.base, &U.base) {
-					from = append(from, U.base.typ)
-				} else if satisfies(&T.ptr, &U.base) {
-					fromPtr = append(fromPtr, U.base.typ)
-				}
-			}
-		}
-
-		// Sort types (arbitrarily) to avoid nondeterminism.
-		sort.Sort(typesByString(to))
-		sort.Sort(typesByString(from))
-		sort.Sort(typesByString(fromPtr))
-
-		facts[T.base.typ.(*types.Named)] = implementsFacts{to, from, fromPtr}
-	}
-
-	return facts
-}
-
-type implementsFacts struct {
-	to      []types.Type // named or ptr-to-named types assignable to interface T
-	from    []types.Type // named interfaces assignable from T
-	fromPtr []types.Type // named interfaces assignable only from *T
-}
-
-type typesByString []types.Type
-
-func (p typesByString) Len() int           { return len(p) }
-func (p typesByString) Less(i, j int) bool { return p[i].String() < p[j].String() }
-func (p typesByString) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }
-
-// methodBit returns the index of x in [a-zA-Z], or 52 if not found.
-func methodBit(x byte) uint64 {
-	switch {
-	case 'a' <= x && x <= 'z':
-		return uint64(x - 'a')
-	case 'A' <= x && x <= 'Z':
-		return uint64(26 + x - 'A')
-	}
-	return 52 // all other bytes
-}
-
-// containsAllIdsOf reports whether the method identifiers of T are a
-// superset of those in U.  If U belongs to an interface type, the
-// result is equal to types.Assignable(T, U), but is cheaper to compute.
-//
-// TODO(gri): make this a method of *types.MethodSet.
-//
-func containsAllIdsOf(T, U *types.MethodSet) bool {
-	t, tlen := 0, T.Len()
-	u, ulen := 0, U.Len()
-	for t < tlen && u < ulen {
-		tMeth := T.At(t).Obj()
-		uMeth := U.At(u).Obj()
-		tId := tMeth.Id()
-		uId := uMeth.Id()
-		if tId > uId {
-			// U has a method T lacks: fail.
-			return false
-		}
-		if tId < uId {
-			// T has a method U lacks: ignore it.
-			t++
-			continue
-		}
-		// U and T both have a method of this Id.  Check types.
-		if !types.Identical(tMeth.Type(), uMeth.Type()) {
-			return false // type mismatch
-		}
-		u++
-		t++
-	}
-	return u == ulen
-}
internal/godoc/analysis/json.go
@@ -1,69 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package analysis
-
-// This file defines types used by client-side JavaScript.
-
-type anchorJSON struct {
-	Text string // HTML
-	Href string // URL
-}
-
-type commOpJSON struct {
-	Op anchorJSON
-	Fn string
-}
-
-// JavaScript's onClickComm() expects a commJSON.
-type commJSON struct {
-	Ops []commOpJSON
-}
-
-// Indicates one of these forms of fact about a type T:
-// T "is implemented by <ByKind> type <Other>"  (ByKind != "", e.g. "array")
-// T "implements <Other>"                       (ByKind == "")
-type implFactJSON struct {
-	ByKind string `json:",omitempty"`
-	Other  anchorJSON
-}
-
-// Implements facts are grouped by form, for ease of reading.
-type implGroupJSON struct {
-	Descr string
-	Facts []implFactJSON
-}
-
-// JavaScript's onClickIdent() expects a TypeInfoJSON.
-type TypeInfoJSON struct {
-	Name        string // type name
-	Size, Align int64
-	Methods     []anchorJSON
-	ImplGroups  []implGroupJSON
-}
-
-// JavaScript's onClickCallees() expects a calleesJSON.
-type calleesJSON struct {
-	Descr   string
-	Callees []anchorJSON // markup for called function
-}
-
-type callerJSON struct {
-	Func  string
-	Sites []anchorJSON
-}
-
-// JavaScript's onClickCallers() expects a callersJSON.
-type callersJSON struct {
-	Callee  string
-	Callers []callerJSON
-}
-
-// JavaScript's cgAddChild requires a global array of PCGNodeJSON
-// called CALLGRAPH, representing the intra-package call graph.
-// The first element is special and represents "all external callers".
-type PCGNodeJSON struct {
-	Func    anchorJSON
-	Callees []int // indices within CALLGRAPH of nodes called by this one
-}
internal/godoc/analysis/peers.go
@@ -1,154 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package analysis
-
-// This file computes the channel "peers" relation over all pairs of
-// channel operations in the program.  The peers are displayed in the
-// lower pane when a channel operation (make, <-, close) is clicked.
-
-// TODO(adonovan): handle calls to reflect.{Select,Recv,Send,Close} too,
-// then enable reflection in PTA.
-
-import (
-	"fmt"
-	"go/token"
-	"go/types"
-
-	"golang.org/x/tools/go/pointer"
-	"golang.org/x/tools/go/ssa"
-)
-
-func (a *analysis) doChannelPeers(ptsets map[ssa.Value]pointer.Pointer) {
-	addSendRecv := func(j *commJSON, op chanOp) {
-		j.Ops = append(j.Ops, commOpJSON{
-			Op: anchorJSON{
-				Text: op.mode,
-				Href: a.posURL(op.pos, op.len),
-			},
-			Fn: prettyFunc(nil, op.fn),
-		})
-	}
-
-	// Build an undirected bipartite multigraph (binary relation)
-	// of MakeChan ops and send/recv/close ops.
-	//
-	// TODO(adonovan): opt: use channel element types to partition
-	// the O(n^2) problem into subproblems.
-	aliasedOps := make(map[*ssa.MakeChan][]chanOp)
-	opToMakes := make(map[chanOp][]*ssa.MakeChan)
-	for _, op := range a.ops {
-		// Combine the PT sets from all contexts.
-		var makes []*ssa.MakeChan // aliased ops
-		ptr, ok := ptsets[op.ch]
-		if !ok {
-			continue // e.g. channel op in dead code
-		}
-		for _, label := range ptr.PointsTo().Labels() {
-			makechan, ok := label.Value().(*ssa.MakeChan)
-			if !ok {
-				continue // skip intrinsically-created channels for now
-			}
-			if makechan.Pos() == token.NoPos {
-				continue // not possible?
-			}
-			makes = append(makes, makechan)
-			aliasedOps[makechan] = append(aliasedOps[makechan], op)
-		}
-		opToMakes[op] = makes
-	}
-
-	// Now that complete relation is built, build links for ops.
-	for _, op := range a.ops {
-		v := commJSON{
-			Ops: []commOpJSON{}, // (JS wants non-nil)
-		}
-		ops := make(map[chanOp]bool)
-		for _, makechan := range opToMakes[op] {
-			v.Ops = append(v.Ops, commOpJSON{
-				Op: anchorJSON{
-					Text: "made",
-					Href: a.posURL(makechan.Pos()-token.Pos(len("make")),
-						len("make")),
-				},
-				Fn: makechan.Parent().RelString(op.fn.Package().Pkg),
-			})
-			for _, op := range aliasedOps[makechan] {
-				ops[op] = true
-			}
-		}
-		for op := range ops {
-			addSendRecv(&v, op)
-		}
-
-		// Add links for each aliased op.
-		fi, offset := a.fileAndOffset(op.pos)
-		fi.addLink(aLink{
-			start:   offset,
-			end:     offset + op.len,
-			title:   "show channel ops",
-			onclick: fmt.Sprintf("onClickComm(%d)", fi.addData(v)),
-		})
-	}
-	// Add links for makechan ops themselves.
-	for makechan, ops := range aliasedOps {
-		v := commJSON{
-			Ops: []commOpJSON{}, // (JS wants non-nil)
-		}
-		for _, op := range ops {
-			addSendRecv(&v, op)
-		}
-
-		fi, offset := a.fileAndOffset(makechan.Pos())
-		fi.addLink(aLink{
-			start:   offset - len("make"),
-			end:     offset,
-			title:   "show channel ops",
-			onclick: fmt.Sprintf("onClickComm(%d)", fi.addData(v)),
-		})
-	}
-}
-
-// -- utilities --------------------------------------------------------
-
-// chanOp abstracts an ssa.Send, ssa.Unop(ARROW), close(), or a SelectState.
-// Derived from cmd/guru/peers.go.
-type chanOp struct {
-	ch   ssa.Value
-	mode string // sent|received|closed
-	pos  token.Pos
-	len  int
-	fn   *ssa.Function
-}
-
-// chanOps returns a slice of all the channel operations in the instruction.
-// Derived from cmd/guru/peers.go.
-func chanOps(instr ssa.Instruction) []chanOp {
-	fn := instr.Parent()
-	var ops []chanOp
-	switch instr := instr.(type) {
-	case *ssa.UnOp:
-		if instr.Op == token.ARROW {
-			// TODO(adonovan): don't assume <-ch; could be 'range ch'.
-			ops = append(ops, chanOp{instr.X, "received", instr.Pos(), len("<-"), fn})
-		}
-	case *ssa.Send:
-		ops = append(ops, chanOp{instr.Chan, "sent", instr.Pos(), len("<-"), fn})
-	case *ssa.Select:
-		for _, st := range instr.States {
-			mode := "received"
-			if st.Dir == types.SendOnly {
-				mode = "sent"
-			}
-			ops = append(ops, chanOp{st.Chan, mode, st.Pos, len("<-"), fn})
-		}
-	case ssa.CallInstruction:
-		call := instr.Common()
-		if blt, ok := call.Value.(*ssa.Builtin); ok && blt.Name() == "close" {
-			pos := instr.Common().Pos()
-			ops = append(ops, chanOp{call.Args[0], "closed", pos - token.Pos(len("close")), len("close("), fn})
-		}
-	}
-	return ops
-}
internal/godoc/analysis/typeinfo.go
@@ -1,234 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package analysis
-
-// This file computes the markup for information from go/types:
-// IMPORTS, identifier RESOLUTION, METHOD SETS, size/alignment, and
-// the IMPLEMENTS relation.
-//
-// IMPORTS links connect import specs to the documentation for the
-// imported package.
-//
-// RESOLUTION links referring identifiers to their defining
-// identifier, and adds tooltips for kind and type.
-//
-// METHOD SETS, size/alignment, and the IMPLEMENTS relation are
-// displayed in the lower pane when a type's defining identifier is
-// clicked.
-
-import (
-	"fmt"
-	"go/types"
-	"reflect"
-	"strconv"
-	"strings"
-
-	"golang.org/x/tools/go/loader"
-	"golang.org/x/tools/go/types/typeutil"
-)
-
-// TODO(adonovan): audit to make sure it's safe on ill-typed packages.
-
-// TODO(adonovan): use same Sizes as loader.Config.
-var sizes = types.StdSizes{WordSize: 8, MaxAlign: 8}
-
-func (a *analysis) doTypeInfo(info *loader.PackageInfo, implements map[*types.Named]implementsFacts) {
-	// We must not assume the corresponding SSA packages were
-	// created (i.e. were transitively error-free).
-
-	// IMPORTS
-	for _, f := range info.Files {
-		// Package decl.
-		fi, offset := a.fileAndOffset(f.Name.Pos())
-		fi.addLink(aLink{
-			start: offset,
-			end:   offset + len(f.Name.Name),
-			title: "Package docs for " + info.Pkg.Path(),
-			// TODO(adonovan): fix: we're putting the untrusted Path()
-			// into a trusted field.  What's the appropriate sanitizer?
-			href: "/pkg/" + info.Pkg.Path(),
-		})
-
-		// Import specs.
-		for _, imp := range f.Imports {
-			// Remove quotes.
-			L := int(imp.End()-imp.Path.Pos()) - len(`""`)
-			path, _ := strconv.Unquote(imp.Path.Value)
-			fi, offset := a.fileAndOffset(imp.Path.Pos())
-			fi.addLink(aLink{
-				start: offset + 1,
-				end:   offset + 1 + L,
-				title: "Package docs for " + path,
-				// TODO(adonovan): fix: we're putting the untrusted path
-				// into a trusted field.  What's the appropriate sanitizer?
-				href: "/pkg/" + path,
-			})
-		}
-	}
-
-	// RESOLUTION
-	qualifier := types.RelativeTo(info.Pkg)
-	for id, obj := range info.Uses {
-		// Position of the object definition.
-		pos := obj.Pos()
-		Len := len(obj.Name())
-
-		// Correct the position for non-renaming import specs.
-		//  import "sync/atomic"
-		//          ^^^^^^^^^^^
-		if obj, ok := obj.(*types.PkgName); ok && id.Name == obj.Imported().Name() {
-			// Assume this is a non-renaming import.
-			// NB: not true for degenerate renamings: `import foo "foo"`.
-			pos++
-			Len = len(obj.Imported().Path())
-		}
-
-		if obj.Pkg() == nil {
-			continue // don't mark up built-ins.
-		}
-
-		fi, offset := a.fileAndOffset(id.NamePos)
-		fi.addLink(aLink{
-			start: offset,
-			end:   offset + len(id.Name),
-			title: types.ObjectString(obj, qualifier),
-			href:  a.posURL(pos, Len),
-		})
-	}
-
-	// IMPLEMENTS & METHOD SETS
-	for _, obj := range info.Defs {
-		if obj, ok := obj.(*types.TypeName); ok {
-			if named, ok := obj.Type().(*types.Named); ok {
-				a.namedType(named, implements)
-			}
-		}
-	}
-}
-
-func (a *analysis) namedType(T *types.Named, implements map[*types.Named]implementsFacts) {
-	obj := T.Obj()
-	qualifier := types.RelativeTo(obj.Pkg())
-	v := &TypeInfoJSON{
-		Name:    obj.Name(),
-		Size:    sizes.Sizeof(T),
-		Align:   sizes.Alignof(T),
-		Methods: []anchorJSON{}, // (JS wants non-nil)
-	}
-
-	// addFact adds the fact "is implemented by T" (by) or
-	// "implements T" (!by) to group.
-	addFact := func(group *implGroupJSON, T types.Type, by bool) {
-		Tobj := deref(T).(*types.Named).Obj()
-		var byKind string
-		if by {
-			// Show underlying kind of implementing type,
-			// e.g. "slice", "array", "struct".
-			s := reflect.TypeOf(T.Underlying()).String()
-			byKind = strings.ToLower(strings.TrimPrefix(s, "*types."))
-		}
-		group.Facts = append(group.Facts, implFactJSON{
-			ByKind: byKind,
-			Other: anchorJSON{
-				Href: a.posURL(Tobj.Pos(), len(Tobj.Name())),
-				Text: types.TypeString(T, qualifier),
-			},
-		})
-	}
-
-	// IMPLEMENTS
-	if r, ok := implements[T]; ok {
-		if isInterface(T) {
-			// "T is implemented by <conc>" ...
-			// "T is implemented by <iface>"...
-			// "T implements        <iface>"...
-			group := implGroupJSON{
-				Descr: types.TypeString(T, qualifier),
-			}
-			// Show concrete types first; use two passes.
-			for _, sub := range r.to {
-				if !isInterface(sub) {
-					addFact(&group, sub, true)
-				}
-			}
-			for _, sub := range r.to {
-				if isInterface(sub) {
-					addFact(&group, sub, true)
-				}
-			}
-			for _, super := range r.from {
-				addFact(&group, super, false)
-			}
-			v.ImplGroups = append(v.ImplGroups, group)
-		} else {
-			// T is concrete.
-			if r.from != nil {
-				// "T implements <iface>"...
-				group := implGroupJSON{
-					Descr: types.TypeString(T, qualifier),
-				}
-				for _, super := range r.from {
-					addFact(&group, super, false)
-				}
-				v.ImplGroups = append(v.ImplGroups, group)
-			}
-			if r.fromPtr != nil {
-				// "*C implements <iface>"...
-				group := implGroupJSON{
-					Descr: "*" + types.TypeString(T, qualifier),
-				}
-				for _, psuper := range r.fromPtr {
-					addFact(&group, psuper, false)
-				}
-				v.ImplGroups = append(v.ImplGroups, group)
-			}
-		}
-	}
-
-	// METHOD SETS
-	for _, sel := range typeutil.IntuitiveMethodSet(T, &a.prog.MethodSets) {
-		meth := sel.Obj().(*types.Func)
-		pos := meth.Pos() // may be 0 for error.Error
-		v.Methods = append(v.Methods, anchorJSON{
-			Href: a.posURL(pos, len(meth.Name())),
-			Text: types.SelectionString(sel, qualifier),
-		})
-	}
-
-	// Since there can be many specs per decl, we
-	// can't attach the link to the keyword 'type'
-	// (as we do with 'func'); we use the Ident.
-	fi, offset := a.fileAndOffset(obj.Pos())
-	fi.addLink(aLink{
-		start:   offset,
-		end:     offset + len(obj.Name()),
-		title:   fmt.Sprintf("type info for %s", obj.Name()),
-		onclick: fmt.Sprintf("onClickTypeInfo(%d)", fi.addData(v)),
-	})
-
-	// Add info for exported package-level types to the package info.
-	if obj.Exported() && isPackageLevel(obj) {
-		// TODO(adonovan): Path is not unique!
-		// It is possible to declare a non-test package called x_test.
-		a.result.pkgInfo(obj.Pkg().Path()).addType(v)
-	}
-}
-
-// -- utilities --------------------------------------------------------
-
-func isInterface(T types.Type) bool { return types.IsInterface(T) }
-
-// deref returns a pointer's element type; otherwise it returns typ.
-func deref(typ types.Type) types.Type {
-	if p, ok := typ.Underlying().(*types.Pointer); ok {
-		return p.Elem()
-	}
-	return typ
-}
-
-// isPackageLevel reports whether obj is a package-level object.
-func isPackageLevel(obj types.Object) bool {
-	return obj.Pkg().Scope().Lookup(obj.Name()) == obj
-}
internal/godoc/corpus.go
@@ -9,7 +9,6 @@
 	"sync"
 	"time"

-	"golang.org/x/website/internal/godoc/analysis"
 	"golang.org/x/website/internal/godoc/util"
 	"golang.org/x/website/internal/godoc/vfs"
 )
@@ -99,9 +98,6 @@
 	// SearchIndex is the search index in use.
 	searchIndex util.RWValue

-	// Analysis is the result of type and pointer analysis.
-	Analysis analysis.Result
-
 	// flag to check whether a corpus is initialized or not
 	initMu   sync.RWMutex
 	initDone bool
internal/godoc/godoc.go
@@ -18,7 +18,6 @@
 	"go/format"
 	"go/printer"
 	"go/token"
-	htmltemplate "html/template"
 	"io"
 	"log"
 	"os"
@@ -95,11 +94,6 @@
 		"example_name":   p.example_nameFunc,
 		"example_suffix": p.example_suffixFunc,

-		// formatting of analysis information
-		"callgraph_html":  p.callgraph_htmlFunc,
-		"implements_html": p.implements_htmlFunc,
-		"methodset_html":  p.methodset_htmlFunc,
-
 		// formatting of Notes
 		"noteTitle": noteTitle,

@@ -413,12 +407,6 @@
 	IsMain     bool                   // true for package main
 	IsFiltered bool                   // true if results were filtered

-	// analysis info
-	TypeInfoIndex  map[string]int  // index of JSON datum for type T (if -analysis=type)
-	AnalysisData   htmltemplate.JS // array of TypeInfoJSON values
-	CallGraph      htmltemplate.JS // array of PCGNodeJSON values    (if -analysis=pointer)
-	CallGraphIndex map[string]int  // maps func name to index in CallGraph
-
 	// directory info
 	Dirs    *DirList  // nil if no directory information
 	DirTime time.Time // directory time stamp
@@ -660,64 +648,6 @@
 	return suffix
 }

-// implements_html returns the "> Implements" toggle for a package-level named type.
-// Its contents are populated from JSON data by client-side JS at load time.
-func (p *Presentation) implements_htmlFunc(info *PageInfo, typeName string) string {
-	if p.ImplementsHTML == nil {
-		return ""
-	}
-	index, ok := info.TypeInfoIndex[typeName]
-	if !ok {
-		return ""
-	}
-	var buf bytes.Buffer
-	err := p.ImplementsHTML.Execute(&buf, struct{ Index int }{index})
-	if err != nil {
-		log.Print(err)
-	}
-	return buf.String()
-}
-
-// methodset_html returns the "> Method set" toggle for a package-level named type.
-// Its contents are populated from JSON data by client-side JS at load time.
-func (p *Presentation) methodset_htmlFunc(info *PageInfo, typeName string) string {
-	if p.MethodSetHTML == nil {
-		return ""
-	}
-	index, ok := info.TypeInfoIndex[typeName]
-	if !ok {
-		return ""
-	}
-	var buf bytes.Buffer
-	err := p.MethodSetHTML.Execute(&buf, struct{ Index int }{index})
-	if err != nil {
-		log.Print(err)
-	}
-	return buf.String()
-}
-
-// callgraph_html returns the "> Call graph" toggle for a package-level func.
-// Its contents are populated from JSON data by client-side JS at load time.
-func (p *Presentation) callgraph_htmlFunc(info *PageInfo, recv, name string) string {
-	if p.CallGraphHTML == nil {
-		return ""
-	}
-	if recv != "" {
-		// Format must match (*ssa.Function).RelString().
-		name = fmt.Sprintf("(%s).%s", recv, name)
-	}
-	index, ok := info.CallGraphIndex[name]
-	if !ok {
-		return ""
-	}
-	var buf bytes.Buffer
-	err := p.CallGraphHTML.Execute(&buf, struct{ Index int }{index})
-	if err != nil {
-		log.Print(err)
-	}
-	return buf.String()
-}
-
 func noteTitle(note string) string {
 	return strings.Title(strings.ToLower(note))
 }
internal/godoc/page.go
@@ -23,7 +23,6 @@
 	Query    string
 	Body     []byte
 	GoogleCN bool // page is being served from golang.google.cn
-	TreeView bool // page needs to contain treeview related js and css

 	// filled in by ServePage
 	SearchBox       bool
internal/godoc/pres.go
@@ -25,13 +25,10 @@
 	cmdHandler handlerServer
 	pkgHandler handlerServer

-	CallGraphHTML,
 	DirlistHTML,
 	ErrorHTML,
 	ExampleHTML,
 	GodocHTML,
-	ImplementsHTML,
-	MethodSetHTML,
 	PackageHTML,
 	PackageRootHTML,
 	SearchHTML,
internal/godoc/server.go
@@ -14,7 +14,6 @@
 	"go/doc"
 	"go/token"
 	htmlpkg "html"
-	htmltemplate "html/template"
 	"io"
 	"io/ioutil"
 	"log"
@@ -27,7 +26,6 @@
 	"text/template"
 	"time"

-	"golang.org/x/website/internal/godoc/analysis"
 	"golang.org/x/website/internal/godoc/util"
 	"golang.org/x/website/internal/godoc/vfs"
 )
@@ -317,17 +315,6 @@
 		tabtitle = "Commands"
 	}

-	// Emit JSON array for type information.
-	pi := h.c.Analysis.PackageInfo(relpath)
-	hasTreeView := len(pi.CallGraph) != 0
-	info.CallGraphIndex = pi.CallGraphIndex
-	info.CallGraph = htmltemplate.JS(marshalJSON(pi.CallGraph))
-	info.AnalysisData = htmltemplate.JS(marshalJSON(pi.Types))
-	info.TypeInfoIndex = make(map[string]int)
-	for i, ti := range pi.Types {
-		info.TypeInfoIndex[ti.Name] = i
-	}
-
 	info.GoogleCN = googleCN(r)
 	var body []byte
 	if info.Dirname == "/src" {
@@ -341,7 +328,6 @@
 		Subtitle: subtitle,
 		Body:     body,
 		GoogleCN: info.GoogleCN,
-		TreeView: hasTreeView,
 	})
 }

@@ -583,20 +569,8 @@

 	var buf bytes.Buffer
 	if pathpkg.Ext(abspath) == ".go" {
-		// Find markup links for this file (e.g. "/src/fmt/print.go").
-		fi := p.Corpus.Analysis.FileInfo(abspath)
-		buf.WriteString("<script type='text/javascript'>document.ANALYSIS_DATA = ")
-		buf.Write(marshalJSON(fi.Data))
-		buf.WriteString(";</script>\n")
-
-		if status := p.Corpus.Analysis.Status(); status != "" {
-			buf.WriteString("<a href='/lib/godoc/analysis/help.html'>Static analysis features</a> ")
-			// TODO(adonovan): show analysis status at per-file granularity.
-			fmt.Fprintf(&buf, "<span style='color: grey'>[%s]</span><br/>", htmlpkg.EscapeString(status))
-		}
-
 		buf.WriteString("<pre>")
-		formatGoSource(&buf, src, fi.Links, h, s)
+		formatGoSource(&buf, src, h, s)
 		buf.WriteString("</pre>")
 	} else {
 		buf.WriteString("<pre>")
@@ -614,34 +588,18 @@
 	})
 }

-// formatGoSource HTML-escapes Go source text and writes it to w,
-// decorating it with the specified analysis links.
-//
-func formatGoSource(buf *bytes.Buffer, text []byte, links []analysis.Link, pattern string, selection Selection) {
+// formatGoSource HTML-escapes Go source text and writes it to w.
+func formatGoSource(buf *bytes.Buffer, text []byte, pattern string, selection Selection) {
 	// Emit to a temp buffer so that we can add line anchors at the end.
 	saved, buf := buf, new(bytes.Buffer)

-	var i int
-	var link analysis.Link // shared state of the two funcs below
-	segmentIter := func() (seg Segment) {
-		if i < len(links) {
-			link = links[i]
-			i++
-			seg = Segment{link.Start(), link.End()}
-		}
-		return
-	}
-	linkWriter := func(w io.Writer, offs int, start bool) {
-		link.Write(w, offs, start)
-	}
-
 	comments := tokenSelection(text, token.COMMENT)
 	var highlights Selection
 	if pattern != "" {
 		highlights = regexpSelection(text, pattern)
 	}

-	FormatSelections(buf, text, linkWriter, segmentIter, selectionTag, comments, highlights, selection)
+	FormatSelections(buf, text, nil, nil, selectionTag, comments, highlights, selection)

 	// Now copy buf to saved, adding line anchors.

internal/godoc/redirect: remove unused package
rsc committed 4 days ago commit bde78ab4edabf7dc67bf10e534875c1e9013ac4e
internal/godoc/redirect/hash.go
@@ -1,138 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file provides a compact encoding of
-// a map of Mercurial hashes to Git hashes.
-
-package redirect
-
-import (
-	"encoding/binary"
-	"fmt"
-	"io"
-	"os"
-	"sort"
-	"strconv"
-	"strings"
-)
-
-// hashMap is a map of Mercurial hashes to Git hashes.
-type hashMap struct {
-	file    *os.File
-	entries int
-}
-
-// newHashMap takes a file handle that contains a map of Mercurial to Git
-// hashes. The file should be a sequence of pairs of little-endian encoded
-// uint32s, representing a hgHash and a gitHash respectively.
-// The sequence must be sorted by hgHash.
-// The file must remain open for as long as the returned hashMap is used.
-func newHashMap(f *os.File) (*hashMap, error) {
-	fi, err := f.Stat()
-	if err != nil {
-		return nil, err
-	}
-	return &hashMap{file: f, entries: int(fi.Size() / 8)}, nil
-}
-
-// Lookup finds an hgHash in the map that matches the given prefix, and returns
-// its corresponding gitHash. The prefix must be at least 8 characters long.
-func (m *hashMap) Lookup(s string) gitHash {
-	if m == nil {
-		return 0
-	}
-	hg, err := hgHashFromString(s)
-	if err != nil {
-		return 0
-	}
-	var git gitHash
-	b := make([]byte, 8)
-	sort.Search(m.entries, func(i int) bool {
-		n, err := m.file.ReadAt(b, int64(i*8))
-		if err != nil {
-			panic(err)
-		}
-		if n != 8 {
-			panic(io.ErrUnexpectedEOF)
-		}
-		v := hgHash(binary.LittleEndian.Uint32(b[:4]))
-		if v == hg {
-			git = gitHash(binary.LittleEndian.Uint32(b[4:]))
-		}
-		return v >= hg
-	})
-	return git
-}
-
-// hgHash represents the lower (leftmost) 32 bits of a Mercurial hash.
-type hgHash uint32
-
-func (h hgHash) String() string {
-	return intToHash(int64(h))
-}
-
-func hgHashFromString(s string) (hgHash, error) {
-	if len(s) < 8 {
-		return 0, fmt.Errorf("string too small: len(s) = %d", len(s))
-	}
-	hash := s[:8]
-	i, err := strconv.ParseInt(hash, 16, 64)
-	if err != nil {
-		return 0, err
-	}
-	return hgHash(i), nil
-}
-
-// gitHash represents the leftmost 28 bits of a Git hash in its upper 28 bits,
-// and it encodes hash's repository in the lower 4  bits.
-type gitHash uint32
-
-func (h gitHash) Hash() string {
-	return intToHash(int64(h))[:7]
-}
-
-func (h gitHash) Repo() string {
-	return repo(h & 0xF).String()
-}
-
-func intToHash(i int64) string {
-	s := strconv.FormatInt(i, 16)
-	if len(s) < 8 {
-		s = strings.Repeat("0", 8-len(s)) + s
-	}
-	return s
-}
-
-// repo represents a Go Git repository.
-type repo byte
-
-const (
-	repoGo repo = iota
-	repoBlog
-	repoCrypto
-	repoExp
-	repoImage
-	repoMobile
-	repoNet
-	repoSys
-	repoTalks
-	repoText
-	repoTools
-)
-
-func (r repo) String() string {
-	return map[repo]string{
-		repoGo:     "go",
-		repoBlog:   "blog",
-		repoCrypto: "crypto",
-		repoExp:    "exp",
-		repoImage:  "image",
-		repoMobile: "mobile",
-		repoNet:    "net",
-		repoSys:    "sys",
-		repoTalks:  "talks",
-		repoText:   "text",
-		repoTools:  "tools",
-	}[r]
-}
internal/godoc/redirect/redirect.go
@@ -1,324 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package redirect provides hooks to register HTTP handlers that redirect old
-// godoc paths to their new equivalents and assist in accessing the issue
-// tracker, wiki, code review system, etc.
-package redirect // import "golang.org/x/website/internal/godoc/redirect"
-
-import (
-	"context"
-	"fmt"
-	"html/template"
-	"net/http"
-	"os"
-	"regexp"
-	"strconv"
-	"strings"
-	"sync"
-	"time"
-
-	"golang.org/x/net/context/ctxhttp"
-)
-
-// Register registers HTTP handlers that redirect old godoc paths to their new
-// equivalents and assist in accessing the issue tracker, wiki, code review
-// system, etc. If mux is nil it uses http.DefaultServeMux.
-func Register(mux *http.ServeMux) {
-	if mux == nil {
-		mux = http.DefaultServeMux
-	}
-	handlePathRedirects(mux, pkgRedirects, "/pkg/")
-	handlePathRedirects(mux, cmdRedirects, "/cmd/")
-	for prefix, redirect := range prefixHelpers {
-		p := "/" + prefix + "/"
-		mux.Handle(p, PrefixHandler(p, redirect))
-	}
-	for path, redirect := range redirects {
-		mux.Handle(path, Handler(redirect))
-	}
-	// NB: /src/pkg (sans trailing slash) is the index of packages.
-	mux.HandleFunc("/src/pkg/", srcPkgHandler)
-	mux.HandleFunc("/cl/", clHandler)
-	mux.HandleFunc("/change/", changeHandler)
-	mux.HandleFunc("/design/", designHandler)
-}
-
-func handlePathRedirects(mux *http.ServeMux, redirects map[string]string, prefix string) {
-	for source, target := range redirects {
-		h := Handler(prefix + target + "/")
-		p := prefix + source
-		mux.Handle(p, h)
-		mux.Handle(p+"/", h)
-	}
-}
-
-// Packages that were renamed between r60 and go1.
-var pkgRedirects = map[string]string{
-	"asn1":              "encoding/asn1",
-	"big":               "math/big",
-	"cmath":             "math/cmplx",
-	"csv":               "encoding/csv",
-	"exec":              "os/exec",
-	"exp/template/html": "html/template",
-	"gob":               "encoding/gob",
-	"http":              "net/http",
-	"http/cgi":          "net/http/cgi",
-	"http/fcgi":         "net/http/fcgi",
-	"http/httptest":     "net/http/httptest",
-	"http/pprof":        "net/http/pprof",
-	"json":              "encoding/json",
-	"mail":              "net/mail",
-	"rand":              "math/rand",
-	"rpc":               "net/rpc",
-	"rpc/jsonrpc":       "net/rpc/jsonrpc",
-	"scanner":           "text/scanner",
-	"smtp":              "net/smtp",
-	"tabwriter":         "text/tabwriter",
-	"template":          "text/template",
-	"template/parse":    "text/template/parse",
-	"url":               "net/url",
-	"utf16":             "unicode/utf16",
-	"utf8":              "unicode/utf8",
-	"xml":               "encoding/xml",
-}
-
-// Commands that were renamed between r60 and go1.
-var cmdRedirects = map[string]string{
-	"gofix":     "fix",
-	"goinstall": "go",
-	"gopack":    "pack",
-	"gotest":    "go",
-	"govet":     "vet",
-	"goyacc":    "yacc",
-}
-
-var redirects = map[string]string{
-	"/blog":       "/blog/",
-	"/build":      "http://build.golang.org",
-	"/change":     "https://go.googlesource.com/go",
-	"/cl":         "https://go-review.googlesource.com",
-	"/cmd/godoc/": "https://pkg.go.dev/golang.org/x/tools/cmd/godoc",
-	"/issue":      "https://github.com/golang/go/issues",
-	"/issue/new":  "https://github.com/golang/go/issues/new",
-	"/issues":     "https://github.com/golang/go/issues",
-	"/issues/new": "https://github.com/golang/go/issues/new",
-	"/play":       "http://play.golang.org",
-	"/design":     "https://go.googlesource.com/proposal/+/master/design",
-
-	// In Go 1.2 the references page is part of /doc/.
-	"/ref": "/doc/#references",
-	// This next rule clobbers /ref/spec and /ref/mem.
-	// TODO(adg): figure out what to do here, if anything.
-	// "/ref/": "/doc/#references",
-
-	// Be nice to people who are looking in the wrong place.
-	"/doc/mem":  "/ref/mem",
-	"/doc/spec": "/ref/spec",
-
-	"/talks": "http://talks.golang.org",
-	"/tour":  "http://tour.golang.org",
-	"/wiki":  "https://github.com/golang/go/wiki",
-
-	"/doc/articles/c_go_cgo.html":                    "/blog/c-go-cgo",
-	"/doc/articles/concurrency_patterns.html":        "/blog/go-concurrency-patterns-timing-out-and",
-	"/doc/articles/defer_panic_recover.html":         "/blog/defer-panic-and-recover",
-	"/doc/articles/error_handling.html":              "/blog/error-handling-and-go",
-	"/doc/articles/gobs_of_data.html":                "/blog/gobs-of-data",
-	"/doc/articles/godoc_documenting_go_code.html":   "/blog/godoc-documenting-go-code",
-	"/doc/articles/gos_declaration_syntax.html":      "/blog/gos-declaration-syntax",
-	"/doc/articles/image_draw.html":                  "/blog/go-imagedraw-package",
-	"/doc/articles/image_package.html":               "/blog/go-image-package",
-	"/doc/articles/json_and_go.html":                 "/blog/json-and-go",
-	"/doc/articles/json_rpc_tale_of_interfaces.html": "/blog/json-rpc-tale-of-interfaces",
-	"/doc/articles/laws_of_reflection.html":          "/blog/laws-of-reflection",
-	"/doc/articles/slices_usage_and_internals.html":  "/blog/go-slices-usage-and-internals",
-	"/doc/go_for_cpp_programmers.html":               "/wiki/GoForCPPProgrammers",
-	"/doc/go_tutorial.html":                          "http://tour.golang.org/",
-}
-
-var prefixHelpers = map[string]string{
-	"issue":  "https://github.com/golang/go/issues/",
-	"issues": "https://github.com/golang/go/issues/",
-	"play":   "http://play.golang.org/",
-	"talks":  "http://talks.golang.org/",
-	"wiki":   "https://github.com/golang/go/wiki/",
-}
-
-func Handler(target string) http.Handler {
-	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		url := target
-		if qs := r.URL.RawQuery; qs != "" {
-			url += "?" + qs
-		}
-		http.Redirect(w, r, url, http.StatusMovedPermanently)
-	})
-}
-
-var validID = regexp.MustCompile(`^[A-Za-z0-9-]*/?$`)
-
-func PrefixHandler(prefix, baseURL string) http.Handler {
-	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		if p := r.URL.Path; p == prefix {
-			// redirect /prefix/ to /prefix
-			http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
-			return
-		}
-		id := r.URL.Path[len(prefix):]
-		if !validID.MatchString(id) {
-			http.Error(w, "Not found", http.StatusNotFound)
-			return
-		}
-		target := baseURL + id
-		http.Redirect(w, r, target, http.StatusFound)
-	})
-}
-
-// Redirect requests from the old "/src/pkg/foo" to the new "/src/foo".
-// See http://golang.org/s/go14nopkg
-func srcPkgHandler(w http.ResponseWriter, r *http.Request) {
-	r.URL.Path = "/src/" + r.URL.Path[len("/src/pkg/"):]
-	http.Redirect(w, r, r.URL.String(), http.StatusMovedPermanently)
-}
-
-func clHandler(w http.ResponseWriter, r *http.Request) {
-	const prefix = "/cl/"
-	if p := r.URL.Path; p == prefix {
-		// redirect /prefix/ to /prefix
-		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
-		return
-	}
-	id := r.URL.Path[len(prefix):]
-	// support /cl/152700045/, which is used in commit 0edafefc36.
-	id = strings.TrimSuffix(id, "/")
-	if !validID.MatchString(id) {
-		http.Error(w, "Not found", http.StatusNotFound)
-		return
-	}
-	target := ""
-
-	if n, err := strconv.Atoi(id); err == nil && isRietveldCL(n) {
-		// Issue 28836: if this Rietveld CL happens to
-		// also be a Gerrit CL, render a disambiguation HTML
-		// page with two links instead. We need to make a
-		// Gerrit API call to figure that out, but we cache
-		// known Gerrit CLs so it's done at most once per CL.
-		if ok, err := isGerritCL(r.Context(), n); err == nil && ok {
-			w.Header().Set("Content-Type", "text/html; charset=utf-8")
-			clDisambiguationHTML.Execute(w, n)
-			return
-		}
-
-		target = "https://codereview.appspot.com/" + id
-	} else {
-		target = "https://go-review.googlesource.com/" + id
-	}
-	http.Redirect(w, r, target, http.StatusFound)
-}
-
-var clDisambiguationHTML = template.Must(template.New("").Parse(`<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<title>Go CL {{.}} Disambiguation</title>
-		<meta name="viewport" content="width=device-width">
-	</head>
-	<body>
-		CL number {{.}} exists in both Gerrit (the current code review system)
-		and Rietveld (the previous code review system). Please make a choice:
-
-		<ul>
-			<li><a href="https://go-review.googlesource.com/{{.}}">Gerrit CL {{.}}</a></li>
-			<li><a href="https://codereview.appspot.com/{{.}}">Rietveld CL {{.}}</a></li>
-		</ul>
-	</body>
-</html>`))
-
-// isGerritCL reports whether a Gerrit CL with the specified numeric change ID (e.g., "4247")
-// is known to exist by querying the Gerrit API at https://go-review.googlesource.com.
-// isGerritCL uses gerritCLCache as a cache of Gerrit CL IDs that exist.
-func isGerritCL(ctx context.Context, id int) (bool, error) {
-	// Check cache first.
-	gerritCLCache.Lock()
-	ok := gerritCLCache.exist[id]
-	gerritCLCache.Unlock()
-	if ok {
-		return true, nil
-	}
-
-	// Query the Gerrit API Get Change endpoint, as documented at
-	// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change.
-	ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
-	defer cancel()
-	resp, err := ctxhttp.Get(ctx, nil, fmt.Sprintf("https://go-review.googlesource.com/changes/%d", id))
-	if err != nil {
-		return false, err
-	}
-	resp.Body.Close()
-	switch resp.StatusCode {
-	case http.StatusOK:
-		// A Gerrit CL with this ID exists. Add it to cache.
-		gerritCLCache.Lock()
-		gerritCLCache.exist[id] = true
-		gerritCLCache.Unlock()
-		return true, nil
-	case http.StatusNotFound:
-		// A Gerrit CL with this ID doesn't exist. It may get created in the future.
-		return false, nil
-	default:
-		return false, fmt.Errorf("unexpected status code: %v", resp.Status)
-	}
-}
-
-var gerritCLCache = struct {
-	sync.Mutex
-	exist map[int]bool // exist is a set of Gerrit CL IDs that are known to exist.
-}{exist: make(map[int]bool)}
-
-var changeMap *hashMap
-
-// LoadChangeMap loads the specified map of Mercurial to Git revisions,
-// which is used by the /change/ handler to intelligently map old hg
-// revisions to their new git equivalents.
-// It should be called before calling Register.
-// The file should remain open as long as the process is running.
-// See the implementation of this package for details.
-func LoadChangeMap(filename string) error {
-	f, err := os.Open(filename)
-	if err != nil {
-		return err
-	}
-	m, err := newHashMap(f)
-	if err != nil {
-		return err
-	}
-	changeMap = m
-	return nil
-}
-
-func changeHandler(w http.ResponseWriter, r *http.Request) {
-	const prefix = "/change/"
-	if p := r.URL.Path; p == prefix {
-		// redirect /prefix/ to /prefix
-		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
-		return
-	}
-	hash := r.URL.Path[len(prefix):]
-	target := "https://go.googlesource.com/go/+/" + hash
-	if git := changeMap.Lookup(hash); git > 0 {
-		target = fmt.Sprintf("https://go.googlesource.com/%v/+/%v", git.Repo(), git.Hash())
-	}
-	http.Redirect(w, r, target, http.StatusFound)
-}
-
-func designHandler(w http.ResponseWriter, r *http.Request) {
-	const prefix = "/design/"
-	if p := r.URL.Path; p == prefix {
-		// redirect /prefix/ to /prefix
-		http.Redirect(w, r, p[:len(p)-1], http.StatusFound)
-		return
-	}
-	name := r.URL.Path[len(prefix):]
-	target := "https://go.googlesource.com/proposal/+/master/design/" + name + ".md"
-	http.Redirect(w, r, target, http.StatusFound)
-}
internal/godoc/redirect/redirect_test.go
@@ -1,113 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package redirect
-
-import (
-	"net/http"
-	"net/http/httptest"
-	"testing"
-)
-
-type redirectResult struct {
-	status int
-	path   string
-}
-
-func errorResult(status int) redirectResult {
-	return redirectResult{status, ""}
-}
-
-func TestRedirects(t *testing.T) {
-	var tests = map[string]redirectResult{
-		"/build":    {301, "http://build.golang.org"},
-		"/ref":      {301, "/doc/#references"},
-		"/doc/mem":  {301, "/ref/mem"},
-		"/doc/spec": {301, "/ref/spec"},
-		"/tour":     {301, "http://tour.golang.org"},
-		"/foo":      errorResult(404),
-
-		"/pkg/asn1":           {301, "/pkg/encoding/asn1/"},
-		"/pkg/template/parse": {301, "/pkg/text/template/parse/"},
-
-		"/src/pkg/foo": {301, "/src/foo"},
-
-		"/cmd/gofix": {301, "/cmd/fix/"},
-
-		// git commits (/change)
-		// TODO: mercurial tags and LoadChangeMap.
-		"/change":   {301, "https://go.googlesource.com/go"},
-		"/change/a": {302, "https://go.googlesource.com/go/+/a"},
-
-		"/issue":                    {301, "https://github.com/golang/go/issues"},
-		"/issue?":                   {301, "https://github.com/golang/go/issues"},
-		"/issue/1":                  {302, "https://github.com/golang/go/issues/1"},
-		"/issue/new":                {301, "https://github.com/golang/go/issues/new"},
-		"/issue/new?a=b&c=d%20&e=f": {301, "https://github.com/golang/go/issues/new?a=b&c=d%20&e=f"},
-		"/issues":                   {301, "https://github.com/golang/go/issues"},
-		"/issues/1":                 {302, "https://github.com/golang/go/issues/1"},
-		"/issues/new":               {301, "https://github.com/golang/go/issues/new"},
-		"/issues/1/2/3":             errorResult(404),
-
-		"/wiki/foo":  {302, "https://github.com/golang/go/wiki/foo"},
-		"/wiki/foo/": {302, "https://github.com/golang/go/wiki/foo/"},
-
-		"/design":              {301, "https://go.googlesource.com/proposal/+/master/design"},
-		"/design/":             {302, "/design"},
-		"/design/123-foo":      {302, "https://go.googlesource.com/proposal/+/master/design/123-foo.md"},
-		"/design/text/123-foo": {302, "https://go.googlesource.com/proposal/+/master/design/text/123-foo.md"},
-
-		"/cl/1":          {302, "https://go-review.googlesource.com/1"},
-		"/cl/1/":         {302, "https://go-review.googlesource.com/1"},
-		"/cl/267120043":  {302, "https://codereview.appspot.com/267120043"},
-		"/cl/267120043/": {302, "https://codereview.appspot.com/267120043"},
-
-		// Verify that we're using the Rietveld CL table:
-		"/cl/152046": {302, "https://codereview.appspot.com/152046"},
-		"/cl/152047": {302, "https://go-review.googlesource.com/152047"},
-		"/cl/152048": {302, "https://codereview.appspot.com/152048"},
-
-		// And verify we're using the "bigEnoughAssumeRietveld" value:
-		"/cl/299999": {302, "https://go-review.googlesource.com/299999"},
-		"/cl/300000": {302, "https://codereview.appspot.com/300000"},
-	}
-
-	mux := http.NewServeMux()
-	Register(mux)
-	ts := httptest.NewServer(mux)
-	defer ts.Close()
-
-	for path, want := range tests {
-		if want.path != "" && want.path[0] == '/' {
-			// All redirects are absolute.
-			want.path = ts.URL + want.path
-		}
-
-		req, err := http.NewRequest("GET", ts.URL+path, nil)
-		if err != nil {
-			t.Errorf("(path: %q) unexpected error: %v", path, err)
-			continue
-		}
-
-		resp, err := http.DefaultTransport.RoundTrip(req)
-		if err != nil {
-			t.Errorf("(path: %q) unexpected error: %v", path, err)
-			continue
-		}
-
-		if resp.StatusCode != want.status {
-			t.Errorf("(path: %q) got status %d, want %d", path, resp.StatusCode, want.status)
-		}
-
-		if want.status != 301 && want.status != 302 {
-			// Not a redirect. Just check status.
-			continue
-		}
-
-		out, _ := resp.Location()
-		if got := out.String(); got != want.path {
-			t.Errorf("(path: %q) got %s, want %s", path, got, want.path)
-		}
-	}
-}
internal/godoc/redirect/rietveld.go
@@ -1,1093 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package redirect
-
-// bigEnoughAssumeRietveld is the value where CLs equal or great are
-// assumed to be on Rietveld. By including this threshold we shrink
-// the size of the table below. When Go amasses 150,000 more CLs, we'll
-// need to bump this number and regenerate the list below.
-const bigEnoughAssumeRietveld = 300000
-
-// isRietveldCL reports whether cl was a Rietveld CL number.
-func isRietveldCL(cl int) bool {
-	return cl >= bigEnoughAssumeRietveld || lowRietveldCL[cl]
-}
-
-// lowRietveldCLs are the old CL numbers assigned by Rietveld code
-// review system as used by Go prior to Gerrit which are less than
-// bigEnoughAssumeRietveld.
-//
-// This list of numbers is registered with the /cl/NNNN redirect
-// handler to disambiguate which code review system a particular
-// number corresponds to. In some rare cases there may be duplicates,
-// in which case we might render an HTML choice for the user.
-//
-// To re-generate this list, run:
-//
-// $ cd $GOROOT
-// $ git log 7d7c6a9..94151eb | grep "^    https://golang.org/cl/" | perl -ne 's,^\s+https://golang.org/cl/(\d+).*$,$1,; chomp; print "$_: true,\n" if $_ < 300000' | sort -n | uniq
-//
-// Note that we ignore the x/* repos because we didn't start using
-// "subrepos" until the Rietveld CLs numbers were already 4,000,000+,
-// well above bigEnoughAssumeRietveld.
-var lowRietveldCL = map[int]bool{
-	152046: true,
-	152048: true,
-	152049: true,
-	152050: true,
-	152051: true,
-	152052: true,
-	152055: true,
-	152056: true,
-	152057: true,
-	152072: true,
-	152073: true,
-	152075: true,
-	152076: true,
-	152077: true,
-	152078: true,
-	152079: true,
-	152080: true,
-	152082: true,
-	152084: true,
-	152085: true,
-	152086: true,
-	152088: true,
-	152089: true,
-	152091: true,
-	152098: true,
-	152101: true,
-	152102: true,
-	152105: true,
-	152106: true,
-	152107: true,
-	152108: true,
-	152109: true,
-	152110: true,
-	152114: true,
-	152117: true,
-	152118: true,
-	152120: true,
-	152123: true,
-	152124: true,
-	152128: true,
-	152130: true,
-	152131: true,
-	152138: true,
-	152141: true,
-	152142: true,
-	153048: true,
-	153049: true,
-	153050: true,
-	153051: true,
-	153055: true,
-	153056: true,
-	153057: true,
-	154043: true,
-	154044: true,
-	154045: true,
-	154049: true,
-	154055: true,
-	154057: true,
-	154058: true,
-	154059: true,
-	154061: true,
-	154064: true,
-	154065: true,
-	154067: true,
-	154068: true,
-	154069: true,
-	154071: true,
-	154072: true,
-	154073: true,
-	154076: true,
-	154079: true,
-	154096: true,
-	154097: true,
-	154099: true,
-	154100: true,
-	154101: true,
-	154102: true,
-	154108: true,
-	154118: true,
-	154121: true,
-	154122: true,
-	154123: true,
-	154125: true,
-	154126: true,
-	154128: true,
-	154136: true,
-	154138: true,
-	154139: true,
-	154140: true,
-	154141: true,
-	154142: true,
-	154143: true,
-	154144: true,
-	154145: true,
-	154146: true,
-	154152: true,
-	154153: true,
-	154156: true,
-	154159: true,
-	154161: true,
-	154166: true,
-	154167: true,
-	154169: true,
-	154171: true,
-	154172: true,
-	154173: true,
-	154174: true,
-	154175: true,
-	154176: true,
-	154177: true,
-	154178: true,
-	154179: true,
-	154180: true,
-	155041: true,
-	155042: true,
-	155045: true,
-	155047: true,
-	155048: true,
-	155049: true,
-	155050: true,
-	155054: true,
-	155055: true,
-	155056: true,
-	155057: true,
-	155058: true,
-	155059: true,
-	155061: true,
-	155062: true,
-	155063: true,
-	155065: true,
-	155067: true,
-	155069: true,
-	155072: true,
-	155074: true,
-	155075: true,
-	155077: true,
-	155078: true,
-	155079: true,
-	156041: true,
-	156044: true,
-	156045: true,
-	156046: true,
-	156047: true,
-	156051: true,
-	156052: true,
-	156054: true,
-	156055: true,
-	156056: true,
-	156058: true,
-	156059: true,
-	156060: true,
-	156061: true,
-	156062: true,
-	156063: true,
-	156066: true,
-	156067: true,
-	156070: true,
-	156071: true,
-	156073: true,
-	156075: true,
-	156077: true,
-	156079: true,
-	156080: true,
-	156081: true,
-	156083: true,
-	156084: true,
-	156085: true,
-	156086: true,
-	156089: true,
-	156091: true,
-	156092: true,
-	156093: true,
-	156094: true,
-	156097: true,
-	156099: true,
-	156100: true,
-	156102: true,
-	156103: true,
-	156104: true,
-	156106: true,
-	156107: true,
-	156108: true,
-	156109: true,
-	156110: true,
-	156113: true,
-	156115: true,
-	156116: true,
-	157041: true,
-	157042: true,
-	157043: true,
-	157044: true,
-	157046: true,
-	157053: true,
-	157055: true,
-	157056: true,
-	157058: true,
-	157060: true,
-	157061: true,
-	157062: true,
-	157065: true,
-	157066: true,
-	157067: true,
-	157068: true,
-	157069: true,
-	157071: true,
-	157072: true,
-	157073: true,
-	157074: true,
-	157075: true,
-	157076: true,
-	157077: true,
-	157082: true,
-	157084: true,
-	157085: true,
-	157087: true,
-	157088: true,
-	157091: true,
-	157095: true,
-	157096: true,
-	157099: true,
-	157100: true,
-	157101: true,
-	157102: true,
-	157103: true,
-	157104: true,
-	157106: true,
-	157110: true,
-	157111: true,
-	157112: true,
-	157114: true,
-	157116: true,
-	157119: true,
-	157140: true,
-	157142: true,
-	157143: true,
-	157144: true,
-	157146: true,
-	157147: true,
-	157149: true,
-	157151: true,
-	157152: true,
-	157153: true,
-	157154: true,
-	157156: true,
-	157157: true,
-	157158: true,
-	157159: true,
-	157160: true,
-	157162: true,
-	157166: true,
-	157167: true,
-	157168: true,
-	157170: true,
-	158041: true,
-	159044: true,
-	159049: true,
-	159050: true,
-	159051: true,
-	160043: true,
-	160044: true,
-	160045: true,
-	160046: true,
-	160047: true,
-	160054: true,
-	160056: true,
-	160057: true,
-	160059: true,
-	160060: true,
-	160061: true,
-	160064: true,
-	160065: true,
-	160069: true,
-	160070: true,
-	161049: true,
-	161050: true,
-	161056: true,
-	161058: true,
-	161060: true,
-	161061: true,
-	161069: true,
-	161070: true,
-	161073: true,
-	161075: true,
-	162041: true,
-	162044: true,
-	162046: true,
-	162053: true,
-	162054: true,
-	162055: true,
-	162056: true,
-	162057: true,
-	162058: true,
-	162059: true,
-	162061: true,
-	162062: true,
-	163042: true,
-	163044: true,
-	163049: true,
-	163050: true,
-	163051: true,
-	163052: true,
-	163053: true,
-	163055: true,
-	163058: true,
-	163061: true,
-	163062: true,
-	163064: true,
-	163067: true,
-	163068: true,
-	163069: true,
-	163070: true,
-	163071: true,
-	163072: true,
-	163082: true,
-	163083: true,
-	163085: true,
-	163088: true,
-	163091: true,
-	163092: true,
-	163097: true,
-	163098: true,
-	164043: true,
-	164047: true,
-	164049: true,
-	164052: true,
-	164053: true,
-	164056: true,
-	164059: true,
-	164060: true,
-	164062: true,
-	164068: true,
-	164069: true,
-	164071: true,
-	164073: true,
-	164074: true,
-	164075: true,
-	164078: true,
-	164079: true,
-	164081: true,
-	164082: true,
-	164083: true,
-	164085: true,
-	164086: true,
-	164088: true,
-	164090: true,
-	164091: true,
-	164092: true,
-	164093: true,
-	164094: true,
-	164095: true,
-	165042: true,
-	165044: true,
-	165045: true,
-	165048: true,
-	165049: true,
-	165050: true,
-	165051: true,
-	165055: true,
-	165057: true,
-	165058: true,
-	165059: true,
-	165061: true,
-	165062: true,
-	165063: true,
-	165064: true,
-	165065: true,
-	165068: true,
-	165070: true,
-	165076: true,
-	165078: true,
-	165080: true,
-	165083: true,
-	165086: true,
-	165097: true,
-	165100: true,
-	165101: true,
-	166041: true,
-	166043: true,
-	166044: true,
-	166047: true,
-	166049: true,
-	166052: true,
-	166053: true,
-	166055: true,
-	166058: true,
-	166059: true,
-	166060: true,
-	166064: true,
-	166066: true,
-	166067: true,
-	166068: true,
-	166070: true,
-	166071: true,
-	166072: true,
-	166073: true,
-	166074: true,
-	166076: true,
-	166077: true,
-	166078: true,
-	166080: true,
-	167043: true,
-	167044: true,
-	167047: true,
-	167050: true,
-	167055: true,
-	167057: true,
-	167058: true,
-	168041: true,
-	168045: true,
-	170042: true,
-	170043: true,
-	170044: true,
-	170046: true,
-	170047: true,
-	170048: true,
-	170049: true,
-	171044: true,
-	171046: true,
-	171047: true,
-	171048: true,
-	171051: true,
-	172041: true,
-	172042: true,
-	172043: true,
-	172045: true,
-	172049: true,
-	173041: true,
-	173044: true,
-	173045: true,
-	174042: true,
-	174047: true,
-	174048: true,
-	174050: true,
-	174051: true,
-	174052: true,
-	174053: true,
-	174063: true,
-	174064: true,
-	174072: true,
-	174076: true,
-	174077: true,
-	174078: true,
-	174082: true,
-	174083: true,
-	174087: true,
-	175045: true,
-	175046: true,
-	175047: true,
-	175048: true,
-	176056: true,
-	176057: true,
-	176058: true,
-	176061: true,
-	176062: true,
-	176063: true,
-	176064: true,
-	176066: true,
-	176067: true,
-	176070: true,
-	176071: true,
-	176076: true,
-	178043: true,
-	178044: true,
-	178046: true,
-	178048: true,
-	179047: true,
-	179055: true,
-	179061: true,
-	179062: true,
-	179063: true,
-	179067: true,
-	179069: true,
-	179070: true,
-	179072: true,
-	179079: true,
-	179088: true,
-	179095: true,
-	179096: true,
-	179097: true,
-	179099: true,
-	179105: true,
-	179106: true,
-	179108: true,
-	179118: true,
-	179120: true,
-	179125: true,
-	179126: true,
-	179128: true,
-	179129: true,
-	179130: true,
-	180044: true,
-	180045: true,
-	180046: true,
-	180047: true,
-	180048: true,
-	180049: true,
-	180050: true,
-	180052: true,
-	180053: true,
-	180054: true,
-	180055: true,
-	180056: true,
-	180057: true,
-	180059: true,
-	180061: true,
-	180064: true,
-	180065: true,
-	180068: true,
-	180069: true,
-	180070: true,
-	180074: true,
-	180075: true,
-	180081: true,
-	180082: true,
-	180085: true,
-	180092: true,
-	180099: true,
-	180105: true,
-	180108: true,
-	180112: true,
-	180118: true,
-	181041: true,
-	181043: true,
-	181044: true,
-	181045: true,
-	181049: true,
-	181050: true,
-	181055: true,
-	181057: true,
-	181058: true,
-	181059: true,
-	181063: true,
-	181071: true,
-	181073: true,
-	181075: true,
-	181077: true,
-	181080: true,
-	181083: true,
-	181084: true,
-	181085: true,
-	181086: true,
-	181087: true,
-	181089: true,
-	181097: true,
-	181099: true,
-	181102: true,
-	181111: true,
-	181130: true,
-	181135: true,
-	181137: true,
-	181138: true,
-	181139: true,
-	181151: true,
-	181152: true,
-	181153: true,
-	181155: true,
-	181156: true,
-	181157: true,
-	181158: true,
-	181160: true,
-	181161: true,
-	181163: true,
-	181164: true,
-	181171: true,
-	181179: true,
-	181183: true,
-	181184: true,
-	181186: true,
-	182041: true,
-	182043: true,
-	182044: true,
-	183042: true,
-	183043: true,
-	183044: true,
-	183047: true,
-	183049: true,
-	183065: true,
-	183066: true,
-	183073: true,
-	183074: true,
-	183075: true,
-	183083: true,
-	183084: true,
-	183087: true,
-	183088: true,
-	183090: true,
-	183095: true,
-	183104: true,
-	183107: true,
-	183109: true,
-	183111: true,
-	183112: true,
-	183113: true,
-	183116: true,
-	183123: true,
-	183124: true,
-	183125: true,
-	183126: true,
-	183132: true,
-	183133: true,
-	183135: true,
-	183136: true,
-	183137: true,
-	183138: true,
-	183139: true,
-	183140: true,
-	183141: true,
-	183142: true,
-	183153: true,
-	183155: true,
-	183156: true,
-	183157: true,
-	183160: true,
-	184043: true,
-	184055: true,
-	184058: true,
-	184059: true,
-	184068: true,
-	184069: true,
-	184079: true,
-	184080: true,
-	184081: true,
-	185043: true,
-	185045: true,
-	186042: true,
-	186043: true,
-	186073: true,
-	186076: true,
-	186077: true,
-	186078: true,
-	186079: true,
-	186081: true,
-	186095: true,
-	186108: true,
-	186113: true,
-	186115: true,
-	186116: true,
-	186118: true,
-	186119: true,
-	186132: true,
-	186137: true,
-	186138: true,
-	186139: true,
-	186143: true,
-	186144: true,
-	186145: true,
-	186146: true,
-	186147: true,
-	186148: true,
-	186159: true,
-	186160: true,
-	186161: true,
-	186165: true,
-	186169: true,
-	186173: true,
-	186180: true,
-	186210: true,
-	186211: true,
-	186212: true,
-	186213: true,
-	186214: true,
-	186215: true,
-	186216: true,
-	186228: true,
-	186229: true,
-	186230: true,
-	186232: true,
-	186234: true,
-	186255: true,
-	186263: true,
-	186276: true,
-	186279: true,
-	186282: true,
-	186283: true,
-	188043: true,
-	189042: true,
-	189057: true,
-	189059: true,
-	189062: true,
-	189078: true,
-	189080: true,
-	189083: true,
-	189088: true,
-	189093: true,
-	189095: true,
-	189096: true,
-	189098: true,
-	189100: true,
-	190041: true,
-	190042: true,
-	190043: true,
-	190044: true,
-	190059: true,
-	190062: true,
-	190068: true,
-	190074: true,
-	190076: true,
-	190077: true,
-	190079: true,
-	190085: true,
-	190088: true,
-	190103: true,
-	190104: true,
-	193055: true,
-	193066: true,
-	193067: true,
-	193070: true,
-	193075: true,
-	193079: true,
-	193080: true,
-	193081: true,
-	193091: true,
-	193092: true,
-	193095: true,
-	193101: true,
-	193104: true,
-	194043: true,
-	194045: true,
-	194046: true,
-	194050: true,
-	194051: true,
-	194052: true,
-	194053: true,
-	194064: true,
-	194066: true,
-	194069: true,
-	194071: true,
-	194072: true,
-	194073: true,
-	194074: true,
-	194076: true,
-	194077: true,
-	194078: true,
-	194082: true,
-	194084: true,
-	194085: true,
-	194090: true,
-	194091: true,
-	194092: true,
-	194094: true,
-	194097: true,
-	194098: true,
-	194099: true,
-	194100: true,
-	194114: true,
-	194116: true,
-	194118: true,
-	194119: true,
-	194120: true,
-	194121: true,
-	194122: true,
-	194126: true,
-	194129: true,
-	194131: true,
-	194132: true,
-	194133: true,
-	194134: true,
-	194146: true,
-	194151: true,
-	194156: true,
-	194157: true,
-	194159: true,
-	194161: true,
-	194165: true,
-	195041: true,
-	195044: true,
-	195050: true,
-	195051: true,
-	195052: true,
-	195068: true,
-	195075: true,
-	195076: true,
-	195079: true,
-	195080: true,
-	195081: true,
-	196042: true,
-	196044: true,
-	196050: true,
-	196051: true,
-	196055: true,
-	196056: true,
-	196061: true,
-	196063: true,
-	196065: true,
-	196070: true,
-	196071: true,
-	196075: true,
-	196077: true,
-	196079: true,
-	196087: true,
-	196088: true,
-	196090: true,
-	196091: true,
-	197041: true,
-	197042: true,
-	197043: true,
-	197044: true,
-	198044: true,
-	198045: true,
-	198046: true,
-	198048: true,
-	198049: true,
-	198050: true,
-	198053: true,
-	198057: true,
-	198058: true,
-	198066: true,
-	198071: true,
-	198074: true,
-	198081: true,
-	198084: true,
-	198085: true,
-	198102: true,
-	199042: true,
-	199044: true,
-	199045: true,
-	199046: true,
-	199047: true,
-	199052: true,
-	199054: true,
-	199057: true,
-	199066: true,
-	199070: true,
-	199082: true,
-	199091: true,
-	199094: true,
-	199096: true,
-	201041: true,
-	201042: true,
-	201043: true,
-	201047: true,
-	201048: true,
-	201049: true,
-	201058: true,
-	201061: true,
-	201064: true,
-	201065: true,
-	201068: true,
-	202042: true,
-	202043: true,
-	202044: true,
-	202051: true,
-	202054: true,
-	202055: true,
-	203043: true,
-	203050: true,
-	203051: true,
-	203053: true,
-	203060: true,
-	203062: true,
-	204042: true,
-	204044: true,
-	204048: true,
-	204052: true,
-	204053: true,
-	204061: true,
-	204062: true,
-	204064: true,
-	204065: true,
-	204067: true,
-	204068: true,
-	204069: true,
-	205042: true,
-	205044: true,
-	206043: true,
-	206044: true,
-	206047: true,
-	206050: true,
-	206051: true,
-	206052: true,
-	206053: true,
-	206054: true,
-	206055: true,
-	206058: true,
-	206059: true,
-	206060: true,
-	206067: true,
-	206069: true,
-	206077: true,
-	206078: true,
-	206079: true,
-	206084: true,
-	206089: true,
-	206101: true,
-	206107: true,
-	206109: true,
-	207043: true,
-	207044: true,
-	207049: true,
-	207050: true,
-	207051: true,
-	207052: true,
-	207053: true,
-	207054: true,
-	207055: true,
-	207061: true,
-	207062: true,
-	207069: true,
-	207071: true,
-	207085: true,
-	207086: true,
-	207087: true,
-	207088: true,
-	207095: true,
-	207096: true,
-	207102: true,
-	207103: true,
-	207106: true,
-	207108: true,
-	207110: true,
-	207111: true,
-	207112: true,
-	209041: true,
-	209042: true,
-	209043: true,
-	209044: true,
-	210042: true,
-	210043: true,
-	210044: true,
-	210047: true,
-	211041: true,
-	212041: true,
-	212045: true,
-	212046: true,
-	212047: true,
-	213041: true,
-	213042: true,
-	214042: true,
-	214046: true,
-	214049: true,
-	214050: true,
-	215042: true,
-	215048: true,
-	215050: true,
-	216043: true,
-	216046: true,
-	216047: true,
-	216052: true,
-	216053: true,
-	216054: true,
-	216059: true,
-	216068: true,
-	217041: true,
-	217044: true,
-	217047: true,
-	217048: true,
-	217049: true,
-	217056: true,
-	217058: true,
-	217059: true,
-	217060: true,
-	217061: true,
-	217064: true,
-	217066: true,
-	217069: true,
-	217071: true,
-	217085: true,
-	217086: true,
-	217088: true,
-	217093: true,
-	217094: true,
-	217108: true,
-	217109: true,
-	217111: true,
-	217115: true,
-	217116: true,
-	218042: true,
-	218044: true,
-	218046: true,
-	218050: true,
-	218060: true,
-	218061: true,
-	218063: true,
-	218064: true,
-	218065: true,
-	218070: true,
-	218071: true,
-	218072: true,
-	218074: true,
-	218076: true,
-	222041: true,
-	223041: true,
-	223043: true,
-	223044: true,
-	223050: true,
-	223052: true,
-	223054: true,
-	223058: true,
-	223059: true,
-	223061: true,
-	223068: true,
-	223069: true,
-	223070: true,
-	223071: true,
-	223073: true,
-	223075: true,
-	223076: true,
-	223083: true,
-	223087: true,
-	223094: true,
-	223096: true,
-	223101: true,
-	223106: true,
-	223108: true,
-	224041: true,
-	224042: true,
-	224043: true,
-	224045: true,
-	224051: true,
-	224053: true,
-	224057: true,
-	224060: true,
-	224061: true,
-	224062: true,
-	224063: true,
-	224068: true,
-	224069: true,
-	224081: true,
-	224084: true,
-	224087: true,
-	224090: true,
-	224096: true,
-	224105: true,
-	225042: true,
-	227041: true,
-	229045: true,
-	229046: true,
-	229048: true,
-	229049: true,
-	229050: true,
-	231042: true,
-	236041: true,
-	237041: true,
-	238041: true,
-	238042: true,
-	240041: true,
-	240042: true,
-	240043: true,
-	241041: true,
-	243041: true,
-	244041: true,
-	245041: true,
-	247041: true,
-	250041: true,
-	252041: true,
-	253041: true,
-	253045: true,
-	254043: true,
-	255042: true,
-	255043: true,
-	257041: true,
-	257042: true,
-	258041: true,
-	261041: true,
-	264041: true,
-	294042: true,
-	296042: true,
-}
internal/redirect: add minor fixes from golang.org/x/tools/godoc/redirect
rsc committed 4 days ago commit 63626588bdc04119cb829734afea94ae6abaae29
internal/redirect/redirect.go
@@ -156,7 +156,7 @@
 	})
 }

-var validId = regexp.MustCompile(`^[A-Za-z0-9-]*/?$`)
+var validID = regexp.MustCompile(`^[A-Za-z0-9-]*/?$`)

 func PrefixHandler(prefix, baseURL string) http.Handler {
 	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -166,7 +166,7 @@
 			return
 		}
 		id := r.URL.Path[len(prefix):]
-		if !validId.MatchString(id) {
+		if !validID.MatchString(id) {
 			http.Error(w, "Not found", http.StatusNotFound)
 			return
 		}
@@ -192,7 +192,7 @@
 	id := r.URL.Path[len(prefix):]
 	// support /cl/152700045/, which is used in commit 0edafefc36.
 	id = strings.TrimSuffix(id, "/")
-	if !validId.MatchString(id) {
+	if !validID.MatchString(id) {
 		http.Error(w, "Not found", http.StatusNotFound)
 		return
 	}
internal/redirect/redirect_test.go
@@ -68,7 +68,7 @@
 		"/cl/152047": {302, "https://go-review.googlesource.com/152047"},
 		"/cl/152048": {302, "https://codereview.appspot.com/152048"},

-		// And verify we're using the the "bigEnoughAssumeRietveld" value:
+		// And verify we're using the "bigEnoughAssumeRietveld" value:
 		"/cl/299999": {302, "https://go-review.googlesource.com/299999"},
 		"/cl/300000": {302, "https://codereview.appspot.com/300000"},
 	}
internal/godoc/golangorgenv: delete

Now that all the references are internal
(the direct playground reference is gone),
we can use internal/env instead.
rsc committed 4 days ago commit 100aecfa68ce6f8ea9fa14a0ac0e63f175f82a78
cmd/golangorg/prod.go
@@ -15,8 +15,8 @@
 	"os"
 	"strings"

-	"golang.org/x/tools/godoc/golangorgenv"
 	"golang.org/x/website/internal/dl"
+	"golang.org/x/website/internal/env"
 	"golang.org/x/website/internal/proxy"
 	"golang.org/x/website/internal/redirect"
 	"golang.org/x/website/internal/short"
@@ -96,7 +96,7 @@
 	if strings.HasSuffix(r.Host, ".cn") {
 		return true
 	}
-	if !golangorgenv.CheckCountry() {
+	if !env.CheckCountry() {
 		return false
 	}
 	switch r.Header.Get("X-Appengine-Country") {
internal/env/env.go
@@ -10,11 +10,11 @@
 	"log"
 	"os"
 	"strconv"
-
-	"golang.org/x/website/internal/godoc/golangorgenv"
 )

 var (
+	checkCountry       = boolEnv("GOLANGORG_CHECK_COUNTRY")
+	enforceHosts       = boolEnv("GOLANGORG_ENFORCE_HOSTS")
 	requireDLSecretKey = boolEnv("GOLANGORG_REQUIRE_DL_SECRET_KEY")
 )

@@ -37,12 +37,12 @@

 // CheckCountry reports whether country restrictions should be enforced.
 func CheckCountry() bool {
-	return golangorgenv.CheckCountry()
+	return checkCountry
 }

 // EnforceHosts reports whether host filtering should be enforced.
 func EnforceHosts() bool {
-	return golangorgenv.EnforceHosts()
+	return enforceHosts
 }

 func boolEnv(key string) bool {
internal/godoc/golangorgenv/golangorgenv.go
@@ -1,42 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package golangorgenv provides environment information for programs running at
-// golang.org and its subdomains.
-package golangorgenv
-
-import (
-	"log"
-	"os"
-	"strconv"
-)
-
-var (
-	checkCountry = boolEnv("GOLANGORG_CHECK_COUNTRY")
-	enforceHosts = boolEnv("GOLANGORG_ENFORCE_HOSTS")
-)
-
-// CheckCountry reports whether country restrictions should be enforced.
-func CheckCountry() bool {
-	return checkCountry
-}
-
-// EnforceHosts reports whether host filtering should be enforced.
-func EnforceHosts() bool {
-	return enforceHosts
-}
-
-func boolEnv(key string) bool {
-	v := os.Getenv(key)
-	if v == "" {
-		// TODO(dmitshur): In the future, consider detecting if running in App Engine,
-		// and if so, making the environment variables mandatory rather than optional.
-		return false
-	}
-	b, err := strconv.ParseBool(v)
-	if err != nil {
-		log.Fatalf("environment variable %s (%q) must be a boolean", key, v)
-	}
-	return b
-}
internal/godoc/page.go
@@ -11,7 +11,7 @@
 	"runtime"
 	"strings"

-	"golang.org/x/website/internal/godoc/golangorgenv"
+	"golang.org/x/website/internal/env"
 )

 // Page describes the contents of the top-level godoc webpage.
@@ -70,7 +70,7 @@
 	if strings.HasSuffix(r.Host, ".cn") {
 		return true
 	}
-	if !golangorgenv.CheckCountry() {
+	if !env.CheckCountry() {
 		return false
 	}
 	switch r.Header.Get("X-Appengine-Country") {
internal/godoc: delete indexing code

We no longer serve search from the golang.org site.
rsc committed 4 days ago commit dc5a0cb0a9afd2de9d1b603151ee5af910c3654d
_content/lib/godoc/godoc.html
@@ -12,9 +12,6 @@
 <link href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700" rel="stylesheet">
 <link href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap" rel="stylesheet">
 <link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
-{{if .SearchBox}}
-<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="/opensearch.xml" />
-{{end}}
 <script>window.initFuncs = [];</script>
 {{with .GoogleAnalytics}}
 <script>
_content/lib/godoc/opensearch.xml
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
-  <ShortName>godoc</ShortName>
-  <Description>The Go Programming Language</Description>
-  <Tags>go golang</Tags>
-  <Contact />
-  <Url type="text/html" template="{{.BaseURL}}/search?q={searchTerms}" />
-  <Image height="15" width="16" type="image/x-icon">/favicon.ico</Image>
-  <OutputEncoding>UTF-8</OutputEncoding>
-  <InputEncoding>UTF-8</InputEncoding>
-</OpenSearchDescription>
_content/lib/godoc/search.html
@@ -1,66 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-
-{{ $colCount := tocColCount .}}
-{{/* Generate the TOC */}}
-<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<a href="#{{$key.Name}}">{{$key.Name}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{if not .Idents}}
-	{{with .Pak}}
-		<a href="#Packages">Package {{html $.Query}}</a>
-		<br />
-	{{end}}
-{{end}}
-
-{{with .Hit}}
-	{{with .Decls}}
-		<a href="#Global">Package-level declarations</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<a href="#Local">Local declarations and uses</a>
-		<br />
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
-			<br />
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .Textual}}
-	{{if $.Complete}}
-		<a href="#Textual">{{html $.Found}} textual occurrences</a>
-	{{else}}
-		<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
-	{{end}}
-{{end}}
-</nav>
-
-{{with .Alert}}
-	<p>
-	<span class="alert" style="font-size:120%">{{html .}}</span>
-	</p>
-{{end}}
-{{with .Alt}}
-	<p>
-	<span class="alert" style="font-size:120%">Did you mean: </span>
-	{{range .Alts}}
-		<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
-	{{end}}
-	</p>
-{{end}}
_content/lib/godoc/searchcode.html
@@ -1,64 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{if not .Idents}}
-	{{with .Pak}}
-		<h2 id="Packages">Package {{html $.Query}}</h2>
-		<p>
-		<table class="layout">
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<tr><td><a href="/{{$pkg_html}}">{{$pkg_html}}</a></td></tr>
-		{{end}}
-		</table>
-		</p>
-	{{end}}
-{{end}}
-{{with .Hit}}
-	{{with .Decls}}
-		<h2 id="Global">Package-level declarations</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Global_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				{{range .Groups}}
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$file}}:{{$line}}</a>
-						{{infoSnippet_html .}}
-					{{end}}
-				{{end}}
-			{{end}}
-		{{end}}
-	{{end}}
-	{{with .Others}}
-		<h2 id="Local">Local declarations and uses</h2>
-		{{range .}}
-			{{$pkg_html := pkgLink .Pak.Path | html}}
-			<h3 id="Local_{{$pkg_html}}">package <a href="/{{$pkg_html}}">{{html .Pak.Name}}</a></h3>
-			{{range .Files}}
-				{{$file := .File.Path}}
-				<a href="{{queryLink $file $query_url 0 | html}}">{{$file}}</a>
-				<table class="layout">
-				{{range .Groups}}
-					<tr>
-					<td width="25"></td>
-					<th align="left" valign="top">{{index . 0 | infoKind_html}}</th>
-					<td align="left" width="4"></td>
-					<td>
-					{{range .}}
-						{{$line := infoLine .}}
-						<a href="{{queryLink $file $query_url $line | html}}">{{$line}}</a>
-					{{end}}
-					</td>
-					</tr>
-				{{end}}
-				</table>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
_content/lib/godoc/searchdoc.html
@@ -1,24 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{range $key, $val := .Idents}}
-	{{if $val}}
-		<h2 id="{{$key.Name}}">{{$key.Name}}</h2>
-		{{range $val}}
-			{{$pkg_html := pkgLink .Path | html}}
-			{{if eq "Packages" $key.Name}}
-				<a href="/{{$pkg_html}}">{{html .Path}}</a>
-			{{else}}
-				{{$doc_html := docLink .Path .Name| html}}
-				<a href="/{{$pkg_html}}">{{html .Package}}</a>.<a href="{{$doc_html}}">{{.Name}}</a>
-			{{end}}
-			{{if .Doc}}
-				<p>{{comment_html .Doc}}</p>
-			{{else}}
-				<p><em>No documentation available</em></p>
-			{{end}}
-		{{end}}
-	{{end}}
-{{end}}
_content/lib/godoc/searchtxt.html
@@ -1,42 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-{{$query_url := urlquery .Query}}
-{{with .Textual}}
-	{{if $.Complete}}
-		<h2 id="Textual">{{html $.Found}} textual occurrences</h2>
-	{{else}}
-		<h2 id="Textual">More than {{html $.Found}} textual occurrences</h2>
-		<p>
-		<span class="alert" style="font-size:120%">Not all files or lines containing "{{html $.Query}}" are shown.</span>
-		</p>
-	{{end}}
-	<p>
-	<table class="layout">
-	{{range .}}
-		{{$file := .Filename}}
-		<tr>
-		<td align="left" valign="top">
-		<a href="{{queryLink $file $query_url 0}}">{{$file}}</a>:
-		</td>
-		<td align="left" width="4"></td>
-		<th align="left" valign="top">{{len .Lines}}</th>
-		<td align="left" width="4"></td>
-		<td align="left">
-		{{range .Lines}}
-			<a href="{{queryLink $file $query_url .}}">{{html .}}</a>
-		{{end}}
-		{{if not $.Complete}}
-			...
-		{{end}}
-		</td>
-		</tr>
-	{{end}}
-	{{if not $.Complete}}
-		<tr><td align="left">...</td></tr>
-	{{end}}
-	</table>
-	</p>
-{{end}}
cmd/golangorg/handlers.go
@@ -118,11 +118,6 @@
 	p.GodocHTML = readTemplate("godoc.html")
 	p.PackageHTML = readTemplate("package.html")
 	p.PackageRootHTML = readTemplate("packageroot.html")
-	p.SearchHTML = readTemplate("search.html")
-	p.SearchDocHTML = readTemplate("searchdoc.html")
-	p.SearchCodeHTML = readTemplate("searchcode.html")
-	p.SearchTxtHTML = readTemplate("searchtxt.html")
-	p.SearchDescXML = readTemplate("opensearch.xml")
 }

 type fmtResponse struct {
cmd/golangorg/main.go
@@ -95,7 +95,6 @@

 	corpus := godoc.NewCorpus(fs)
 	corpus.Verbose = *verbose
-	corpus.IndexEnabled = false
 	if err := corpus.Init(); err != nil {
 		log.Fatal(err)
 	}
internal/godoc/corpus.go
@@ -24,48 +24,6 @@
 	// Verbose logging.
 	Verbose bool

-	// IndexEnabled controls whether indexing is enabled.
-	IndexEnabled bool
-
-	// IndexFiles specifies a glob pattern specifying index files.
-	// If not empty, the index is read from these files in sorted
-	// order.
-	IndexFiles string
-
-	// IndexThrottle specifies the indexing throttle value
-	// between 0.0 and 1.0. At 0.0, the indexer always sleeps.
-	// At 1.0, the indexer never sleeps. Because 0.0 is useless
-	// and redundant with setting IndexEnabled to false, the
-	// zero value for IndexThrottle means 0.9.
-	IndexThrottle float64
-
-	// IndexInterval specifies the time to sleep between reindexing
-	// all the sources.
-	// If zero, a default is used. If negative, the index is only
-	// built once.
-	IndexInterval time.Duration
-
-	// IndexDocs enables indexing of Go documentation.
-	// This will produce search results for exported types, functions,
-	// methods, variables, and constants, and will link to the godoc
-	// documentation for those identifiers.
-	IndexDocs bool
-
-	// IndexGoCode enables indexing of Go source code.
-	// This will produce search results for internal and external identifiers
-	// and will link to both declarations and uses of those identifiers in
-	// source code.
-	IndexGoCode bool
-
-	// IndexFullText enables full-text indexing.
-	// This will provide search results for any matching text in any file that
-	// is indexed, including non-Go files (see whitelisted in index.go).
-	// Regexp searching is supported via full-text indexing.
-	IndexFullText bool
-
-	// MaxResults optionally specifies the maximum results for indexing.
-	MaxResults int
-
 	// SummarizePackage optionally specifies a function to
 	// summarize a package. It exists as an optimization to
 	// avoid reading files to parse package comments.
@@ -78,13 +36,6 @@
 	// package listing.
 	SummarizePackage func(pkg string) (summary string, showList, ok bool)

-	// IndexDirectory optionally specifies a function to determine
-	// whether the provided directory should be indexed.  The dir
-	// will be of the form "/src/cmd/6a", "/doc/play",
-	// "/src/io", etc.
-	// If nil, all directories are indexed if indexing is enabled.
-	IndexDirectory func(dir string) bool
-
 	// Send a value on this channel to trigger a metadata refresh.
 	// It is buffered so that if a signal is not lost if sent
 	// during a refresh.
@@ -95,9 +46,6 @@
 	fsModified  util.RWValue // timestamp of last call to invalidateIndex
 	docMetadata util.RWValue // mapping from paths to *Metadata

-	// SearchIndex is the search index in use.
-	searchIndex util.RWValue
-
 	// flag to check whether a corpus is initialized or not
 	initMu   sync.RWMutex
 	initDone bool
@@ -114,22 +62,10 @@
 	c := &Corpus{
 		fs:                    fs,
 		refreshMetadataSignal: make(chan bool, 1),
-
-		MaxResults:    1000,
-		IndexEnabled:  true,
-		IndexDocs:     true,
-		IndexGoCode:   true,
-		IndexFullText: true,
 	}
 	return c
 }

-func (c *Corpus) CurrentIndex() (*Index, time.Time) {
-	v, t := c.searchIndex.Get()
-	idx, _ := v.(*Index)
-	return idx, t
-}
-
 func (c *Corpus) FSModifiedTime() time.Time {
 	_, ts := c.fsModified.Get()
 	return ts
@@ -156,6 +92,5 @@
 		return errors.New("godoc: corpus fstree is nil")
 	}
 	c.fsTree.Set(dir)
-	c.invalidateIndex()
 	return nil
 }
internal/godoc/godoc.go
@@ -69,11 +69,6 @@
 		"fileInfoName": fileInfoNameFunc,
 		"fileInfoTime": fileInfoTimeFunc,

-		// access to search result information
-		"infoKind_html":    infoKind_htmlFunc,
-		"infoLine":         p.infoLineFunc,
-		"infoSnippet_html": p.infoSnippet_htmlFunc,
-
 		// formatting of AST nodes
 		"node":         p.nodeFunc,
 		"node_html":    p.node_htmlFunc,
@@ -105,9 +100,6 @@

 		// check whether to display third party section or not
 		"hasThirdParty": hasThirdParty,
-
-		// get the no. of columns to split the toc in search page
-		"tocColCount": tocColCount,
 	}
 	if p.URLForSrc != nil {
 		p.funcMap["srcLink"] = p.URLForSrc
@@ -142,48 +134,6 @@
 	return "" // don't return epoch if time is obviously not set
 }

-// The strings in infoKinds must be properly html-escaped.
-var infoKinds = [nKinds]string{
-	PackageClause: "package&nbsp;clause",
-	ImportDecl:    "import&nbsp;decl",
-	ConstDecl:     "const&nbsp;decl",
-	TypeDecl:      "type&nbsp;decl",
-	VarDecl:       "var&nbsp;decl",
-	FuncDecl:      "func&nbsp;decl",
-	MethodDecl:    "method&nbsp;decl",
-	Use:           "use",
-}
-
-func infoKind_htmlFunc(info SpotInfo) string {
-	return infoKinds[info.Kind()] // infoKind entries are html-escaped
-}
-
-func (p *Presentation) infoLineFunc(info SpotInfo) int {
-	line := info.Lori()
-	if info.IsIndex() {
-		index, _ := p.Corpus.searchIndex.Get()
-		if index != nil {
-			line = index.(*Index).Snippet(line).Line
-		} else {
-			// no line information available because
-			// we don't have an index - this should
-			// never happen; be conservative and don't
-			// crash
-			line = 0
-		}
-	}
-	return line
-}
-
-func (p *Presentation) infoSnippet_htmlFunc(info SpotInfo) string {
-	if info.IsIndex() {
-		index, _ := p.Corpus.searchIndex.Get()
-		// Snippet.Text was HTML-escaped when it was generated
-		return index.(*Index).Snippet(info.Lori()).Text
-	}
-	return `<span class="alert">no snippet text available</span>`
-}
-
 func (p *Presentation) nodeFunc(info *PageInfo, node interface{}) string {
 	var buf bytes.Buffer
 	p.writeNode(&buf, info, info.FSet, node)
internal/godoc/index.go
@@ -1,1580 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains the infrastructure to create an
-// identifier and full-text index for a set of Go files.
-//
-// Algorithm for identifier index:
-// - traverse all .go files of the file tree specified by root
-// - for each identifier (word) encountered, collect all occurrences (spots)
-//   into a list; this produces a list of spots for each word
-// - reduce the lists: from a list of spots to a list of FileRuns,
-//   and from a list of FileRuns into a list of PakRuns
-// - make a HitList from the PakRuns
-//
-// Details:
-// - keep two lists per word: one containing package-level declarations
-//   that have snippets, and one containing all other spots
-// - keep the snippets in a separate table indexed by snippet index
-//   and store the snippet index in place of the line number in a SpotInfo
-//   (the line number for spots with snippets is stored in the snippet)
-// - at the end, create lists of alternative spellings for a given
-//   word
-//
-// Algorithm for full text index:
-// - concatenate all source code in a byte buffer (in memory)
-// - add the files to a file set in lockstep as they are added to the byte
-//   buffer such that a byte buffer offset corresponds to the Pos value for
-//   that file location
-// - create a suffix array from the concatenated sources
-//
-// String lookup in full text index:
-// - use the suffix array to lookup a string's offsets - the offsets
-//   correspond to the Pos values relative to the file set
-// - translate the Pos values back into file and line information and
-//   sort the result
-
-package godoc
-
-import (
-	"bufio"
-	"bytes"
-	"encoding/gob"
-	"errors"
-	"fmt"
-	"go/ast"
-	"go/doc"
-	"go/parser"
-	"go/token"
-	"index/suffixarray"
-	"io"
-	"log"
-	"os"
-	pathpkg "path"
-	"path/filepath"
-	"regexp"
-	"runtime"
-	"sort"
-	"strconv"
-	"strings"
-	"sync"
-	"time"
-	"unicode"
-
-	"golang.org/x/website/internal/godoc/util"
-	"golang.org/x/website/internal/godoc/vfs"
-)
-
-// ----------------------------------------------------------------------------
-// InterfaceSlice is a helper type for sorting interface
-// slices according to some slice-specific sort criteria.
-
-type comparer func(x, y interface{}) bool
-
-type interfaceSlice struct {
-	slice []interface{}
-	less  comparer
-}
-
-// ----------------------------------------------------------------------------
-// RunList
-
-// A RunList is a list of entries that can be sorted according to some
-// criteria. A RunList may be compressed by grouping "runs" of entries
-// which are equal (according to the sort criteria) into a new RunList of
-// runs. For instance, a RunList containing pairs (x, y) may be compressed
-// into a RunList containing pair runs (x, {y}) where each run consists of
-// a list of y's with the same x.
-type RunList []interface{}
-
-func (h RunList) sort(less comparer) {
-	sort.Sort(&interfaceSlice{h, less})
-}
-
-func (p *interfaceSlice) Len() int           { return len(p.slice) }
-func (p *interfaceSlice) Less(i, j int) bool { return p.less(p.slice[i], p.slice[j]) }
-func (p *interfaceSlice) Swap(i, j int)      { p.slice[i], p.slice[j] = p.slice[j], p.slice[i] }
-
-// Compress entries which are the same according to a sort criteria
-// (specified by less) into "runs".
-func (h RunList) reduce(less comparer, newRun func(h RunList) interface{}) RunList {
-	if len(h) == 0 {
-		return nil
-	}
-	// len(h) > 0
-
-	// create runs of entries with equal values
-	h.sort(less)
-
-	// for each run, make a new run object and collect them in a new RunList
-	var hh RunList
-	i, x := 0, h[0]
-	for j, y := range h {
-		if less(x, y) {
-			hh = append(hh, newRun(h[i:j]))
-			i, x = j, h[j] // start a new run
-		}
-	}
-	// add final run, if any
-	if i < len(h) {
-		hh = append(hh, newRun(h[i:]))
-	}
-
-	return hh
-}
-
-// ----------------------------------------------------------------------------
-// KindRun
-
-// Debugging support. Disable to see multiple entries per line.
-const removeDuplicates = true
-
-// A KindRun is a run of SpotInfos of the same kind in a given file.
-// The kind (3 bits) is stored in each SpotInfo element; to find the
-// kind of a KindRun, look at any of its elements.
-type KindRun []SpotInfo
-
-// KindRuns are sorted by line number or index. Since the isIndex bit
-// is always the same for all infos in one list we can compare lori's.
-func (k KindRun) Len() int           { return len(k) }
-func (k KindRun) Less(i, j int) bool { return k[i].Lori() < k[j].Lori() }
-func (k KindRun) Swap(i, j int)      { k[i], k[j] = k[j], k[i] }
-
-// FileRun contents are sorted by Kind for the reduction into KindRuns.
-func lessKind(x, y interface{}) bool { return x.(SpotInfo).Kind() < y.(SpotInfo).Kind() }
-
-// newKindRun allocates a new KindRun from the SpotInfo run h.
-func newKindRun(h RunList) interface{} {
-	run := make(KindRun, len(h))
-	for i, x := range h {
-		run[i] = x.(SpotInfo)
-	}
-
-	// Spots were sorted by file and kind to create this run.
-	// Within this run, sort them by line number or index.
-	sort.Sort(run)
-
-	if removeDuplicates {
-		// Since both the lori and kind field must be
-		// same for duplicates, and since the isIndex
-		// bit is always the same for all infos in one
-		// list we can simply compare the entire info.
-		k := 0
-		prev := SpotInfo(1<<32 - 1) // an unlikely value
-		for _, x := range run {
-			if x != prev {
-				run[k] = x
-				k++
-				prev = x
-			}
-		}
-		run = run[0:k]
-	}
-
-	return run
-}
-
-// ----------------------------------------------------------------------------
-// FileRun
-
-// A Pak describes a Go package.
-type Pak struct {
-	Path string // path of directory containing the package
-	Name string // package name as declared by package clause
-}
-
-// Paks are sorted by name (primary key) and by import path (secondary key).
-func (p *Pak) less(q *Pak) bool {
-	return p.Name < q.Name || p.Name == q.Name && p.Path < q.Path
-}
-
-// A File describes a Go file.
-type File struct {
-	Name string // directory-local file name
-	Pak  *Pak   // the package to which the file belongs
-}
-
-// Path returns the file path of f.
-func (f *File) Path() string {
-	return pathpkg.Join(f.Pak.Path, f.Name)
-}
-
-// A Spot describes a single occurrence of a word.
-type Spot struct {
-	File *File
-	Info SpotInfo
-}
-
-// A FileRun is a list of KindRuns belonging to the same file.
-type FileRun struct {
-	File   *File
-	Groups []KindRun
-}
-
-// Spots are sorted by file path for the reduction into FileRuns.
-func lessSpot(x, y interface{}) bool {
-	fx := x.(Spot).File
-	fy := y.(Spot).File
-	// same as "return fx.Path() < fy.Path()" but w/o computing the file path first
-	px := fx.Pak.Path
-	py := fy.Pak.Path
-	return px < py || px == py && fx.Name < fy.Name
-}
-
-// newFileRun allocates a new FileRun from the Spot run h.
-func newFileRun(h RunList) interface{} {
-	file := h[0].(Spot).File
-
-	// reduce the list of Spots into a list of KindRuns
-	h1 := make(RunList, len(h))
-	for i, x := range h {
-		h1[i] = x.(Spot).Info
-	}
-	h2 := h1.reduce(lessKind, newKindRun)
-
-	// create the FileRun
-	groups := make([]KindRun, len(h2))
-	for i, x := range h2 {
-		groups[i] = x.(KindRun)
-	}
-	return &FileRun{file, groups}
-}
-
-// ----------------------------------------------------------------------------
-// PakRun
-
-// A PakRun describes a run of *FileRuns of a package.
-type PakRun struct {
-	Pak   *Pak
-	Files []*FileRun
-}
-
-// Sorting support for files within a PakRun.
-func (p *PakRun) Len() int           { return len(p.Files) }
-func (p *PakRun) Less(i, j int) bool { return p.Files[i].File.Name < p.Files[j].File.Name }
-func (p *PakRun) Swap(i, j int)      { p.Files[i], p.Files[j] = p.Files[j], p.Files[i] }
-
-// FileRuns are sorted by package for the reduction into PakRuns.
-func lessFileRun(x, y interface{}) bool {
-	return x.(*FileRun).File.Pak.less(y.(*FileRun).File.Pak)
-}
-
-// newPakRun allocates a new PakRun from the *FileRun run h.
-func newPakRun(h RunList) interface{} {
-	pak := h[0].(*FileRun).File.Pak
-	files := make([]*FileRun, len(h))
-	for i, x := range h {
-		files[i] = x.(*FileRun)
-	}
-	run := &PakRun{pak, files}
-	sort.Sort(run) // files were sorted by package; sort them by file now
-	return run
-}
-
-// ----------------------------------------------------------------------------
-// HitList
-
-// A HitList describes a list of PakRuns.
-type HitList []*PakRun
-
-// PakRuns are sorted by package.
-func lessPakRun(x, y interface{}) bool { return x.(*PakRun).Pak.less(y.(*PakRun).Pak) }
-
-func reduce(h0 RunList) HitList {
-	// reduce a list of Spots into a list of FileRuns
-	h1 := h0.reduce(lessSpot, newFileRun)
-	// reduce a list of FileRuns into a list of PakRuns
-	h2 := h1.reduce(lessFileRun, newPakRun)
-	// sort the list of PakRuns by package
-	h2.sort(lessPakRun)
-	// create a HitList
-	h := make(HitList, len(h2))
-	for i, p := range h2 {
-		h[i] = p.(*PakRun)
-	}
-	return h
-}
-
-// filter returns a new HitList created by filtering
-// all PakRuns from h that have a matching pakname.
-func (h HitList) filter(pakname string) HitList {
-	var hh HitList
-	for _, p := range h {
-		if p.Pak.Name == pakname {
-			hh = append(hh, p)
-		}
-	}
-	return hh
-}
-
-// ----------------------------------------------------------------------------
-// AltWords
-
-type wordPair struct {
-	canon string // canonical word spelling (all lowercase)
-	alt   string // alternative spelling
-}
-
-// An AltWords describes a list of alternative spellings for a
-// canonical (all lowercase) spelling of a word.
-type AltWords struct {
-	Canon string   // canonical word spelling (all lowercase)
-	Alts  []string // alternative spelling for the same word
-}
-
-// wordPairs are sorted by their canonical spelling.
-func lessWordPair(x, y interface{}) bool { return x.(*wordPair).canon < y.(*wordPair).canon }
-
-// newAltWords allocates a new AltWords from the *wordPair run h.
-func newAltWords(h RunList) interface{} {
-	canon := h[0].(*wordPair).canon
-	alts := make([]string, len(h))
-	for i, x := range h {
-		alts[i] = x.(*wordPair).alt
-	}
-	return &AltWords{canon, alts}
-}
-
-func (a *AltWords) filter(s string) *AltWords {
-	var alts []string
-	for _, w := range a.Alts {
-		if w != s {
-			alts = append(alts, w)
-		}
-	}
-	if len(alts) > 0 {
-		return &AltWords{a.Canon, alts}
-	}
-	return nil
-}
-
-// Ident stores information about external identifiers in order to create
-// links to package documentation.
-type Ident struct {
-	Path    string // e.g. "net/http"
-	Package string // e.g. "http"
-	Name    string // e.g. "NewRequest"
-	Doc     string // e.g. "NewRequest returns a new Request..."
-}
-
-// byImportCount sorts the given slice of Idents by the import
-// counts of the packages to which they belong.
-type byImportCount struct {
-	Idents      []Ident
-	ImportCount map[string]int
-}
-
-func (ic byImportCount) Len() int {
-	return len(ic.Idents)
-}
-
-func (ic byImportCount) Less(i, j int) bool {
-	ri := ic.ImportCount[ic.Idents[i].Path]
-	rj := ic.ImportCount[ic.Idents[j].Path]
-	if ri == rj {
-		return ic.Idents[i].Path < ic.Idents[j].Path
-	}
-	return ri > rj
-}
-
-func (ic byImportCount) Swap(i, j int) {
-	ic.Idents[i], ic.Idents[j] = ic.Idents[j], ic.Idents[i]
-}
-
-func (ic byImportCount) String() string {
-	buf := bytes.NewBuffer([]byte("["))
-	for _, v := range ic.Idents {
-		buf.WriteString(fmt.Sprintf("\n\t%s, %s (%d)", v.Path, v.Name, ic.ImportCount[v.Path]))
-	}
-	buf.WriteString("\n]")
-	return buf.String()
-}
-
-// filter creates a new Ident list where the results match the given
-// package name.
-func (ic byImportCount) filter(pakname string) []Ident {
-	if ic.Idents == nil {
-		return nil
-	}
-	var res []Ident
-	for _, i := range ic.Idents {
-		if i.Package == pakname {
-			res = append(res, i)
-		}
-	}
-	return res
-}
-
-// top returns the top n identifiers.
-func (ic byImportCount) top(n int) []Ident {
-	if len(ic.Idents) > n {
-		return ic.Idents[:n]
-	}
-	return ic.Idents
-}
-
-// ----------------------------------------------------------------------------
-// Indexer
-
-type IndexResult struct {
-	Decls  RunList // package-level declarations (with snippets)
-	Others RunList // all other occurrences
-}
-
-// Statistics provides statistics information for an index.
-type Statistics struct {
-	Bytes int // total size of indexed source files
-	Files int // number of indexed source files
-	Lines int // number of lines (all files)
-	Words int // number of different identifiers
-	Spots int // number of identifier occurrences
-}
-
-// An Indexer maintains the data structures and provides the machinery
-// for indexing .go files under a file tree. It implements the path.Visitor
-// interface for walking file trees, and the ast.Visitor interface for
-// walking Go ASTs.
-type Indexer struct {
-	c          *Corpus
-	fset       *token.FileSet // file set for all indexed files
-	fsOpenGate chan bool      // send pre fs.Open; receive on close
-
-	mu            sync.Mutex              // guards all the following
-	sources       bytes.Buffer            // concatenated sources
-	strings       map[string]string       // interned string
-	packages      map[Pak]*Pak            // interned *Paks
-	words         map[string]*IndexResult // RunLists of Spots
-	snippets      []*Snippet              // indices are stored in SpotInfos
-	current       *token.File             // last file added to file set
-	file          *File                   // AST for current file
-	decl          ast.Decl                // AST for current decl
-	stats         Statistics
-	throttle      *util.Throttle
-	importCount   map[string]int                 // package path ("net/http") => count
-	packagePath   map[string]map[string]bool     // "template" => "text/template" => true
-	exports       map[string]map[string]SpotKind // "net/http" => "ListenAndServe" => FuncDecl
-	curPkgExports map[string]SpotKind
-	idents        map[SpotKind]map[string][]Ident // kind => name => list of Idents
-}
-
-func (x *Indexer) intern(s string) string {
-	if s, ok := x.strings[s]; ok {
-		return s
-	}
-	x.strings[s] = s
-	return s
-}
-
-func (x *Indexer) lookupPackage(path, name string) *Pak {
-	// In the source directory tree, more than one package may
-	// live in the same directory. For the packages map, construct
-	// a key that includes both the directory path and the package
-	// name.
-	key := Pak{Path: x.intern(path), Name: x.intern(name)}
-	pak := x.packages[key]
-	if pak == nil {
-		pak = &key
-		x.packages[key] = pak
-	}
-	return pak
-}
-
-func (x *Indexer) addSnippet(s *Snippet) int {
-	index := len(x.snippets)
-	x.snippets = append(x.snippets, s)
-	return index
-}
-
-func (x *Indexer) visitIdent(kind SpotKind, id *ast.Ident) {
-	if id == nil {
-		return
-	}
-	name := x.intern(id.Name)
-
-	switch kind {
-	case TypeDecl, FuncDecl, ConstDecl, VarDecl:
-		x.curPkgExports[name] = kind
-	}
-
-	lists, found := x.words[name]
-	if !found {
-		lists = new(IndexResult)
-		x.words[name] = lists
-	}
-
-	if kind == Use || x.decl == nil {
-		if x.c.IndexGoCode {
-			// not a declaration or no snippet required
-			info := makeSpotInfo(kind, x.current.Line(id.Pos()), false)
-			lists.Others = append(lists.Others, Spot{x.file, info})
-		}
-	} else {
-		// a declaration with snippet
-		index := x.addSnippet(NewSnippet(x.fset, x.decl, id))
-		info := makeSpotInfo(kind, index, true)
-		lists.Decls = append(lists.Decls, Spot{x.file, info})
-	}
-
-	x.stats.Spots++
-}
-
-func (x *Indexer) visitFieldList(kind SpotKind, flist *ast.FieldList) {
-	for _, f := range flist.List {
-		x.decl = nil // no snippets for fields
-		for _, name := range f.Names {
-			x.visitIdent(kind, name)
-		}
-		ast.Walk(x, f.Type)
-		// ignore tag - not indexed at the moment
-	}
-}
-
-func (x *Indexer) visitSpec(kind SpotKind, spec ast.Spec) {
-	switch n := spec.(type) {
-	case *ast.ImportSpec:
-		x.visitIdent(ImportDecl, n.Name)
-		if n.Path != nil {
-			if imp, err := strconv.Unquote(n.Path.Value); err == nil {
-				x.importCount[x.intern(imp)]++
-			}
-		}
-
-	case *ast.ValueSpec:
-		for _, n := range n.Names {
-			x.visitIdent(kind, n)
-		}
-		ast.Walk(x, n.Type)
-		for _, v := range n.Values {
-			ast.Walk(x, v)
-		}
-
-	case *ast.TypeSpec:
-		x.visitIdent(TypeDecl, n.Name)
-		ast.Walk(x, n.Type)
-	}
-}
-
-func (x *Indexer) visitGenDecl(decl *ast.GenDecl) {
-	kind := VarDecl
-	if decl.Tok == token.CONST {
-		kind = ConstDecl
-	}
-	x.decl = decl
-	for _, s := range decl.Specs {
-		x.visitSpec(kind, s)
-	}
-}
-
-func (x *Indexer) Visit(node ast.Node) ast.Visitor {
-	switch n := node.(type) {
-	case nil:
-		// nothing to do
-
-	case *ast.Ident:
-		x.visitIdent(Use, n)
-
-	case *ast.FieldList:
-		x.visitFieldList(VarDecl, n)
-
-	case *ast.InterfaceType:
-		x.visitFieldList(MethodDecl, n.Methods)
-
-	case *ast.DeclStmt:
-		// local declarations should only be *ast.GenDecls;
-		// ignore incorrect ASTs
-		if decl, ok := n.Decl.(*ast.GenDecl); ok {
-			x.decl = nil // no snippets for local declarations
-			x.visitGenDecl(decl)
-		}
-
-	case *ast.GenDecl:
-		x.decl = n
-		x.visitGenDecl(n)
-
-	case *ast.FuncDecl:
-		kind := FuncDecl
-		if n.Recv != nil {
-			kind = MethodDecl
-			ast.Walk(x, n.Recv)
-		}
-		x.decl = n
-		x.visitIdent(kind, n.Name)
-		ast.Walk(x, n.Type)
-		if n.Body != nil {
-			ast.Walk(x, n.Body)
-		}
-
-	case *ast.File:
-		x.decl = nil
-		x.visitIdent(PackageClause, n.Name)
-		for _, d := range n.Decls {
-			ast.Walk(x, d)
-		}
-
-	default:
-		return x
-	}
-
-	return nil
-}
-
-// addFile adds a file to the index if possible and returns the file set file
-// and the file's AST if it was successfully parsed as a Go file. If addFile
-// failed (that is, if the file was not added), it returns file == nil.
-func (x *Indexer) addFile(f vfs.ReadSeekCloser, filename string, goFile bool) (file *token.File, ast *ast.File) {
-	defer f.Close()
-
-	// The file set's base offset and x.sources size must be in lock-step;
-	// this permits the direct mapping of suffix array lookup results to
-	// to corresponding Pos values.
-	//
-	// When a file is added to the file set, its offset base increases by
-	// the size of the file + 1; and the initial base offset is 1. Add an
-	// extra byte to the sources here.
-	x.sources.WriteByte(0)
-
-	// If the sources length doesn't match the file set base at this point
-	// the file set implementation changed or we have another error.
-	base := x.fset.Base()
-	if x.sources.Len() != base {
-		panic("internal error: file base incorrect")
-	}
-
-	// append file contents (src) to x.sources
-	if _, err := x.sources.ReadFrom(f); err == nil {
-		src := x.sources.Bytes()[base:]
-
-		if goFile {
-			// parse the file and in the process add it to the file set
-			if ast, err = parser.ParseFile(x.fset, filename, src, parser.ParseComments); err == nil {
-				file = x.fset.File(ast.Pos()) // ast.Pos() is inside the file
-				return
-			}
-			// file has parse errors, and the AST may be incorrect -
-			// set lines information explicitly and index as ordinary
-			// text file (cannot fall through to the text case below
-			// because the file has already been added to the file set
-			// by the parser)
-			file = x.fset.File(token.Pos(base)) // token.Pos(base) is inside the file
-			file.SetLinesForContent(src)
-			ast = nil
-			return
-		}
-
-		if util.IsText(src) {
-			// only add the file to the file set (for the full text index)
-			file = x.fset.AddFile(filename, x.fset.Base(), len(src))
-			file.SetLinesForContent(src)
-			return
-		}
-	}
-
-	// discard possibly added data
-	x.sources.Truncate(base - 1) // -1 to remove added byte 0 since no file was added
-	return
-}
-
-// Design note: Using an explicit white list of permitted files for indexing
-// makes sure that the important files are included and massively reduces the
-// number of files to index. The advantage over a blacklist is that unexpected
-// (non-blacklisted) files won't suddenly explode the index.
-
-// Files are whitelisted if they have a file name or extension
-// present as key in whitelisted.
-var whitelisted = map[string]bool{
-	".bash":        true,
-	".c":           true,
-	".cc":          true,
-	".cpp":         true,
-	".cxx":         true,
-	".css":         true,
-	".go":          true,
-	".goc":         true,
-	".h":           true,
-	".hh":          true,
-	".hpp":         true,
-	".hxx":         true,
-	".html":        true,
-	".js":          true,
-	".out":         true,
-	".py":          true,
-	".s":           true,
-	".sh":          true,
-	".txt":         true,
-	".xml":         true,
-	"AUTHORS":      true,
-	"CONTRIBUTORS": true,
-	"LICENSE":      true,
-	"Makefile":     true,
-	"PATENTS":      true,
-	"README":       true,
-}
-
-// isWhitelisted returns true if a file is on the list
-// of "permitted" files for indexing. The filename must
-// be the directory-local name of the file.
-func isWhitelisted(filename string) bool {
-	key := pathpkg.Ext(filename)
-	if key == "" {
-		// file has no extension - use entire filename
-		key = filename
-	}
-	return whitelisted[key]
-}
-
-func (x *Indexer) indexDocs(dirname string, filename string, astFile *ast.File) {
-	pkgName := x.intern(astFile.Name.Name)
-	if pkgName == "main" {
-		return
-	}
-	pkgPath := x.intern(strings.TrimPrefix(strings.TrimPrefix(dirname, "/src/"), "pkg/"))
-	astPkg := ast.Package{
-		Name: pkgName,
-		Files: map[string]*ast.File{
-			filename: astFile,
-		},
-	}
-	var m doc.Mode
-	docPkg := doc.New(&astPkg, dirname, m)
-	addIdent := func(sk SpotKind, name string, docstr string) {
-		if x.idents[sk] == nil {
-			x.idents[sk] = make(map[string][]Ident)
-		}
-		name = x.intern(name)
-		x.idents[sk][name] = append(x.idents[sk][name], Ident{
-			Path:    pkgPath,
-			Package: pkgName,
-			Name:    name,
-			Doc:     doc.Synopsis(docstr),
-		})
-	}
-
-	if x.idents[PackageClause] == nil {
-		x.idents[PackageClause] = make(map[string][]Ident)
-	}
-	// List of words under which the package identifier will be stored.
-	// This includes the package name and the components of the directory
-	// in which it resides.
-	words := strings.Split(pathpkg.Dir(pkgPath), "/")
-	if words[0] == "." {
-		words = []string{}
-	}
-	name := x.intern(docPkg.Name)
-	synopsis := doc.Synopsis(docPkg.Doc)
-	words = append(words, name)
-	pkgIdent := Ident{
-		Path:    pkgPath,
-		Package: pkgName,
-		Name:    name,
-		Doc:     synopsis,
-	}
-	for _, word := range words {
-		word = x.intern(word)
-		found := false
-		pkgs := x.idents[PackageClause][word]
-		for i, p := range pkgs {
-			if p.Path == pkgPath {
-				if docPkg.Doc != "" {
-					p.Doc = synopsis
-					pkgs[i] = p
-				}
-				found = true
-				break
-			}
-		}
-		if !found {
-			x.idents[PackageClause][word] = append(x.idents[PackageClause][word], pkgIdent)
-		}
-	}
-
-	for _, c := range docPkg.Consts {
-		for _, name := range c.Names {
-			addIdent(ConstDecl, name, c.Doc)
-		}
-	}
-	for _, t := range docPkg.Types {
-		addIdent(TypeDecl, t.Name, t.Doc)
-		for _, c := range t.Consts {
-			for _, name := range c.Names {
-				addIdent(ConstDecl, name, c.Doc)
-			}
-		}
-		for _, v := range t.Vars {
-			for _, name := range v.Names {
-				addIdent(VarDecl, name, v.Doc)
-			}
-		}
-		for _, f := range t.Funcs {
-			addIdent(FuncDecl, f.Name, f.Doc)
-		}
-		for _, f := range t.Methods {
-			addIdent(MethodDecl, f.Name, f.Doc)
-			// Change the name of methods to be "<typename>.<methodname>".
-			// They will still be indexed as <methodname>.
-			idents := x.idents[MethodDecl][f.Name]
-			idents[len(idents)-1].Name = x.intern(t.Name + "." + f.Name)
-		}
-	}
-	for _, v := range docPkg.Vars {
-		for _, name := range v.Names {
-			addIdent(VarDecl, name, v.Doc)
-		}
-	}
-	for _, f := range docPkg.Funcs {
-		addIdent(FuncDecl, f.Name, f.Doc)
-	}
-}
-
-func (x *Indexer) indexGoFile(dirname string, filename string, file *token.File, astFile *ast.File) {
-	pkgName := astFile.Name.Name
-
-	if x.c.IndexGoCode {
-		x.current = file
-		pak := x.lookupPackage(dirname, pkgName)
-		x.file = &File{filename, pak}
-		ast.Walk(x, astFile)
-	}
-
-	if x.c.IndexDocs {
-		// Test files are already filtered out in visitFile if IndexGoCode and
-		// IndexFullText are false.  Otherwise, check here.
-		isTestFile := (x.c.IndexGoCode || x.c.IndexFullText) &&
-			(strings.HasSuffix(filename, "_test.go") || strings.HasPrefix(dirname, "/test/"))
-		if !isTestFile {
-			x.indexDocs(dirname, filename, astFile)
-		}
-	}
-
-	ppKey := x.intern(pkgName)
-	if _, ok := x.packagePath[ppKey]; !ok {
-		x.packagePath[ppKey] = make(map[string]bool)
-	}
-	pkgPath := x.intern(strings.TrimPrefix(strings.TrimPrefix(dirname, "/src/"), "pkg/"))
-	x.packagePath[ppKey][pkgPath] = true
-
-	// Merge in exported symbols found walking this file into
-	// the map for that package.
-	if len(x.curPkgExports) > 0 {
-		dest, ok := x.exports[pkgPath]
-		if !ok {
-			dest = make(map[string]SpotKind)
-			x.exports[pkgPath] = dest
-		}
-		for k, v := range x.curPkgExports {
-			dest[k] = v
-		}
-	}
-}
-
-func (x *Indexer) visitFile(dirname string, fi os.FileInfo) {
-	if fi.IsDir() || !x.c.IndexEnabled {
-		return
-	}
-
-	filename := pathpkg.Join(dirname, fi.Name())
-	goFile := isGoFile(fi)
-
-	switch {
-	case x.c.IndexFullText:
-		if !isWhitelisted(fi.Name()) {
-			return
-		}
-	case x.c.IndexGoCode:
-		if !goFile {
-			return
-		}
-	case x.c.IndexDocs:
-		if !goFile ||
-			strings.HasSuffix(fi.Name(), "_test.go") ||
-			strings.HasPrefix(dirname, "/test/") {
-			return
-		}
-	default:
-		// No indexing turned on.
-		return
-	}
-
-	x.fsOpenGate <- true
-	defer func() { <-x.fsOpenGate }()
-
-	// open file
-	f, err := x.c.fs.Open(filename)
-	if err != nil {
-		return
-	}
-
-	x.mu.Lock()
-	defer x.mu.Unlock()
-
-	x.throttle.Throttle()
-
-	x.curPkgExports = make(map[string]SpotKind)
-	file, fast := x.addFile(f, filename, goFile)
-	if file == nil {
-		return // addFile failed
-	}
-
-	if fast != nil {
-		x.indexGoFile(dirname, fi.Name(), file, fast)
-	}
-
-	// update statistics
-	x.stats.Bytes += file.Size()
-	x.stats.Files++
-	x.stats.Lines += file.LineCount()
-}
-
-// indexOptions contains information that affects the contents of an index.
-type indexOptions struct {
-	// Docs provides documentation search results.
-	// It is only consulted if IndexEnabled is true.
-	// The default values is true.
-	Docs bool
-
-	// GoCode provides Go source code search results.
-	// It is only consulted if IndexEnabled is true.
-	// The default values is true.
-	GoCode bool
-
-	// FullText provides search results from all files.
-	// It is only consulted if IndexEnabled is true.
-	// The default values is true.
-	FullText bool
-
-	// MaxResults optionally specifies the maximum results for indexing.
-	// The default is 1000.
-	MaxResults int
-}
-
-// ----------------------------------------------------------------------------
-// Index
-
-type LookupResult struct {
-	Decls  HitList // package-level declarations (with snippets)
-	Others HitList // all other occurrences
-}
-
-type Index struct {
-	fset        *token.FileSet           // file set used during indexing; nil if no textindex
-	suffixes    *suffixarray.Index       // suffixes for concatenated sources; nil if no textindex
-	words       map[string]*LookupResult // maps words to hit lists
-	alts        map[string]*AltWords     // maps canonical(words) to lists of alternative spellings
-	snippets    []*Snippet               // all snippets, indexed by snippet index
-	stats       Statistics
-	importCount map[string]int                 // package path ("net/http") => count
-	packagePath map[string]map[string]bool     // "template" => "text/template" => true
-	exports     map[string]map[string]SpotKind // "net/http" => "ListenAndServe" => FuncDecl
-	idents      map[SpotKind]map[string][]Ident
-	opts        indexOptions
-}
-
-func canonical(w string) string { return strings.ToLower(w) }
-
-// Somewhat arbitrary, but I figure low enough to not hurt disk-based filesystems
-// consuming file descriptors, where some systems have low 256 or 512 limits.
-// Go should have a built-in way to cap fd usage under the ulimit.
-const (
-	maxOpenFiles = 200
-	maxOpenDirs  = 50
-)
-
-func (c *Corpus) throttle() float64 {
-	if c.IndexThrottle <= 0 {
-		return 0.9
-	}
-	if c.IndexThrottle > 1.0 {
-		return 1.0
-	}
-	return c.IndexThrottle
-}
-
-// NewIndex creates a new index for the .go files provided by the corpus.
-func (c *Corpus) NewIndex() *Index {
-	// initialize Indexer
-	// (use some reasonably sized maps to start)
-	x := &Indexer{
-		c:           c,
-		fset:        token.NewFileSet(),
-		fsOpenGate:  make(chan bool, maxOpenFiles),
-		strings:     make(map[string]string),
-		packages:    make(map[Pak]*Pak, 256),
-		words:       make(map[string]*IndexResult, 8192),
-		throttle:    util.NewThrottle(c.throttle(), 100*time.Millisecond), // run at least 0.1s at a time
-		importCount: make(map[string]int),
-		packagePath: make(map[string]map[string]bool),
-		exports:     make(map[string]map[string]SpotKind),
-		idents:      make(map[SpotKind]map[string][]Ident, 4),
-	}
-
-	// index all files in the directories given by dirnames
-	var wg sync.WaitGroup // outstanding ReadDir + visitFile
-	dirGate := make(chan bool, maxOpenDirs)
-	for dirname := range c.fsDirnames() {
-		if c.IndexDirectory != nil && !c.IndexDirectory(dirname) {
-			continue
-		}
-		dirGate <- true
-		wg.Add(1)
-		go func(dirname string) {
-			defer func() { <-dirGate }()
-			defer wg.Done()
-
-			list, err := c.fs.ReadDir(dirname)
-			if err != nil {
-				log.Printf("ReadDir(%q): %v; skipping directory", dirname, err)
-				return // ignore this directory
-			}
-			for _, fi := range list {
-				wg.Add(1)
-				go func(fi os.FileInfo) {
-					defer wg.Done()
-					x.visitFile(dirname, fi)
-				}(fi)
-			}
-		}(dirname)
-	}
-	wg.Wait()
-
-	if !c.IndexFullText {
-		// the file set, the current file, and the sources are
-		// not needed after indexing if no text index is built -
-		// help GC and clear them
-		x.fset = nil
-		x.sources.Reset()
-		x.current = nil // contains reference to fset!
-	}
-
-	// for each word, reduce the RunLists into a LookupResult;
-	// also collect the word with its canonical spelling in a
-	// word list for later computation of alternative spellings
-	words := make(map[string]*LookupResult)
-	var wlist RunList
-	for w, h := range x.words {
-		decls := reduce(h.Decls)
-		others := reduce(h.Others)
-		words[w] = &LookupResult{
-			Decls:  decls,
-			Others: others,
-		}
-		wlist = append(wlist, &wordPair{canonical(w), w})
-		x.throttle.Throttle()
-	}
-	x.stats.Words = len(words)
-
-	// reduce the word list {canonical(w), w} into
-	// a list of AltWords runs {canonical(w), {w}}
-	alist := wlist.reduce(lessWordPair, newAltWords)
-
-	// convert alist into a map of alternative spellings
-	alts := make(map[string]*AltWords)
-	for i := 0; i < len(alist); i++ {
-		a := alist[i].(*AltWords)
-		alts[a.Canon] = a
-	}
-
-	// create text index
-	var suffixes *suffixarray.Index
-	if c.IndexFullText {
-		suffixes = suffixarray.New(x.sources.Bytes())
-	}
-
-	// sort idents by the number of imports of their respective packages
-	for _, idMap := range x.idents {
-		for _, ir := range idMap {
-			sort.Sort(byImportCount{ir, x.importCount})
-		}
-	}
-
-	return &Index{
-		fset:        x.fset,
-		suffixes:    suffixes,
-		words:       words,
-		alts:        alts,
-		snippets:    x.snippets,
-		stats:       x.stats,
-		importCount: x.importCount,
-		packagePath: x.packagePath,
-		exports:     x.exports,
-		idents:      x.idents,
-		opts: indexOptions{
-			Docs:       x.c.IndexDocs,
-			GoCode:     x.c.IndexGoCode,
-			FullText:   x.c.IndexFullText,
-			MaxResults: x.c.MaxResults,
-		},
-	}
-}
-
-var ErrFileIndexVersion = errors.New("file index version out of date")
-
-const fileIndexVersion = 3
-
-// fileIndex is the subset of Index that's gob-encoded for use by
-// Index.Write and Index.Read.
-type fileIndex struct {
-	Version     int
-	Words       map[string]*LookupResult
-	Alts        map[string]*AltWords
-	Snippets    []*Snippet
-	Fulltext    bool
-	Stats       Statistics
-	ImportCount map[string]int
-	PackagePath map[string]map[string]bool
-	Exports     map[string]map[string]SpotKind
-	Idents      map[SpotKind]map[string][]Ident
-	Opts        indexOptions
-}
-
-func (x *fileIndex) Write(w io.Writer) error {
-	return gob.NewEncoder(w).Encode(x)
-}
-
-func (x *fileIndex) Read(r io.Reader) error {
-	return gob.NewDecoder(r).Decode(x)
-}
-
-// WriteTo writes the index x to w.
-func (x *Index) WriteTo(w io.Writer) (n int64, err error) {
-	w = countingWriter{&n, w}
-	fulltext := false
-	if x.suffixes != nil {
-		fulltext = true
-	}
-	fx := fileIndex{
-		Version:     fileIndexVersion,
-		Words:       x.words,
-		Alts:        x.alts,
-		Snippets:    x.snippets,
-		Fulltext:    fulltext,
-		Stats:       x.stats,
-		ImportCount: x.importCount,
-		PackagePath: x.packagePath,
-		Exports:     x.exports,
-		Idents:      x.idents,
-		Opts:        x.opts,
-	}
-	if err := fx.Write(w); err != nil {
-		return 0, err
-	}
-	if fulltext {
-		encode := func(x interface{}) error {
-			return gob.NewEncoder(w).Encode(x)
-		}
-		if err := x.fset.Write(encode); err != nil {
-			return 0, err
-		}
-		if err := x.suffixes.Write(w); err != nil {
-			return 0, err
-		}
-	}
-	return n, nil
-}
-
-// ReadFrom reads the index from r into x; x must not be nil.
-// If r does not also implement io.ByteReader, it will be wrapped in a bufio.Reader.
-// If the index is from an old version, the error is ErrFileIndexVersion.
-func (x *Index) ReadFrom(r io.Reader) (n int64, err error) {
-	// We use the ability to read bytes as a plausible surrogate for buffering.
-	if _, ok := r.(io.ByteReader); !ok {
-		r = bufio.NewReader(r)
-	}
-	r = countingReader{&n, r.(byteReader)}
-	var fx fileIndex
-	if err := fx.Read(r); err != nil {
-		return n, err
-	}
-	if fx.Version != fileIndexVersion {
-		return 0, ErrFileIndexVersion
-	}
-	x.words = fx.Words
-	x.alts = fx.Alts
-	x.snippets = fx.Snippets
-	x.stats = fx.Stats
-	x.importCount = fx.ImportCount
-	x.packagePath = fx.PackagePath
-	x.exports = fx.Exports
-	x.idents = fx.Idents
-	x.opts = fx.Opts
-	if fx.Fulltext {
-		x.fset = token.NewFileSet()
-		decode := func(x interface{}) error {
-			return gob.NewDecoder(r).Decode(x)
-		}
-		if err := x.fset.Read(decode); err != nil {
-			return n, err
-		}
-		x.suffixes = new(suffixarray.Index)
-		if err := x.suffixes.Read(r); err != nil {
-			return n, err
-		}
-	}
-	return n, nil
-}
-
-// Stats returns index statistics.
-func (x *Index) Stats() Statistics {
-	return x.stats
-}
-
-// ImportCount returns a map from import paths to how many times they were seen.
-func (x *Index) ImportCount() map[string]int {
-	return x.importCount
-}
-
-// PackagePath returns a map from short package name to a set
-// of full package path names that use that short package name.
-func (x *Index) PackagePath() map[string]map[string]bool {
-	return x.packagePath
-}
-
-// Exports returns a map from full package path to exported
-// symbol name to its type.
-func (x *Index) Exports() map[string]map[string]SpotKind {
-	return x.exports
-}
-
-// Idents returns a map from identifier type to exported
-// symbol name to the list of identifiers matching that name.
-func (x *Index) Idents() map[SpotKind]map[string][]Ident {
-	return x.idents
-}
-
-func (x *Index) lookupWord(w string) (match *LookupResult, alt *AltWords) {
-	match = x.words[w]
-	alt = x.alts[canonical(w)]
-	// remove current spelling from alternatives
-	// (if there is no match, the alternatives do
-	// not contain the current spelling)
-	if match != nil && alt != nil {
-		alt = alt.filter(w)
-	}
-	return
-}
-
-// isIdentifier reports whether s is a Go identifier.
-func isIdentifier(s string) bool {
-	for i, ch := range s {
-		if unicode.IsLetter(ch) || ch == '_' || i > 0 && unicode.IsDigit(ch) {
-			continue
-		}
-		return false
-	}
-	return len(s) > 0
-}
-
-// For a given query, which is either a single identifier or a qualified
-// identifier, Lookup returns a SearchResult containing packages, a LookupResult, a
-// list of alternative spellings, and identifiers, if any. Any and all results
-// may be nil.  If the query syntax is wrong, an error is reported.
-func (x *Index) Lookup(query string) (*SearchResult, error) {
-	ss := strings.Split(query, ".")
-
-	// check query syntax
-	for _, s := range ss {
-		if !isIdentifier(s) {
-			return nil, errors.New("all query parts must be identifiers")
-		}
-	}
-	rslt := &SearchResult{
-		Query:  query,
-		Idents: make(map[SpotKind][]Ident, 5),
-	}
-	// handle simple and qualified identifiers
-	switch len(ss) {
-	case 1:
-		ident := ss[0]
-		rslt.Hit, rslt.Alt = x.lookupWord(ident)
-		if rslt.Hit != nil {
-			// found a match - filter packages with same name
-			// for the list of packages called ident, if any
-			rslt.Pak = rslt.Hit.Others.filter(ident)
-		}
-		for k, v := range x.idents {
-			const rsltLimit = 50
-			ids := byImportCount{v[ident], x.importCount}
-			rslt.Idents[k] = ids.top(rsltLimit)
-		}
-
-	case 2:
-		pakname, ident := ss[0], ss[1]
-		rslt.Hit, rslt.Alt = x.lookupWord(ident)
-		if rslt.Hit != nil {
-			// found a match - filter by package name
-			// (no paks - package names are not qualified)
-			decls := rslt.Hit.Decls.filter(pakname)
-			others := rslt.Hit.Others.filter(pakname)
-			rslt.Hit = &LookupResult{decls, others}
-		}
-		for k, v := range x.idents {
-			ids := byImportCount{v[ident], x.importCount}
-			rslt.Idents[k] = ids.filter(pakname)
-		}
-
-	default:
-		return nil, errors.New("query is not a (qualified) identifier")
-	}
-
-	return rslt, nil
-}
-
-func (x *Index) Snippet(i int) *Snippet {
-	// handle illegal snippet indices gracefully
-	if 0 <= i && i < len(x.snippets) {
-		return x.snippets[i]
-	}
-	return nil
-}
-
-type positionList []struct {
-	filename string
-	line     int
-}
-
-func (list positionList) Len() int           { return len(list) }
-func (list positionList) Less(i, j int) bool { return list[i].filename < list[j].filename }
-func (list positionList) Swap(i, j int)      { list[i], list[j] = list[j], list[i] }
-
-// unique returns the list sorted and with duplicate entries removed
-func unique(list []int) []int {
-	sort.Ints(list)
-	var last int
-	i := 0
-	for _, x := range list {
-		if i == 0 || x != last {
-			last = x
-			list[i] = x
-			i++
-		}
-	}
-	return list[0:i]
-}
-
-// A FileLines value specifies a file and line numbers within that file.
-type FileLines struct {
-	Filename string
-	Lines    []int
-}
-
-// LookupRegexp returns the number of matches and the matches where a regular
-// expression r is found in the full text index. At most n matches are
-// returned (thus found <= n).
-//
-func (x *Index) LookupRegexp(r *regexp.Regexp, n int) (found int, result []FileLines) {
-	if x.suffixes == nil || n <= 0 {
-		return
-	}
-	// n > 0
-
-	var list positionList
-	// FindAllIndex may returns matches that span across file boundaries.
-	// Such matches are unlikely, buf after eliminating them we may end up
-	// with fewer than n matches. If we don't have enough at the end, redo
-	// the search with an increased value n1, but only if FindAllIndex
-	// returned all the requested matches in the first place (if it
-	// returned fewer than that there cannot be more).
-	for n1 := n; found < n; n1 += n - found {
-		found = 0
-		matches := x.suffixes.FindAllIndex(r, n1)
-		// compute files, exclude matches that span file boundaries,
-		// and map offsets to file-local offsets
-		list = make(positionList, len(matches))
-		for _, m := range matches {
-			// by construction, an offset corresponds to the Pos value
-			// for the file set - use it to get the file and line
-			p := token.Pos(m[0])
-			if file := x.fset.File(p); file != nil {
-				if base := file.Base(); base <= m[1] && m[1] <= base+file.Size() {
-					// match [m[0], m[1]) is within the file boundaries
-					list[found].filename = file.Name()
-					list[found].line = file.Line(p)
-					found++
-				}
-			}
-		}
-		if found == n || len(matches) < n1 {
-			// found all matches or there's no chance to find more
-			break
-		}
-	}
-	list = list[0:found]
-	sort.Sort(list) // sort by filename
-
-	// collect matches belonging to the same file
-	var last string
-	var lines []int
-	addLines := func() {
-		if len(lines) > 0 {
-			// remove duplicate lines
-			result = append(result, FileLines{last, unique(lines)})
-			lines = nil
-		}
-	}
-	for _, m := range list {
-		if m.filename != last {
-			addLines()
-			last = m.filename
-		}
-		lines = append(lines, m.line)
-	}
-	addLines()
-
-	return
-}
-
-// InvalidateIndex should be called whenever any of the file systems
-// under godoc's observation change so that the indexer is kicked on.
-func (c *Corpus) invalidateIndex() {
-	c.fsModified.Set(nil)
-	c.refreshMetadata()
-}
-
-// feedDirnames feeds the directory names of all directories
-// under the file system given by root to channel c.
-//
-func (c *Corpus) feedDirnames(ch chan<- string) {
-	if dir, _ := c.fsTree.Get(); dir != nil {
-		for d := range dir.(*Directory).iter(false) {
-			ch <- d.Path
-		}
-	}
-}
-
-// fsDirnames() returns a channel sending all directory names
-// of all the file systems under godoc's observation.
-//
-func (c *Corpus) fsDirnames() <-chan string {
-	ch := make(chan string, 256) // buffered for fewer context switches
-	go func() {
-		c.feedDirnames(ch)
-		close(ch)
-	}()
-	return ch
-}
-
-// CompatibleWith reports whether the Index x is compatible with the corpus
-// indexing options set in c.
-func (x *Index) CompatibleWith(c *Corpus) bool {
-	return x.opts.Docs == c.IndexDocs &&
-		x.opts.GoCode == c.IndexGoCode &&
-		x.opts.FullText == c.IndexFullText &&
-		x.opts.MaxResults == c.MaxResults
-}
-
-func (c *Corpus) readIndex(filenames string) error {
-	matches, err := filepath.Glob(filenames)
-	if err != nil {
-		return err
-	} else if matches == nil {
-		return fmt.Errorf("no index files match %q", filenames)
-	}
-	sort.Strings(matches) // make sure files are in the right order
-	files := make([]io.Reader, 0, len(matches))
-	for _, filename := range matches {
-		f, err := os.Open(filename)
-		if err != nil {
-			return err
-		}
-		defer f.Close()
-		files = append(files, f)
-	}
-	return c.ReadIndexFrom(io.MultiReader(files...))
-}
-
-// ReadIndexFrom sets the current index from the serialized version found in r.
-func (c *Corpus) ReadIndexFrom(r io.Reader) error {
-	x := new(Index)
-	if _, err := x.ReadFrom(r); err != nil {
-		return err
-	}
-	if !x.CompatibleWith(c) {
-		return fmt.Errorf("index file options are incompatible: %v", x.opts)
-	}
-	c.searchIndex.Set(x)
-	return nil
-}
-
-func (c *Corpus) UpdateIndex() {
-	if c.Verbose {
-		log.Printf("updating index...")
-	}
-	start := time.Now()
-	index := c.NewIndex()
-	stop := time.Now()
-	c.searchIndex.Set(index)
-	if c.Verbose {
-		secs := stop.Sub(start).Seconds()
-		stats := index.Stats()
-		log.Printf("index updated (%gs, %d bytes of source, %d files, %d lines, %d unique words, %d spots)",
-			secs, stats.Bytes, stats.Files, stats.Lines, stats.Words, stats.Spots)
-	}
-	memstats := new(runtime.MemStats)
-	runtime.ReadMemStats(memstats)
-	if c.Verbose {
-		log.Printf("before GC: bytes = %d footprint = %d", memstats.HeapAlloc, memstats.Sys)
-	}
-	runtime.GC()
-	runtime.ReadMemStats(memstats)
-	if c.Verbose {
-		log.Printf("after  GC: bytes = %d footprint = %d", memstats.HeapAlloc, memstats.Sys)
-	}
-}
-
-// RunIndexer runs forever, indexing.
-func (c *Corpus) RunIndexer() {
-	// initialize the index from disk if possible
-	if c.IndexFiles != "" {
-		c.initFSTree()
-		if err := c.readIndex(c.IndexFiles); err != nil {
-			log.Printf("error reading index from file %s: %v", c.IndexFiles, err)
-		}
-		return
-	}
-
-	// Repeatedly update the package directory tree and index.
-	for {
-		c.initFSTree()
-		c.UpdateIndex()
-		if c.IndexInterval < 0 {
-			return
-		}
-		delay := 5 * time.Minute // by default, reindex every 5 minutes
-		if c.IndexInterval > 0 {
-			delay = c.IndexInterval
-		}
-		time.Sleep(delay)
-	}
-}
-
-type countingWriter struct {
-	n *int64
-	w io.Writer
-}
-
-func (c countingWriter) Write(p []byte) (n int, err error) {
-	n, err = c.w.Write(p)
-	*c.n += int64(n)
-	return
-}
-
-type byteReader interface {
-	io.Reader
-	io.ByteReader
-}
-
-type countingReader struct {
-	n *int64
-	r byteReader
-}
-
-func (c countingReader) Read(p []byte) (n int, err error) {
-	n, err = c.r.Read(p)
-	*c.n += int64(n)
-	return
-}
-
-func (c countingReader) ReadByte() (b byte, err error) {
-	b, err = c.r.ReadByte()
-	*c.n += 1
-	return
-}
internal/godoc/index_test.go
@@ -1,323 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package godoc
-
-import (
-	"bytes"
-	"reflect"
-	"sort"
-	"strings"
-	"testing"
-
-	"golang.org/x/website/internal/godoc/vfs/mapfs"
-)
-
-func newCorpus(t *testing.T) *Corpus {
-	c := NewCorpus(mapfs.New(map[string]string{
-		"src/foo/foo.go": `// Package foo is an example.
-package foo
-
-import "bar"
-
-const Pi = 3.1415
-
-var Foos []Foo
-
-// Foo is stuff.
-type Foo struct{}
-
-func New() *Foo {
-   return new(Foo)
-}
-`,
-		"src/bar/bar.go": `// Package bar is another example to test races.
-package bar
-`,
-		"src/other/bar/bar.go": `// Package bar is another bar package.
-package bar
-func X() {}
-`,
-		"src/skip/skip.go": `// Package skip should be skipped.
-package skip
-func Skip() {}
-`,
-		"src/bar/readme.txt": `Whitelisted text file.
-`,
-		"src/bar/baz.zzz": `Text file not whitelisted.
-`,
-	}))
-	c.IndexEnabled = true
-	c.IndexDirectory = func(dir string) bool {
-		return !strings.Contains(dir, "skip")
-	}
-
-	if err := c.Init(); err != nil {
-		t.Fatal(err)
-	}
-	return c
-}
-
-func TestIndex(t *testing.T) {
-	for _, docs := range []bool{true, false} {
-		for _, goCode := range []bool{true, false} {
-			for _, fullText := range []bool{true, false} {
-				c := newCorpus(t)
-				c.IndexDocs = docs
-				c.IndexGoCode = goCode
-				c.IndexFullText = fullText
-				c.UpdateIndex()
-				ix, _ := c.CurrentIndex()
-				if ix == nil {
-					t.Fatal("no index")
-				}
-				t.Logf("docs, goCode, fullText = %v,%v,%v", docs, goCode, fullText)
-				testIndex(t, c, ix)
-			}
-		}
-	}
-}
-
-func TestIndexWriteRead(t *testing.T) {
-	type key struct {
-		docs, goCode, fullText bool
-	}
-	type val struct {
-		buf *bytes.Buffer
-		c   *Corpus
-	}
-	m := map[key]val{}
-
-	for _, docs := range []bool{true, false} {
-		for _, goCode := range []bool{true, false} {
-			for _, fullText := range []bool{true, false} {
-				k := key{docs, goCode, fullText}
-				c := newCorpus(t)
-				c.IndexDocs = docs
-				c.IndexGoCode = goCode
-				c.IndexFullText = fullText
-				c.UpdateIndex()
-				ix, _ := c.CurrentIndex()
-				if ix == nil {
-					t.Fatal("no index")
-				}
-				var buf bytes.Buffer
-				nw, err := ix.WriteTo(&buf)
-				if err != nil {
-					t.Fatalf("Index.WriteTo: %v", err)
-				}
-				m[k] = val{bytes.NewBuffer(buf.Bytes()), c}
-				ix2 := new(Index)
-				nr, err := ix2.ReadFrom(&buf)
-				if err != nil {
-					t.Fatalf("Index.ReadFrom: %v", err)
-				}
-				if nr != nw {
-					t.Errorf("Wrote %d bytes to index but read %d", nw, nr)
-				}
-				testIndex(t, c, ix)
-			}
-		}
-	}
-	// Test CompatibleWith
-	for k1, v1 := range m {
-		ix := new(Index)
-		if _, err := ix.ReadFrom(v1.buf); err != nil {
-			t.Fatalf("Index.ReadFrom: %v", err)
-		}
-		for k2, v2 := range m {
-			if got, want := ix.CompatibleWith(v2.c), k1 == k2; got != want {
-				t.Errorf("CompatibleWith = %v; want %v for %v, %v", got, want, k1, k2)
-			}
-		}
-	}
-}
-
-func testIndex(t *testing.T, c *Corpus, ix *Index) {
-	if _, ok := ix.words["Skip"]; ok {
-		t.Errorf("the word Skip was found; expected it to be skipped")
-	}
-	checkStats(t, c, ix)
-	checkImportCount(t, c, ix)
-	checkPackagePath(t, c, ix)
-	checkExports(t, c, ix)
-	checkIdents(t, c, ix)
-}
-
-// checkStats checks the Index's statistics.
-// Some statistics are only set when we're indexing Go code.
-func checkStats(t *testing.T, c *Corpus, ix *Index) {
-	want := Statistics{}
-	if c.IndexFullText {
-		want.Bytes = 314
-		want.Files = 4
-		want.Lines = 21
-	} else if c.IndexDocs || c.IndexGoCode {
-		want.Bytes = 291
-		want.Files = 3
-		want.Lines = 20
-	}
-	if c.IndexGoCode {
-		want.Words = 8
-		want.Spots = 12
-	}
-	if got := ix.Stats(); !reflect.DeepEqual(got, want) {
-		t.Errorf("Stats = %#v; want %#v", got, want)
-	}
-}
-
-// checkImportCount checks the Index's import count map.
-// It is only set when we're indexing Go code.
-func checkImportCount(t *testing.T, c *Corpus, ix *Index) {
-	want := map[string]int{}
-	if c.IndexGoCode {
-		want = map[string]int{
-			"bar": 1,
-		}
-	}
-	if got := ix.ImportCount(); !reflect.DeepEqual(got, want) {
-		t.Errorf("ImportCount = %v; want %v", got, want)
-	}
-}
-
-// checkPackagePath checks the Index's package path map.
-// It is set if at least one of the indexing options is enabled.
-func checkPackagePath(t *testing.T, c *Corpus, ix *Index) {
-	want := map[string]map[string]bool{}
-	if c.IndexDocs || c.IndexGoCode || c.IndexFullText {
-		want = map[string]map[string]bool{
-			"foo": {
-				"foo": true,
-			},
-			"bar": {
-				"bar":       true,
-				"other/bar": true,
-			},
-		}
-	}
-	if got := ix.PackagePath(); !reflect.DeepEqual(got, want) {
-		t.Errorf("PackagePath = %v; want %v", got, want)
-	}
-}
-
-// checkExports checks the Index's exports map.
-// It is only set when we're indexing Go code.
-func checkExports(t *testing.T, c *Corpus, ix *Index) {
-	want := map[string]map[string]SpotKind{}
-	if c.IndexGoCode {
-		want = map[string]map[string]SpotKind{
-			"foo": {
-				"Pi":   ConstDecl,
-				"Foos": VarDecl,
-				"Foo":  TypeDecl,
-				"New":  FuncDecl,
-			},
-			"other/bar": {
-				"X": FuncDecl,
-			},
-		}
-	}
-	if got := ix.Exports(); !reflect.DeepEqual(got, want) {
-		t.Errorf("Exports = %v; want %v", got, want)
-	}
-}
-
-// checkIdents checks the Index's indents map.
-// It is only set when we're indexing documentation.
-func checkIdents(t *testing.T, c *Corpus, ix *Index) {
-	want := map[SpotKind]map[string][]Ident{}
-	if c.IndexDocs {
-		want = map[SpotKind]map[string][]Ident{
-			PackageClause: {
-				"bar": {
-					{"bar", "bar", "bar", "Package bar is another example to test races."},
-					{"other/bar", "bar", "bar", "Package bar is another bar package."},
-				},
-				"foo":   {{"foo", "foo", "foo", "Package foo is an example."}},
-				"other": {{"other/bar", "bar", "bar", "Package bar is another bar package."}},
-			},
-			ConstDecl: {
-				"Pi": {{"foo", "foo", "Pi", ""}},
-			},
-			VarDecl: {
-				"Foos": {{"foo", "foo", "Foos", ""}},
-			},
-			TypeDecl: {
-				"Foo": {{"foo", "foo", "Foo", "Foo is stuff."}},
-			},
-			FuncDecl: {
-				"New": {{"foo", "foo", "New", ""}},
-				"X":   {{"other/bar", "bar", "X", ""}},
-			},
-		}
-	}
-	if got := ix.Idents(); !reflect.DeepEqual(got, want) {
-		t.Errorf("Idents = %v; want %v", got, want)
-	}
-}
-
-func TestIdentResultSort(t *testing.T) {
-	ic := map[string]int{
-		"/a/b/pkg1": 10,
-		"/a/b/pkg2": 2,
-		"/b/d/pkg3": 20,
-	}
-	for _, tc := range []struct {
-		ir  []Ident
-		exp []Ident
-	}{
-		{
-			ir: []Ident{
-				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
-				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
-				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
-			},
-			exp: []Ident{
-				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
-				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
-				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
-			},
-		},
-		{
-			ir: []Ident{
-				{"/a/a/pkg1", "pkg1", "MyFunc1", ""},
-				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
-			},
-			exp: []Ident{
-				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
-				{"/a/a/pkg1", "pkg1", "MyFunc1", ""},
-			},
-		},
-	} {
-		if sort.Sort(byImportCount{tc.ir, ic}); !reflect.DeepEqual(tc.ir, tc.exp) {
-			t.Errorf("got: %v, want %v", tc.ir, tc.exp)
-		}
-	}
-}
-
-func TestIdentFilter(t *testing.T) {
-	ic := map[string]int{}
-	for _, tc := range []struct {
-		ir  []Ident
-		pak string
-		exp []Ident
-	}{
-		{
-			ir: []Ident{
-				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
-				{"/b/d/pkg3", "pkg3", "MyFunc3", ""},
-				{"/a/b/pkg1", "pkg1", "MyFunc1", ""},
-			},
-			pak: "pkg2",
-			exp: []Ident{
-				{"/a/b/pkg2", "pkg2", "MyFunc2", ""},
-			},
-		},
-	} {
-		res := byImportCount{tc.ir, ic}.filter(tc.pak)
-		if !reflect.DeepEqual(res, tc.exp) {
-			t.Errorf("got: %v, want %v", res, tc.exp)
-		}
-	}
-}
internal/godoc/page.go
@@ -25,7 +25,6 @@
 	GoogleCN bool // page is being served from golang.google.cn

 	// filled in by ServePage
-	SearchBox       bool
 	Playground      bool
 	Version         string
 	GoogleAnalytics string
@@ -35,7 +34,6 @@
 	if page.Tabtitle == "" {
 		page.Tabtitle = page.Title
 	}
-	page.SearchBox = p.Corpus.IndexEnabled
 	page.Playground = p.ShowPlayground
 	page.Version = runtime.Version()
 	page.GoogleAnalytics = p.GoogleAnalytics
internal/godoc/pres.go
@@ -13,9 +13,6 @@
 	"golang.org/x/website/internal/godoc/vfs/httpfs"
 )

-// SearchResultFunc functions return an HTML body for displaying search results.
-type SearchResultFunc func(p *Presentation, result SearchResult) []byte
-
 // Presentation generates output from a corpus.
 type Presentation struct {
 	Corpus *Corpus
@@ -30,12 +27,7 @@
 	ExampleHTML,
 	GodocHTML,
 	PackageHTML,
-	PackageRootHTML,
-	SearchHTML,
-	SearchDocHTML,
-	SearchCodeHTML,
-	SearchTxtHTML,
-	SearchDescXML *template.Template // If not nil, register a /opensearch.xml handler with this template.
+	PackageRootHTML *template.Template

 	// TabWidth optionally specifies the tab width.
 	TabWidth int
@@ -75,10 +67,6 @@
 	// the query string highlighted.
 	URLForSrcQuery func(src, query string, line int) string

-	// SearchResults optionally specifies a list of functions returning an HTML
-	// body for displaying search results.
-	SearchResults []SearchResultFunc
-
 	// GoogleAnalytics optionally adds Google Analytics via the provided
 	// tracking ID to each page.
 	GoogleAnalytics string
@@ -89,8 +77,6 @@
 }

 // NewPresentation returns a new Presentation from a corpus.
-// It sets SearchResults to:
-// [SearchResultDoc SearchResultCode SearchResultTxt].
 func NewPresentation(c *Corpus) *Presentation {
 	if c == nil {
 		panic("nil Corpus")
@@ -102,11 +88,6 @@

 		TabWidth:  4,
 		DeclLinks: true,
-		SearchResults: []SearchResultFunc{
-			(*Presentation).SearchResultDoc,
-			(*Presentation).SearchResultCode,
-			(*Presentation).SearchResultTxt,
-		},
 	}
 	p.cmdHandler = handlerServer{
 		p:       p,
@@ -125,10 +106,6 @@
 	p.cmdHandler.registerWithMux(p.mux)
 	p.pkgHandler.registerWithMux(p.mux)
 	p.mux.HandleFunc("/", p.ServeFile)
-	p.mux.HandleFunc("/search", p.HandleSearch)
-	if p.SearchDescXML != nil {
-		p.mux.HandleFunc("/opensearch.xml", p.serveSearchDesc)
-	}
 	return p
 }

internal/godoc/search.go
@@ -1,186 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package godoc
-
-import (
-	"bytes"
-	"fmt"
-	"net/http"
-	"regexp"
-	"strings"
-)
-
-type SearchResult struct {
-	Query string
-	Alert string // error or warning message
-
-	// identifier matches
-	Pak HitList       // packages matching Query
-	Hit *LookupResult // identifier matches of Query
-	Alt *AltWords     // alternative identifiers to look for
-
-	// textual matches
-	Found    int         // number of textual occurrences found
-	Textual  []FileLines // textual matches of Query
-	Complete bool        // true if all textual occurrences of Query are reported
-	Idents   map[SpotKind][]Ident
-}
-
-func (c *Corpus) Lookup(query string) SearchResult {
-	result := &SearchResult{Query: query}
-
-	index, timestamp := c.CurrentIndex()
-	if index != nil {
-		// identifier search
-		if r, err := index.Lookup(query); err == nil {
-			result = r
-		} else if err != nil && !c.IndexFullText {
-			// ignore the error if full text search is enabled
-			// since the query may be a valid regular expression
-			result.Alert = "Error in query string: " + err.Error()
-			return *result
-		}
-
-		// full text search
-		if c.IndexFullText && query != "" {
-			rx, err := regexp.Compile(query)
-			if err != nil {
-				result.Alert = "Error in query regular expression: " + err.Error()
-				return *result
-			}
-			// If we get maxResults+1 results we know that there are more than
-			// maxResults results and thus the result may be incomplete (to be
-			// precise, we should remove one result from the result set, but
-			// nobody is going to count the results on the result page).
-			result.Found, result.Textual = index.LookupRegexp(rx, c.MaxResults+1)
-			result.Complete = result.Found <= c.MaxResults
-			if !result.Complete {
-				result.Found-- // since we looked for maxResults+1
-			}
-		}
-	}
-
-	// is the result accurate?
-	if c.IndexEnabled {
-		if ts := c.FSModifiedTime(); timestamp.Before(ts) {
-			// The index is older than the latest file system change under godoc's observation.
-			result.Alert = "Indexing in progress: result may be inaccurate"
-		}
-	} else {
-		result.Alert = "Search index disabled: no results available"
-	}
-
-	return *result
-}
-
-// SearchResultDoc optionally specifies a function returning an HTML body
-// displaying search results matching godoc documentation.
-func (p *Presentation) SearchResultDoc(result SearchResult) []byte {
-	return applyTemplate(p.SearchDocHTML, "searchDocHTML", result)
-}
-
-// SearchResultCode optionally specifies a function returning an HTML body
-// displaying search results matching source code.
-func (p *Presentation) SearchResultCode(result SearchResult) []byte {
-	return applyTemplate(p.SearchCodeHTML, "searchCodeHTML", result)
-}
-
-// SearchResultTxt optionally specifies a function returning an HTML body
-// displaying search results of textual matches.
-func (p *Presentation) SearchResultTxt(result SearchResult) []byte {
-	return applyTemplate(p.SearchTxtHTML, "searchTxtHTML", result)
-}
-
-// HandleSearch obtains results for the requested search and returns a page
-// to display them.
-func (p *Presentation) HandleSearch(w http.ResponseWriter, r *http.Request) {
-	query := strings.TrimSpace(r.FormValue("q"))
-	result := p.Corpus.Lookup(query)
-
-	var contents bytes.Buffer
-	for _, f := range p.SearchResults {
-		contents.Write(f(p, result))
-	}
-
-	var title string
-	if haveResults := contents.Len() > 0; haveResults {
-		title = fmt.Sprintf(`Results for query: %v`, query)
-		if !p.Corpus.IndexEnabled {
-			result.Alert = ""
-		}
-	} else {
-		title = fmt.Sprintf(`No results found for query %q`, query)
-	}
-
-	body := bytes.NewBuffer(applyTemplate(p.SearchHTML, "searchHTML", result))
-	body.Write(contents.Bytes())
-
-	p.ServePage(w, Page{
-		Title:    title,
-		Tabtitle: query,
-		Query:    query,
-		Body:     body.Bytes(),
-		GoogleCN: googleCN(r),
-	})
-}
-
-func (p *Presentation) serveSearchDesc(w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "application/opensearchdescription+xml")
-	data := map[string]interface{}{
-		"BaseURL": fmt.Sprintf("http://%s", r.Host),
-	}
-	applyTemplateToResponseWriter(w, p.SearchDescXML, &data)
-}
-
-// tocColCount returns the no. of columns
-// to split the toc table to.
-func tocColCount(result SearchResult) int {
-	tocLen := tocLen(result)
-	colCount := 0
-	// Simple heuristic based on visual aesthetic in manual testing.
-	switch {
-	case tocLen <= 10:
-		colCount = 1
-	case tocLen <= 20:
-		colCount = 2
-	case tocLen <= 80:
-		colCount = 3
-	default:
-		colCount = 4
-	}
-	return colCount
-}
-
-// tocLen calculates the no. of items in the toc table
-// by going through various fields in the SearchResult
-// that is rendered in the UI.
-func tocLen(result SearchResult) int {
-	tocLen := 0
-	for _, val := range result.Idents {
-		if len(val) != 0 {
-			tocLen++
-		}
-	}
-	// If no identifiers, then just one item for the header text "Package <result.Query>".
-	// See searchcode.html for further details.
-	if len(result.Idents) == 0 {
-		tocLen++
-	}
-	if result.Hit != nil {
-		if len(result.Hit.Decls) > 0 {
-			tocLen += len(result.Hit.Decls)
-			// We need one extra item for the header text "Package-level declarations".
-			tocLen++
-		}
-		if len(result.Hit.Others) > 0 {
-			tocLen += len(result.Hit.Others)
-			// We need one extra item for the header text "Local declarations and uses".
-			tocLen++
-		}
-	}
-	// For "textual occurrences".
-	tocLen++
-	return tocLen
-}
internal/godoc/snippet.go
@@ -1,123 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains the infrastructure to create a code
-// snippet for search results.
-//
-// Note: At the moment, this only creates HTML snippets.
-
-package godoc
-
-import (
-	"bytes"
-	"fmt"
-	"go/ast"
-	"go/token"
-)
-
-type Snippet struct {
-	Line int
-	Text string // HTML-escaped
-}
-
-func (p *Presentation) newSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
-	// TODO instead of pretty-printing the node, should use the original source instead
-	var buf1 bytes.Buffer
-	p.writeNode(&buf1, nil, fset, decl)
-	// wrap text with <pre> tag
-	var buf2 bytes.Buffer
-	buf2.WriteString("<pre>")
-	FormatText(&buf2, buf1.Bytes(), -1, true, id.Name, nil)
-	buf2.WriteString("</pre>")
-	return &Snippet{fset.Position(id.Pos()).Line, buf2.String()}
-}
-
-func findSpec(list []ast.Spec, id *ast.Ident) ast.Spec {
-	for _, spec := range list {
-		switch s := spec.(type) {
-		case *ast.ImportSpec:
-			if s.Name == id {
-				return s
-			}
-		case *ast.ValueSpec:
-			for _, n := range s.Names {
-				if n == id {
-					return s
-				}
-			}
-		case *ast.TypeSpec:
-			if s.Name == id {
-				return s
-			}
-		}
-	}
-	return nil
-}
-
-func (p *Presentation) genSnippet(fset *token.FileSet, d *ast.GenDecl, id *ast.Ident) *Snippet {
-	s := findSpec(d.Specs, id)
-	if s == nil {
-		return nil //  declaration doesn't contain id - exit gracefully
-	}
-
-	// only use the spec containing the id for the snippet
-	dd := &ast.GenDecl{
-		Doc:    d.Doc,
-		TokPos: d.Pos(),
-		Tok:    d.Tok,
-		Lparen: d.Lparen,
-		Specs:  []ast.Spec{s},
-		Rparen: d.Rparen,
-	}
-
-	return p.newSnippet(fset, dd, id)
-}
-
-func (p *Presentation) funcSnippet(fset *token.FileSet, d *ast.FuncDecl, id *ast.Ident) *Snippet {
-	if d.Name != id {
-		return nil //  declaration doesn't contain id - exit gracefully
-	}
-
-	// only use the function signature for the snippet
-	dd := &ast.FuncDecl{
-		Doc:  d.Doc,
-		Recv: d.Recv,
-		Name: d.Name,
-		Type: d.Type,
-	}
-
-	return p.newSnippet(fset, dd, id)
-}
-
-// NewSnippet creates a text snippet from a declaration decl containing an
-// identifier id. Parts of the declaration not containing the identifier
-// may be removed for a more compact snippet.
-func NewSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
-	// TODO(bradfitz, adg): remove this function.  But it's used by indexer, which
-	// doesn't have a *Presentation, and NewSnippet needs a TabWidth.
-	var p Presentation
-	p.TabWidth = 4
-	return p.NewSnippet(fset, decl, id)
-}
-
-// NewSnippet creates a text snippet from a declaration decl containing an
-// identifier id. Parts of the declaration not containing the identifier
-// may be removed for a more compact snippet.
-func (p *Presentation) NewSnippet(fset *token.FileSet, decl ast.Decl, id *ast.Ident) *Snippet {
-	var s *Snippet
-	switch d := decl.(type) {
-	case *ast.GenDecl:
-		s = p.genSnippet(fset, d, id)
-	case *ast.FuncDecl:
-		s = p.funcSnippet(fset, d, id)
-	}
-
-	// handle failure gracefully
-	if s == nil {
-		var buf bytes.Buffer
-		fmt.Fprintf(&buf, `<span class="alert">could not generate a snippet for <span class="highlight">%s</span></span>`, id.Name)
-		s = &Snippet{fset.Position(id.Pos()).Line, buf.String()}
-	}
-	return s
-}
internal/godoc/spot.go
@@ -1,83 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package godoc
-
-// ----------------------------------------------------------------------------
-// SpotInfo
-
-// A SpotInfo value describes a particular identifier spot in a given file;
-// It encodes three values: the SpotKind (declaration or use), a line or
-// snippet index "lori", and whether it's a line or index.
-//
-// The following encoding is used:
-//
-//   bits    32   4    1       0
-//   value    [lori|kind|isIndex]
-//
-type SpotInfo uint32
-
-// SpotKind describes whether an identifier is declared (and what kind of
-// declaration) or used.
-type SpotKind uint32
-
-const (
-	PackageClause SpotKind = iota
-	ImportDecl
-	ConstDecl
-	TypeDecl
-	VarDecl
-	FuncDecl
-	MethodDecl
-	Use
-	nKinds
-)
-
-var (
-	// These must match the SpotKind values above.
-	name = []string{
-		"Packages",
-		"Imports",
-		"Constants",
-		"Types",
-		"Variables",
-		"Functions",
-		"Methods",
-		"Uses",
-		"Unknown",
-	}
-)
-
-func (x SpotKind) Name() string { return name[x] }
-
-func init() {
-	// sanity check: if nKinds is too large, the SpotInfo
-	// accessor functions may need to be updated
-	if nKinds > 8 {
-		panic("internal error: nKinds > 8")
-	}
-}
-
-// makeSpotInfo makes a SpotInfo.
-func makeSpotInfo(kind SpotKind, lori int, isIndex bool) SpotInfo {
-	// encode lori: bits [4..32)
-	x := SpotInfo(lori) << 4
-	if int(x>>4) != lori {
-		// lori value doesn't fit - since snippet indices are
-		// most certainly always smaller then 1<<28, this can
-		// only happen for line numbers; give it no line number (= 0)
-		x = 0
-	}
-	// encode kind: bits [1..4)
-	x |= SpotInfo(kind) << 1
-	// encode isIndex: bit 0
-	if isIndex {
-		x |= 1
-	}
-	return x
-}
-
-func (x SpotInfo) Kind() SpotKind { return SpotKind(x >> 1 & 7) }
-func (x SpotInfo) Lori() int      { return int(x >> 4) }
-func (x SpotInfo) IsIndex() bool  { return x&1 != 0 }
internal/godoc/util/throttle.go
@@ -1,88 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package util
-
-import "time"
-
-// A Throttle permits throttling of a goroutine by
-// calling the Throttle method repeatedly.
-//
-type Throttle struct {
-	f  float64       // f = (1-r)/r for 0 < r < 1
-	dt time.Duration // minimum run time slice; >= 0
-	tr time.Duration // accumulated time running
-	ts time.Duration // accumulated time stopped
-	tt time.Time     // earliest throttle time (= time Throttle returned + tm)
-}
-
-// NewThrottle creates a new Throttle with a throttle value r and
-// a minimum allocated run time slice of dt:
-//
-//	r == 0: "empty" throttle; the goroutine is always sleeping
-//	r == 1: full throttle; the goroutine is never sleeping
-//
-// A value of r == 0.6 throttles a goroutine such that it runs
-// approx. 60% of the time, and sleeps approx. 40% of the time.
-// Values of r < 0 or r > 1 are clamped down to values between 0 and 1.
-// Values of dt < 0 are set to 0.
-//
-func NewThrottle(r float64, dt time.Duration) *Throttle {
-	var f float64
-	switch {
-	case r <= 0:
-		f = -1 // indicates always sleep
-	case r >= 1:
-		f = 0 // assume r == 1 (never sleep)
-	default:
-		// 0 < r < 1
-		f = (1 - r) / r
-	}
-	if dt < 0 {
-		dt = 0
-	}
-	return &Throttle{f: f, dt: dt, tt: time.Now().Add(dt)}
-}
-
-// Throttle calls time.Sleep such that over time the ratio tr/ts between
-// accumulated run (tr) and sleep times (ts) approximates the value 1/(1-r)
-// where r is the throttle value. Throttle returns immediately (w/o sleeping)
-// if less than tm ns have passed since the last call to Throttle.
-//
-func (p *Throttle) Throttle() {
-	if p.f < 0 {
-		select {} // always sleep
-	}
-
-	t0 := time.Now()
-	if t0.Before(p.tt) {
-		return // keep running (minimum time slice not exhausted yet)
-	}
-
-	// accumulate running time
-	p.tr += t0.Sub(p.tt) + p.dt
-
-	// compute sleep time
-	// Over time we want:
-	//
-	//	tr/ts = r/(1-r)
-	//
-	// Thus:
-	//
-	//	ts = tr*f with f = (1-r)/r
-	//
-	// After some incremental run time δr added to the total run time
-	// tr, the incremental sleep-time δs to get to the same ratio again
-	// after waking up from time.Sleep is:
-	if δs := time.Duration(float64(p.tr)*p.f) - p.ts; δs > 0 {
-		time.Sleep(δs)
-	}
-
-	// accumulate (actual) sleep time
-	t1 := time.Now()
-	p.ts += t1.Sub(t0)
-
-	// set earliest next throttle time
-	p.tt = t1.Add(p.dt)
-}
internal/godoc: delete RootType

We no longer use GOPATH at all, so all that matters is whether
the directory is GOROOT or not. We don't need the file system
to tell us - we can check whether a known file exists, like
src/math/abs.go.
rsc committed 4 days ago commit 1c69556f7c25e48fe0d759597460fc9a75fb84f7
_content/lib/godoc/packageroot.html
@@ -48,7 +48,7 @@

 						{{range .List}}
 							<tr>
-							{{if eq .RootType "GOROOT"}}
+							{{if .IsGOROOT}}
 							{{if $.DirFlat}}
 								{{if .HasPkg}}
 										<td class="pkg-name">
internal/godoc/dirtrees.go
@@ -31,7 +31,7 @@
 	Name     string       // directory name
 	HasPkg   bool         // true if the directory contains at least one package
 	Synopsis string       // package documentation, if any
-	RootType vfs.RootType // root type of the filesystem containing the directory
+	IsGOROOT bool         // is this GOROOT
 	Dirs     []*Directory // subdirectories
 }

@@ -203,11 +203,16 @@
 		Name:     name,
 		HasPkg:   hasPkgFiles && show, // TODO(bradfitz): add proper Hide field?
 		Synopsis: synopsis,
-		RootType: b.c.fs.RootType(path),
+		IsGOROOT: isGOROOT(b.c.fs),
 		Dirs:     dirs,
 	}
 }

+func isGOROOT(fs vfs.FileSystem) bool {
+	_, err := fs.Lstat("src/math/abs.go")
+	return err == nil
+}
+
 // newDirectory creates a new package directory tree with at most maxDepth
 // levels, anchored at root. The result tree is pruned such that it only
 // contains directories that contain package files or that contain
@@ -302,13 +307,13 @@
 // are useful for presenting an entry in an indented fashion.
 //
 type DirEntry struct {
-	Depth    int          // >= 0
-	Height   int          // = DirList.MaxHeight - Depth, > 0
-	Path     string       // directory path; includes Name, relative to DirList root
-	Name     string       // directory name
-	HasPkg   bool         // true if the directory contains at least one package
-	Synopsis string       // package documentation, if any
-	RootType vfs.RootType // root type of the filesystem containing the direntry
+	Depth    int    // >= 0
+	Height   int    // = DirList.MaxHeight - Depth, > 0
+	Path     string // directory path; includes Name, relative to DirList root
+	Name     string // directory name
+	HasPkg   bool   // true if the directory contains at least one package
+	Synopsis string // package documentation, if any
+	IsGOROOT bool   // root type of the filesystem containing the direntry
 }

 type DirList struct {
@@ -319,11 +324,6 @@
 // hasThirdParty checks whether a list of directory entries has packages outside
 // the standard library or not.
 func hasThirdParty(list []DirEntry) bool {
-	for _, entry := range list {
-		if entry.RootType == vfs.RootTypeGoPath {
-			return true
-		}
-	}
 	return false
 }

@@ -375,7 +375,7 @@
 		p.Name = d.Name
 		p.HasPkg = d.HasPkg
 		p.Synopsis = d.Synopsis
-		p.RootType = d.RootType
+		p.IsGOROOT = d.IsGOROOT
 		list = append(list, p)
 	}

internal/godoc/dirtrees_test.go
@@ -62,3 +62,20 @@
 		corpus.newDirectory("/", -1)
 	}
 }
+
+func TestIsGOROOT(t *testing.T) {
+	tests := []struct {
+		path     string
+		isGOROOT bool
+	}{
+		{runtime.GOROOT(), true},
+		{"/tmp/", false},
+	}
+
+	for _, item := range tests {
+		fs := vfs.OS(item.path)
+		if isGOROOT(fs) != item.isGOROOT {
+			t.Errorf("%s: isGOROOT = %v, want %v", item.path, !item.isGOROOT, item.isGOROOT)
+		}
+	}
+}
internal/godoc/vfs/emptyvfs.go
@@ -57,10 +57,6 @@
 	return "emptyVFS(/)"
 }

-func (e *emptyVFS) RootType(path string) RootType {
-	return ""
-}
-
 // These functions below implement os.FileInfo for the single
 // empty emulated directory.

internal/godoc/vfs/fs.go
@@ -50,8 +50,6 @@
 	return fs.Stat(f.fsys, f.fsPath(name))
 }

-func (f *fsysToFileSystem) RootType(name string) RootType { return "" }
-
 func (f *fsysToFileSystem) ReadDir(name string) ([]os.FileInfo, error) {
 	dirs, err := fs.ReadDir(f.fsys, f.fsPath(name))
 	var infos []os.FileInfo
internal/godoc/vfs/gatefs/gatefs.go
@@ -37,10 +37,6 @@
 	return fmt.Sprintf("gated(%s, %d)", fs.fs.String(), cap(fs.gate))
 }

-func (fs gatefs) RootType(path string) vfs.RootType {
-	return fs.fs.RootType(path)
-}
-
 func (fs gatefs) Open(p string) (vfs.ReadSeekCloser, error) {
 	fs.enter()
 	defer fs.leave()
internal/godoc/vfs/gatefs/gatefs_test.go
@@ -1,39 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gatefs_test
-
-import (
-	"os"
-	"runtime"
-	"testing"
-
-	"golang.org/x/website/internal/godoc/vfs"
-	"golang.org/x/website/internal/godoc/vfs/gatefs"
-)
-
-func TestRootType(t *testing.T) {
-	goPath := os.Getenv("GOPATH")
-	var expectedType vfs.RootType
-	if goPath == "" {
-		expectedType = ""
-	} else {
-		expectedType = vfs.RootTypeGoPath
-	}
-	tests := []struct {
-		path   string
-		fsType vfs.RootType
-	}{
-		{runtime.GOROOT(), vfs.RootTypeGoRoot},
-		{goPath, expectedType},
-		{"/tmp/", ""},
-	}
-
-	for _, item := range tests {
-		fs := gatefs.New(vfs.OS(item.path), make(chan bool, 1))
-		if fs.RootType("path") != item.fsType {
-			t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
-		}
-	}
-}
internal/godoc/vfs/mapfs/mapfs.go
@@ -42,10 +42,6 @@

 func (fs mapFS) String() string { return "mapfs" }

-func (fs mapFS) RootType(p string) vfs.RootType {
-	return ""
-}
-
 func (fs mapFS) Close() error { return nil }

 func filename(p string) string {
internal/godoc/vfs/namespace.go
@@ -367,20 +367,6 @@
 	return all, nil
 }

-// RootType returns the RootType for the given path in the namespace.
-func (ns NameSpace) RootType(path string) RootType {
-	// We resolve the given path to a list of mountedFS and then return
-	// the root type for the filesystem which contains the path.
-	for _, m := range ns.resolve(path) {
-		_, err := m.fs.ReadDir(m.translate(path))
-		// Found a match, return the filesystem's root type
-		if err == nil {
-			return m.fs.RootType(path)
-		}
-	}
-	return ""
-}
-
 // byName implements sort.Interface.
 type byName []os.FileInfo

internal/godoc/vfs/os.go
@@ -6,7 +6,6 @@

 import (
 	"fmt"
-	"go/build"
 	"io/ioutil"
 	"os"
 	pathpkg "path"
@@ -28,43 +27,15 @@
 // passed to Open has no way to specify a drive letter.  Using a root
 // lets code refer to OS(`c:\`), OS(`d:\`) and so on.
 func OS(root string) FileSystem {
-	var t RootType
-	switch {
-	case root == GOROOT:
-		t = RootTypeGoRoot
-	case isGoPath(root):
-		t = RootTypeGoPath
-	}
-	return osFS{rootPath: root, rootType: t}
+	return osFS{rootPath: root}
 }

 type osFS struct {
 	rootPath string
-	rootType RootType
-}
-
-func isGoPath(path string) bool {
-	for _, bp := range filepath.SplitList(build.Default.GOPATH) {
-		for _, gp := range filepath.SplitList(path) {
-			if bp == gp {
-				return true
-			}
-		}
-	}
-	return false
 }

 func (root osFS) String() string { return "os(" + root.rootPath + ")" }

-// RootType returns the root type for the filesystem.
-//
-// Note that we ignore the path argument because roottype is a property of
-// this filesystem. But for other filesystems, the roottype might need to be
-// dynamically deduced at call time.
-func (root osFS) RootType(path string) RootType {
-	return root.rootType
-}
-
 func (root osFS) resolve(path string) string {
 	// Clean the path so that it cannot possibly begin with ../.
 	// If it did, the result of filepath.Join would be outside the
internal/godoc/vfs/os_test.go
@@ -1,38 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package vfs_test
-
-import (
-	"os"
-	"runtime"
-	"testing"
-
-	"golang.org/x/website/internal/godoc/vfs"
-)
-
-func TestRootType(t *testing.T) {
-	goPath := os.Getenv("GOPATH")
-	var expectedType vfs.RootType
-	if goPath == "" {
-		expectedType = ""
-	} else {
-		expectedType = vfs.RootTypeGoPath
-	}
-	tests := []struct {
-		path   string
-		fsType vfs.RootType
-	}{
-		{runtime.GOROOT(), vfs.RootTypeGoRoot},
-		{goPath, expectedType},
-		{"/tmp/", ""},
-	}
-
-	for _, item := range tests {
-		fs := vfs.OS(item.path)
-		if fs.RootType("path") != item.fsType {
-			t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
-		}
-	}
-}
internal/godoc/vfs/vfs.go
@@ -12,18 +12,6 @@
 	"os"
 )

-// RootType indicates the type of files contained within a directory.
-//
-// It is used to indicate whether a directory is the root
-// of a GOROOT, a GOPATH, or neither.
-// An empty string represents the case when a directory is neither.
-type RootType string
-
-const (
-	RootTypeGoRoot RootType = "GOROOT"
-	RootTypeGoPath RootType = "GOPATH"
-)
-
 // The FileSystem interface specifies the methods godoc is using
 // to access the file system for which it serves documentation.
 type FileSystem interface {
@@ -31,7 +19,6 @@
 	Lstat(path string) (os.FileInfo, error)
 	Stat(path string) (os.FileInfo, error)
 	ReadDir(path string) ([]os.FileInfo, error)
-	RootType(path string) RootType
 	String() string
 }

cmd/golangorg, internal/godoc: switch from vfs to io/fs
rsc committed 4 days ago commit 0e55f9331b60e262a3495725cb5a8301e9bbe8bc
cmd/golangorg/codewalk.go
@@ -18,6 +18,7 @@
 	"errors"
 	"fmt"
 	"io"
+	"io/fs"
 	"log"
 	"net/http"
 	"os"
@@ -30,7 +31,6 @@
 	"unicode/utf8"

 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
 )

 var codewalkHTML, codewalkdirHTML *template.Template
@@ -47,7 +47,7 @@
 	}

 	// If directory exists, serve list of code walks.
-	dir, err := fs.Lstat(abspath)
+	dir, err := fs.Stat(fsys, toFS(abspath))
 	if err == nil && dir.IsDir() {
 		codewalkDir(w, r, relpath, abspath)
 		return
@@ -143,7 +143,7 @@

 // loadCodewalk reads a codewalk from the named XML file.
 func loadCodewalk(filename string) (*Codewalk, error) {
-	f, err := fs.Open(filename)
+	f, err := fsys.Open(toFS(filename))
 	if err != nil {
 		return nil, err
 	}
@@ -164,7 +164,7 @@
 			i = len(st.Src)
 		}
 		filename := st.Src[0:i]
-		data, err := vfs.ReadFile(fs, filename)
+		data, err := fs.ReadFile(fsys, toFS(filename))
 		if err != nil {
 			st.Err = err
 			continue
@@ -211,7 +211,7 @@
 		Title string
 	}

-	dir, err := fs.ReadDir(abspath)
+	dir, err := fs.ReadDir(fsys, toFS(abspath))
 	if err != nil {
 		log.Print(err)
 		pres.ServeError(w, r, relpath, err)
@@ -245,7 +245,7 @@
 // the usual godoc HTML wrapper.
 func codewalkFileprint(w http.ResponseWriter, r *http.Request, f string) {
 	abspath := f
-	data, err := vfs.ReadFile(fs, abspath)
+	data, err := fs.ReadFile(fsys, toFS(abspath))
 	if err != nil {
 		log.Print(err)
 		pres.ServeError(w, r, f, err)
cmd/golangorg/handlers.go
@@ -7,23 +7,32 @@
 import (
 	"encoding/json"
 	"go/format"
+	"io/fs"
 	"log"
 	"net/http"
+	pathpkg "path"
 	"strings"
 	"text/template"

 	"golang.org/x/website/internal/env"
 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 	"golang.org/x/website/internal/redirect"
 )

 var (
 	pres *godoc.Presentation
-	fs   = vfs.NameSpace{}
+	fsys fs.FS
 )

+// toFS returns the io/fs name for path (no leading slash).
+func toFS(path string) string {
+	if path == "/" {
+		return "."
+	}
+	return pathpkg.Clean(strings.TrimPrefix(path, "/"))
+}
+
 // hostEnforcerHandler redirects requests to "http://foo.golang.org/bar"
 // to "https://golang.org/bar".
 // It permits requests to the host "godoc-test.golang.org" for testing and
@@ -97,7 +106,7 @@

 	// use underlying file system fs to read the template file
 	// (cannot use template ParseFile functions directly)
-	data, err := vfs.ReadFile(fs, path)
+	data, err := fs.ReadFile(fsys, toFS(path))
 	if err != nil {
 		log.Fatal("readTemplate: ", err)
 	}
cmd/golangorg/main.go
@@ -23,6 +23,7 @@
 import (
 	"flag"
 	"fmt"
+	"io/fs"
 	"log"
 	"net/http"
 	"os"
@@ -31,8 +32,6 @@

 	"golang.org/x/website"
 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
-	"golang.org/x/website/internal/godoc/vfs/gatefs"
 )

 var (
@@ -77,23 +76,16 @@
 		usage()
 	}

-	fsGate := make(chan bool, 20)
-
-	// Determine file system to use.
-	rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
-	fs.Bind("/", rootfs, "/", vfs.BindReplace)
-
-	// Try serving files from _content before trying the main
-	// go repository. This lets us update some documentation outside the
-	// Go release cycle. This includes root.html, which redirects to "/".
-	// See golang.org/issue/29206.
+	// Serve files from _content, falling back to GOROOT.
+	var content fs.FS
 	if *templateDir != "" {
-		fs.Bind("/", vfs.OS(*templateDir), "/", vfs.BindBefore)
+		content = os.DirFS(*templateDir)
 	} else {
-		fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindBefore)
+		content = website.Content
 	}
+	fsys = bindFS{content, os.DirFS(*goroot)}

-	corpus := godoc.NewCorpus(fs)
+	corpus := godoc.NewCorpus(fsys)
 	corpus.Verbose = *verbose
 	if err := corpus.Init(); err != nil {
 		log.Fatal(err)
@@ -120,7 +112,6 @@
 		log.Printf("\tversion = %s", runtime.Version())
 		log.Printf("\taddress = %s", *httpAddr)
 		log.Printf("\tgoroot = %s", *goroot)
-		fs.Fprint(os.Stderr)
 		handler = loggingHandler(handler)
 	}

@@ -130,3 +121,61 @@
 		log.Fatalf("ListenAndServe %s: %v", *httpAddr, err)
 	}
 }
+
+var _ fs.ReadDirFS = bindFS{}
+
+type bindFS []fs.FS
+
+func (fsys bindFS) Open(name string) (fs.File, error) {
+	var errOut error
+	for _, sub := range fsys {
+		f, err := sub.Open(name)
+		if err == nil {
+			// Note: Should technically check for directory
+			// and return a synthetic directory that merges
+			// reads from all the matching directories,
+			// but all the directory reads in internal/godoc
+			// come from fsys.ReadDir, which does that for us.
+			// So we can ignore direct f.ReadDir calls.
+			return f, nil
+		}
+		if errOut == nil {
+			errOut = err
+		}
+	}
+	return nil, errOut
+}
+
+func (fsys bindFS) ReadDir(name string) ([]fs.DirEntry, error) {
+	var all []fs.DirEntry
+	var seen map[string]bool
+	var errOut error
+	for _, sub := range fsys {
+		list, err := fs.ReadDir(sub, toFS(name))
+		if err != nil {
+			errOut = err
+		}
+		if len(all) == 0 {
+			all = append(all, list...)
+		} else {
+			if seen == nil {
+				// Initialize seen only after we get two different directory listings.
+				seen = make(map[string]bool)
+				for _, d := range all {
+					seen[d.Name()] = true
+				}
+			}
+			for _, d := range list {
+				name := d.Name()
+				if !seen[name] {
+					seen[name] = true
+					all = append(all, d)
+				}
+			}
+		}
+	}
+	if len(all) > 0 {
+		return all, nil
+	}
+	return nil, errOut
+}
cmd/golangorg/project.go
@@ -8,12 +8,12 @@
 	"bytes"
 	"fmt"
 	"html/template"
+	"io/fs"
 	"log"
 	"net/http"
 	"sort"

 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 )

@@ -31,7 +31,7 @@

 	const relPath = "doc/contrib.html"

-	src, err := vfs.ReadFile(fs, relPath)
+	src, err := fs.ReadFile(fsys, toFS(relPath))
 	if err != nil {
 		log.Printf("reading template %s: %v", relPath, err)
 		pres.ServeError(w, req, relPath, err)
cmd/golangorg/release.go
@@ -9,13 +9,13 @@
 	"fmt"
 	"html"
 	"html/template"
+	"io/fs"
 	"log"
 	"net/http"
 	"sort"
 	"strings"

 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
 	"golang.org/x/website/internal/history"
 )

@@ -27,7 +27,7 @@
 func (h releaseHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
 	const relPath = "doc/devel/release.html"

-	src, err := vfs.ReadFile(fs, relPath)
+	src, err := fs.ReadFile(fsys, toFS(relPath))
 	if err != nil {
 		log.Printf("reading template %s: %v", relPath, err)
 		pres.ServeError(w, req, relPath, err)
cmd/golangorg/release_test.go
@@ -15,7 +15,6 @@

 	"golang.org/x/website"
 	"golang.org/x/website/internal/godoc"
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // Test that the release history page includes expected entries.
@@ -25,11 +24,10 @@
 // It can be relaxed whenever the presentation of the release history
 // page needs to be changed.
 func TestReleaseHistory(t *testing.T) {
-	origFS, origPres := fs, pres
-	defer func() { fs, pres = origFS, origPres }()
-	fs = vfs.NameSpace{}
-	fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindReplace)
-	pres = godoc.NewPresentation(godoc.NewCorpus(fs))
+	origFS, origPres := fsys, pres
+	defer func() { fsys, pres = origFS, origPres }()
+	fsys = website.Content
+	pres = godoc.NewPresentation(godoc.NewCorpus(fsys))
 	readTemplates(pres)
 	mux := registerHandlers(pres)

internal/godoc/corpus.go
@@ -6,11 +6,11 @@

 import (
 	"errors"
+	"io/fs"
 	"sync"
 	"time"

 	"golang.org/x/website/internal/godoc/util"
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // A Corpus holds all the state related to serving and indexing a
@@ -19,7 +19,7 @@
 // Construct a new Corpus with NewCorpus, then modify options,
 // then call its Init method.
 type Corpus struct {
-	fs vfs.FileSystem
+	fs fs.FS

 	// Verbose logging.
 	Verbose bool
@@ -58,9 +58,9 @@
 // NewCorpus returns a new Corpus from a filesystem.
 // The returned corpus has all indexing enabled and MaxResults set to 1000.
 // Change or set any options on Corpus before calling the Corpus.Init method.
-func NewCorpus(fs vfs.FileSystem) *Corpus {
+func NewCorpus(fsys fs.FS) *Corpus {
 	c := &Corpus{
-		fs:                    fs,
+		fs:                    fsys,
 		refreshMetadataSignal: make(chan bool, 1),
 	}
 	return c
internal/godoc/dirtrees.go
@@ -10,14 +10,12 @@
 	"go/doc"
 	"go/parser"
 	"go/token"
+	"io/fs"
 	"log"
-	"os"
 	pathpkg "path"
 	"runtime"
 	"sort"
 	"strings"
-
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // Conventional name for directories containing test data.
@@ -35,19 +33,24 @@
 	Dirs     []*Directory // subdirectories
 }

-func isGoFile(fi os.FileInfo) bool {
+type dirEntryOrFileInfo interface {
+	Name() string
+	IsDir() bool
+}
+
+func isGoFile(fi dirEntryOrFileInfo) bool {
 	name := fi.Name()
 	return !fi.IsDir() &&
 		len(name) > 0 && name[0] != '.' && // ignore .files
 		pathpkg.Ext(name) == ".go"
 }

-func isPkgFile(fi os.FileInfo) bool {
+func isPkgFile(fi dirEntryOrFileInfo) bool {
 	return isGoFile(fi) &&
 		!strings.HasSuffix(fi.Name(), "_test.go") // ignore test files
 }

-func isPkgDir(fi os.FileInfo) bool {
+func isPkgDir(fi dirEntryOrFileInfo) bool {
 	name := fi.Name()
 	return fi.IsDir() && len(name) > 0 &&
 		name[0] != '_' && name[0] != '.' // ignore _files and .files
@@ -100,7 +103,7 @@
 	}

 	ioGate <- struct{}{}
-	list, err := b.c.fs.ReadDir(path)
+	list, err := fs.ReadDir(b.c.fs, toFS(path))
 	<-ioGate
 	if err != nil {
 		// TODO: propagate more. See golang.org/issue/14252.
@@ -208,11 +211,19 @@
 	}
 }

-func isGOROOT(fs vfs.FileSystem) bool {
-	_, err := fs.Lstat("src/math/abs.go")
+func isGOROOT(fsys fs.FS) bool {
+	_, err := fs.Stat(fsys, "src/math/abs.go")
 	return err == nil
 }

+// toFS returns the io/fs name for path (no leading slash).
+func toFS(path string) string {
+	if path == "/" {
+		return "."
+	}
+	return pathpkg.Clean(strings.TrimPrefix(path, "/"))
+}
+
 // newDirectory creates a new package directory tree with at most maxDepth
 // levels, anchored at root. The result tree is pruned such that it only
 // contains directories that contain package files or that contain
@@ -225,7 +236,7 @@
 //
 func (c *Corpus) newDirectory(root string, maxDepth int) *Directory {
 	// The root could be a symbolic link so use Stat not Lstat.
-	d, err := c.fs.Stat(root)
+	d, err := fs.Stat(c.fs, toFS(root))
 	// If we fail here, report detailed error messages; otherwise
 	// is is hard to see why a directory tree was not built.
 	switch {
internal/godoc/dirtrees_test.go
@@ -5,23 +5,14 @@
 package godoc

 import (
-	"go/build"
-	"path/filepath"
+	"os"
 	"runtime"
 	"sort"
 	"testing"
-
-	"golang.org/x/website/internal/godoc/vfs"
-	"golang.org/x/website/internal/godoc/vfs/gatefs"
 )

 func TestNewDirTree(t *testing.T) {
-	fsGate := make(chan bool, 20)
-	rootfs := gatefs.New(vfs.OS(runtime.GOROOT()), fsGate)
-	fs := vfs.NameSpace{}
-	fs.Bind("/", rootfs, "/", vfs.BindReplace)
-
-	c := NewCorpus(fs)
+	c := NewCorpus(os.DirFS(runtime.GOROOT()))
 	// 3 levels deep is enough for testing
 	dir := c.newDirectory("/", 3)

@@ -46,15 +37,8 @@
 		b.Skip("not running tests requiring large file scan in short mode")
 	}

-	fsGate := make(chan bool, 20)
+	fs := os.DirFS(runtime.GOROOT())

-	goroot := runtime.GOROOT()
-	rootfs := gatefs.New(vfs.OS(goroot), fsGate)
-	fs := vfs.NameSpace{}
-	fs.Bind("/", rootfs, "/", vfs.BindReplace)
-	for _, p := range filepath.SplitList(build.Default.GOPATH) {
-		fs.Bind("/src/golang.org", gatefs.New(vfs.OS(p), fsGate), "/src/golang.org", vfs.BindAfter)
-	}
 	b.ResetTimer()
 	b.ReportAllocs()
 	for tries := 0; tries < b.N; tries++ {
@@ -73,7 +57,7 @@
 	}

 	for _, item := range tests {
-		fs := vfs.OS(item.path)
+		fs := os.DirFS(item.path)
 		if isGOROOT(fs) != item.isGOROOT {
 			t.Errorf("%s: isGOROOT = %v, want %v", item.path, !item.isGOROOT, item.isGOROOT)
 		}
internal/godoc/meta.go
@@ -8,13 +8,12 @@
 	"bytes"
 	"encoding/json"
 	"errors"
+	"io/fs"
 	"log"
 	"os"
 	pathpkg "path"
 	"strings"
 	"time"
-
-	"golang.org/x/website/internal/godoc/vfs"
 )

 var (
@@ -67,7 +66,7 @@
 	metadata := make(map[string]*Metadata)
 	var scan func(string) // scan is recursive
 	scan = func(dir string) {
-		fis, err := c.fs.ReadDir(dir)
+		fis, err := fs.ReadDir(c.fs, toFS(dir))
 		if err != nil {
 			if dir == "/doc" && errors.Is(err, os.ErrNotExist) {
 				// Be quiet during tests that don't have a /doc tree.
@@ -86,7 +85,7 @@
 				continue
 			}
 			// Extract metadata from the file.
-			b, err := vfs.ReadFile(c.fs, name)
+			b, err := fs.ReadFile(c.fs, toFS(name))
 			if err != nil {
 				log.Printf("updateMetadata %s: %v", name, err)
 				continue
internal/godoc/parser.go
@@ -12,9 +12,8 @@
 	"go/ast"
 	"go/parser"
 	"go/token"
+	"io/fs"
 	pathpkg "path"
-
-	"golang.org/x/website/internal/godoc/vfs"
 )

 var linePrefix = []byte("//line ")
@@ -47,7 +46,7 @@
 }

 func (c *Corpus) parseFile(fset *token.FileSet, filename string, mode parser.Mode) (*ast.File, error) {
-	src, err := vfs.ReadFile(c.fs, filename)
+	src, err := fs.ReadFile(c.fs, toFS(filename))
 	if err != nil {
 		return nil, err
 	}
internal/godoc/pres.go
@@ -9,8 +9,6 @@
 	"regexp"
 	"sync"
 	"text/template"
-
-	"golang.org/x/website/internal/godoc/vfs/httpfs"
 )

 // Presentation generates output from a corpus.
@@ -84,7 +82,7 @@
 	p := &Presentation{
 		Corpus:     c,
 		mux:        http.NewServeMux(),
-		fileServer: http.FileServer(httpfs.New(c.fs)),
+		fileServer: http.FileServer(http.FS(c.fs)),

 		TabWidth:  4,
 		DeclLinks: true,
internal/godoc/server.go
@@ -15,6 +15,7 @@
 	"go/token"
 	htmlpkg "html"
 	"io"
+	"io/fs"
 	"io/ioutil"
 	"log"
 	"net/http"
@@ -27,7 +28,6 @@
 	"time"

 	"golang.org/x/website/internal/godoc/util"
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // handlerServer is a migration from an old godoc http Handler type.
@@ -65,21 +65,24 @@
 	ctxt := build.Default
 	ctxt.IsAbsPath = pathpkg.IsAbs
 	ctxt.IsDir = func(path string) bool {
-		fi, err := h.c.fs.Stat(filepath.ToSlash(path))
+		fi, err := fs.Stat(h.c.fs, toFS(path))
 		return err == nil && fi.IsDir()
 	}
 	ctxt.ReadDir = func(dir string) ([]os.FileInfo, error) {
-		f, err := h.c.fs.ReadDir(filepath.ToSlash(dir))
+		f, err := fs.ReadDir(h.c.fs, toFS(dir))
 		filtered := make([]os.FileInfo, 0, len(f))
 		for _, i := range f {
 			if mode&NoFiltering != 0 || i.Name() != "internal" {
-				filtered = append(filtered, i)
+				info, err := i.Info()
+				if err == nil {
+					filtered = append(filtered, info)
+				}
 			}
 		}
 		return filtered, err
 	}
 	ctxt.OpenFile = func(name string) (r io.ReadCloser, err error) {
-		data, err := vfs.ReadFile(h.c.fs, filepath.ToSlash(name))
+		data, err := fs.ReadFile(h.c.fs, toFS(filepath.ToSlash(name)))
 		if err != nil {
 			return nil, err
 		}
@@ -552,7 +555,7 @@
 }

 func (p *Presentation) serveTextFile(w http.ResponseWriter, r *http.Request, abspath, relpath, title string) {
-	src, err := vfs.ReadFile(p.Corpus.fs, abspath)
+	src, err := fs.ReadFile(p.Corpus.fs, toFS(abspath))
 	if err != nil {
 		log.Printf("ReadFile: %s", err)
 		p.ServeError(w, r, relpath, err)
@@ -636,17 +639,25 @@
 		return
 	}

-	list, err := p.Corpus.fs.ReadDir(abspath)
+	list, err := fs.ReadDir(p.Corpus.fs, toFS(abspath))
 	if err != nil {
 		p.ServeError(w, r, relpath, err)
 		return
 	}

+	var info []fs.FileInfo
+	for _, d := range list {
+		i, err := d.Info()
+		if err == nil {
+			info = append(info, i)
+		}
+	}
+
 	p.ServePage(w, Page{
 		Title:    "Directory",
 		SrcPath:  relpath,
 		Tabtitle: relpath,
-		Body:     applyTemplate(p.DirlistHTML, "dirlistHTML", list),
+		Body:     applyTemplate(p.DirlistHTML, "dirlistHTML", info),
 		GoogleCN: googleCN(r),
 	})
 }
@@ -654,9 +665,9 @@
 func (p *Presentation) ServeHTMLDoc(w http.ResponseWriter, r *http.Request, abspath, relpath string) {
 	// get HTML body contents
 	isMarkdown := false
-	src, err := vfs.ReadFile(p.Corpus.fs, abspath)
+	src, err := fs.ReadFile(p.Corpus.fs, toFS(abspath))
 	if err != nil && strings.HasSuffix(abspath, ".html") {
-		if md, errMD := vfs.ReadFile(p.Corpus.fs, strings.TrimSuffix(abspath, ".html")+".md"); errMD == nil {
+		if md, errMD := fs.ReadFile(p.Corpus.fs, toFS(strings.TrimSuffix(abspath, ".html")+".md")); errMD == nil {
 			src = md
 			isMarkdown = true
 			err = nil
@@ -764,19 +775,20 @@
 		return
 	}

-	dir, err := p.Corpus.fs.Lstat(abspath)
+	dir, err := fs.Stat(p.Corpus.fs, toFS(abspath))
 	if err != nil {
 		log.Print(err)
 		p.ServeError(w, r, relpath, err)
 		return
 	}

+	fsPath := toFS(abspath)
 	if dir != nil && dir.IsDir() {
 		if redirect(w, r) {
 			return
 		}
-		index := pathpkg.Join(abspath, "index.html")
-		if util.IsTextFile(p.Corpus.fs, index) || util.IsTextFile(p.Corpus.fs, pathpkg.Join(abspath, "index.md")) {
+		index := pathpkg.Join(fsPath, "index.html")
+		if util.IsTextFile(p.Corpus.fs, index) || util.IsTextFile(p.Corpus.fs, pathpkg.Join(fsPath, "index.md")) {
 			p.ServeHTMLDoc(w, r, index, index)
 			return
 		}
@@ -784,7 +796,7 @@
 		return
 	}

-	if util.IsTextFile(p.Corpus.fs, abspath) {
+	if util.IsTextFile(p.Corpus.fs, fsPath) {
 		if redirectFile(w, r) {
 			return
 		}
internal/godoc/server_test.go
@@ -10,9 +10,8 @@
 	"net/url"
 	"strings"
 	"testing"
+	"testing/fstest"
 	"text/template"
-
-	"golang.org/x/website/internal/godoc/vfs/mapfs"
 )

 // TestIgnoredGoFiles tests the scenario where a folder has no .go or .c files,
@@ -21,11 +20,12 @@
 	packagePath := "github.com/package"
 	packageComment := "main is documented in an ignored .go file"

-	c := NewCorpus(mapfs.New(map[string]string{
-		"src/" + packagePath + "/ignored.go": `// +build ignore
+	c := NewCorpus(fstest.MapFS{
+		"src/" + packagePath + "/ignored.go": {Data: []byte(`// +build ignore

 // ` + packageComment + `
-package main`}))
+package main`)},
+	})
 	srv := &handlerServer{
 		p: &Presentation{
 			Corpus: c,
@@ -54,14 +54,15 @@

 func TestIssue5247(t *testing.T) {
 	const packagePath = "example.com/p"
-	c := NewCorpus(mapfs.New(map[string]string{
-		"src/" + packagePath + "/p.go": `package p
+	c := NewCorpus(fstest.MapFS{
+		"src/" + packagePath + "/p.go": {Data: []byte(`package p

 //line notgen.go:3
 // F doc //line 1 should appear
 // line 2 should appear
 func F()
-//line foo.go:100`})) // No newline at end to check corner cases.
+//line foo.go:100`)}, // No newline at end to check corner cases.
+	})

 	srv := &handlerServer{
 		p: &Presentation{Corpus: c},
@@ -85,14 +86,15 @@
 }

 func TestRedirectAndMetadata(t *testing.T) {
-	c := NewCorpus(mapfs.New(map[string]string{
-		"doc/y/index.html": "Hello, y.",
-		"doc/x/index.html": `<!--{
+	c := NewCorpus(fstest.MapFS{
+		"doc/y/index.html": {Data: []byte("Hello, y.")},
+		"doc/x/index.html": {Data: []byte(`<!--{
 		"Path": "/doc/x/"
 }-->

 Hello, x.
-`}))
+`)},
+	})
 	c.updateMetadata()
 	p := &Presentation{
 		Corpus:    c,
@@ -118,10 +120,10 @@

 func TestMarkdown(t *testing.T) {
 	p := &Presentation{
-		Corpus: NewCorpus(mapfs.New(map[string]string{
-			"doc/test.md":  "**bold**",
-			"doc/test2.md": `{{"*template*"}}`,
-		})),
+		Corpus: NewCorpus(fstest.MapFS{
+			"doc/test.md":  {Data: []byte("**bold**")},
+			"doc/test2.md": {Data: []byte(`{{"*template*"}}`)},
+		}),
 		GodocHTML: template.Must(template.New("").Parse(`{{printf "%s" .Body}}`)),
 	}

internal/godoc/template.go
@@ -34,11 +34,10 @@
 import (
 	"bytes"
 	"fmt"
+	"io/fs"
 	"log"
 	"regexp"
 	"strings"
-
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // Functions in this file panic on error, but the panic is recovered
@@ -47,7 +46,7 @@
 // contents reads and returns the content of the named file
 // (from the virtual file system, so for example /doc refers to $GOROOT/doc).
 func (c *Corpus) contents(name string) string {
-	file, err := vfs.ReadFile(c.fs, name)
+	file, err := fs.ReadFile(c.fs, toFS(name))
 	if err != nil {
 		log.Panic(err)
 	}
internal/godoc/util/util.go
@@ -6,12 +6,11 @@
 package util // import "golang.org/x/website/internal/godoc/util"

 import (
+	"io/fs"
 	pathpkg "path"
 	"sync"
 	"time"
 	"unicode/utf8"
-
-	"golang.org/x/website/internal/godoc/vfs"
 )

 // An RWValue wraps a value and permits mutually exclusive
@@ -66,7 +65,7 @@
 // a text file, or if a significant chunk of the specified file looks like
 // correct UTF-8; that is, if it is likely that the file contains human-
 // readable text.
-func IsTextFile(fs vfs.Opener, filename string) bool {
+func IsTextFile(fsys fs.FS, filename string) bool {
 	// if the extension is known, use it for decision making
 	if isText, found := textExt[pathpkg.Ext(filename)]; found {
 		return isText
@@ -74,7 +73,7 @@

 	// the extension is not known; read an initial chunk
 	// of the file and check if it looks like text
-	f, err := fs.Open(filename)
+	f, err := fsys.Open(filename)
 	if err != nil {
 		return false
 	}
internal/godoc: remove vfs
rsc committed 4 days ago commit d840f97cda8a98e31065a66e225526f0ef612f07
internal/godoc/vfs/emptyvfs.go
@@ -1,85 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package vfs
-
-import (
-	"fmt"
-	"os"
-	"time"
-)
-
-// NewNameSpace returns a NameSpace pre-initialized with an empty
-// emulated directory mounted on the root mount point "/". This
-// allows directory traversal routines to work properly even if
-// a folder is not explicitly mounted at root by the user.
-func NewNameSpace() NameSpace {
-	ns := NameSpace{}
-	ns.Bind("/", &emptyVFS{}, "/", BindReplace)
-	return ns
-}
-
-// type emptyVFS emulates a FileSystem consisting of an empty directory
-type emptyVFS struct{}
-
-// Open implements Opener. Since emptyVFS is an empty directory, all
-// attempts to open a file should returns errors.
-func (e *emptyVFS) Open(path string) (ReadSeekCloser, error) {
-	if path == "/" {
-		return nil, fmt.Errorf("open: / is a directory")
-	}
-	return nil, os.ErrNotExist
-}
-
-// Stat returns os.FileInfo for an empty directory if the path is
-// is root "/" or error. os.FileInfo is implemented by emptyVFS
-func (e *emptyVFS) Stat(path string) (os.FileInfo, error) {
-	if path == "/" {
-		return e, nil
-	}
-	return nil, os.ErrNotExist
-}
-
-func (e *emptyVFS) Lstat(path string) (os.FileInfo, error) {
-	return e.Stat(path)
-}
-
-// ReadDir returns an empty os.FileInfo slice for "/", else error.
-func (e *emptyVFS) ReadDir(path string) ([]os.FileInfo, error) {
-	if path == "/" {
-		return []os.FileInfo{}, nil
-	}
-	return nil, os.ErrNotExist
-}
-
-func (e *emptyVFS) String() string {
-	return "emptyVFS(/)"
-}
-
-// These functions below implement os.FileInfo for the single
-// empty emulated directory.
-
-func (e *emptyVFS) Name() string {
-	return "/"
-}
-
-func (e *emptyVFS) Size() int64 {
-	return 0
-}
-
-func (e *emptyVFS) Mode() os.FileMode {
-	return os.ModeDir | os.ModePerm
-}
-
-func (e *emptyVFS) ModTime() time.Time {
-	return time.Time{}
-}
-
-func (e *emptyVFS) IsDir() bool {
-	return true
-}
-
-func (e *emptyVFS) Sys() interface{} {
-	return nil
-}
internal/godoc/vfs/fs.go
@@ -1,78 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.16
-// +build go1.16
-
-package vfs
-
-import (
-	"io/fs"
-	"os"
-	"path"
-	"strings"
-)
-
-// FromFS converts an fs.FS to the FileSystem interface.
-func FromFS(fsys fs.FS) FileSystem {
-	return &fsysToFileSystem{fsys}
-}
-
-type fsysToFileSystem struct {
-	fsys fs.FS
-}
-
-func (f *fsysToFileSystem) fsPath(name string) string {
-	name = path.Clean(name)
-	if name == "/" {
-		return "."
-	}
-	return strings.TrimPrefix(name, "/")
-}
-
-func (f *fsysToFileSystem) Open(name string) (ReadSeekCloser, error) {
-	file, err := f.fsys.Open(f.fsPath(name))
-	if err != nil {
-		return nil, err
-	}
-	if rsc, ok := file.(ReadSeekCloser); ok {
-		return rsc, nil
-	}
-	return &noSeekFile{f.fsPath(name), file}, nil
-}
-
-func (f *fsysToFileSystem) Lstat(name string) (os.FileInfo, error) {
-	return fs.Stat(f.fsys, f.fsPath(name))
-}
-
-func (f *fsysToFileSystem) Stat(name string) (os.FileInfo, error) {
-	return fs.Stat(f.fsys, f.fsPath(name))
-}
-
-func (f *fsysToFileSystem) ReadDir(name string) ([]os.FileInfo, error) {
-	dirs, err := fs.ReadDir(f.fsys, f.fsPath(name))
-	var infos []os.FileInfo
-	for _, d := range dirs {
-		info, err1 := d.Info()
-		if err1 != nil {
-			if err == nil {
-				err = err1
-			}
-			continue
-		}
-		infos = append(infos, info)
-	}
-	return infos, err
-}
-
-func (f *fsysToFileSystem) String() string { return "io/fs" }
-
-type noSeekFile struct {
-	path string
-	fs.File
-}
-
-func (f *noSeekFile) Seek(offset int64, whence int) (int64, error) {
-	return 0, &fs.PathError{Op: "seek", Path: f.path, Err: fs.ErrInvalid}
-}
internal/godoc/vfs/gatefs/gatefs.go
@@ -1,89 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package gatefs provides an implementation of the FileSystem
-// interface that wraps another FileSystem and limits its concurrency.
-package gatefs // import "golang.org/x/website/internal/godoc/vfs/gatefs"
-
-import (
-	"fmt"
-	"os"
-
-	"golang.org/x/website/internal/godoc/vfs"
-)
-
-// New returns a new FileSystem that delegates to fs.
-// If gateCh is non-nil and buffered, it's used as a gate
-// to limit concurrency on calls to fs.
-func New(fs vfs.FileSystem, gateCh chan bool) vfs.FileSystem {
-	if cap(gateCh) == 0 {
-		return fs
-	}
-	return gatefs{fs, gate(gateCh)}
-}
-
-type gate chan bool
-
-func (g gate) enter() { g <- true }
-func (g gate) leave() { <-g }
-
-type gatefs struct {
-	fs vfs.FileSystem
-	gate
-}
-
-func (fs gatefs) String() string {
-	return fmt.Sprintf("gated(%s, %d)", fs.fs.String(), cap(fs.gate))
-}
-
-func (fs gatefs) Open(p string) (vfs.ReadSeekCloser, error) {
-	fs.enter()
-	defer fs.leave()
-	rsc, err := fs.fs.Open(p)
-	if err != nil {
-		return nil, err
-	}
-	return gatef{rsc, fs.gate}, nil
-}
-
-func (fs gatefs) Lstat(p string) (os.FileInfo, error) {
-	fs.enter()
-	defer fs.leave()
-	return fs.fs.Lstat(p)
-}
-
-func (fs gatefs) Stat(p string) (os.FileInfo, error) {
-	fs.enter()
-	defer fs.leave()
-	return fs.fs.Stat(p)
-}
-
-func (fs gatefs) ReadDir(p string) ([]os.FileInfo, error) {
-	fs.enter()
-	defer fs.leave()
-	return fs.fs.ReadDir(p)
-}
-
-type gatef struct {
-	rsc vfs.ReadSeekCloser
-	gate
-}
-
-func (f gatef) Read(p []byte) (n int, err error) {
-	f.enter()
-	defer f.leave()
-	return f.rsc.Read(p)
-}
-
-func (f gatef) Seek(offset int64, whence int) (ret int64, err error) {
-	f.enter()
-	defer f.leave()
-	return f.rsc.Seek(offset, whence)
-}
-
-func (f gatef) Close() error {
-	f.enter()
-	defer f.leave()
-	return f.rsc.Close()
-}
internal/godoc/vfs/httpfs/httpfs.go
@@ -1,94 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
-package httpfs // import "golang.org/x/website/internal/godoc/vfs/httpfs"
-
-import (
-	"fmt"
-	"io"
-	"net/http"
-	"os"
-
-	"golang.org/x/website/internal/godoc/vfs"
-)
-
-func New(fs vfs.FileSystem) http.FileSystem {
-	return &httpFS{fs}
-}
-
-type httpFS struct {
-	fs vfs.FileSystem
-}
-
-func (h *httpFS) Open(name string) (http.File, error) {
-	fi, err := h.fs.Stat(name)
-	if err != nil {
-		return nil, err
-	}
-	if fi.IsDir() {
-		return &httpDir{h.fs, name, nil}, nil
-	}
-	f, err := h.fs.Open(name)
-	if err != nil {
-		return nil, err
-	}
-	return &httpFile{h.fs, f, name}, nil
-}
-
-// httpDir implements http.File for a directory in a FileSystem.
-type httpDir struct {
-	fs      vfs.FileSystem
-	name    string
-	pending []os.FileInfo
-}
-
-func (h *httpDir) Close() error               { return nil }
-func (h *httpDir) Stat() (os.FileInfo, error) { return h.fs.Stat(h.name) }
-func (h *httpDir) Read([]byte) (int, error) {
-	return 0, fmt.Errorf("cannot Read from directory %s", h.name)
-}
-
-func (h *httpDir) Seek(offset int64, whence int) (int64, error) {
-	if offset == 0 && whence == 0 {
-		h.pending = nil
-		return 0, nil
-	}
-	return 0, fmt.Errorf("unsupported Seek in directory %s", h.name)
-}
-
-func (h *httpDir) Readdir(count int) ([]os.FileInfo, error) {
-	if h.pending == nil {
-		d, err := h.fs.ReadDir(h.name)
-		if err != nil {
-			return nil, err
-		}
-		if d == nil {
-			d = []os.FileInfo{} // not nil
-		}
-		h.pending = d
-	}
-
-	if len(h.pending) == 0 && count > 0 {
-		return nil, io.EOF
-	}
-	if count <= 0 || count > len(h.pending) {
-		count = len(h.pending)
-	}
-	d := h.pending[:count]
-	h.pending = h.pending[count:]
-	return d, nil
-}
-
-// httpFile implements http.File for a file (not directory) in a FileSystem.
-type httpFile struct {
-	fs vfs.FileSystem
-	vfs.ReadSeekCloser
-	name string
-}
-
-func (h *httpFile) Stat() (os.FileInfo, error) { return h.fs.Stat(h.name) }
-func (h *httpFile) Readdir(int) ([]os.FileInfo, error) {
-	return nil, fmt.Errorf("cannot Readdir from file %s", h.name)
-}
internal/godoc/vfs/mapfs/mapfs.go
@@ -1,165 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package mapfs file provides an implementation of the FileSystem
-// interface based on the contents of a map[string]string.
-package mapfs // import "golang.org/x/website/internal/godoc/vfs/mapfs"
-
-import (
-	"fmt"
-	"io"
-	"os"
-	pathpkg "path"
-	"sort"
-	"strings"
-	"time"
-
-	"golang.org/x/website/internal/godoc/vfs"
-)
-
-// New returns a new FileSystem from the provided map.
-// Map keys must be forward slash-separated paths with
-// no leading slash, such as "file1.txt" or "dir/file2.txt".
-// New panics if any of the paths contain a leading slash.
-func New(m map[string]string) vfs.FileSystem {
-	// Verify all provided paths are relative before proceeding.
-	var pathsWithLeadingSlash []string
-	for p := range m {
-		if strings.HasPrefix(p, "/") {
-			pathsWithLeadingSlash = append(pathsWithLeadingSlash, p)
-		}
-	}
-	if len(pathsWithLeadingSlash) > 0 {
-		panic(fmt.Errorf("mapfs.New: invalid paths with a leading slash: %q", pathsWithLeadingSlash))
-	}
-
-	return mapFS(m)
-}
-
-// mapFS is the map based implementation of FileSystem
-type mapFS map[string]string
-
-func (fs mapFS) String() string { return "mapfs" }
-
-func (fs mapFS) Close() error { return nil }
-
-func filename(p string) string {
-	return strings.TrimPrefix(p, "/")
-}
-
-func (fs mapFS) Open(p string) (vfs.ReadSeekCloser, error) {
-	b, ok := fs[filename(p)]
-	if !ok {
-		return nil, os.ErrNotExist
-	}
-	return nopCloser{strings.NewReader(b)}, nil
-}
-
-func fileInfo(name, contents string) os.FileInfo {
-	return mapFI{name: pathpkg.Base(name), size: len(contents)}
-}
-
-func dirInfo(name string) os.FileInfo {
-	return mapFI{name: pathpkg.Base(name), dir: true}
-}
-
-func (fs mapFS) Lstat(p string) (os.FileInfo, error) {
-	b, ok := fs[filename(p)]
-	if ok {
-		return fileInfo(p, b), nil
-	}
-	ents, _ := fs.ReadDir(p)
-	if len(ents) > 0 {
-		return dirInfo(p), nil
-	}
-	return nil, os.ErrNotExist
-}
-
-func (fs mapFS) Stat(p string) (os.FileInfo, error) {
-	return fs.Lstat(p)
-}
-
-// slashdir returns path.Dir(p), but special-cases paths not beginning
-// with a slash to be in the root.
-func slashdir(p string) string {
-	d := pathpkg.Dir(p)
-	if d == "." {
-		return "/"
-	}
-	if strings.HasPrefix(p, "/") {
-		return d
-	}
-	return "/" + d
-}
-
-func (fs mapFS) ReadDir(p string) ([]os.FileInfo, error) {
-	p = pathpkg.Clean(p)
-	var ents []string
-	fim := make(map[string]os.FileInfo) // base -> fi
-	for fn, b := range fs {
-		dir := slashdir(fn)
-		isFile := true
-		var lastBase string
-		for {
-			if dir == p {
-				base := lastBase
-				if isFile {
-					base = pathpkg.Base(fn)
-				}
-				if fim[base] == nil {
-					var fi os.FileInfo
-					if isFile {
-						fi = fileInfo(fn, b)
-					} else {
-						fi = dirInfo(base)
-					}
-					ents = append(ents, base)
-					fim[base] = fi
-				}
-			}
-			if dir == "/" {
-				break
-			} else {
-				isFile = false
-				lastBase = pathpkg.Base(dir)
-				dir = pathpkg.Dir(dir)
-			}
-		}
-	}
-	if len(ents) == 0 {
-		return nil, os.ErrNotExist
-	}
-
-	sort.Strings(ents)
-	var list []os.FileInfo
-	for _, dir := range ents {
-		list = append(list, fim[dir])
-	}
-	return list, nil
-}
-
-// mapFI is the map-based implementation of FileInfo.
-type mapFI struct {
-	name string
-	size int
-	dir  bool
-}
-
-func (fi mapFI) IsDir() bool        { return fi.dir }
-func (fi mapFI) ModTime() time.Time { return time.Time{} }
-func (fi mapFI) Mode() os.FileMode {
-	if fi.IsDir() {
-		return 0755 | os.ModeDir
-	}
-	return 0444
-}
-func (fi mapFI) Name() string     { return pathpkg.Base(fi.name) }
-func (fi mapFI) Size() int64      { return int64(fi.size) }
-func (fi mapFI) Sys() interface{} { return nil }
-
-type nopCloser struct {
-	io.ReadSeeker
-}
-
-func (nc nopCloser) Close() error { return nil }
internal/godoc/vfs/mapfs/mapfs_test.go
@@ -1,111 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package mapfs
-
-import (
-	"io/ioutil"
-	"os"
-	"reflect"
-	"testing"
-)
-
-func TestOpenRoot(t *testing.T) {
-	fs := New(map[string]string{
-		"foo/bar/three.txt": "a",
-		"foo/bar.txt":       "b",
-		"top.txt":           "c",
-		"other-top.txt":     "d",
-	})
-	tests := []struct {
-		path string
-		want string
-	}{
-		{"/foo/bar/three.txt", "a"},
-		{"foo/bar/three.txt", "a"},
-		{"foo/bar.txt", "b"},
-		{"top.txt", "c"},
-		{"/top.txt", "c"},
-		{"other-top.txt", "d"},
-		{"/other-top.txt", "d"},
-	}
-	for _, tt := range tests {
-		rsc, err := fs.Open(tt.path)
-		if err != nil {
-			t.Errorf("Open(%q) = %v", tt.path, err)
-			continue
-		}
-		slurp, err := ioutil.ReadAll(rsc)
-		if err != nil {
-			t.Error(err)
-		}
-		if string(slurp) != tt.want {
-			t.Errorf("Read(%q) = %q; want %q", tt.path, tt.want, slurp)
-		}
-		rsc.Close()
-	}
-
-	_, err := fs.Open("/xxxx")
-	if !os.IsNotExist(err) {
-		t.Errorf("ReadDir /xxxx = %v; want os.IsNotExist error", err)
-	}
-}
-
-func TestReaddir(t *testing.T) {
-	fs := New(map[string]string{
-		"foo/bar/three.txt": "333",
-		"foo/bar.txt":       "22",
-		"top.txt":           "top.txt file",
-		"other-top.txt":     "other-top.txt file",
-	})
-	tests := []struct {
-		dir  string
-		want []os.FileInfo
-	}{
-		{
-			dir: "/",
-			want: []os.FileInfo{
-				mapFI{name: "foo", dir: true},
-				mapFI{name: "other-top.txt", size: len("other-top.txt file")},
-				mapFI{name: "top.txt", size: len("top.txt file")},
-			},
-		},
-		{
-			dir: "/foo",
-			want: []os.FileInfo{
-				mapFI{name: "bar", dir: true},
-				mapFI{name: "bar.txt", size: 2},
-			},
-		},
-		{
-			dir: "/foo/",
-			want: []os.FileInfo{
-				mapFI{name: "bar", dir: true},
-				mapFI{name: "bar.txt", size: 2},
-			},
-		},
-		{
-			dir: "/foo/bar",
-			want: []os.FileInfo{
-				mapFI{name: "three.txt", size: 3},
-			},
-		},
-	}
-	for _, tt := range tests {
-		fis, err := fs.ReadDir(tt.dir)
-		if err != nil {
-			t.Errorf("ReadDir(%q) = %v", tt.dir, err)
-			continue
-		}
-		if !reflect.DeepEqual(fis, tt.want) {
-			t.Errorf("ReadDir(%q) = %#v; want %#v", tt.dir, fis, tt.want)
-			continue
-		}
-	}
-
-	_, err := fs.ReadDir("/xxxx")
-	if !os.IsNotExist(err) {
-		t.Errorf("ReadDir /xxxx = %v; want os.IsNotExist error", err)
-	}
-}
internal/godoc/vfs/namespace.go
@@ -1,375 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package vfs
-
-import (
-	"fmt"
-	"io"
-	"os"
-	pathpkg "path"
-	"sort"
-	"strings"
-	"time"
-)
-
-// Setting debugNS = true will enable debugging prints about
-// name space translations.
-const debugNS = false
-
-// A NameSpace is a file system made up of other file systems
-// mounted at specific locations in the name space.
-//
-// The representation is a map from mount point locations
-// to the list of file systems mounted at that location.  A traditional
-// Unix mount table would use a single file system per mount point,
-// but we want to be able to mount multiple file systems on a single
-// mount point and have the system behave as if the union of those
-// file systems were present at the mount point.
-// For example, if the OS file system has a Go installation in
-// c:\Go and additional Go path trees in d:\Work1 and d:\Work2, then
-// this name space creates the view we want for the godoc server:
-//
-//	NameSpace{
-//		"/": {
-//			{old: "/", fs: OS(`c:\Go`), new: "/"},
-//		},
-//		"/src/pkg": {
-//			{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
-//			{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
-//			{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
-//		},
-//	}
-//
-// This is created by executing:
-//
-//	ns := NameSpace{}
-//	ns.Bind("/", OS(`c:\Go`), "/", BindReplace)
-//	ns.Bind("/src/pkg", OS(`d:\Work1`), "/src", BindAfter)
-//	ns.Bind("/src/pkg", OS(`d:\Work2`), "/src", BindAfter)
-//
-// A particular mount point entry is a triple (old, fs, new), meaning that to
-// operate on a path beginning with old, replace that prefix (old) with new
-// and then pass that path to the FileSystem implementation fs.
-//
-// If you do not explicitly mount a FileSystem at the root mountpoint "/" of the
-// NameSpace like above, Stat("/") will return a "not found" error which could
-// break typical directory traversal routines. In such cases, use NewNameSpace()
-// to get a NameSpace pre-initialized with an emulated empty directory at root.
-//
-// Given this name space, a ReadDir of /src/pkg/code will check each prefix
-// of the path for a mount point (first /src/pkg/code, then /src/pkg, then /src,
-// then /), stopping when it finds one.  For the above example, /src/pkg/code
-// will find the mount point at /src/pkg:
-//
-//	{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
-//	{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
-//	{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
-//
-// ReadDir will when execute these three calls and merge the results:
-//
-//	OS(`c:\Go`).ReadDir("/src/pkg/code")
-//	OS(`d:\Work1').ReadDir("/src/code")
-//	OS(`d:\Work2').ReadDir("/src/code")
-//
-// Note that the "/src/pkg" in "/src/pkg/code" has been replaced by
-// just "/src" in the final two calls.
-//
-// OS is itself an implementation of a file system: it implements
-// OS(`c:\Go`).ReadDir("/src/pkg/code") as ioutil.ReadDir(`c:\Go\src\pkg\code`).
-//
-// Because the new path is evaluated by fs (here OS(root)), another way
-// to read the mount table is to mentally combine fs+new, so that this table:
-//
-//	{old: "/src/pkg", fs: OS(`c:\Go`), new: "/src/pkg"},
-//	{old: "/src/pkg", fs: OS(`d:\Work1`), new: "/src"},
-//	{old: "/src/pkg", fs: OS(`d:\Work2`), new: "/src"},
-//
-// reads as:
-//
-//	"/src/pkg" -> c:\Go\src\pkg
-//	"/src/pkg" -> d:\Work1\src
-//	"/src/pkg" -> d:\Work2\src
-//
-// An invariant (a redundancy) of the name space representation is that
-// ns[mtpt][i].old is always equal to mtpt (in the example, ns["/src/pkg"]'s
-// mount table entries always have old == "/src/pkg").  The 'old' field is
-// useful to callers, because they receive just a []mountedFS and not any
-// other indication of which mount point was found.
-//
-type NameSpace map[string][]mountedFS
-
-// A mountedFS handles requests for path by replacing
-// a prefix 'old' with 'new' and then calling the fs methods.
-type mountedFS struct {
-	old string
-	fs  FileSystem
-	new string
-}
-
-// hasPathPrefix reports whether x == y or x == y + "/" + more.
-func hasPathPrefix(x, y string) bool {
-	return x == y || strings.HasPrefix(x, y) && (strings.HasSuffix(y, "/") || strings.HasPrefix(x[len(y):], "/"))
-}
-
-// translate translates path for use in m, replacing old with new.
-//
-// mountedFS{"/src/pkg", fs, "/src"}.translate("/src/pkg/code") == "/src/code".
-func (m mountedFS) translate(path string) string {
-	path = pathpkg.Clean("/" + path)
-	if !hasPathPrefix(path, m.old) {
-		panic("translate " + path + " but old=" + m.old)
-	}
-	return pathpkg.Join(m.new, path[len(m.old):])
-}
-
-func (NameSpace) String() string {
-	return "ns"
-}
-
-// Fprint writes a text representation of the name space to w.
-func (ns NameSpace) Fprint(w io.Writer) {
-	fmt.Fprint(w, "name space {\n")
-	var all []string
-	for mtpt := range ns {
-		all = append(all, mtpt)
-	}
-	sort.Strings(all)
-	for _, mtpt := range all {
-		fmt.Fprintf(w, "\t%s:\n", mtpt)
-		for _, m := range ns[mtpt] {
-			fmt.Fprintf(w, "\t\t%s %s\n", m.fs, m.new)
-		}
-	}
-	fmt.Fprint(w, "}\n")
-}
-
-// clean returns a cleaned, rooted path for evaluation.
-// It canonicalizes the path so that we can use string operations
-// to analyze it.
-func (NameSpace) clean(path string) string {
-	return pathpkg.Clean("/" + path)
-}
-
-type BindMode int
-
-const (
-	BindReplace BindMode = iota
-	BindBefore
-	BindAfter
-)
-
-// Bind causes references to old to redirect to the path new in newfs.
-// If mode is BindReplace, old redirections are discarded.
-// If mode is BindBefore, this redirection takes priority over existing ones,
-// but earlier ones are still consulted for paths that do not exist in newfs.
-// If mode is BindAfter, this redirection happens only after existing ones
-// have been tried and failed.
-func (ns NameSpace) Bind(old string, newfs FileSystem, new string, mode BindMode) {
-	old = ns.clean(old)
-	new = ns.clean(new)
-	m := mountedFS{old, newfs, new}
-	var mtpt []mountedFS
-	switch mode {
-	case BindReplace:
-		mtpt = append(mtpt, m)
-	case BindAfter:
-		mtpt = append(mtpt, ns.resolve(old)...)
-		mtpt = append(mtpt, m)
-	case BindBefore:
-		mtpt = append(mtpt, m)
-		mtpt = append(mtpt, ns.resolve(old)...)
-	}
-
-	// Extend m.old, m.new in inherited mount point entries.
-	for i := range mtpt {
-		m := &mtpt[i]
-		if m.old != old {
-			if !hasPathPrefix(old, m.old) {
-				// This should not happen.  If it does, panic so
-				// that we can see the call trace that led to it.
-				panic(fmt.Sprintf("invalid Bind: old=%q m={%q, %s, %q}", old, m.old, m.fs.String(), m.new))
-			}
-			suffix := old[len(m.old):]
-			m.old = pathpkg.Join(m.old, suffix)
-			m.new = pathpkg.Join(m.new, suffix)
-		}
-	}
-
-	ns[old] = mtpt
-}
-
-// resolve resolves a path to the list of mountedFS to use for path.
-func (ns NameSpace) resolve(path string) []mountedFS {
-	path = ns.clean(path)
-	for {
-		if m := ns[path]; m != nil {
-			if debugNS {
-				fmt.Printf("resolve %s: %v\n", path, m)
-			}
-			return m
-		}
-		if path == "/" {
-			break
-		}
-		path = pathpkg.Dir(path)
-	}
-	return nil
-}
-
-// Open implements the FileSystem Open method.
-func (ns NameSpace) Open(path string) (ReadSeekCloser, error) {
-	var err error
-	for _, m := range ns.resolve(path) {
-		if debugNS {
-			fmt.Printf("tx %s: %v\n", path, m.translate(path))
-		}
-		tp := m.translate(path)
-		r, err1 := m.fs.Open(tp)
-		if err1 == nil {
-			return r, nil
-		}
-		// IsNotExist errors in overlay FSes can mask real errors in
-		// the underlying FS, so ignore them if there is another error.
-		if err == nil || os.IsNotExist(err) {
-			err = err1
-		}
-	}
-	if err == nil {
-		err = &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
-	}
-	return nil, err
-}
-
-// stat implements the FileSystem Stat and Lstat methods.
-func (ns NameSpace) stat(path string, f func(FileSystem, string) (os.FileInfo, error)) (os.FileInfo, error) {
-	var err error
-	for _, m := range ns.resolve(path) {
-		fi, err1 := f(m.fs, m.translate(path))
-		if err1 == nil {
-			return fi, nil
-		}
-		if err == nil {
-			err = err1
-		}
-	}
-	if err == nil {
-		err = &os.PathError{Op: "stat", Path: path, Err: os.ErrNotExist}
-	}
-	return nil, err
-}
-
-func (ns NameSpace) Stat(path string) (os.FileInfo, error) {
-	return ns.stat(path, FileSystem.Stat)
-}
-
-func (ns NameSpace) Lstat(path string) (os.FileInfo, error) {
-	return ns.stat(path, FileSystem.Lstat)
-}
-
-// dirInfo is a trivial implementation of os.FileInfo for a directory.
-type dirInfo string
-
-func (d dirInfo) Name() string       { return string(d) }
-func (d dirInfo) Size() int64        { return 0 }
-func (d dirInfo) Mode() os.FileMode  { return os.ModeDir | 0555 }
-func (d dirInfo) ModTime() time.Time { return startTime }
-func (d dirInfo) IsDir() bool        { return true }
-func (d dirInfo) Sys() interface{}   { return nil }
-
-var startTime = time.Now()
-
-// ReadDir implements the FileSystem ReadDir method.  It's where most of the magic is.
-// (The rest is in resolve.)
-//
-// Logically, ReadDir must return the union of all the directories that are named
-// by path.  In order to avoid misinterpreting Go packages, of all the directories
-// that contain Go source code, we only include the files from the first,
-// but we include subdirectories from all.
-//
-// ReadDir must also return directory entries needed to reach mount points.
-// If the name space looks like the example in the type NameSpace comment,
-// but c:\Go does not have a src/pkg subdirectory, we still want to be able
-// to find that subdirectory, because we've mounted d:\Work1 and d:\Work2
-// there.  So if we don't see "src" in the directory listing for c:\Go, we add an
-// entry for it before returning.
-//
-func (ns NameSpace) ReadDir(path string) ([]os.FileInfo, error) {
-	path = ns.clean(path)
-
-	// List matching directories and determine whether any of them contain
-	// Go files.
-	var (
-		dirs       [][]os.FileInfo
-		goDirIndex = -1
-		readDirErr error
-	)
-
-	for _, m := range ns.resolve(path) {
-		dir, err := m.fs.ReadDir(m.translate(path))
-		if err != nil {
-			if readDirErr == nil {
-				readDirErr = err
-			}
-			continue
-		}
-
-		dirs = append(dirs, dir)
-
-		if goDirIndex < 0 {
-			for _, f := range dir {
-				if !f.IsDir() && strings.HasSuffix(f.Name(), ".go") {
-					goDirIndex = len(dirs) - 1
-					break
-				}
-			}
-		}
-	}
-
-	// Build a list of files and subdirectories. If a directory contains Go files,
-	// only include files from that directory. Otherwise, include files from
-	// all directories. Include subdirectories from all directories regardless
-	// of whether Go files are present.
-	haveName := make(map[string]bool)
-	var all []os.FileInfo
-	for i, dir := range dirs {
-		for _, f := range dir {
-			name := f.Name()
-			if !haveName[name] && (f.IsDir() || goDirIndex < 0 || goDirIndex == i) {
-				all = append(all, f)
-				haveName[name] = true
-			}
-		}
-	}
-
-	// Add any missing directories needed to reach mount points.
-	for old := range ns {
-		if hasPathPrefix(old, path) && old != path {
-			// Find next element after path in old.
-			elem := old[len(path):]
-			elem = strings.TrimPrefix(elem, "/")
-			if i := strings.Index(elem, "/"); i >= 0 {
-				elem = elem[:i]
-			}
-			if !haveName[elem] {
-				haveName[elem] = true
-				all = append(all, dirInfo(elem))
-			}
-		}
-	}
-
-	if len(all) == 0 {
-		return nil, readDirErr
-	}
-
-	sort.Sort(byName(all))
-	return all, nil
-}
-
-// byName implements sort.Interface.
-type byName []os.FileInfo
-
-func (f byName) Len() int           { return len(f) }
-func (f byName) Less(i, j int) bool { return f[i].Name() < f[j].Name() }
-func (f byName) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
internal/godoc/vfs/namespace_test.go
@@ -1,137 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package vfs_test
-
-import (
-	"fmt"
-	"strings"
-	"testing"
-	"time"
-
-	"golang.org/x/website/internal/godoc/vfs"
-	"golang.org/x/website/internal/godoc/vfs/mapfs"
-)
-
-func TestNewNameSpace(t *testing.T) {
-
-	// We will mount this filesystem under /fs1
-	mount := mapfs.New(map[string]string{"fs1file": "abcdefgh"})
-
-	// Existing process. This should give error on Stat("/")
-	t1 := vfs.NameSpace{}
-	t1.Bind("/fs1", mount, "/", vfs.BindReplace)
-
-	// using NewNameSpace. This should work fine.
-	t2 := vfs.NewNameSpace()
-	t2.Bind("/fs1", mount, "/", vfs.BindReplace)
-
-	testcases := map[string][]bool{
-		"/":            {false, true},
-		"/fs1":         {true, true},
-		"/fs1/fs1file": {true, true},
-	}
-
-	fss := []vfs.FileSystem{t1, t2}
-
-	for j, fs := range fss {
-		for k, v := range testcases {
-			_, err := fs.Stat(k)
-			result := err == nil
-			if result != v[j] {
-				t.Errorf("fs: %d, testcase: %s, want: %v, got: %v, err: %s", j, k, v[j], result, err)
-			}
-		}
-	}
-
-	fi, err := t2.Stat("/")
-	if err != nil {
-		t.Fatal(err)
-	}
-
-	if fi.Name() != "/" {
-		t.Errorf("t2.Name() : want:%s got:%s", "/", fi.Name())
-	}
-
-	if !fi.ModTime().IsZero() {
-		t.Errorf("t2.ModTime() : want:%v got:%v", time.Time{}, fi.ModTime())
-	}
-}
-
-func TestReadDirUnion(t *testing.T) {
-	for _, tc := range []struct {
-		desc       string
-		ns         vfs.NameSpace
-		path, want string
-	}{
-		{
-			desc: "no_go_files",
-			ns: func() vfs.NameSpace {
-				rootFs := mapfs.New(map[string]string{
-					"doc/a.txt":       "1",
-					"doc/b.txt":       "1",
-					"doc/dir1/d1.txt": "",
-				})
-				docFs := mapfs.New(map[string]string{
-					"doc/a.txt":       "22",
-					"doc/dir2/d2.txt": "",
-				})
-				ns := vfs.NameSpace{}
-				ns.Bind("/", rootFs, "/", vfs.BindReplace)
-				ns.Bind("/doc", docFs, "/doc", vfs.BindBefore)
-				return ns
-			}(),
-			path: "/doc",
-			want: "a.txt:2,b.txt:1,dir1:0,dir2:0",
-		}, {
-			desc: "have_go_files",
-			ns: func() vfs.NameSpace {
-				a := mapfs.New(map[string]string{
-					"src/x/a.txt":        "",
-					"src/x/suba/sub.txt": "",
-				})
-				b := mapfs.New(map[string]string{
-					"src/x/b.go":         "package b",
-					"src/x/subb/sub.txt": "",
-				})
-				c := mapfs.New(map[string]string{
-					"src/x/c.txt":        "",
-					"src/x/subc/sub.txt": "",
-				})
-				ns := vfs.NameSpace{}
-				ns.Bind("/", a, "/", vfs.BindReplace)
-				ns.Bind("/", b, "/", vfs.BindAfter)
-				ns.Bind("/", c, "/", vfs.BindAfter)
-				return ns
-			}(),
-			path: "/src/x",
-			want: "b.go:9,suba:0,subb:0,subc:0",
-		}, {
-			desc: "empty_mount",
-			ns: func() vfs.NameSpace {
-				ns := vfs.NameSpace{}
-				ns.Bind("/empty", mapfs.New(nil), "/empty", vfs.BindReplace)
-				return ns
-			}(),
-			path: "/",
-			want: "empty:0",
-		},
-	} {
-		t.Run(tc.desc, func(t *testing.T) {
-			fis, err := tc.ns.ReadDir(tc.path)
-			if err != nil {
-				t.Fatal(err)
-			}
-			buf := &strings.Builder{}
-			sep := ""
-			for _, fi := range fis {
-				fmt.Fprintf(buf, "%s%s:%d", sep, fi.Name(), fi.Size())
-				sep = ","
-			}
-			if got := buf.String(); got != tc.want {
-				t.Errorf("got %q; want %q", got, tc.want)
-			}
-		})
-	}
-}
internal/godoc/vfs/os.go
@@ -1,76 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package vfs
-
-import (
-	"fmt"
-	"io/ioutil"
-	"os"
-	pathpkg "path"
-	"path/filepath"
-	"runtime"
-)
-
-// We expose a new variable because otherwise we need to copy the findGOROOT logic again
-// from cmd/godoc which is already copied twice from the standard library.
-
-// GOROOT is the GOROOT path under which the godoc binary is running.
-// It is needed to check whether a filesystem root is under GOROOT or not.
-// This is set from cmd/godoc/main.go.
-var GOROOT = runtime.GOROOT()
-
-// OS returns an implementation of FileSystem reading from the
-// tree rooted at root.  Recording a root is convenient everywhere
-// but necessary on Windows, because the slash-separated path
-// passed to Open has no way to specify a drive letter.  Using a root
-// lets code refer to OS(`c:\`), OS(`d:\`) and so on.
-func OS(root string) FileSystem {
-	return osFS{rootPath: root}
-}
-
-type osFS struct {
-	rootPath string
-}
-
-func (root osFS) String() string { return "os(" + root.rootPath + ")" }
-
-func (root osFS) resolve(path string) string {
-	// Clean the path so that it cannot possibly begin with ../.
-	// If it did, the result of filepath.Join would be outside the
-	// tree rooted at root.  We probably won't ever see a path
-	// with .. in it, but be safe anyway.
-	path = pathpkg.Clean("/" + path)
-
-	return filepath.Join(root.rootPath, path)
-}
-
-func (root osFS) Open(path string) (ReadSeekCloser, error) {
-	f, err := os.Open(root.resolve(path))
-	if err != nil {
-		return nil, err
-	}
-	fi, err := f.Stat()
-	if err != nil {
-		f.Close()
-		return nil, err
-	}
-	if fi.IsDir() {
-		f.Close()
-		return nil, fmt.Errorf("Open: %s is a directory", path)
-	}
-	return f, nil
-}
-
-func (root osFS) Lstat(path string) (os.FileInfo, error) {
-	return os.Lstat(root.resolve(path))
-}
-
-func (root osFS) Stat(path string) (os.FileInfo, error) {
-	return os.Stat(root.resolve(path))
-}
-
-func (root osFS) ReadDir(path string) ([]os.FileInfo, error) {
-	return ioutil.ReadDir(root.resolve(path)) // is sorted
-}
internal/godoc/vfs/vfs.go
@@ -1,45 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package vfs defines types for abstract file system access and provides an
-// implementation accessing the file system of the underlying OS.
-package vfs // import "golang.org/x/website/internal/godoc/vfs"
-
-import (
-	"io"
-	"io/ioutil"
-	"os"
-)
-
-// The FileSystem interface specifies the methods godoc is using
-// to access the file system for which it serves documentation.
-type FileSystem interface {
-	Opener
-	Lstat(path string) (os.FileInfo, error)
-	Stat(path string) (os.FileInfo, error)
-	ReadDir(path string) ([]os.FileInfo, error)
-	String() string
-}
-
-// Opener is a minimal virtual filesystem that can only open regular files.
-type Opener interface {
-	Open(name string) (ReadSeekCloser, error)
-}
-
-// A ReadSeekCloser can Read, Seek, and Close.
-type ReadSeekCloser interface {
-	io.Reader
-	io.Seeker
-	io.Closer
-}
-
-// ReadFile reads the file named by path from fs and returns the contents.
-func ReadFile(fs Opener, path string) ([]byte, error) {
-	rc, err := fs.Open(path)
-	if err != nil {
-		return nil, err
-	}
-	defer rc.Close()
-	return ioutil.ReadAll(rc)
-}
internal/godoc/util: merge into internal/godoc

Only used by godoc, so just move the utility code into the main package.
Down to a single directory.
rsc committed 4 days ago commit 6df7619fd107ecbf709df812943970056b5b8af7
internal/godoc/corpus.go
@@ -9,8 +9,6 @@
 	"io/fs"
 	"sync"
 	"time"
-
-	"golang.org/x/website/internal/godoc/util"
 )

 // A Corpus holds all the state related to serving and indexing a
@@ -42,9 +40,9 @@
 	refreshMetadataSignal chan bool

 	// file system information
-	fsTree      util.RWValue // *Directory tree of packages, updated with each sync (but sync code is removed now)
-	fsModified  util.RWValue // timestamp of last call to invalidateIndex
-	docMetadata util.RWValue // mapping from paths to *Metadata
+	fsTree      rwValue // *Directory tree of packages, updated with each sync (but sync code is removed now)
+	fsModified  rwValue // timestamp of last call to invalidateIndex
+	docMetadata rwValue // mapping from paths to *Metadata

 	// flag to check whether a corpus is initialized or not
 	initMu   sync.RWMutex
internal/godoc/server.go
@@ -26,8 +26,6 @@
 	"strings"
 	"text/template"
 	"time"
-
-	"golang.org/x/website/internal/godoc/util"
 )

 // handlerServer is a migration from an old godoc http Handler type.
@@ -788,7 +786,7 @@
 			return
 		}
 		index := pathpkg.Join(fsPath, "index.html")
-		if util.IsTextFile(p.Corpus.fs, index) || util.IsTextFile(p.Corpus.fs, pathpkg.Join(fsPath, "index.md")) {
+		if isTextFile(p.Corpus.fs, index) || isTextFile(p.Corpus.fs, pathpkg.Join(fsPath, "index.md")) {
 			p.ServeHTMLDoc(w, r, index, index)
 			return
 		}
@@ -796,7 +794,7 @@
 		return
 	}

-	if util.IsTextFile(p.Corpus.fs, fsPath) {
+	if isTextFile(p.Corpus.fs, fsPath) {
 		if redirectFile(w, r) {
 			return
 		}
internal/godoc/util.go
@@ -0,0 +1,88 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godoc
+
+import (
+	"io/fs"
+	pathpkg "path"
+	"sync"
+	"time"
+	"unicode/utf8"
+)
+
+// An rwValue wraps a value and permits mutually exclusive
+// access to it and records the time the value was last set.
+type rwValue struct {
+	mutex     sync.RWMutex
+	value     interface{}
+	timestamp time.Time // time of last set()
+}
+
+func (v *rwValue) Set(value interface{}) {
+	v.mutex.Lock()
+	v.value = value
+	v.timestamp = time.Now()
+	v.mutex.Unlock()
+}
+
+func (v *rwValue) Get() (interface{}, time.Time) {
+	v.mutex.RLock()
+	defer v.mutex.RUnlock()
+	return v.value, v.timestamp
+}
+
+// IsText reports whether a significant prefix of s looks like correct UTF-8;
+// that is, if it is likely that s is human-readable text.
+func IsText(s []byte) bool {
+	const max = 1024 // at least utf8.UTFMax
+	if len(s) > max {
+		s = s[0:max]
+	}
+	for i, c := range string(s) {
+		if i+utf8.UTFMax > len(s) {
+			// last char may be incomplete - ignore
+			break
+		}
+		if c == 0xFFFD || c < ' ' && c != '\n' && c != '\t' && c != '\f' {
+			// decoding error or control character - not a text file
+			return false
+		}
+	}
+	return true
+}
+
+// textExt[x] is true if the extension x indicates a text file, and false otherwise.
+var textExt = map[string]bool{
+	".css": false, // must be served raw
+	".js":  false, // must be served raw
+	".svg": false, // must be served raw
+}
+
+// isTextFile reports whether the file has a known extension indicating
+// a text file, or if a significant chunk of the specified file looks like
+// correct UTF-8; that is, if it is likely that the file contains human-
+// readable text.
+func isTextFile(fsys fs.FS, filename string) bool {
+	// if the extension is known, use it for decision making
+	if isText, found := textExt[pathpkg.Ext(filename)]; found {
+		return isText
+	}
+
+	// the extension is not known; read an initial chunk
+	// of the file and check if it looks like text
+	f, err := fsys.Open(filename)
+	if err != nil {
+		return false
+	}
+	defer f.Close()
+
+	var buf [1024]byte
+	n, err := f.Read(buf[0:])
+	if err != nil {
+		return false
+	}
+
+	return IsText(buf[0:n])
+}
internal/godoc/util/util.go
@@ -1,89 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package util contains utility types and functions for godoc.
-package util // import "golang.org/x/website/internal/godoc/util"
-
-import (
-	"io/fs"
-	pathpkg "path"
-	"sync"
-	"time"
-	"unicode/utf8"
-)
-
-// An RWValue wraps a value and permits mutually exclusive
-// access to it and records the time the value was last set.
-type RWValue struct {
-	mutex     sync.RWMutex
-	value     interface{}
-	timestamp time.Time // time of last set()
-}
-
-func (v *RWValue) Set(value interface{}) {
-	v.mutex.Lock()
-	v.value = value
-	v.timestamp = time.Now()
-	v.mutex.Unlock()
-}
-
-func (v *RWValue) Get() (interface{}, time.Time) {
-	v.mutex.RLock()
-	defer v.mutex.RUnlock()
-	return v.value, v.timestamp
-}
-
-// IsText reports whether a significant prefix of s looks like correct UTF-8;
-// that is, if it is likely that s is human-readable text.
-func IsText(s []byte) bool {
-	const max = 1024 // at least utf8.UTFMax
-	if len(s) > max {
-		s = s[0:max]
-	}
-	for i, c := range string(s) {
-		if i+utf8.UTFMax > len(s) {
-			// last char may be incomplete - ignore
-			break
-		}
-		if c == 0xFFFD || c < ' ' && c != '\n' && c != '\t' && c != '\f' {
-			// decoding error or control character - not a text file
-			return false
-		}
-	}
-	return true
-}
-
-// textExt[x] is true if the extension x indicates a text file, and false otherwise.
-var textExt = map[string]bool{
-	".css": false, // must be served raw
-	".js":  false, // must be served raw
-	".svg": false, // must be served raw
-}
-
-// IsTextFile reports whether the file has a known extension indicating
-// a text file, or if a significant chunk of the specified file looks like
-// correct UTF-8; that is, if it is likely that the file contains human-
-// readable text.
-func IsTextFile(fsys fs.FS, filename string) bool {
-	// if the extension is known, use it for decision making
-	if isText, found := textExt[pathpkg.Ext(filename)]; found {
-		return isText
-	}
-
-	// the extension is not known; read an initial chunk
-	// of the file and check if it looks like text
-	f, err := fsys.Open(filename)
-	if err != nil {
-		return false
-	}
-	defer f.Close()
-
-	var buf [1024]byte
-	n, err := f.Read(buf[0:])
-	if err != nil {
-		return false
-	}
-
-	return IsText(buf[0:n])
-}
cmd/golangorg: move googleCN code out of internal/godoc
rsc committed 4 days ago commit b0a89ec896db65ac8bd09ee7bcbd8407b9b59165
cmd/golangorg/main.go
@@ -101,6 +101,7 @@
 	if *notesRx != "" {
 		pres.NotesRx = regexp.MustCompile(*notesRx)
 	}
+	pres.GoogleCN = googleCN

 	readTemplates(pres)
 	mux := registerHandlers(pres)
internal/godoc/page.go
@@ -9,9 +9,6 @@
 	"os"
 	"path/filepath"
 	"runtime"
-	"strings"
-
-	"golang.org/x/website/internal/env"
 )

 // Page describes the contents of the top-level godoc webpage.
@@ -54,26 +51,7 @@
 		Title:           "File " + relpath,
 		Subtitle:        relpath,
 		Body:            applyTemplate(p.ErrorHTML, "errorHTML", err),
-		GoogleCN:        googleCN(r),
+		GoogleCN:        p.googleCN(r),
 		GoogleAnalytics: p.GoogleAnalytics,
 	})
 }
-
-// googleCN reports whether request r is considered
-// to be served from golang.google.cn.
-func googleCN(r *http.Request) bool {
-	if r.FormValue("googlecn") != "" {
-		return true
-	}
-	if strings.HasSuffix(r.Host, ".cn") {
-		return true
-	}
-	if !env.CheckCountry() {
-		return false
-	}
-	switch r.Header.Get("X-Appengine-Country") {
-	case "", "ZZ", "CN":
-		return true
-	}
-	return false
-}
internal/godoc/pres.go
@@ -65,6 +65,9 @@
 	// the query string highlighted.
 	URLForSrcQuery func(src, query string, line int) string

+	// GoogleCN reports whether this request should be marked GoogleCN.
+	GoogleCN func(*http.Request) bool
+
 	// GoogleAnalytics optionally adds Google Analytics via the provided
 	// tracking ID to each page.
 	GoogleAnalytics string
@@ -134,3 +137,7 @@
 func (p *Presentation) GetCmdPageInfo(abspath, relpath string, mode PageInfoMode) *PageInfo {
 	return p.cmdHandler.GetPageInfo(abspath, relpath, mode, "", "")
 }
+
+func (p *Presentation) googleCN(r *http.Request) bool {
+	return p.GoogleCN != nil && p.GoogleCN(r)
+}
internal/godoc/server.go
@@ -316,7 +316,7 @@
 		tabtitle = "Commands"
 	}

-	info.GoogleCN = googleCN(r)
+	info.GoogleCN = h.p.googleCN(r)
 	var body []byte
 	if info.Dirname == "/src" {
 		body = applyTemplate(h.p.PackageRootHTML, "packageRootHTML", info)
@@ -585,7 +585,7 @@
 		SrcPath:  relpath,
 		Tabtitle: relpath,
 		Body:     buf.Bytes(),
-		GoogleCN: googleCN(r),
+		GoogleCN: p.googleCN(r),
 	})
 }

@@ -656,7 +656,7 @@
 		SrcPath:  relpath,
 		Tabtitle: relpath,
 		Body:     applyTemplate(p.DirlistHTML, "dirlistHTML", info),
-		GoogleCN: googleCN(r),
+		GoogleCN: p.googleCN(r),
 	})
 }

@@ -693,7 +693,7 @@
 	page := Page{
 		Title:    meta.Title,
 		Subtitle: meta.Subtitle,
-		GoogleCN: googleCN(r),
+		GoogleCN: p.googleCN(r),
 	}

 	// evaluate as template if indicated
cmd/golangorg: redirect /cmd and /pkg to pkg.go.dev

Now that godoc.org redirects to pkg.go.dev, it makes sense to also
redirect golang.org/pkg and golang.org/cmd to pkg.go.dev and get
down to a single canonical site that serves Go package documentation.

Analysis of recent query logs shows that essentially all the URLs we receive
on /cmd and /pkg can be served equally well or better by pkg.go.dev.

The one exception is ?m=all used to link to unexported API docs.
We get about one such request per day (out of 100,000+ requests),
and we are intentionally retiring the feature of returning information
about unexported API.

Fixes #44356.
rsc committed 4 days ago commit 25643d3516ee89174fdf7cde531611336dbb1023
cmd/golangorg/blog.go
@@ -1,85 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
-	"fmt"
-	"go/build"
-	"log"
-	"net/http"
-	"os"
-	"path/filepath"
-	"runtime"
-	"strings"
-	"sync"
-
-	"golang.org/x/tools/blog"
-	"golang.org/x/website/internal/redirect"
-)
-
-const (
-	blogRepo = "golang.org/x/blog"
-	blogURL  = "https://blog.golang.org/"
-	blogPath = "/blog/"
-)
-
-var (
-	blogServer   http.Handler // set by blogInit
-	blogInitOnce sync.Once
-	playEnabled  bool
-)
-
-func init() {
-	// Initialize blog only when first accessed.
-	http.HandleFunc(blogPath, func(w http.ResponseWriter, r *http.Request) {
-		blogInitOnce.Do(func() {
-			blogInit(r.Host)
-		})
-		blogServer.ServeHTTP(w, r)
-	})
-}
-
-func blogInit(host string) {
-	// Binary distributions included the blog content in "/blog".
-	// We stopped including this in Go 1.11.
-	root := filepath.Join(runtime.GOROOT(), "blog")
-
-	// Prefer content from the golang.org/x/blog repository if present.
-	if pkg, err := build.Import(blogRepo, "", build.FindOnly); err == nil {
-		root = pkg.Dir
-	}
-
-	// If content is not available fall back to redirect.
-	if fi, err := os.Stat(root); err != nil || !fi.IsDir() {
-		fmt.Fprintf(os.Stderr, "Blog content not available locally. "+
-			"To install, run \n\tgo get %v\n", blogRepo)
-		blogServer = http.HandlerFunc(blogRedirectHandler)
-		return
-	}
-
-	s, err := blog.NewServer(blog.Config{
-		BaseURL:         blogPath,
-		BasePath:        strings.TrimSuffix(blogPath, "/"),
-		ContentPath:     filepath.Join(root, "content"),
-		TemplatePath:    filepath.Join(root, "template"),
-		HomeArticles:    5,
-		PlayEnabled:     playEnabled,
-		ServeLocalLinks: strings.HasPrefix(host, "localhost"),
-	})
-	if err != nil {
-		log.Fatal(err)
-	}
-	blogServer = s
-}
-
-func blogRedirectHandler(w http.ResponseWriter, r *http.Request) {
-	if r.URL.Path == blogPath {
-		http.Redirect(w, r, blogURL, http.StatusFound)
-		return
-	}
-	blogPrefixHandler.ServeHTTP(w, r)
-}
-
-var blogPrefixHandler = redirect.PrefixHandler(blogPath, blogURL)
cmd/golangorg/godoc_test.go
@@ -186,10 +186,6 @@
 			contains: []string{"Go is an open source programming language"},
 		},
 		{
-			path:     "/pkg/fmt/",
-			contains: []string{"Package fmt implements formatted I/O"},
-		},
-		{
 			path:     "/src/fmt/",
 			contains: []string{"scan_test.go"},
 		},
@@ -197,76 +193,6 @@
 			path:     "/src/fmt/print.go",
 			contains: []string{"// Println formats using"},
 		},
-		{
-			path: "/pkg",
-			contains: []string{
-				"Standard library",
-				"Package fmt implements formatted I/O",
-			},
-			notContains: []string{
-				"internal/syscall",
-				"cmd/gc",
-			},
-		},
-		{
-			path: "/pkg/?m=all",
-			contains: []string{
-				"Standard library",
-				"Package fmt implements formatted I/O",
-				"internal/syscall/?m=all",
-			},
-			notContains: []string{
-				"cmd/gc",
-			},
-		},
-		{
-			path: "/pkg/strings/",
-			contains: []string{
-				`href="/src/strings/strings.go"`,
-			},
-		},
-		{
-			path: "/cmd/compile/internal/amd64/",
-			contains: []string{
-				`href="/src/cmd/compile/internal/amd64/ssa.go"`,
-			},
-		},
-		{
-			path: "/pkg/math/bits/",
-			contains: []string{
-				`Added in Go 1.9`,
-			},
-		},
-		{
-			path: "/pkg/net/",
-			contains: []string{
-				`// IPv6 scoped addressing zone; added in Go 1.1`,
-			},
-		},
-		{
-			path: "/pkg/net/http/httptrace/",
-			match: []string{
-				`Got1xxResponse.*// Go 1\.11`,
-			},
-			releaseTag: "go1.11",
-		},
-		// Verify we don't add version info to a struct field added the same time
-		// as the struct itself:
-		{
-			path: "/pkg/net/http/httptrace/",
-			match: []string{
-				`(?m)GotFirstResponseByte func\(\)\s*$`,
-			},
-		},
-		// Remove trailing periods before adding semicolons:
-		{
-			path: "/pkg/database/sql/",
-			contains: []string{
-				"The number of connections currently in use; added in Go 1.11",
-				"The number of idle connections; added in Go 1.11",
-			},
-			releaseTag: "go1.11",
-		},
 	}
 	for _, test := range tests {
 		url := fmt.Sprintf("http://%s%s", addr, test.path)
cmd/golangorg/handlers.go
@@ -82,12 +82,10 @@
 	}
 	mux := http.NewServeMux()
 	mux.Handle("/", pres)
-	mux.Handle("/blog/", http.HandlerFunc(blogHandler))
 	mux.Handle("/doc/codewalk/", http.HandlerFunc(codewalk))
 	mux.Handle("/doc/devel/release.html", releaseHandler{ReleaseHistory: sortReleases(history.Releases)})
 	mux.Handle("/doc/play/", pres.FileServer())
 	mux.Handle("/fmt", http.HandlerFunc(fmtHandler))
-	mux.Handle("/pkg/C/", redirect.Handler("/cmd/cgo/"))
 	mux.Handle("/project/", projectHandler{ReleaseHistory: sortMajorReleases(history.Releases)})
 	mux.Handle("/robots.txt", pres.FileServer())
 	mux.Handle("/x/", http.HandlerFunc(xHandler))
@@ -147,7 +145,3 @@
 	w.Header().Set("Content-type", "application/json; charset=utf-8")
 	json.NewEncoder(w).Encode(resp)
 }
-
-func blogHandler(w http.ResponseWriter, r *http.Request) {
-	http.Redirect(w, r, "https://blog.golang.org"+strings.TrimPrefix(r.URL.Path, "/blog"), http.StatusFound)
-}
cmd/golangorg/main.go
@@ -64,8 +64,6 @@
 	flag.Usage = usage
 	flag.Parse()

-	playEnabled = *showPlayground
-
 	// Check usage.
 	if flag.NArg() > 0 {
 		fmt.Fprintln(os.Stderr, "Unexpected arguments.")
internal/redirect/redirect.go
@@ -95,16 +95,19 @@
 }

 var redirects = map[string]string{
-	"/blog":       "/blog/",
-	"/build":      "http://build.golang.org",
+	"/blog":       "https://blog.golang.org",
+	"/build":      "https://build.golang.org",
 	"/change":     "https://go.googlesource.com/go",
 	"/cl":         "https://go-review.googlesource.com",
+	"/cmd":        "https://pkg.go.dev/cmd",
 	"/cmd/godoc/": "https://pkg.go.dev/golang.org/x/tools/cmd/godoc",
 	"/issue":      "https://github.com/golang/go/issues",
 	"/issue/new":  "https://github.com/golang/go/issues/new",
 	"/issues":     "https://github.com/golang/go/issues",
 	"/issues/new": "https://github.com/golang/go/issues/new",
-	"/play":       "http://play.golang.org",
+	"/play":       "https://play.golang.org",
+	"/pkg":        "https://pkg.go.dev/std",
+	"/pkg/C":      "/cmd/cgo",
 	"/design":     "https://go.googlesource.com/proposal/+/master/design",

 	// In Go 1.2 the references page is part of /doc/.
@@ -117,8 +120,8 @@
 	"/doc/mem":  "/ref/mem",
 	"/doc/spec": "/ref/spec",

-	"/talks": "http://talks.golang.org",
-	"/tour":  "http://tour.golang.org",
+	"/talks": "https://talks.golang.org",
+	"/tour":  "https://tour.golang.org",
 	"/wiki":  "https://github.com/golang/go/wiki",

 	"/doc/articles/c_go_cgo.html":                    "/blog/c-go-cgo",
@@ -144,6 +147,9 @@
 	"play":   "http://play.golang.org/",
 	"talks":  "http://talks.golang.org/",
 	"wiki":   "https://github.com/golang/go/wiki/",
+	"blog":   "https://blog.golang.org/",
+	"pkg":    "https://pkg.go.dev/",
+	"cmd":    "https://pkg.go.dev/cmd/",
 }

 func Handler(target string) http.Handler {
internal/redirect/redirect_test.go
@@ -19,66 +19,82 @@
 	return redirectResult{status, ""}
 }

+var redirectTests = map[string]redirectResult{
+	"/build":    {301, "https://build.golang.org"},
+	"/ref":      {301, "/doc/#references"},
+	"/doc/mem":  {301, "/ref/mem"},
+	"/doc/spec": {301, "/ref/spec"},
+	"/tour":     {301, "https://tour.golang.org"},
+	"/foo":      errorResult(404),
+
+	"/pkg/asn1":           {301, "/pkg/encoding/asn1/"},
+	"/pkg/template/parse": {301, "/pkg/text/template/parse/"},
+
+	"/src/pkg/foo": {301, "/src/foo"},
+
+	"/cmd/gofix": {301, "/cmd/fix/"},
+
+	"/blog":         {301, "https://blog.golang.org"},
+	"/blog/":        {302, "/blog"},
+	"/blog/article": {302, "https://blog.golang.org/article"},
+
+	"/cmd":          {301, "https://pkg.go.dev/cmd"},
+	"/cmd/":         {302, "/cmd"},
+	"/cmd/compile":  {302, "https://pkg.go.dev/cmd/compile"},
+	"/cmd/compile/": {302, "https://pkg.go.dev/cmd/compile/"},
+	"/cmd/cgo":      {302, "https://pkg.go.dev/cmd/cgo"},
+
+	"/pkg":      {301, "https://pkg.go.dev/std"},
+	"/pkg/":     {302, "/pkg"},
+	"/pkg/C":    {301, "/cmd/cgo"},
+	"/pkg/math": {302, "https://pkg.go.dev/math"},
+
+	// git commits (/change)
+	// TODO: mercurial tags and LoadChangeMap.
+	"/change":   {301, "https://go.googlesource.com/go"},
+	"/change/a": {302, "https://go.googlesource.com/go/+/a"},
+
+	"/issue":                    {301, "https://github.com/golang/go/issues"},
+	"/issue?":                   {301, "https://github.com/golang/go/issues"},
+	"/issue/1":                  {302, "https://github.com/golang/go/issues/1"},
+	"/issue/new":                {301, "https://github.com/golang/go/issues/new"},
+	"/issue/new?a=b&c=d%20&e=f": {301, "https://github.com/golang/go/issues/new?a=b&c=d%20&e=f"},
+	"/issues":                   {301, "https://github.com/golang/go/issues"},
+	"/issues/1":                 {302, "https://github.com/golang/go/issues/1"},
+	"/issues/new":               {301, "https://github.com/golang/go/issues/new"},
+	"/issues/1/2/3":             errorResult(404),
+
+	"/wiki/foo":  {302, "https://github.com/golang/go/wiki/foo"},
+	"/wiki/foo/": {302, "https://github.com/golang/go/wiki/foo/"},
+
+	"/design":              {301, "https://go.googlesource.com/proposal/+/master/design"},
+	"/design/":             {302, "/design"},
+	"/design/123-foo":      {302, "https://go.googlesource.com/proposal/+/master/design/123-foo.md"},
+	"/design/text/123-foo": {302, "https://go.googlesource.com/proposal/+/master/design/text/123-foo.md"},
+
+	"/cl/1":          {302, "https://go-review.googlesource.com/1"},
+	"/cl/1/":         {302, "https://go-review.googlesource.com/1"},
+	"/cl/267120043":  {302, "https://codereview.appspot.com/267120043"},
+	"/cl/267120043/": {302, "https://codereview.appspot.com/267120043"},
+
+	// Verify that we're using the Rietveld CL table:
+	"/cl/152046": {302, "https://codereview.appspot.com/152046"},
+	"/cl/152047": {302, "https://go-review.googlesource.com/152047"},
+	"/cl/152048": {302, "https://codereview.appspot.com/152048"},
+
+	// And verify we're using the "bigEnoughAssumeRietveld" value:
+	"/cl/299999": {302, "https://go-review.googlesource.com/299999"},
+	"/cl/300000": {302, "https://codereview.appspot.com/300000"},
+}
+
 func TestRedirects(t *testing.T) {
-	var tests = map[string]redirectResult{
-		"/build":    {301, "http://build.golang.org"},
-		"/ref":      {301, "/doc/#references"},
-		"/doc/mem":  {301, "/ref/mem"},
-		"/doc/spec": {301, "/ref/spec"},
-		"/tour":     {301, "http://tour.golang.org"},
-		"/foo":      errorResult(404),
-
-		"/pkg/asn1":           {301, "/pkg/encoding/asn1/"},
-		"/pkg/template/parse": {301, "/pkg/text/template/parse/"},
-
-		"/src/pkg/foo": {301, "/src/foo"},
-
-		"/cmd/gofix": {301, "/cmd/fix/"},
-
-		// git commits (/change)
-		// TODO: mercurial tags and LoadChangeMap.
-		"/change":   {301, "https://go.googlesource.com/go"},
-		"/change/a": {302, "https://go.googlesource.com/go/+/a"},
-
-		"/issue":                    {301, "https://github.com/golang/go/issues"},
-		"/issue?":                   {301, "https://github.com/golang/go/issues"},
-		"/issue/1":                  {302, "https://github.com/golang/go/issues/1"},
-		"/issue/new":                {301, "https://github.com/golang/go/issues/new"},
-		"/issue/new?a=b&c=d%20&e=f": {301, "https://github.com/golang/go/issues/new?a=b&c=d%20&e=f"},
-		"/issues":                   {301, "https://github.com/golang/go/issues"},
-		"/issues/1":                 {302, "https://github.com/golang/go/issues/1"},
-		"/issues/new":               {301, "https://github.com/golang/go/issues/new"},
-		"/issues/1/2/3":             errorResult(404),
-
-		"/wiki/foo":  {302, "https://github.com/golang/go/wiki/foo"},
-		"/wiki/foo/": {302, "https://github.com/golang/go/wiki/foo/"},
-
-		"/design":              {301, "https://go.googlesource.com/proposal/+/master/design"},
-		"/design/":             {302, "/design"},
-		"/design/123-foo":      {302, "https://go.googlesource.com/proposal/+/master/design/123-foo.md"},
-		"/design/text/123-foo": {302, "https://go.googlesource.com/proposal/+/master/design/text/123-foo.md"},
-
-		"/cl/1":          {302, "https://go-review.googlesource.com/1"},
-		"/cl/1/":         {302, "https://go-review.googlesource.com/1"},
-		"/cl/267120043":  {302, "https://codereview.appspot.com/267120043"},
-		"/cl/267120043/": {302, "https://codereview.appspot.com/267120043"},
-
-		// Verify that we're using the Rietveld CL table:
-		"/cl/152046": {302, "https://codereview.appspot.com/152046"},
-		"/cl/152047": {302, "https://go-review.googlesource.com/152047"},
-		"/cl/152048": {302, "https://codereview.appspot.com/152048"},
-
-		// And verify we're using the "bigEnoughAssumeRietveld" value:
-		"/cl/299999": {302, "https://go-review.googlesource.com/299999"},
-		"/cl/300000": {302, "https://codereview.appspot.com/300000"},
-	}

 	mux := http.NewServeMux()
 	Register(mux)
 	ts := httptest.NewServer(mux)
 	defer ts.Close()

-	for path, want := range tests {
+	for path, want := range redirectTests {
 		if want.path != "" && want.path[0] == '/' {
 			// All redirects are absolute.
 			want.path = ts.URL + want.path
internal/godoc: delete /cmd and /pkg serving code
rsc committed 4 days ago commit 02e96bc9fb274843a09a1cb9e7385e2bb77bf3f5
_content/doc/cmd.html
@@ -1,100 +0,0 @@
-<!--{
-	"Title": "Command Documentation",
-	"Path":  "/doc/cmd"
-}-->
-
-<p>
-There is a suite of programs to build and process Go source code.
-Instead of being run directly, programs in the suite are usually invoked
-by the <a href="/cmd/go/">go</a> program.
-</p>
-
-<p>
-The most common way to run these programs is as a subcommand of the go program,
-for instance as <code>go fmt</code>. Run like this, the command operates on
-complete packages of Go source code, with the go program invoking the
-underlying binary with arguments appropriate to package-level processing.
-</p>
-
-<p>
-The programs can also be run as stand-alone binaries, with unmodified arguments,
-using the go <code>tool</code> subcommand, such as <code>go tool cgo</code>.
-For most commands this is mainly useful for debugging.
-Some of the commands, such as <code>pprof</code>, are accessible only through
-the go <code>tool</code> subcommand.
-</p>
-
-<p>
-Finally the <code>fmt</code> and <code>godoc</code> commands are installed
-as regular binaries called <code>gofmt</code> and <code>godoc</code> because
-they are so often referenced.
-</p>
-
-<p>
-Click on the links for more documentation, invocation methods, and usage details.
-</p>
-
-<table class="dir">
-<tr>
-<th>Name</th>
-<th>&nbsp;&nbsp;&nbsp;&nbsp;</th>
-<th>Synopsis</th>
-</tr>
-
-<tr>
-<td><a href="/cmd/go/">go</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>
-The <code>go</code> program manages Go source code and runs the other
-commands listed here.
-See the command docs for usage
-details.
-</td>
-</tr>
-
-<tr>
-<td><a href="/cmd/cgo/">cgo</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Cgo enables the creation of Go packages that call C code.</td>
-</tr>
-
-<tr>
-<td><a href="/cmd/cover/">cover</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Cover is a program for creating and analyzing the coverage profiles
-generated by <code>"go test -coverprofile"</code>.</td>
-</tr>
-
-<tr>
-<td><a href="/cmd/fix/">fix</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Fix finds Go programs that use old features of the language and libraries
-and rewrites them to use newer ones.</td>
-</tr>
-
-<tr>
-<td><a href="/cmd/gofmt/">fmt</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Fmt formats Go packages, it is also available as an independent <a href="/cmd/gofmt/">
-gofmt</a> command with more general options.</td>
-</tr>
-
-<tr>
-<td><a href="//godoc.org/golang.org/x/tools/cmd/godoc/">godoc</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Godoc extracts and generates documentation for Go packages.</td>
-</tr>
-
-<tr>
-<td><a href="/cmd/vet/">vet</a></td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-<td>Vet examines Go source code and reports suspicious constructs, such as Printf
-calls whose arguments do not align with the format string.</td>
-</tr>
-
-</table>
-
-<p>
-This is an abridged list. See the <a href="/cmd/">full command reference</a>
-for documentation of the compilers and more.
-</p>
_content/lib/godoc/example.html
@@ -1,30 +0,0 @@
-<div id="example_{{.Name}}" class="toggle">
-  <div class="collapsed">
-    <p class="exampleHeading toggleButton">▹ <span class="text">Example{{example_suffix .Name}}</span></p>
-  </div>
-  <div class="expanded">
-    <p class="exampleHeading toggleButton">▾ <span class="text">Example{{example_suffix .Name}}</span></p>
-    {{with .Doc}}<p>{{html .}}</p>{{end}}
-    {{$output := .Output}}
-    {{with .Play}}
-      <div class="play">
-        <div class="input"><textarea class="code" spellcheck="false">{{html .}}</textarea></div>
-        <div class="output"><pre>{{html $output}}</pre></div>
-        <div class="buttons">
-          <button class="Button Button--primary run" title="Run this code [shift-enter]">Run</button>
-          <button class="Button fmt" title="Format this code">Format</button>
-          {{if not $.GoogleCN}}
-            <button class="Button share" title="Share this code">Share</button>
-          {{end}}
-        </div>
-      </div>
-    {{else}}
-      <p>Code:</p>
-      <pre class="code">{{.Code}}</pre>
-      {{with .Output}}
-        <p>Output:</p>
-        <pre class="output">{{html .}}</pre>
-      {{end}}
-    {{end}}
-  </div>
-</div>
_content/lib/godoc/package.html
@@ -1,243 +0,0 @@
-<!--
-	Copyright 2009 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PDoc}}
-	{{if $.IsMain}}
-		{{/* command documentation */}}
-		{{comment_html .Doc}}
-	{{else}}
-		{{/* package documentation */}}
-		<div id="short-nav">
-			<dl>
-			<dd><code>import "{{html .ImportPath}}"</code></dd>
-			</dl>
-			<dl>
-			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
-			<dd><a href="#pkg-index" class="indexLink">Index</a></dd>
-			{{if $.Examples}}
-				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
-			{{end}}
-			{{if $.Dirs}}
-				<dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		<!-- The package's Name is printed as title by the top-level template -->
-		<div id="pkg-overview" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
-				{{comment_html .Doc}}
-				{{example_html $ ""}}
-			</div>
-		</div>
-
-		<div id="pkg-index" class="toggleVisible">
-		<div class="collapsed">
-			<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
-		</div>
-		<div class="expanded">
-			<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
-
-		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
-			<div id="manual-nav">
-			<dl>
-			{{if .Consts}}
-				<dd><a href="#pkg-constants">Constants</a></dd>
-			{{end}}
-			{{if .Vars}}
-				<dd><a href="#pkg-variables">Variables</a></dd>
-			{{end}}
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-			{{end}}
-			{{range .Types}}
-				{{$tname_html := html .Name}}
-				<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
-				{{range .Funcs}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-				{{range .Methods}}
-					{{$name_html := html .Name}}
-					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
-				{{end}}
-			{{end}}
-			{{if $.Notes}}
-				{{range $marker, $item := $.Notes}}
-				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
-				{{end}}
-			{{end}}
-			</dl>
-			</div><!-- #manual-nav -->
-
-		{{if $.Examples}}
-		<div id="pkg-examples">
-			<h3>Examples</h3>
-			<div class="js-expandAll expandAll collapsed">(Expand All)</div>
-			<dl>
-			{{range $.Examples}}
-			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
-			{{end}}
-			</dl>
-		</div>
-		{{end}}
-
-		{{with .Filenames}}
-			<h3>Package files</h3>
-			<p>
-			<span style="font-size:90%">
-			{{range .}}
-				<a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
-			{{end}}
-			</span>
-			</p>
-		{{end}}
-		</div><!-- .expanded -->
-		</div><!-- #pkg-index -->
-
-		{{with .Consts}}
-			<h2 id="pkg-constants">Constants</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{with .Vars}}
-			<h2 id="pkg-variables">Variables</h2>
-			{{range .}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-		{{end}}
-		{{range .Funcs}}
-			{{/* Name is a string - no need for FSet */}}
-			{{$name_html := html .Name}}
-			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-				<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-				{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			<pre>{{node_html $ .Decl true}}</pre>
-			{{comment_html .Doc}}
-			{{example_html $ .Name}}
-
-		{{end}}
-		{{range .Types}}
-			{{$tname := .Name}}
-			{{$tname_html := html .Name}}
-			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
-				<a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
-				{{$since := since "type" "" .Name $.PDoc.ImportPath}}
-				{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-			</h2>
-			{{comment_html .Doc}}
-			<pre>{{node_html $ .Decl true}}</pre>
-
-			{{range .Consts}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{range .Vars}}
-				{{comment_html .Doc}}
-				<pre>{{node_html $ .Decl true}}</pre>
-			{{end}}
-
-			{{example_html $ $tname}}
-
-			{{range .Funcs}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$name_html}}">&#xb6;</a>
-					{{$since := since "func" "" .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{example_html $ .Name}}
-			{{end}}
-
-			{{range .Methods}}
-				{{$name_html := html .Name}}
-				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
-					<a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
-					{{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
-					{{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
-				</h3>
-				<pre>{{node_html $ .Decl true}}</pre>
-				{{comment_html .Doc}}
-				{{$name := printf "%s_%s" $tname .Name}}
-				{{example_html $ $name}}
-			{{end}}
-		{{end}}
-	{{end}}
-
-	{{with $.Notes}}
-		{{range $marker, $content := .}}
-			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
-			<ul style="list-style: none; padding: 0;">
-			{{range .}}
-			<li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html .Body}}</li>
-			{{end}}
-			</ul>
-		{{end}}
-	{{end}}
-{{end}}
-
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-	<div class="pkg-dir">
-		<table>
-			<tr>
-				<th class="pkg-name">Name</th>
-				<th class="pkg-synopsis">Synopsis</th>
-			</tr>
-
-			{{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
-			<tr>
-				<td colspan="2"><a href="..">..</a></td>
-			</tr>
-			{{end}}
-
-			{{range .List}}
-				<tr>
-				{{if $.DirFlat}}
-					{{if .HasPkg}}
-						<td class="pkg-name">
-							<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-						</td>
-					{{end}}
-				{{else}}
-					<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-						<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-					</td>
-				{{end}}
-					<td class="pkg-synopsis">
-						{{html .Synopsis}}
-					</td>
-				</tr>
-			{{end}}
-		</table>
-	</div>
-{{end}}
_content/lib/godoc/packageroot.html
@@ -1,150 +0,0 @@
-<!--
-	Copyright 2018 The Go Authors. All rights reserved.
-	Use of this source code is governed by a BSD-style
-	license that can be found in the LICENSE file.
--->
-<!--
-	Note: Static (i.e., not template-generated) href and id
-	attributes start with "pkg-" to make it impossible for
-	them to conflict with generated attributes (some of which
-	correspond to Go identifiers).
--->
-{{with .PAst}}
-	{{range $filename, $ast := .}}
-		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
-	{{end}}
-{{end}}
-
-{{with .Dirs}}
-	{{/* DirList entries are numbers and strings - no need for FSet */}}
-	{{if $.PDoc}}
-		<h2 id="pkg-subdirectories">Subdirectories</h2>
-	{{end}}
-		<div id="manual-nav">
-			<dl>
-				<dt><a href="#stdlib">Standard library</a></dt>
-				{{if hasThirdParty .List }}
-					<dt><a href="#thirdparty">Third party</a></dt>
-				{{end}}
-				<dt><a href="#other">Other packages</a></dt>
-				<dd><a href="#subrepo">Sub-repositories</a></dd>
-				<dd><a href="#community">Community</a></dd>
-			</dl>
-		</div>
-
-		<div id="stdlib" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
-				<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-							{{if .IsGOROOT}}
-							{{if $.DirFlat}}
-								{{if .HasPkg}}
-										<td class="pkg-name">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-										</td>
-								{{end}}
-							{{else}}
-									<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-										<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-									</td>
-							{{end}}
-								<td class="pkg-synopsis">
-									{{html .Synopsis}}
-								</td>
-							{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-
-	{{if hasThirdParty .List }}
-		<div id="thirdparty" class="toggleVisible">
-			<div class="collapsed">
-				<h2 class="toggleButton" title="Click to show Third party section">Third party ▹</h2>
-			</div>
-			<div class="expanded">
-				<h2 class="toggleButton" title="Click to hide Third party section">Third party ▾</h2>
-				<div class="pkg-dir">
-					<table>
-						<tr>
-							<th class="pkg-name">Name</th>
-							<th class="pkg-synopsis">Synopsis</th>
-						</tr>
-
-						{{range .List}}
-							<tr>
-								{{if eq .RootType "GOPATH"}}
-								{{if $.DirFlat}}
-									{{if .HasPkg}}
-											<td class="pkg-name">
-												<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
-											</td>
-									{{end}}
-								{{else}}
-										<td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
-											<a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
-										</td>
-								{{end}}
-									<td class="pkg-synopsis">
-										{{html .Synopsis}}
-									</td>
-								{{end}}
-							</tr>
-						{{end}}
-					</table>
-				</div> <!-- .pkg-dir -->
-			</div> <!-- .expanded -->
-		</div> <!-- #stdlib .toggleVisible -->
-	{{end}}
-
-	<h2 id="other">Other packages</h2>
-	<h3 id="subrepo">Sub-repositories</h3>
-	<p>
-	These packages are part of the Go Project but outside the main Go tree.
-	They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
-	Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
-		<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
-	</ul>
-
-	<h3 id="community">Community</h3>
-	<p>
-	These services can help you find Open Source packages provided by the community.
-	</p>
-	<ul>
-		<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
-		<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
-	</ul>
-{{end}}
cmd/golangorg/handlers.go
@@ -121,10 +121,7 @@
 	codewalkdirHTML = readTemplate("codewalkdir.html")
 	p.DirlistHTML = readTemplate("dirlist.html")
 	p.ErrorHTML = readTemplate("error.html")
-	p.ExampleHTML = readTemplate("example.html")
 	p.GodocHTML = readTemplate("godoc.html")
-	p.PackageHTML = readTemplate("package.html")
-	p.PackageRootHTML = readTemplate("packageroot.html")
 }

 type fmtResponse struct {
cmd/golangorg/main.go
@@ -27,7 +27,6 @@
 	"log"
 	"net/http"
 	"os"
-	"regexp"
 	"runtime"

 	"golang.org/x/website"
@@ -38,11 +37,8 @@
 	httpAddr       = flag.String("http", "localhost:6060", "HTTP service address")
 	verbose        = flag.Bool("v", false, "verbose mode")
 	goroot         = flag.String("goroot", runtime.GOROOT(), "Go root directory")
-	showTimestamps = flag.Bool("timestamps", false, "show timestamps with directory listings")
 	templateDir    = flag.String("templates", "", "load templates/JS/CSS from disk in this directory (usually /path-to-website/content)")
 	showPlayground = flag.Bool("play", true, "enable playground")
-	declLinks      = flag.Bool("links", true, "link identifiers to their declarations")
-	notesRx        = flag.String("notes", "BUG", "regular expression matching note markers to show")
 )

 func usage() {
@@ -88,17 +84,9 @@
 	if err := corpus.Init(); err != nil {
 		log.Fatal(err)
 	}
-	// Initialize the version info before readTemplates, which saves
-	// the map value in a method value.
-	corpus.InitVersionInfo()

 	pres = godoc.NewPresentation(corpus)
-	pres.ShowTimestamps = *showTimestamps
 	pres.ShowPlayground = *showPlayground
-	pres.DeclLinks = *declLinks
-	if *notesRx != "" {
-		pres.NotesRx = regexp.MustCompile(*notesRx)
-	}
 	pres.GoogleCN = googleCN

 	readTemplates(pres)
internal/godoc/corpus.go
@@ -5,7 +5,6 @@
 package godoc

 import (
-	"errors"
 	"io/fs"
 	"sync"
 	"time"
@@ -22,35 +21,18 @@
 	// Verbose logging.
 	Verbose bool

-	// SummarizePackage optionally specifies a function to
-	// summarize a package. It exists as an optimization to
-	// avoid reading files to parse package comments.
-	//
-	// If SummarizePackage returns false for ok, the caller
-	// ignores all return values and parses the files in the package
-	// as if SummarizePackage were nil.
-	//
-	// If showList is false, the package is hidden from the
-	// package listing.
-	SummarizePackage func(pkg string) (summary string, showList, ok bool)
-
 	// Send a value on this channel to trigger a metadata refresh.
 	// It is buffered so that if a signal is not lost if sent
 	// during a refresh.
 	refreshMetadataSignal chan bool

 	// file system information
-	fsTree      rwValue // *Directory tree of packages, updated with each sync (but sync code is removed now)
 	fsModified  rwValue // timestamp of last call to invalidateIndex
 	docMetadata rwValue // mapping from paths to *Metadata

 	// flag to check whether a corpus is initialized or not
 	initMu   sync.RWMutex
 	initDone bool
-
-	// pkgAPIInfo contains the information about which package API
-	// features were added in which version of Go.
-	pkgAPIInfo apiVersions
 }

 // NewCorpus returns a new Corpus from a filesystem.
@@ -72,9 +54,6 @@
 // Init initializes Corpus, once options on Corpus are set.
 // It must be called before any subsequent method calls.
 func (c *Corpus) Init() error {
-	if err := c.initFSTree(); err != nil {
-		return err
-	}
 	c.updateMetadata()
 	go c.refreshMetadataLoop()

@@ -83,12 +62,3 @@
 	c.initMu.Unlock()
 	return nil
 }
-
-func (c *Corpus) initFSTree() error {
-	dir := c.newDirectory("/", -1)
-	if dir == nil {
-		return errors.New("godoc: corpus fstree is nil")
-	}
-	c.fsTree.Set(dir)
-	return nil
-}
internal/godoc/dirtrees.go
@@ -1,394 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains the code dealing with package directory trees.
-
-package godoc
-
-import (
-	"go/doc"
-	"go/parser"
-	"go/token"
-	"io/fs"
-	"log"
-	pathpkg "path"
-	"runtime"
-	"sort"
-	"strings"
-)
-
-// Conventional name for directories containing test data.
-// Excluded from directory trees.
-//
-const testdataDirName = "testdata"
-
-type Directory struct {
-	Depth    int
-	Path     string       // directory path; includes Name
-	Name     string       // directory name
-	HasPkg   bool         // true if the directory contains at least one package
-	Synopsis string       // package documentation, if any
-	IsGOROOT bool         // is this GOROOT
-	Dirs     []*Directory // subdirectories
-}
-
-type dirEntryOrFileInfo interface {
-	Name() string
-	IsDir() bool
-}
-
-func isGoFile(fi dirEntryOrFileInfo) bool {
-	name := fi.Name()
-	return !fi.IsDir() &&
-		len(name) > 0 && name[0] != '.' && // ignore .files
-		pathpkg.Ext(name) == ".go"
-}
-
-func isPkgFile(fi dirEntryOrFileInfo) bool {
-	return isGoFile(fi) &&
-		!strings.HasSuffix(fi.Name(), "_test.go") // ignore test files
-}
-
-func isPkgDir(fi dirEntryOrFileInfo) bool {
-	name := fi.Name()
-	return fi.IsDir() && len(name) > 0 &&
-		name[0] != '_' && name[0] != '.' // ignore _files and .files
-}
-
-type treeBuilder struct {
-	c        *Corpus
-	maxDepth int
-}
-
-// ioGate is a semaphore controlling VFS activity (ReadDir, parseFile, etc).
-// Send before an operation and receive after.
-var ioGate = make(chan struct{}, 20)
-
-// workGate controls the number of concurrent workers. Too many concurrent
-// workers and performance degrades and the race detector gets overwhelmed. If
-// we cannot check out a concurrent worker, work is performed by the main thread
-// instead of spinning up another goroutine.
-var workGate = make(chan struct{}, runtime.NumCPU()*4)
-
-func (b *treeBuilder) newDirTree(fset *token.FileSet, path, name string, depth int) *Directory {
-	if name == testdataDirName {
-		return nil
-	}
-
-	if depth >= b.maxDepth {
-		// return a dummy directory so that the parent directory
-		// doesn't get discarded just because we reached the max
-		// directory depth
-		return &Directory{
-			Depth: depth,
-			Path:  path,
-			Name:  name,
-		}
-	}
-
-	var synopses [3]string // prioritized package documentation (0 == highest priority)
-
-	show := true // show in package listing
-	hasPkgFiles := false
-	haveSummary := false
-
-	if hook := b.c.SummarizePackage; hook != nil {
-		if summary, show0, ok := hook(strings.TrimPrefix(path, "/src/")); ok {
-			hasPkgFiles = true
-			show = show0
-			synopses[0] = summary
-			haveSummary = true
-		}
-	}
-
-	ioGate <- struct{}{}
-	list, err := fs.ReadDir(b.c.fs, toFS(path))
-	<-ioGate
-	if err != nil {
-		// TODO: propagate more. See golang.org/issue/14252.
-		// For now:
-		if b.c.Verbose {
-			log.Printf("newDirTree reading %s: %v", path, err)
-		}
-	}
-
-	// determine number of subdirectories and if there are package files
-	var dirchs []chan *Directory
-	var dirs []*Directory
-
-	for _, d := range list {
-		filename := pathpkg.Join(path, d.Name())
-		switch {
-		case isPkgDir(d):
-			name := d.Name()
-			select {
-			case workGate <- struct{}{}:
-				ch := make(chan *Directory, 1)
-				dirchs = append(dirchs, ch)
-				go func() {
-					ch <- b.newDirTree(fset, filename, name, depth+1)
-					<-workGate
-				}()
-			default:
-				// no free workers, do work synchronously
-				dir := b.newDirTree(fset, filename, name, depth+1)
-				if dir != nil {
-					dirs = append(dirs, dir)
-				}
-			}
-		case !haveSummary && isPkgFile(d):
-			// looks like a package file, but may just be a file ending in ".go";
-			// don't just count it yet (otherwise we may end up with hasPkgFiles even
-			// though the directory doesn't contain any real package files - was bug)
-			// no "optimal" package synopsis yet; continue to collect synopses
-			ioGate <- struct{}{}
-			const flags = parser.ParseComments | parser.PackageClauseOnly
-			file, err := b.c.parseFile(fset, filename, flags)
-			<-ioGate
-			if err != nil {
-				if b.c.Verbose {
-					log.Printf("Error parsing %v: %v", filename, err)
-				}
-				break
-			}
-
-			hasPkgFiles = true
-			if file.Doc != nil {
-				// prioritize documentation
-				i := -1
-				switch file.Name.Name {
-				case name:
-					i = 0 // normal case: directory name matches package name
-				case "main":
-					i = 1 // directory contains a main package
-				default:
-					i = 2 // none of the above
-				}
-				if 0 <= i && i < len(synopses) && synopses[i] == "" {
-					synopses[i] = doc.Synopsis(file.Doc.Text())
-				}
-			}
-			haveSummary = synopses[0] != ""
-		}
-	}
-
-	// create subdirectory tree
-	for _, ch := range dirchs {
-		if d := <-ch; d != nil {
-			dirs = append(dirs, d)
-		}
-	}
-
-	// We need to sort the dirs slice because
-	// it is appended again after reading from dirchs.
-	sort.Slice(dirs, func(i, j int) bool {
-		return dirs[i].Name < dirs[j].Name
-	})
-
-	// if there are no package files and no subdirectories
-	// containing package files, ignore the directory
-	if !hasPkgFiles && len(dirs) == 0 {
-		return nil
-	}
-
-	// select the highest-priority synopsis for the directory entry, if any
-	synopsis := ""
-	for _, synopsis = range synopses {
-		if synopsis != "" {
-			break
-		}
-	}
-
-	return &Directory{
-		Depth:    depth,
-		Path:     path,
-		Name:     name,
-		HasPkg:   hasPkgFiles && show, // TODO(bradfitz): add proper Hide field?
-		Synopsis: synopsis,
-		IsGOROOT: isGOROOT(b.c.fs),
-		Dirs:     dirs,
-	}
-}
-
-func isGOROOT(fsys fs.FS) bool {
-	_, err := fs.Stat(fsys, "src/math/abs.go")
-	return err == nil
-}
-
-// toFS returns the io/fs name for path (no leading slash).
-func toFS(path string) string {
-	if path == "/" {
-		return "."
-	}
-	return pathpkg.Clean(strings.TrimPrefix(path, "/"))
-}
-
-// newDirectory creates a new package directory tree with at most maxDepth
-// levels, anchored at root. The result tree is pruned such that it only
-// contains directories that contain package files or that contain
-// subdirectories containing package files (transitively). If a non-nil
-// pathFilter is provided, directory paths additionally must be accepted
-// by the filter (i.e., pathFilter(path) must be true). If a value >= 0 is
-// provided for maxDepth, nodes at larger depths are pruned as well; they
-// are assumed to contain package files even if their contents are not known
-// (i.e., in this case the tree may contain directories w/o any package files).
-//
-func (c *Corpus) newDirectory(root string, maxDepth int) *Directory {
-	// The root could be a symbolic link so use Stat not Lstat.
-	d, err := fs.Stat(c.fs, toFS(root))
-	// If we fail here, report detailed error messages; otherwise
-	// is is hard to see why a directory tree was not built.
-	switch {
-	case err != nil:
-		log.Printf("newDirectory(%s): %s", root, err)
-		return nil
-	case root != "/" && !isPkgDir(d):
-		log.Printf("newDirectory(%s): not a package directory", root)
-		return nil
-	case root == "/" && !d.IsDir():
-		log.Printf("newDirectory(%s): not a directory", root)
-		return nil
-	}
-	if maxDepth < 0 {
-		maxDepth = 1e6 // "infinity"
-	}
-	b := treeBuilder{c, maxDepth}
-	// the file set provided is only for local parsing, no position
-	// information escapes and thus we don't need to save the set
-	return b.newDirTree(token.NewFileSet(), root, d.Name(), 0)
-}
-
-func (dir *Directory) walk(c chan<- *Directory, skipRoot bool) {
-	if dir != nil {
-		if !skipRoot {
-			c <- dir
-		}
-		for _, d := range dir.Dirs {
-			d.walk(c, false)
-		}
-	}
-}
-
-func (dir *Directory) iter(skipRoot bool) <-chan *Directory {
-	c := make(chan *Directory)
-	go func() {
-		dir.walk(c, skipRoot)
-		close(c)
-	}()
-	return c
-}
-
-func (dir *Directory) lookupLocal(name string) *Directory {
-	for _, d := range dir.Dirs {
-		if d.Name == name {
-			return d
-		}
-	}
-	return nil
-}
-
-func splitPath(p string) []string {
-	p = strings.TrimPrefix(p, "/")
-	if p == "" {
-		return nil
-	}
-	return strings.Split(p, "/")
-}
-
-// lookup looks for the *Directory for a given path, relative to dir.
-func (dir *Directory) lookup(path string) *Directory {
-	d := splitPath(dir.Path)
-	p := splitPath(path)
-	i := 0
-	for i < len(d) {
-		if i >= len(p) || d[i] != p[i] {
-			return nil
-		}
-		i++
-	}
-	for dir != nil && i < len(p) {
-		dir = dir.lookupLocal(p[i])
-		i++
-	}
-	return dir
-}
-
-// DirEntry describes a directory entry. The Depth and Height values
-// are useful for presenting an entry in an indented fashion.
-//
-type DirEntry struct {
-	Depth    int    // >= 0
-	Height   int    // = DirList.MaxHeight - Depth, > 0
-	Path     string // directory path; includes Name, relative to DirList root
-	Name     string // directory name
-	HasPkg   bool   // true if the directory contains at least one package
-	Synopsis string // package documentation, if any
-	IsGOROOT bool   // root type of the filesystem containing the direntry
-}
-
-type DirList struct {
-	MaxHeight int // directory tree height, > 0
-	List      []DirEntry
-}
-
-// hasThirdParty checks whether a list of directory entries has packages outside
-// the standard library or not.
-func hasThirdParty(list []DirEntry) bool {
-	return false
-}
-
-// listing creates a (linear) directory listing from a directory tree.
-// If skipRoot is set, the root directory itself is excluded from the list.
-// If filter is set, only the directory entries whose paths match the filter
-// are included.
-//
-func (dir *Directory) listing(skipRoot bool, filter func(string) bool) *DirList {
-	if dir == nil {
-		return nil
-	}
-
-	// determine number of entries n and maximum height
-	n := 0
-	minDepth := 1 << 30 // infinity
-	maxDepth := 0
-	for d := range dir.iter(skipRoot) {
-		n++
-		if minDepth > d.Depth {
-			minDepth = d.Depth
-		}
-		if maxDepth < d.Depth {
-			maxDepth = d.Depth
-		}
-	}
-	maxHeight := maxDepth - minDepth + 1
-
-	if n == 0 {
-		return nil
-	}
-
-	// create list
-	list := make([]DirEntry, 0, n)
-	for d := range dir.iter(skipRoot) {
-		if filter != nil && !filter(d.Path) {
-			continue
-		}
-		var p DirEntry
-		p.Depth = d.Depth - minDepth
-		p.Height = maxHeight - p.Depth
-		// the path is relative to root.Path - remove the root.Path
-		// prefix (the prefix should always be present but avoid
-		// crashes and check)
-		path := strings.TrimPrefix(d.Path, dir.Path)
-		// remove leading separator if any - path must be relative
-		path = strings.TrimPrefix(path, "/")
-		p.Path = path
-		p.Name = d.Name
-		p.HasPkg = d.HasPkg
-		p.Synopsis = d.Synopsis
-		p.IsGOROOT = d.IsGOROOT
-		list = append(list, p)
-	}
-
-	return &DirList{maxHeight, list}
-}
internal/godoc/dirtrees_test.go
@@ -1,65 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package godoc
-
-import (
-	"os"
-	"runtime"
-	"sort"
-	"testing"
-)
-
-func TestNewDirTree(t *testing.T) {
-	c := NewCorpus(os.DirFS(runtime.GOROOT()))
-	// 3 levels deep is enough for testing
-	dir := c.newDirectory("/", 3)
-
-	processDir(t, dir)
-}
-
-func processDir(t *testing.T, dir *Directory) {
-	var list []string
-	for _, d := range dir.Dirs {
-		list = append(list, d.Name)
-		// recursively process the lower level
-		processDir(t, d)
-	}
-
-	if sort.StringsAreSorted(list) == false {
-		t.Errorf("list: %v is not sorted\n", list)
-	}
-}
-
-func BenchmarkNewDirectory(b *testing.B) {
-	if testing.Short() {
-		b.Skip("not running tests requiring large file scan in short mode")
-	}
-
-	fs := os.DirFS(runtime.GOROOT())
-
-	b.ResetTimer()
-	b.ReportAllocs()
-	for tries := 0; tries < b.N; tries++ {
-		corpus := NewCorpus(fs)
-		corpus.newDirectory("/", -1)
-	}
-}
-
-func TestIsGOROOT(t *testing.T) {
-	tests := []struct {
-		path     string
-		isGOROOT bool
-	}{
-		{runtime.GOROOT(), true},
-		{"/tmp/", false},
-	}
-
-	for _, item := range tests {
-		fs := os.DirFS(item.path)
-		if isGOROOT(fs) != item.isGOROOT {
-			t.Errorf("%s: isGOROOT = %v, want %v", item.path, !item.isGOROOT, item.isGOROOT)
-		}
-	}
-}
internal/godoc/godoc.go
@@ -10,25 +10,12 @@
 package godoc // import "golang.org/x/website/internal/godoc"

 import (
-	"bufio"
 	"bytes"
 	"fmt"
-	"go/ast"
-	"go/doc"
-	"go/format"
-	"go/printer"
-	"go/token"
-	"io"
-	"log"
 	"os"
 	pathpkg "path"
-	"regexp"
-	"strconv"
 	"strings"
 	"text/template"
-	"time"
-	"unicode"
-	"unicode/utf8"
 )

 // Fake relative package path for built-ins. Documentation for all globals
@@ -43,19 +30,14 @@
 //             HTML- or URL-escaped strings; all other function results may
 //             require explicit escaping in the template.
 func (p *Presentation) FuncMap() template.FuncMap {
-	p.initFuncMapOnce.Do(p.initFuncMap)
 	return p.funcMap
 }

 func (p *Presentation) TemplateFuncs() template.FuncMap {
-	p.initFuncMapOnce.Do(p.initFuncMap)
 	return p.templateFuncs
 }

 func (p *Presentation) initFuncMap() {
-	if p.Corpus == nil {
-		panic("nil Presentation.Corpus")
-	}
 	p.templateFuncs = template.FuncMap{
 		"code": p.code,
 	}
@@ -63,57 +45,17 @@
 		// various helpers
 		"filename": filenameFunc,
 		"repeat":   strings.Repeat,
-		"since":    p.Corpus.pkgAPIInfo.sinceVersionFunc,

 		// access to FileInfos (directory listings)
 		"fileInfoName": fileInfoNameFunc,
 		"fileInfoTime": fileInfoTimeFunc,

-		// formatting of AST nodes
-		"node":         p.nodeFunc,
-		"node_html":    p.node_htmlFunc,
-		"comment_html": comment_htmlFunc,
-		"sanitize":     sanitizeFunc,
-
 		// support for URL attributes
-		"pkgLink":       pkgLinkFunc,
-		"srcLink":       srcLinkFunc,
-		"posLink_url":   newPosLink_urlFunc(srcPosLinkFunc),
-		"docLink":       docLinkFunc,
-		"queryLink":     queryLinkFunc,
 		"srcBreadcrumb": srcBreadcrumbFunc,
 		"srcToPkgLink":  srcToPkgLinkFunc,
-
-		// formatting of Examples
-		"example_html":   p.example_htmlFunc,
-		"example_name":   p.example_nameFunc,
-		"example_suffix": p.example_suffixFunc,
-
-		// formatting of Notes
-		"noteTitle": noteTitle,
-
-		// Number operation
-		"multiply": multiply,
-
-		// formatting of PageInfoMode query string
-		"modeQueryString": modeQueryString,
-
-		// check whether to display third party section or not
-		"hasThirdParty": hasThirdParty,
-	}
-	if p.URLForSrc != nil {
-		p.funcMap["srcLink"] = p.URLForSrc
-	}
-	if p.URLForSrcPos != nil {
-		p.funcMap["posLink_url"] = newPosLink_urlFunc(p.URLForSrcPos)
-	}
-	if p.URLForSrcQuery != nil {
-		p.funcMap["queryLink"] = p.URLForSrcQuery
 	}
 }

-func multiply(a, b int) int { return a * b }
-
 func filenameFunc(path string) string {
 	_, localname := pathpkg.Split(path)
 	return localname
@@ -134,239 +76,6 @@
 	return "" // don't return epoch if time is obviously not set
 }

-func (p *Presentation) nodeFunc(info *PageInfo, node interface{}) string {
-	var buf bytes.Buffer
-	p.writeNode(&buf, info, info.FSet, node)
-	return buf.String()
-}
-
-func (p *Presentation) node_htmlFunc(info *PageInfo, node interface{}, linkify bool) string {
-	var buf1 bytes.Buffer
-	p.writeNode(&buf1, info, info.FSet, node)
-
-	var buf2 bytes.Buffer
-	if n, _ := node.(ast.Node); n != nil && linkify && p.DeclLinks {
-		LinkifyText(&buf2, buf1.Bytes(), n)
-		if st, name := isStructTypeDecl(n); st != nil {
-			addStructFieldIDAttributes(&buf2, name, st)
-		}
-	} else {
-		FormatText(&buf2, buf1.Bytes(), -1, true, "", nil)
-	}
-
-	return buf2.String()
-}
-
-// isStructTypeDecl checks whether n is a struct declaration.
-// It either returns a non-nil StructType and its name, or zero values.
-func isStructTypeDecl(n ast.Node) (st *ast.StructType, name string) {
-	gd, ok := n.(*ast.GenDecl)
-	if !ok || gd.Tok != token.TYPE {
-		return nil, ""
-	}
-	if gd.Lparen > 0 {
-		// Parenthesized type. Who does that, anyway?
-		// TODO: Reportedly gri does. Fix this to handle that too.
-		return nil, ""
-	}
-	if len(gd.Specs) != 1 {
-		return nil, ""
-	}
-	ts, ok := gd.Specs[0].(*ast.TypeSpec)
-	if !ok {
-		return nil, ""
-	}
-	st, ok = ts.Type.(*ast.StructType)
-	if !ok {
-		return nil, ""
-	}
-	return st, ts.Name.Name
-}
-
-// addStructFieldIDAttributes modifies the contents of buf such that
-// all struct fields of the named struct have <span id='name.Field'>
-// in them, so people can link to /#Struct.Field.
-func addStructFieldIDAttributes(buf *bytes.Buffer, name string, st *ast.StructType) {
-	if st.Fields == nil {
-		return
-	}
-	// needsLink is a set of identifiers that still need to be
-	// linked, where value == key, to avoid an allocation in func
-	// linkedField.
-	needsLink := make(map[string]string)
-
-	for _, f := range st.Fields.List {
-		if len(f.Names) == 0 {
-			continue
-		}
-		fieldName := f.Names[0].Name
-		needsLink[fieldName] = fieldName
-	}
-	var newBuf bytes.Buffer
-	foreachLine(buf.Bytes(), func(line []byte) {
-		if fieldName := linkedField(line, needsLink); fieldName != "" {
-			fmt.Fprintf(&newBuf, `<span id="%s.%s"></span>`, name, fieldName)
-			delete(needsLink, fieldName)
-		}
-		newBuf.Write(line)
-	})
-	buf.Reset()
-	buf.Write(newBuf.Bytes())
-}
-
-// foreachLine calls fn for each line of in, where a line includes
-// the trailing "\n", except on the last line, if it doesn't exist.
-func foreachLine(in []byte, fn func(line []byte)) {
-	for len(in) > 0 {
-		nl := bytes.IndexByte(in, '\n')
-		if nl == -1 {
-			fn(in)
-			return
-		}
-		fn(in[:nl+1])
-		in = in[nl+1:]
-	}
-}
-
-// commentPrefix is the line prefix for comments after they've been HTMLified.
-var commentPrefix = []byte(`<span class="comment">// `)
-
-// linkedField determines whether the given line starts with an
-// identifier in the provided ids map (mapping from identifier to the
-// same identifier). The line can start with either an identifier or
-// an identifier in a comment. If one matches, it returns the
-// identifier that matched. Otherwise it returns the empty string.
-func linkedField(line []byte, ids map[string]string) string {
-	line = bytes.TrimSpace(line)
-
-	// For fields with a doc string of the
-	// conventional form, we put the new span into
-	// the comment instead of the field.
-	// The "conventional" form is a complete sentence
-	// per https://golang.org/s/style#comment-sentences like:
-	//
-	//    // Foo is an optional Fooer to foo the foos.
-	//    Foo Fooer
-	//
-	// In this case, we want the #StructName.Foo
-	// link to make the browser go to the comment
-	// line "Foo is an optional Fooer" instead of
-	// the "Foo Fooer" line, which could otherwise
-	// obscure the docs above the browser's "fold".
-	//
-	// TODO: do this better, so it works for all
-	// comments, including unconventional ones.
-	line = bytes.TrimPrefix(line, commentPrefix)
-	id := scanIdentifier(line)
-	if len(id) == 0 {
-		// No leading identifier. Avoid map lookup for
-		// somewhat common case.
-		return ""
-	}
-	return ids[string(id)]
-}
-
-// scanIdentifier scans a valid Go identifier off the front of v and
-// either returns a subslice of v if there's a valid identifier, or
-// returns a zero-length slice.
-func scanIdentifier(v []byte) []byte {
-	var n int // number of leading bytes of v belonging to an identifier
-	for {
-		r, width := utf8.DecodeRune(v[n:])
-		if !(isLetter(r) || n > 0 && isDigit(r)) {
-			break
-		}
-		n += width
-	}
-	return v[:n]
-}
-
-func isLetter(ch rune) bool {
-	return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= utf8.RuneSelf && unicode.IsLetter(ch)
-}
-
-func isDigit(ch rune) bool {
-	return '0' <= ch && ch <= '9' || ch >= utf8.RuneSelf && unicode.IsDigit(ch)
-}
-
-func comment_htmlFunc(comment string) string {
-	var buf bytes.Buffer
-	// TODO(gri) Provide list of words (e.g. function parameters)
-	//           to be emphasized by ToHTML.
-	doc.ToHTML(&buf, comment, nil) // does html-escaping
-	return buf.String()
-}
-
-// sanitizeFunc sanitizes the argument src by replacing newlines with
-// blanks, removing extra blanks, and by removing trailing whitespace
-// and commas before closing parentheses.
-func sanitizeFunc(src string) string {
-	buf := make([]byte, len(src))
-	j := 0      // buf index
-	comma := -1 // comma index if >= 0
-	for i := 0; i < len(src); i++ {
-		ch := src[i]
-		switch ch {
-		case '\t', '\n', ' ':
-			// ignore whitespace at the beginning, after a blank, or after opening parentheses
-			if j == 0 {
-				continue
-			}
-			if p := buf[j-1]; p == ' ' || p == '(' || p == '{' || p == '[' {
-				continue
-			}
-			// replace all whitespace with blanks
-			ch = ' '
-		case ',':
-			comma = j
-		case ')', '}', ']':
-			// remove any trailing comma
-			if comma >= 0 {
-				j = comma
-			}
-			// remove any trailing whitespace
-			if j > 0 && buf[j-1] == ' ' {
-				j--
-			}
-		default:
-			comma = -1
-		}
-		buf[j] = ch
-		j++
-	}
-	// remove trailing blank, if any
-	if j > 0 && buf[j-1] == ' ' {
-		j--
-	}
-	return string(buf[:j])
-}
-
-type PageInfo struct {
-	Dirname  string // directory containing the package
-	Err      error  // error or nil
-	GoogleCN bool   // page is being served from golang.google.cn
-
-	Mode PageInfoMode // display metadata from query string
-
-	// package info
-	FSet       *token.FileSet         // nil if no package documentation
-	PDoc       *doc.Package           // nil if no package documentation
-	Examples   []*doc.Example         // nil if no example code
-	Notes      map[string][]*doc.Note // nil if no package Notes
-	PAst       map[string]*ast.File   // nil if no AST with package exports
-	IsMain     bool                   // true for package main
-	IsFiltered bool                   // true if results were filtered
-
-	// directory info
-	Dirs    *DirList  // nil if no directory information
-	DirTime time.Time // directory time stamp
-	DirFlat bool      // if set, show directory in a flat (non-indented) manner
-}
-
-func (info *PageInfo) IsEmpty() bool {
-	return info.Err != nil || info.PAst == nil && info.PDoc == nil && info.Dirs == nil
-}
-
 func pkgLinkFunc(path string) string {
 	// because of the irregular mapping under goroot
 	// we need to correct certain relative paths
@@ -418,40 +127,6 @@
 	return buf.String()
 }

-func newPosLink_urlFunc(srcPosLinkFunc func(s string, line, low, high int) string) func(info *PageInfo, n interface{}) string {
-	// n must be an ast.Node or a *doc.Note
-	return func(info *PageInfo, n interface{}) string {
-		var pos, end token.Pos
-
-		switch n := n.(type) {
-		case ast.Node:
-			pos = n.Pos()
-			end = n.End()
-		case *doc.Note:
-			pos = n.Pos
-			end = n.End
-		default:
-			panic(fmt.Sprintf("wrong type for posLink_url template formatter: %T", n))
-		}
-
-		var relpath string
-		var line int
-		var low, high int // selection offset range
-
-		if pos.IsValid() {
-			p := info.FSet.Position(pos)
-			relpath = p.Filename
-			line = p.Line
-			low = p.Offset
-		}
-		if end.IsValid() {
-			high = info.FSet.Position(end).Offset
-		}
-
-		return srcPosLinkFunc(relpath, line, low, high)
-	}
-}
-
 func srcPosLinkFunc(s string, line, low, high int) string {
 	s = srcLinkFunc(s)
 	var buf bytes.Buffer
@@ -481,339 +156,3 @@
 	}
 	return s
 }
-
-// queryLinkFunc returns a URL for a line in a source file with a highlighted
-// query term.
-// s is expected to be a path to a source file.
-// query is expected to be a string that has already been appropriately escaped
-// for use in a URL query.
-func queryLinkFunc(s, query string, line int) string {
-	url := pathpkg.Clean("/"+s) + "?h=" + query
-	if line > 0 {
-		url += "#L" + strconv.Itoa(line)
-	}
-	return url
-}
-
-func docLinkFunc(s string, ident string) string {
-	return pathpkg.Clean("/pkg/"+s) + "/#" + ident
-}
-
-func (p *Presentation) example_htmlFunc(info *PageInfo, funcName string) string {
-	var buf bytes.Buffer
-	for _, eg := range info.Examples {
-		name := stripExampleSuffix(eg.Name)
-
-		if name != funcName {
-			continue
-		}
-
-		// print code
-		cnode := &printer.CommentedNode{Node: eg.Code, Comments: eg.Comments}
-		code := p.node_htmlFunc(info, cnode, true)
-		out := eg.Output
-		wholeFile := true
-
-		// Additional formatting if this is a function body.
-		if n := len(code); n >= 2 && code[0] == '{' && code[n-1] == '}' {
-			wholeFile = false
-			// remove surrounding braces
-			code = code[1 : n-1]
-			// unindent
-			code = replaceLeadingIndentation(code, strings.Repeat(" ", p.TabWidth), "")
-			// remove output comment
-			if loc := exampleOutputRx.FindStringIndex(code); loc != nil {
-				code = strings.TrimSpace(code[:loc[0]])
-			}
-		}
-
-		// Write out the playground code in standard Go style
-		// (use tabs, no comment highlight, etc).
-		play := ""
-		if eg.Play != nil && p.ShowPlayground {
-			var buf bytes.Buffer
-			eg.Play.Comments = filterOutBuildAnnotations(eg.Play.Comments)
-			if err := format.Node(&buf, info.FSet, eg.Play); err != nil {
-				log.Print(err)
-			} else {
-				play = buf.String()
-			}
-		}
-
-		// Drop output, as the output comment will appear in the code.
-		if wholeFile && play == "" {
-			out = ""
-		}
-
-		if p.ExampleHTML == nil {
-			out = ""
-			return ""
-		}
-
-		err := p.ExampleHTML.Execute(&buf, struct {
-			Name, Doc, Code, Play, Output string
-			GoogleCN                      bool
-		}{eg.Name, eg.Doc, code, play, out, info.GoogleCN})
-		if err != nil {
-			log.Print(err)
-		}
-	}
-	return buf.String()
-}
-
-func filterOutBuildAnnotations(cg []*ast.CommentGroup) []*ast.CommentGroup {
-	if len(cg) == 0 {
-		return cg
-	}
-
-	for i := range cg {
-		if !strings.HasPrefix(cg[i].Text(), "+build ") {
-			// Found the first non-build tag, return from here until the end
-			// of the slice.
-			return cg[i:]
-		}
-	}
-
-	// There weren't any non-build tags, return an empty slice.
-	return []*ast.CommentGroup{}
-}
-
-// example_nameFunc takes an example function name and returns its display
-// name. For example, "Foo_Bar_quux" becomes "Foo.Bar (Quux)".
-func (p *Presentation) example_nameFunc(s string) string {
-	name, suffix := splitExampleName(s)
-	// replace _ with . for method names
-	name = strings.Replace(name, "_", ".", 1)
-	// use "Package" if no name provided
-	if name == "" {
-		name = "Package"
-	}
-	return name + suffix
-}
-
-// example_suffixFunc takes an example function name and returns its suffix in
-// parenthesized form. For example, "Foo_Bar_quux" becomes " (Quux)".
-func (p *Presentation) example_suffixFunc(name string) string {
-	_, suffix := splitExampleName(name)
-	return suffix
-}
-
-func noteTitle(note string) string {
-	return strings.Title(strings.ToLower(note))
-}
-
-func startsWithUppercase(s string) bool {
-	r, _ := utf8.DecodeRuneInString(s)
-	return unicode.IsUpper(r)
-}
-
-var exampleOutputRx = regexp.MustCompile(`(?i)//[[:space:]]*(unordered )?output:`)
-
-// stripExampleSuffix strips lowercase braz in Foo_braz or Foo_Bar_braz from name
-// while keeping uppercase Braz in Foo_Braz.
-func stripExampleSuffix(name string) string {
-	if i := strings.LastIndex(name, "_"); i != -1 {
-		if i < len(name)-1 && !startsWithUppercase(name[i+1:]) {
-			name = name[:i]
-		}
-	}
-	return name
-}
-
-func splitExampleName(s string) (name, suffix string) {
-	i := strings.LastIndex(s, "_")
-	if 0 <= i && i < len(s)-1 && !startsWithUppercase(s[i+1:]) {
-		name = s[:i]
-		suffix = " (" + strings.Title(s[i+1:]) + ")"
-		return
-	}
-	name = s
-	return
-}
-
-// replaceLeadingIndentation replaces oldIndent at the beginning of each line
-// with newIndent. This is used for formatting examples. Raw strings that
-// span multiple lines are handled specially: oldIndent is not removed (since
-// go/printer will not add any indentation there), but newIndent is added
-// (since we may still want leading indentation).
-func replaceLeadingIndentation(body, oldIndent, newIndent string) string {
-	// Handle indent at the beginning of the first line. After this, we handle
-	// indentation only after a newline.
-	var buf bytes.Buffer
-	if strings.HasPrefix(body, oldIndent) {
-		buf.WriteString(newIndent)
-		body = body[len(oldIndent):]
-	}
-
-	// Use a state machine to keep track of whether we're in a string or
-	// rune literal while we process the rest of the code.
-	const (
-		codeState = iota
-		runeState
-		interpretedStringState
-		rawStringState
-	)
-	searchChars := []string{
-		"'\"`\n", // codeState
-		`\'`,     // runeState
-		`\"`,     // interpretedStringState
-		"`\n",    // rawStringState
-		// newlineState does not need to search
-	}
-	state := codeState
-	for {
-		i := strings.IndexAny(body, searchChars[state])
-		if i < 0 {
-			buf.WriteString(body)
-			break
-		}
-		c := body[i]
-		buf.WriteString(body[:i+1])
-		body = body[i+1:]
-		switch state {
-		case codeState:
-			switch c {
-			case '\'':
-				state = runeState
-			case '"':
-				state = interpretedStringState
-			case '`':
-				state = rawStringState
-			case '\n':
-				if strings.HasPrefix(body, oldIndent) {
-					buf.WriteString(newIndent)
-					body = body[len(oldIndent):]
-				}
-			}
-
-		case runeState:
-			switch c {
-			case '\\':
-				r, size := utf8.DecodeRuneInString(body)
-				buf.WriteRune(r)
-				body = body[size:]
-			case '\'':
-				state = codeState
-			}
-
-		case interpretedStringState:
-			switch c {
-			case '\\':
-				r, size := utf8.DecodeRuneInString(body)
-				buf.WriteRune(r)
-				body = body[size:]
-			case '"':
-				state = codeState
-			}
-
-		case rawStringState:
-			switch c {
-			case '`':
-				state = codeState
-			case '\n':
-				buf.WriteString(newIndent)
-			}
-		}
-	}
-	return buf.String()
-}
-
-// writeNode writes the AST node x to w.
-//
-// The provided fset must be non-nil. The pageInfo is optional. If
-// present, the pageInfo is used to add comments to struct fields to
-// say which version of Go introduced them.
-func (p *Presentation) writeNode(w io.Writer, pageInfo *PageInfo, fset *token.FileSet, x interface{}) {
-	// convert trailing tabs into spaces using a tconv filter
-	// to ensure a good outcome in most browsers (there may still
-	// be tabs in comments and strings, but converting those into
-	// the right number of spaces is much harder)
-	//
-	// TODO(gri) rethink printer flags - perhaps tconv can be eliminated
-	//           with an another printer mode (which is more efficiently
-	//           implemented in the printer than here with another layer)
-
-	var pkgName, structName string
-	var apiInfo pkgAPIVersions
-	if gd, ok := x.(*ast.GenDecl); ok && pageInfo != nil && pageInfo.PDoc != nil &&
-		p.Corpus != nil &&
-		gd.Tok == token.TYPE && len(gd.Specs) != 0 {
-		pkgName = pageInfo.PDoc.ImportPath
-		if ts, ok := gd.Specs[0].(*ast.TypeSpec); ok {
-			if _, ok := ts.Type.(*ast.StructType); ok {
-				structName = ts.Name.Name
-			}
-		}
-		apiInfo = p.Corpus.pkgAPIInfo[pkgName]
-	}
-
-	var out = w
-	var buf bytes.Buffer
-	if structName != "" {
-		out = &buf
-	}
-
-	mode := printer.TabIndent | printer.UseSpaces
-	err := (&printer.Config{Mode: mode, Tabwidth: p.TabWidth}).Fprint(&tconv{p: p, output: out}, fset, x)
-	if err != nil {
-		log.Print(err)
-	}
-
-	// Add comments to struct fields saying which Go version introduced them.
-	if structName != "" {
-		fieldSince := apiInfo.fieldSince[structName]
-		typeSince := apiInfo.typeSince[structName]
-		// Add/rewrite comments on struct fields to note which Go version added them.
-		var buf2 bytes.Buffer
-		buf2.Grow(buf.Len() + len(" // Added in Go 1.n")*10)
-		bs := bufio.NewScanner(&buf)
-		for bs.Scan() {
-			line := bs.Bytes()
-			field := firstIdent(line)
-			var since string
-			if field != "" {
-				since = fieldSince[field]
-				if since != "" && since == typeSince {
-					// Don't highlight field versions if they were the
-					// same as the struct itself.
-					since = ""
-				}
-			}
-			if since == "" {
-				buf2.Write(line)
-			} else {
-				if bytes.Contains(line, slashSlash) {
-					line = bytes.TrimRight(line, " \t.")
-					buf2.Write(line)
-					buf2.WriteString("; added in Go ")
-				} else {
-					buf2.Write(line)
-					buf2.WriteString(" // Go ")
-				}
-				buf2.WriteString(since)
-			}
-			buf2.WriteByte('\n')
-		}
-		w.Write(buf2.Bytes())
-	}
-}
-
-var slashSlash = []byte("//")
-
-// WriteNode writes x to w.
-// TODO(bgarcia) Is this method needed? It's just a wrapper for p.writeNode.
-func (p *Presentation) WriteNode(w io.Writer, fset *token.FileSet, x interface{}) {
-	p.writeNode(w, nil, fset, x)
-}
-
-// firstIdent returns the first identifier in x.
-// This actually parses "identifiers" that begin with numbers too, but we
-// never feed it such input, so it's fine.
-func firstIdent(x []byte) string {
-	x = bytes.TrimSpace(x)
-	i := bytes.IndexFunc(x, func(r rune) bool { return !unicode.IsLetter(r) && !unicode.IsNumber(r) })
-	if i == -1 {
-		return string(x)
-	}
-	return string(x[:i])
-}
internal/godoc/godoc_test.go
@@ -5,11 +5,6 @@
 package godoc

 import (
-	"bytes"
-	"fmt"
-	"go/parser"
-	"go/token"
-	"strings"
 	"testing"
 )

@@ -67,231 +62,6 @@
 	}
 }

-func TestQueryLinkFunc(t *testing.T) {
-	for _, tc := range []struct {
-		src   string
-		query string
-		line  int
-		want  string
-	}{
-		{"/src/fmt/print.go", "Sprintf", 33, "/src/fmt/print.go?h=Sprintf#L33"},
-		{"/src/fmt/print.go", "Sprintf", 0, "/src/fmt/print.go?h=Sprintf"},
-		{"src/fmt/print.go", "EOF", 33, "/src/fmt/print.go?h=EOF#L33"},
-		{"src/fmt/print.go", "a%3f+%26b", 1, "/src/fmt/print.go?h=a%3f+%26b#L1"},
-	} {
-		if got := queryLinkFunc(tc.src, tc.query, tc.line); got != tc.want {
-			t.Errorf("queryLinkFunc(%v, %v, %v) = %v; want %v", tc.src, tc.query, tc.line, got, tc.want)
-		}
-	}
-}
-
-func TestDocLinkFunc(t *testing.T) {
-	for _, tc := range []struct {
-		src   string
-		ident string
-		want  string
-	}{
-		{"fmt", "Sprintf", "/pkg/fmt/#Sprintf"},
-		{"fmt", "EOF", "/pkg/fmt/#EOF"},
-	} {
-		if got := docLinkFunc(tc.src, tc.ident); got != tc.want {
-			t.Errorf("docLinkFunc(%v, %v) = %v; want %v", tc.src, tc.ident, got, tc.want)
-		}
-	}
-}
-
-func TestSanitizeFunc(t *testing.T) {
-	for _, tc := range []struct {
-		src  string
-		want string
-	}{
-		{},
-		{"foo", "foo"},
-		{"func   f()", "func f()"},
-		{"func f(a int,)", "func f(a int)"},
-		{"func f(a int,\n)", "func f(a int)"},
-		{"func f(\n\ta int,\n\tb int,\n\tc int,\n)", "func f(a int, b int, c int)"},
-		{"  (   a,   b,  c  )  ", "(a, b, c)"},
-		{"(  a,  b, c    int, foo   bar  ,  )", "(a, b, c int, foo bar)"},
-		{"{   a,   b}", "{a, b}"},
-		{"[   a,   b]", "[a, b]"},
-	} {
-		if got := sanitizeFunc(tc.src); got != tc.want {
-			t.Errorf("sanitizeFunc(%v) = %v; want %v", tc.src, got, tc.want)
-		}
-	}
-}
-
-// Test that we add <span id="StructName.FieldName"> elements
-// to the HTML of struct fields.
-func TestStructFieldsIDAttributes(t *testing.T) {
-	got := linkifySource(t, []byte(`
-package foo
-
-type T struct {
-	NoDoc string
-
-	// Doc has a comment.
-	Doc string
-
-	// Opt, if non-nil, is an option.
-	Opt *int
-
-	// Опция - другое поле.
-	Опция bool
-}
-`))
-	want := `type T struct {
-<span id="T.NoDoc"></span>NoDoc <a href="/pkg/builtin/#string">string</a>
-
-<span id="T.Doc"></span><span class="comment">// Doc has a comment.</span>
-Doc <a href="/pkg/builtin/#string">string</a>
-
-<span id="T.Opt"></span><span class="comment">// Opt, if non-nil, is an option.</span>
-Opt *<a href="/pkg/builtin/#int">int</a>
-
-<span id="T.Опция"></span><span class="comment">// Опция - другое поле.</span>
-Опция <a href="/pkg/builtin/#bool">bool</a>
-}`
-	if got != want {
-		t.Errorf("got: %s\n\nwant: %s\n", got, want)
-	}
-}
-
-// Test that we add <span id="ConstName"> elements to the HTML
-// of definitions in const and var specs.
-func TestValueSpecIDAttributes(t *testing.T) {
-	got := linkifySource(t, []byte(`
-package foo
-
-const (
-	NoDoc string = "NoDoc"
-
-	// Doc has a comment
-	Doc = "Doc"
-
-	NoVal
-)`))
-	want := `const (
-<span id="NoDoc">NoDoc</span> <a href="/pkg/builtin/#string">string</a> = &#34;NoDoc&#34;
-
-<span class="comment">// Doc has a comment</span>
-<span id="Doc">Doc</span> = &#34;Doc&#34;
-
-<span id="NoVal">NoVal</span>
-)`
-	if got != want {
-		t.Errorf("got: %s\n\nwant: %s\n", got, want)
-	}
-}
-
-func TestCompositeLitLinkFields(t *testing.T) {
-	got := linkifySource(t, []byte(`
-package foo
-
-type T struct {
-	X int
-}
-
-var S T = T{X: 12}`))
-	want := `type T struct {
-<span id="T.X"></span>X <a href="/pkg/builtin/#int">int</a>
-}
-var <span id="S">S</span> <a href="#T">T</a> = <a href="#T">T</a>{<a href="#T.X">X</a>: 12}`
-	if got != want {
-		t.Errorf("got: %s\n\nwant: %s\n", got, want)
-	}
-}
-
-func TestFuncDeclNotLink(t *testing.T) {
-	// Function.
-	got := linkifySource(t, []byte(`
-package http
-
-func Get(url string) (resp *Response, err error)`))
-	want := `func Get(url <a href="/pkg/builtin/#string">string</a>) (resp *<a href="#Response">Response</a>, err <a href="/pkg/builtin/#error">error</a>)`
-	if got != want {
-		t.Errorf("got: %s\n\nwant: %s\n", got, want)
-	}
-
-	// Method.
-	got = linkifySource(t, []byte(`
-package http
-
-func (h Header) Get(key string) string`))
-	want = `func (h <a href="#Header">Header</a>) Get(key <a href="/pkg/builtin/#string">string</a>) <a href="/pkg/builtin/#string">string</a>`
-	if got != want {
-		t.Errorf("got: %s\n\nwant: %s\n", got, want)
-	}
-}
-
-func linkifySource(t *testing.T, src []byte) string {
-	p := &Presentation{
-		DeclLinks: true,
-	}
-	fset := token.NewFileSet()
-	af, err := parser.ParseFile(fset, "foo.go", src, parser.ParseComments)
-	if err != nil {
-		t.Fatal(err)
-	}
-	var buf bytes.Buffer
-	pi := &PageInfo{
-		FSet: fset,
-	}
-	sep := ""
-	for _, decl := range af.Decls {
-		buf.WriteString(sep)
-		sep = "\n"
-		buf.WriteString(p.node_htmlFunc(pi, decl, true))
-	}
-	return buf.String()
-}
-
-func TestScanIdentifier(t *testing.T) {
-	tests := []struct {
-		in, want string
-	}{
-		{"foo bar", "foo"},
-		{"foo/bar", "foo"},
-		{" foo", ""},
-		{"фоо", "фоо"},
-		{"f123", "f123"},
-		{"123f", ""},
-	}
-	for _, tt := range tests {
-		got := scanIdentifier([]byte(tt.in))
-		if string(got) != tt.want {
-			t.Errorf("scanIdentifier(%q) = %q; want %q", tt.in, got, tt.want)
-		}
-	}
-}
-
-func TestReplaceLeadingIndentation(t *testing.T) {
-	oldIndent := strings.Repeat(" ", 2)
-	newIndent := strings.Repeat(" ", 4)
-	tests := []struct {
-		src, want string
-	}{
-		{"  foo\n    bar\n  baz", "    foo\n      bar\n    baz"},
-		{"  '`'\n  '`'\n", "    '`'\n    '`'\n"},
-		{"  '\\''\n  '`'\n", "    '\\''\n    '`'\n"},
-		{"  \"`\"\n  \"`\"\n", "    \"`\"\n    \"`\"\n"},
-		{"  `foo\n  bar`", "    `foo\n      bar`"},
-		{"  `foo\\`\n  bar", "    `foo\\`\n    bar"},
-		{"  '\\`'`foo\n  bar", "    '\\`'`foo\n      bar"},
-		{
-			"  if true {\n    foo := `One\n    \tTwo\nThree`\n  }\n",
-			"    if true {\n      foo := `One\n        \tTwo\n    Three`\n    }\n",
-		},
-	}
-	for _, tc := range tests {
-		if got := replaceLeadingIndentation(tc.src, oldIndent, newIndent); got != tc.want {
-			t.Errorf("replaceLeadingIndentation:\n%v\n---\nhave:\n%v\n---\nwant:\n%v\n",
-				tc.src, got, tc.want)
-		}
-	}
-}
-
 func TestSrcBreadcrumbFunc(t *testing.T) {
 	for _, tc := range []struct {
 		path string
@@ -322,72 +92,3 @@
 		}
 	}
 }
-
-func TestFilterOutBuildAnnotations(t *testing.T) {
-	// TODO: simplify this by using a multiline string once we stop
-	// using go vet from 1.10 on the build dashboard.
-	// https://golang.org/issue/26627
-	src := []byte("// +build !foo\n" +
-		"// +build !anothertag\n" +
-		"\n" +
-		"// non-tag comment\n" +
-		"\n" +
-		"package foo\n" +
-		"\n" +
-		"func bar() int {\n" +
-		"	return 42\n" +
-		"}\n")
-
-	fset := token.NewFileSet()
-	af, err := parser.ParseFile(fset, "foo.go", src, parser.ParseComments)
-	if err != nil {
-		t.Fatal(err)
-	}
-
-	var found bool
-	for _, cg := range af.Comments {
-		if strings.HasPrefix(cg.Text(), "+build ") {
-			found = true
-			break
-		}
-	}
-	if !found {
-		t.Errorf("TestFilterOutBuildAnnotations is broken: missing build tag in test input")
-	}
-
-	found = false
-	for _, cg := range filterOutBuildAnnotations(af.Comments) {
-		if strings.HasPrefix(cg.Text(), "+build ") {
-			t.Errorf("filterOutBuildAnnotations failed to filter build tag")
-		}
-
-		if strings.Contains(cg.Text(), "non-tag comment") {
-			found = true
-		}
-	}
-	if !found {
-		t.Errorf("filterOutBuildAnnotations should not remove non-build tag comment")
-	}
-}
-
-// Verify that scanIdentifier isn't quadratic.
-// This doesn't actually measure and fail on its own, but it was previously
-// very obvious when running by hand.
-//
-// TODO: if there's a reliable and non-flaky way to test this, do so.
-// Maybe count user CPU time instead of wall time? But that's not easy
-// to do portably in Go.
-func TestStructField(t *testing.T) {
-	for _, n := range []int{10, 100, 1000, 10000} {
-		n := n
-		t.Run(fmt.Sprint(n), func(t *testing.T) {
-			var buf bytes.Buffer
-			fmt.Fprintf(&buf, "package foo\n\ntype T struct {\n")
-			for i := 0; i < n; i++ {
-				fmt.Fprintf(&buf, "\t// Field%d is foo.\n\tField%d int\n\n", i, i)
-			}
-			fmt.Fprintf(&buf, "}\n")
-			linkifySource(t, buf.Bytes())
-		})
-	}
-}
internal/godoc/linkify.go
@@ -1,195 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file implements LinkifyText which introduces
-// links for identifiers pointing to their declarations.
-// The approach does not cover all cases because godoc
-// doesn't have complete type information, but it's
-// reasonably good for browsing.
-
-package godoc
-
-import (
-	"fmt"
-	"go/ast"
-	"go/doc"
-	"go/token"
-	"io"
-	"strconv"
-)
-
-// LinkifyText HTML-escapes source text and writes it to w.
-// Identifiers that are in a "use" position (i.e., that are
-// not being declared), are wrapped with HTML links pointing
-// to the respective declaration, if possible. Comments are
-// formatted the same way as with FormatText.
-//
-func LinkifyText(w io.Writer, text []byte, n ast.Node) {
-	links := linksFor(n)
-
-	i := 0     // links index
-	prev := "" // prev HTML tag
-	linkWriter := func(w io.Writer, _ int, start bool) {
-		// end tag
-		if !start {
-			if prev != "" {
-				fmt.Fprintf(w, `</%s>`, prev)
-				prev = ""
-			}
-			return
-		}
-
-		// start tag
-		prev = ""
-		if i < len(links) {
-			switch info := links[i]; {
-			case info.path != "" && info.name == "":
-				// package path
-				fmt.Fprintf(w, `<a href="/pkg/%s/">`, info.path)
-				prev = "a"
-			case info.path != "" && info.name != "":
-				// qualified identifier
-				fmt.Fprintf(w, `<a href="/pkg/%s/#%s">`, info.path, info.name)
-				prev = "a"
-			case info.path == "" && info.name != "":
-				// local identifier
-				if info.isVal {
-					fmt.Fprintf(w, `<span id="%s">`, info.name)
-					prev = "span"
-				} else if ast.IsExported(info.name) {
-					fmt.Fprintf(w, `<a href="#%s">`, info.name)
-					prev = "a"
-				}
-			}
-			i++
-		}
-	}
-
-	idents := tokenSelection(text, token.IDENT)
-	comments := tokenSelection(text, token.COMMENT)
-	FormatSelections(w, text, linkWriter, idents, selectionTag, comments)
-}
-
-// A link describes the (HTML) link information for an identifier.
-// The zero value of a link represents "no link".
-//
-type link struct {
-	path, name string // package path, identifier name
-	isVal      bool   // identifier is defined in a const or var declaration
-}
-
-// linksFor returns the list of links for the identifiers used
-// by node in the same order as they appear in the source.
-//
-func linksFor(node ast.Node) (links []link) {
-	// linkMap tracks link information for each ast.Ident node. Entries may
-	// be created out of source order (for example, when we visit a parent
-	// definition node). These links are appended to the returned slice when
-	// their ast.Ident nodes are visited.
-	linkMap := make(map[*ast.Ident]link)
-
-	ast.Inspect(node, func(node ast.Node) bool {
-		switch n := node.(type) {
-		case *ast.Field:
-			for _, n := range n.Names {
-				linkMap[n] = link{}
-			}
-		case *ast.ImportSpec:
-			if name := n.Name; name != nil {
-				linkMap[name] = link{}
-			}
-		case *ast.ValueSpec:
-			for _, n := range n.Names {
-				linkMap[n] = link{name: n.Name, isVal: true}
-			}
-		case *ast.FuncDecl:
-			linkMap[n.Name] = link{}
-		case *ast.TypeSpec:
-			linkMap[n.Name] = link{}
-		case *ast.AssignStmt:
-			// Short variable declarations only show up if we apply
-			// this code to all source code (as opposed to exported
-			// declarations only).
-			if n.Tok == token.DEFINE {
-				// Some of the lhs variables may be re-declared,
-				// so technically they are not defs. We don't
-				// care for now.
-				for _, x := range n.Lhs {
-					// Each lhs expression should be an
-					// ident, but we are conservative and check.
-					if n, _ := x.(*ast.Ident); n != nil {
-						linkMap[n] = link{isVal: true}
-					}
-				}
-			}
-		case *ast.SelectorExpr:
-			// Detect qualified identifiers of the form pkg.ident.
-			// If anything fails we return true and collect individual
-			// identifiers instead.
-			if x, _ := n.X.(*ast.Ident); x != nil {
-				// Create links only if x is a qualified identifier.
-				if obj := x.Obj; obj != nil && obj.Kind == ast.Pkg {
-					if spec, _ := obj.Decl.(*ast.ImportSpec); spec != nil {
-						// spec.Path.Value is the import path
-						if path, err := strconv.Unquote(spec.Path.Value); err == nil {
-							// Register two links, one for the package
-							// and one for the qualified identifier.
-							linkMap[x] = link{path: path}
-							linkMap[n.Sel] = link{path: path, name: n.Sel.Name}
-						}
-					}
-				}
-			}
-		case *ast.CompositeLit:
-			// Detect field names within composite literals. These links should
-			// be prefixed by the type name.
-			fieldPath := ""
-			prefix := ""
-			switch typ := n.Type.(type) {
-			case *ast.Ident:
-				prefix = typ.Name + "."
-			case *ast.SelectorExpr:
-				if x, _ := typ.X.(*ast.Ident); x != nil {
-					// Create links only if x is a qualified identifier.
-					if obj := x.Obj; obj != nil && obj.Kind == ast.Pkg {
-						if spec, _ := obj.Decl.(*ast.ImportSpec); spec != nil {
-							// spec.Path.Value is the import path
-							if path, err := strconv.Unquote(spec.Path.Value); err == nil {
-								// Register two links, one for the package
-								// and one for the qualified identifier.
-								linkMap[x] = link{path: path}
-								linkMap[typ.Sel] = link{path: path, name: typ.Sel.Name}
-								fieldPath = path
-								prefix = typ.Sel.Name + "."
-							}
-						}
-					}
-				}
-			}
-			for _, e := range n.Elts {
-				if kv, ok := e.(*ast.KeyValueExpr); ok {
-					if k, ok := kv.Key.(*ast.Ident); ok {
-						// Note: there is some syntactic ambiguity here. We cannot determine
-						// if this is a struct literal or a map literal without type
-						// information. We assume struct literal.
-						name := prefix + k.Name
-						linkMap[k] = link{path: fieldPath, name: name}
-					}
-				}
-			}
-		case *ast.Ident:
-			if l, ok := linkMap[n]; ok {
-				links = append(links, l)
-			} else {
-				l := link{name: n.Name}
-				if n.Obj == nil && doc.IsPredeclared(n.Name) {
-					l.path = builtinPkgPath
-				}
-				links = append(links, l)
-			}
-		}
-		return true
-	})
-	return
-}
internal/godoc/parser.go
@@ -1,73 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains support functions for parsing .go files
-// accessed via godoc's file system fs.
-
-package godoc
-
-import (
-	"bytes"
-	"go/ast"
-	"go/parser"
-	"go/token"
-	"io/fs"
-	pathpkg "path"
-)
-
-var linePrefix = []byte("//line ")
-
-// This function replaces source lines starting with "//line " with a blank line.
-// It does this irrespective of whether the line is truly a line comment or not;
-// e.g., the line may be inside a string, or a /*-style comment; however that is
-// rather unlikely (proper testing would require a full Go scan which we want to
-// avoid for performance).
-func replaceLinePrefixCommentsWithBlankLine(src []byte) {
-	for {
-		i := bytes.Index(src, linePrefix)
-		if i < 0 {
-			break // we're done
-		}
-		// 0 <= i && i+len(linePrefix) <= len(src)
-		if i == 0 || src[i-1] == '\n' {
-			// at beginning of line: blank out line
-			for i < len(src) && src[i] != '\n' {
-				src[i] = ' '
-				i++
-			}
-		} else {
-			// not at beginning of line: skip over prefix
-			i += len(linePrefix)
-		}
-		// i <= len(src)
-		src = src[i:]
-	}
-}
-
-func (c *Corpus) parseFile(fset *token.FileSet, filename string, mode parser.Mode) (*ast.File, error) {
-	src, err := fs.ReadFile(c.fs, toFS(filename))
-	if err != nil {
-		return nil, err
-	}
-
-	// Temporary ad-hoc fix for issue 5247.
-	// TODO(gri,dmitshur) Remove this in favor of a better fix, eventually (see issue 32092).
-	replaceLinePrefixCommentsWithBlankLine(src)
-
-	return parser.ParseFile(fset, filename, src, mode)
-}
-
-func (c *Corpus) parseFiles(fset *token.FileSet, relpath string, abspath string, localnames []string) (map[string]*ast.File, error) {
-	files := make(map[string]*ast.File)
-	for _, f := range localnames {
-		absname := pathpkg.Join(abspath, f)
-		file, err := c.parseFile(fset, absname, parser.ParseComments)
-		if err != nil {
-			return nil, err
-		}
-		files[pathpkg.Join(relpath, f)] = file
-	}
-
-	return files, nil
-}
internal/godoc/pres.go
@@ -6,8 +6,6 @@

 import (
 	"net/http"
-	"regexp"
-	"sync"
 	"text/template"
 )

@@ -17,53 +15,12 @@

 	mux        *http.ServeMux
 	fileServer http.Handler
-	cmdHandler handlerServer
-	pkgHandler handlerServer

 	DirlistHTML,
 	ErrorHTML,
-	ExampleHTML,
-	GodocHTML,
-	PackageHTML,
-	PackageRootHTML *template.Template
+	GodocHTML *template.Template

-	// TabWidth optionally specifies the tab width.
-	TabWidth int
-
-	ShowTimestamps bool
 	ShowPlayground bool
-	DeclLinks      bool
-
-	// NotesRx optionally specifies a regexp to match
-	// notes to render in the output.
-	NotesRx *regexp.Regexp
-
-	// AdjustPageInfoMode optionally specifies a function to
-	// modify the PageInfoMode of a request. The default chosen
-	// value is provided.
-	AdjustPageInfoMode func(req *http.Request, mode PageInfoMode) PageInfoMode
-
-	// URLForSrc optionally specifies a function that takes a source file and
-	// returns a URL for it.
-	// The source file argument has the form /src/<path>/<filename>.
-	URLForSrc func(src string) string
-
-	// URLForSrcPos optionally specifies a function to create a URL given a
-	// source file, a line from the source file (1-based), and low & high offset
-	// positions (0-based, bytes from beginning of file). Ideally, the returned
-	// URL will be for the specified line of the file, while the high & low
-	// positions will be used to highlight a section of the file.
-	// The source file argument has the form /src/<path>/<filename>.
-	URLForSrcPos func(src string, line, low, high int) string
-
-	// URLForSrcQuery optionally specifies a function to create a URL given a
-	// source file, a query string, and a line from the source file (1-based).
-	// The source file argument has the form /src/<path>/<filename>.
-	// The query argument will be escaped for the purposes of embedding in a URL
-	// query parameter.
-	// Ideally, the returned URL will be for the specified line of the file with
-	// the query string highlighted.
-	URLForSrcQuery func(src, query string, line int) string

 	// GoogleCN reports whether this request should be marked GoogleCN.
 	GoogleCN func(*http.Request) bool
@@ -72,9 +29,8 @@
 	// tracking ID to each page.
 	GoogleAnalytics string

-	initFuncMapOnce sync.Once
-	funcMap         template.FuncMap
-	templateFuncs   template.FuncMap
+	funcMap       template.FuncMap
+	templateFuncs template.FuncMap
 }

 // NewPresentation returns a new Presentation from a corpus.
@@ -86,26 +42,8 @@
 		Corpus:     c,
 		mux:        http.NewServeMux(),
 		fileServer: http.FileServer(http.FS(c.fs)),
-
-		TabWidth:  4,
-		DeclLinks: true,
 	}
-	p.cmdHandler = handlerServer{
-		p:       p,
-		c:       c,
-		pattern: "/cmd/",
-		fsRoot:  "/src",
-	}
-	p.pkgHandler = handlerServer{
-		p:           p,
-		c:           c,
-		pattern:     "/pkg/",
-		stripPrefix: "pkg/",
-		fsRoot:      "/src",
-		exclude:     []string{"/src/cmd"},
-	}
-	p.cmdHandler.registerWithMux(p.mux)
-	p.pkgHandler.registerWithMux(p.mux)
+	p.initFuncMap()
 	p.mux.HandleFunc("/", p.ServeFile)
 	return p
 }
@@ -118,26 +56,6 @@
 	p.mux.ServeHTTP(w, r)
 }

-func (p *Presentation) PkgFSRoot() string {
-	return p.pkgHandler.fsRoot
-}
-
-func (p *Presentation) CmdFSRoot() string {
-	return p.cmdHandler.fsRoot
-}
-
-// TODO(bradfitz): move this to be a method on Corpus. Just moving code around for now,
-// but this doesn't feel right.
-func (p *Presentation) GetPkgPageInfo(abspath, relpath string, mode PageInfoMode) *PageInfo {
-	return p.pkgHandler.GetPageInfo(abspath, relpath, mode, "", "")
-}
-
-// TODO(bradfitz): move this to be a method on Corpus. Just moving code around for now,
-// but this doesn't feel right.
-func (p *Presentation) GetCmdPageInfo(abspath, relpath string, mode PageInfoMode) *PageInfo {
-	return p.cmdHandler.GetPageInfo(abspath, relpath, mode, "", "")
-}
-
 func (p *Presentation) googleCN(r *http.Request) bool {
 	return p.GoogleCN != nil && p.GoogleCN(r)
 }
internal/godoc/server.go
@@ -6,486 +6,24 @@

 import (
 	"bytes"
-	"encoding/json"
-	"errors"
 	"fmt"
-	"go/ast"
-	"go/build"
-	"go/doc"
 	"go/token"
 	htmlpkg "html"
 	"io"
 	"io/fs"
-	"io/ioutil"
 	"log"
 	"net/http"
-	"os"
 	pathpkg "path"
-	"path/filepath"
-	"sort"
 	"strings"
 	"text/template"
-	"time"
 )

-// handlerServer is a migration from an old godoc http Handler type.
-// This should probably merge into something else.
-type handlerServer struct {
-	p           *Presentation
-	c           *Corpus  // copy of p.Corpus
-	pattern     string   // url pattern; e.g. "/pkg/"
-	stripPrefix string   // prefix to strip from import path; e.g. "pkg/"
-	fsRoot      string   // file system root to which the pattern is mapped; e.g. "/src"
-	exclude     []string // file system paths to exclude; e.g. "/src/cmd"
-}
-
-func (s *handlerServer) registerWithMux(mux *http.ServeMux) {
-	mux.Handle(s.pattern, s)
-}
-
-// GetPageInfo returns the PageInfo for a package directory abspath. If the
-// parameter genAST is set, an AST containing only the package exports is
-// computed (PageInfo.PAst), otherwise package documentation (PageInfo.Doc)
-// is extracted from the AST. If there is no corresponding package in the
-// directory, PageInfo.PAst and PageInfo.PDoc are nil. If there are no sub-
-// directories, PageInfo.Dirs is nil. If an error occurred, PageInfo.Err is
-// set to the respective error but the error is not logged.
-//
-func (h *handlerServer) GetPageInfo(abspath, relpath string, mode PageInfoMode, goos, goarch string) *PageInfo {
-	info := &PageInfo{Dirname: abspath, Mode: mode}
-
-	// Restrict to the package files that would be used when building
-	// the package on this system.  This makes sure that if there are
-	// separate implementations for, say, Windows vs Unix, we don't
-	// jumble them all together.
-	// Note: If goos/goarch aren't set, the current binary's GOOS/GOARCH
-	// are used.
-	ctxt := build.Default
-	ctxt.IsAbsPath = pathpkg.IsAbs
-	ctxt.IsDir = func(path string) bool {
-		fi, err := fs.Stat(h.c.fs, toFS(path))
-		return err == nil && fi.IsDir()
+// toFS returns the io/fs name for path (no leading slash).
+func toFS(path string) string {
+	if path == "/" {
+		return "."
 	}
-	ctxt.ReadDir = func(dir string) ([]os.FileInfo, error) {
-		f, err := fs.ReadDir(h.c.fs, toFS(dir))
-		filtered := make([]os.FileInfo, 0, len(f))
-		for _, i := range f {
-			if mode&NoFiltering != 0 || i.Name() != "internal" {
-				info, err := i.Info()
-				if err == nil {
-					filtered = append(filtered, info)
-				}
-			}
-		}
-		return filtered, err
-	}
-	ctxt.OpenFile = func(name string) (r io.ReadCloser, err error) {
-		data, err := fs.ReadFile(h.c.fs, toFS(filepath.ToSlash(name)))
-		if err != nil {
-			return nil, err
-		}
-		return ioutil.NopCloser(bytes.NewReader(data)), nil
-	}
-
-	// Make the syscall/js package always visible by default.
-	// It defaults to the host's GOOS/GOARCH, and golang.org's
-	// linux/amd64 means the wasm syscall/js package was blank.
-	// And you can't run godoc on js/wasm anyway, so host defaults
-	// don't make sense here.
-	if goos == "" && goarch == "" && relpath == "syscall/js" {
-		goos, goarch = "js", "wasm"
-	}
-	if goos != "" {
-		ctxt.GOOS = goos
-	}
-	if goarch != "" {
-		ctxt.GOARCH = goarch
-	}
-
-	pkginfo, err := ctxt.ImportDir(abspath, 0)
-	// continue if there are no Go source files; we still want the directory info
-	if _, nogo := err.(*build.NoGoError); err != nil && !nogo {
-		info.Err = err
-		return info
-	}
-
-	// collect package files
-	pkgname := pkginfo.Name
-	pkgfiles := append(pkginfo.GoFiles, pkginfo.CgoFiles...)
-	if len(pkgfiles) == 0 {
-		// Commands written in C have no .go files in the build.
-		// Instead, documentation may be found in an ignored file.
-		// The file may be ignored via an explicit +build ignore
-		// constraint (recommended), or by defining the package
-		// documentation (historic).
-		pkgname = "main" // assume package main since pkginfo.Name == ""
-		pkgfiles = pkginfo.IgnoredGoFiles
-	}
-
-	// get package information, if any
-	if len(pkgfiles) > 0 {
-		// build package AST
-		fset := token.NewFileSet()
-		files, err := h.c.parseFiles(fset, relpath, abspath, pkgfiles)
-		if err != nil {
-			info.Err = err
-			return info
-		}
-
-		// ignore any errors - they are due to unresolved identifiers
-		pkg, _ := ast.NewPackage(fset, files, poorMansImporter, nil)
-
-		// extract package documentation
-		info.FSet = fset
-		if mode&ShowSource == 0 {
-			// show extracted documentation
-			var m doc.Mode
-			if mode&NoFiltering != 0 {
-				m |= doc.AllDecls
-			}
-			if mode&AllMethods != 0 {
-				m |= doc.AllMethods
-			}
-			info.PDoc = doc.New(pkg, pathpkg.Clean(relpath), m) // no trailing '/' in importpath
-			if mode&NoTypeAssoc != 0 {
-				for _, t := range info.PDoc.Types {
-					info.PDoc.Consts = append(info.PDoc.Consts, t.Consts...)
-					info.PDoc.Vars = append(info.PDoc.Vars, t.Vars...)
-					info.PDoc.Funcs = append(info.PDoc.Funcs, t.Funcs...)
-					t.Consts = nil
-					t.Vars = nil
-					t.Funcs = nil
-				}
-				// for now we cannot easily sort consts and vars since
-				// go/doc.Value doesn't export the order information
-				sort.Sort(funcsByName(info.PDoc.Funcs))
-			}
-
-			// collect examples
-			testfiles := append(pkginfo.TestGoFiles, pkginfo.XTestGoFiles...)
-			files, err = h.c.parseFiles(fset, relpath, abspath, testfiles)
-			if err != nil {
-				log.Println("parsing examples:", err)
-			}
-			info.Examples = collectExamples(h.c, pkg, files)
-
-			// collect any notes that we want to show
-			if info.PDoc.Notes != nil {
-				// could regexp.Compile only once per godoc, but probably not worth it
-				if rx := h.p.NotesRx; rx != nil {
-					for m, n := range info.PDoc.Notes {
-						if rx.MatchString(m) {
-							if info.Notes == nil {
-								info.Notes = make(map[string][]*doc.Note)
-							}
-							info.Notes[m] = n
-						}
-					}
-				}
-			}
-
-		} else {
-			// show source code
-			// TODO(gri) Consider eliminating export filtering in this mode,
-			//           or perhaps eliminating the mode altogether.
-			if mode&NoFiltering == 0 {
-				packageExports(fset, pkg)
-			}
-			info.PAst = files
-		}
-		info.IsMain = pkgname == "main"
-	}
-
-	// get directory information, if any
-	var dir *Directory
-	var timestamp time.Time
-	if tree, ts := h.c.fsTree.Get(); tree != nil && tree.(*Directory) != nil {
-		// directory tree is present; lookup respective directory
-		// (may still fail if the file system was updated and the
-		// new directory tree has not yet been computed)
-		dir = tree.(*Directory).lookup(abspath)
-		timestamp = ts
-	}
-	if dir == nil {
-		// TODO(agnivade): handle this case better, now since there is no CLI mode.
-		// no directory tree present (happens in command-line mode);
-		// compute 2 levels for this page. The second level is to
-		// get the synopses of sub-directories.
-		// note: cannot use path filter here because in general
-		// it doesn't contain the FSTree path
-		dir = h.c.newDirectory(abspath, 2)
-		timestamp = time.Now()
-	}
-	info.Dirs = dir.listing(true, func(path string) bool { return h.includePath(path, mode) })
-
-	info.DirTime = timestamp
-	info.DirFlat = mode&FlatDir != 0
-
-	return info
-}
-
-func (h *handlerServer) includePath(path string, mode PageInfoMode) (r bool) {
-	// if the path is under one of the exclusion paths, don't list.
-	for _, e := range h.exclude {
-		if strings.HasPrefix(path, e) {
-			return false
-		}
-	}
-
-	// if the path includes 'internal', don't list unless we are in the NoFiltering mode.
-	if mode&NoFiltering != 0 {
-		return true
-	}
-	if strings.Contains(path, "internal") || strings.Contains(path, "vendor") {
-		for _, c := range strings.Split(filepath.Clean(path), string(os.PathSeparator)) {
-			if c == "internal" || c == "vendor" {
-				return false
-			}
-		}
-	}
-	return true
-}
-
-type funcsByName []*doc.Func
-
-func (s funcsByName) Len() int           { return len(s) }
-func (s funcsByName) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
-func (s funcsByName) Less(i, j int) bool { return s[i].Name < s[j].Name }
-
-func (h *handlerServer) ServeHTTP(w http.ResponseWriter, r *http.Request) {
-	if redirect(w, r) {
-		return
-	}
-
-	relpath := pathpkg.Clean(r.URL.Path[len(h.stripPrefix)+1:])
-
-	if !h.corpusInitialized() {
-		h.p.ServeError(w, r, relpath, errors.New("Scan is not yet complete. Please retry after a few moments"))
-		return
-	}
-
-	abspath := pathpkg.Join(h.fsRoot, relpath)
-	mode := h.p.GetPageInfoMode(r)
-	if relpath == builtinPkgPath {
-		// The fake built-in package contains unexported identifiers,
-		// but we want to show them. Also, disable type association,
-		// since it's not helpful for this fake package (see issue 6645).
-		mode |= NoFiltering | NoTypeAssoc
-	}
-	info := h.GetPageInfo(abspath, relpath, mode, r.FormValue("GOOS"), r.FormValue("GOARCH"))
-	if info.Err != nil {
-		log.Print(info.Err)
-		h.p.ServeError(w, r, relpath, info.Err)
-		return
-	}
-
-	var tabtitle, title, subtitle string
-	switch {
-	case info.PAst != nil:
-		for _, ast := range info.PAst {
-			tabtitle = ast.Name.Name
-			break
-		}
-	case info.PDoc != nil:
-		tabtitle = info.PDoc.Name
-	default:
-		tabtitle = info.Dirname
-		title = "Directory "
-		if h.p.ShowTimestamps {
-			subtitle = "Last update: " + info.DirTime.String()
-		}
-	}
-	if title == "" {
-		if info.IsMain {
-			// assume that the directory name is the command name
-			_, tabtitle = pathpkg.Split(relpath)
-			title = "Command "
-		} else {
-			title = "Package "
-		}
-	}
-	title += tabtitle
-
-	// special cases for top-level package/command directories
-	switch tabtitle {
-	case "/src":
-		title = "Packages"
-		tabtitle = "Packages"
-	case "/src/cmd":
-		title = "Commands"
-		tabtitle = "Commands"
-	}
-
-	info.GoogleCN = h.p.googleCN(r)
-	var body []byte
-	if info.Dirname == "/src" {
-		body = applyTemplate(h.p.PackageRootHTML, "packageRootHTML", info)
-	} else {
-		body = applyTemplate(h.p.PackageHTML, "packageHTML", info)
-	}
-	h.p.ServePage(w, Page{
-		Title:    title,
-		Tabtitle: tabtitle,
-		Subtitle: subtitle,
-		Body:     body,
-		GoogleCN: info.GoogleCN,
-	})
-}
-
-func (h *handlerServer) corpusInitialized() bool {
-	h.c.initMu.RLock()
-	defer h.c.initMu.RUnlock()
-	return h.c.initDone
-}
-
-type PageInfoMode uint
-
-const (
-	PageInfoModeQueryString = "m" // query string where PageInfoMode is stored
-
-	NoFiltering PageInfoMode = 1 << iota // do not filter exports
-	AllMethods                           // show all embedded methods
-	ShowSource                           // show source code, do not extract documentation
-	FlatDir                              // show directory in a flat (non-indented) manner
-	NoTypeAssoc                          // don't associate consts, vars, and factory functions with types (not exposed via ?m= query parameter, used for package builtin, see issue 6645)
-)
-
-// modeNames defines names for each PageInfoMode flag.
-var modeNames = map[string]PageInfoMode{
-	"all":     NoFiltering,
-	"methods": AllMethods,
-	"src":     ShowSource,
-	"flat":    FlatDir,
-}
-
-// generate a query string for persisting PageInfoMode between pages.
-func modeQueryString(mode PageInfoMode) string {
-	if modeNames := mode.names(); len(modeNames) > 0 {
-		return "?m=" + strings.Join(modeNames, ",")
-	}
-	return ""
-}
-
-// alphabetically sorted names of active flags for a PageInfoMode.
-func (m PageInfoMode) names() []string {
-	var names []string
-	for name, mode := range modeNames {
-		if m&mode != 0 {
-			names = append(names, name)
-		}
-	}
-	sort.Strings(names)
-	return names
-}
-
-// GetPageInfoMode computes the PageInfoMode flags by analyzing the request
-// URL form value "m". It is value is a comma-separated list of mode names
-// as defined by modeNames (e.g.: m=src,text).
-func (p *Presentation) GetPageInfoMode(r *http.Request) PageInfoMode {
-	var mode PageInfoMode
-	for _, k := range strings.Split(r.FormValue(PageInfoModeQueryString), ",") {
-		if m, found := modeNames[strings.TrimSpace(k)]; found {
-			mode |= m
-		}
-	}
-	if p.AdjustPageInfoMode != nil {
-		mode = p.AdjustPageInfoMode(r, mode)
-	}
-	return mode
-}
-
-// poorMansImporter returns a (dummy) package object named
-// by the last path component of the provided package path
-// (as is the convention for packages). This is sufficient
-// to resolve package identifiers without doing an actual
-// import. It never returns an error.
-//
-func poorMansImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) {
-	pkg := imports[path]
-	if pkg == nil {
-		// note that strings.LastIndex returns -1 if there is no "/"
-		pkg = ast.NewObj(ast.Pkg, path[strings.LastIndex(path, "/")+1:])
-		pkg.Data = ast.NewScope(nil) // required by ast.NewPackage for dot-import
-		imports[path] = pkg
-	}
-	return pkg, nil
-}
-
-// globalNames returns a set of the names declared by all package-level
-// declarations. Method names are returned in the form Receiver_Method.
-func globalNames(pkg *ast.Package) map[string]bool {
-	names := make(map[string]bool)
-	for _, file := range pkg.Files {
-		for _, decl := range file.Decls {
-			addNames(names, decl)
-		}
-	}
-	return names
-}
-
-// collectExamples collects examples for pkg from testfiles.
-func collectExamples(c *Corpus, pkg *ast.Package, testfiles map[string]*ast.File) []*doc.Example {
-	var files []*ast.File
-	for _, f := range testfiles {
-		files = append(files, f)
-	}
-
-	var examples []*doc.Example
-	globals := globalNames(pkg)
-	for _, e := range doc.Examples(files...) {
-		name := stripExampleSuffix(e.Name)
-		if name == "" || globals[name] {
-			examples = append(examples, e)
-		} else if c.Verbose {
-			log.Printf("skipping example 'Example%s' because '%s' is not a known function or type", e.Name, e.Name)
-		}
-	}
-
-	return examples
-}
-
-// addNames adds the names declared by decl to the names set.
-// Method names are added in the form ReceiverTypeName_Method.
-func addNames(names map[string]bool, decl ast.Decl) {
-	switch d := decl.(type) {
-	case *ast.FuncDecl:
-		name := d.Name.Name
-		if d.Recv != nil {
-			var typeName string
-			switch r := d.Recv.List[0].Type.(type) {
-			case *ast.StarExpr:
-				typeName = r.X.(*ast.Ident).Name
-			case *ast.Ident:
-				typeName = r.Name
-			}
-			name = typeName + "_" + name
-		}
-		names[name] = true
-	case *ast.GenDecl:
-		for _, spec := range d.Specs {
-			switch s := spec.(type) {
-			case *ast.TypeSpec:
-				names[s.Name.Name] = true
-			case *ast.ValueSpec:
-				for _, id := range s.Names {
-					names[id.Name] = true
-				}
-			}
-		}
-	}
-}
-
-// packageExports is a local implementation of ast.PackageExports
-// which correctly updates each package file's comment list.
-// (The ast.PackageExports signature is frozen, hence the local
-// implementation).
-//
-func packageExports(fset *token.FileSet, pkg *ast.Package) {
-	for _, src := range pkg.Files {
-		cmap := ast.NewCommentMap(fset, src, src.Comments)
-		ast.FileExports(src)
-		src.Comments = cmap.Filter(src).Comments()
-	}
+	return pathpkg.Clean(strings.TrimPrefix(path, "/"))
 }

 func applyTemplate(t *template.Template, name string, data interface{}) []byte {
@@ -560,7 +98,7 @@
 		return
 	}

-	if r.FormValue(PageInfoModeQueryString) == "text" {
+	if r.FormValue("m") == "text" {
 		p.ServeText(w, src)
 		return
 	}
@@ -809,18 +347,3 @@
 	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
 	w.Write(text)
 }
-
-func marshalJSON(x interface{}) []byte {
-	var data []byte
-	var err error
-	const indentJSON = false // for easier debugging
-	if indentJSON {
-		data, err = json.MarshalIndent(x, "", "    ")
-	} else {
-		data, err = json.Marshal(x)
-	}
-	if err != nil {
-		panic(fmt.Sprintf("json.Marshal failed: %s", err))
-	}
-	return data
-}
internal/godoc/server_test.go
@@ -14,66 +14,6 @@
 	"text/template"
 )

-// TestIgnoredGoFiles tests the scenario where a folder has no .go or .c files,
-// but has an ignored go file.
-func TestIgnoredGoFiles(t *testing.T) {
-	packagePath := "github.com/package"
-	packageComment := "main is documented in an ignored .go file"
-
-	c := NewCorpus(fstest.MapFS{
-		"src/" + packagePath + "/ignored.go": {Data: []byte(`// +build ignore
-
-// ` + packageComment + `
-package main`)},
-	})
-	srv := &handlerServer{
-		p: &Presentation{
-			Corpus: c,
-		},
-		c: c,
-	}
-	pInfo := srv.GetPageInfo("/src/"+packagePath, packagePath, NoFiltering, "linux", "amd64")
-
-	if pInfo.PDoc == nil {
-		t.Error("pInfo.PDoc = nil; want non-nil.")
-	} else {
-		if got, want := pInfo.PDoc.Doc, packageComment+"\n"; got != want {
-			t.Errorf("pInfo.PDoc.Doc = %q; want %q.", got, want)
-		}
-		if got, want := pInfo.PDoc.Name, "main"; got != want {
-			t.Errorf("pInfo.PDoc.Name = %q; want %q.", got, want)
-		}
-		if got, want := pInfo.PDoc.ImportPath, packagePath; got != want {
-			t.Errorf("pInfo.PDoc.ImportPath = %q; want %q.", got, want)
-		}
-	}
-	if pInfo.FSet == nil {
-		t.Error("pInfo.FSet = nil; want non-nil.")
-	}
-}
-
-func TestIssue5247(t *testing.T) {
-	const packagePath = "example.com/p"
-	c := NewCorpus(fstest.MapFS{
-		"src/" + packagePath + "/p.go": {Data: []byte(`package p
-
-//line notgen.go:3
-// F doc //line 1 should appear
-// line 2 should appear
-func F()
-//line foo.go:100`)}, // No newline at end to check corner cases.
-	})
-
-	srv := &handlerServer{
-		p: &Presentation{Corpus: c},
-		c: c,
-	}
-	pInfo := srv.GetPageInfo("/src/"+packagePath, packagePath, 0, "linux", "amd64")
-	if got, want := pInfo.PDoc.Funcs[0].Doc, "F doc //line 1 should appear\nline 2 should appear\n"; got != want {
-		t.Errorf("pInfo.PDoc.Funcs[0].Doc = %q; want %q", got, want)
-	}
-}
-
 func testServeBody(t *testing.T, p *Presentation, path, body string) {
 	t.Helper()
 	r := &http.Request{URL: &url.URL{Path: path}}
internal/godoc/tab.go
@@ -1,82 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// TODO(bradfitz,adg): move to util
-
-package godoc
-
-import "io"
-
-var spaces = []byte("                                ") // 32 spaces seems like a good number
-
-const (
-	indenting = iota
-	collecting
-)
-
-// A tconv is an io.Writer filter for converting leading tabs into spaces.
-type tconv struct {
-	output io.Writer
-	state  int // indenting or collecting
-	indent int // valid if state == indenting
-	p      *Presentation
-}
-
-func (p *tconv) writeIndent() (err error) {
-	i := p.indent
-	for i >= len(spaces) {
-		i -= len(spaces)
-		if _, err = p.output.Write(spaces); err != nil {
-			return
-		}
-	}
-	// i < len(spaces)
-	if i > 0 {
-		_, err = p.output.Write(spaces[0:i])
-	}
-	return
-}
-
-func (p *tconv) Write(data []byte) (n int, err error) {
-	if len(data) == 0 {
-		return
-	}
-	pos := 0 // valid if p.state == collecting
-	var b byte
-	for n, b = range data {
-		switch p.state {
-		case indenting:
-			switch b {
-			case '\t':
-				p.indent += p.p.TabWidth
-			case '\n':
-				p.indent = 0
-				if _, err = p.output.Write(data[n : n+1]); err != nil {
-					return
-				}
-			case ' ':
-				p.indent++
-			default:
-				p.state = collecting
-				pos = n
-				if err = p.writeIndent(); err != nil {
-					return
-				}
-			}
-		case collecting:
-			if b == '\n' {
-				p.state = indenting
-				p.indent = 0
-				if _, err = p.output.Write(data[pos : n+1]); err != nil {
-					return
-				}
-			}
-		}
-	}
-	n = len(data)
-	if pos < n && p.state == collecting {
-		_, err = p.output.Write(data[pos:])
-	}
-	return
-}
internal/godoc/versions.go
@@ -1,265 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file caches information about which standard library types, methods,
-// and functions appeared in what version of Go
-
-package godoc
-
-import (
-	"bufio"
-	"go/build"
-	"log"
-	"os"
-	"path/filepath"
-	"sort"
-	"strconv"
-	"strings"
-	"unicode"
-)
-
-// apiVersions is a map of packages to information about those packages'
-// symbols and when they were added to Go.
-//
-// Only things added after Go1 are tracked. Version strings are of the
-// form "1.1", "1.2", etc.
-type apiVersions map[string]pkgAPIVersions // keyed by Go package ("net/http")
-
-// pkgAPIVersions contains information about which version of Go added
-// certain package symbols.
-//
-// Only things added after Go1 are tracked. Version strings are of the
-// form "1.1", "1.2", etc.
-type pkgAPIVersions struct {
-	typeSince   map[string]string            // "Server" -> "1.7"
-	methodSince map[string]map[string]string // "*Server" ->"Shutdown"->1.8
-	funcSince   map[string]string            // "NewServer" -> "1.7"
-	fieldSince  map[string]map[string]string // "ClientTrace" -> "Got1xxResponse" -> "1.11"
-}
-
-// sinceVersionFunc returns a string (such as "1.7") specifying which Go
-// version introduced a symbol, unless it was introduced in Go1, in
-// which case it returns the empty string.
-//
-// The kind is one of "type", "method", or "func".
-//
-// The receiver is only used for "methods" and specifies the receiver type,
-// such as "*Server".
-//
-// The name is the symbol name ("Server") and the pkg is the package
-// ("net/http").
-func (v apiVersions) sinceVersionFunc(kind, receiver, name, pkg string) string {
-	pv := v[pkg]
-	switch kind {
-	case "func":
-		return pv.funcSince[name]
-	case "type":
-		return pv.typeSince[name]
-	case "method":
-		return pv.methodSince[receiver][name]
-	}
-	return ""
-}
-
-// versionedRow represents an API feature, a parsed line of a
-// $GOROOT/api/go.*txt file.
-type versionedRow struct {
-	pkg        string // "net/http"
-	kind       string // "type", "func", "method", "field" TODO: "const", "var"
-	recv       string // for methods, the receiver type ("Server", "*Server")
-	name       string // name of type, (struct) field, func, method
-	structName string // for struct fields, the outer struct name
-}
-
-// versionParser parses $GOROOT/api/go*.txt files and stores them in in its rows field.
-type versionParser struct {
-	res apiVersions // initialized lazily
-}
-
-// parseFile parses the named $GOROOT/api/goVERSION.txt file.
-//
-// For each row, it updates the corresponding entry in
-// vp.res to VERSION, overwriting any previous value.
-// As a special case, if goVERSION is "go1", it deletes
-// from the map instead.
-func (vp *versionParser) parseFile(name string) error {
-	f, err := os.Open(name)
-	if err != nil {
-		return err
-	}
-	defer f.Close()
-
-	base := filepath.Base(name)
-	ver := strings.TrimPrefix(strings.TrimSuffix(base, ".txt"), "go")
-
-	sc := bufio.NewScanner(f)
-	for sc.Scan() {
-		row, ok := parseRow(sc.Text())
-		if !ok {
-			continue
-		}
-		if vp.res == nil {
-			vp.res = make(apiVersions)
-		}
-		pkgi, ok := vp.res[row.pkg]
-		if !ok {
-			pkgi = pkgAPIVersions{
-				typeSince:   make(map[string]string),
-				methodSince: make(map[string]map[string]string),
-				funcSince:   make(map[string]string),
-				fieldSince:  make(map[string]map[string]string),
-			}
-			vp.res[row.pkg] = pkgi
-		}
-		switch row.kind {
-		case "func":
-			if ver == "1" {
-				delete(pkgi.funcSince, row.name)
-				break
-			}
-			pkgi.funcSince[row.name] = ver
-		case "type":
-			if ver == "1" {
-				delete(pkgi.typeSince, row.name)
-				break
-			}
-			pkgi.typeSince[row.name] = ver
-		case "method":
-			if ver == "1" {
-				delete(pkgi.methodSince[row.recv], row.name)
-				break
-			}
-			if _, ok := pkgi.methodSince[row.recv]; !ok {
-				pkgi.methodSince[row.recv] = make(map[string]string)
-			}
-			pkgi.methodSince[row.recv][row.name] = ver
-		case "field":
-			if ver == "1" {
-				delete(pkgi.fieldSince[row.structName], row.name)
-				break
-			}
-			if _, ok := pkgi.fieldSince[row.structName]; !ok {
-				pkgi.fieldSince[row.structName] = make(map[string]string)
-			}
-			pkgi.fieldSince[row.structName][row.name] = ver
-		}
-	}
-	return sc.Err()
-}
-
-func parseRow(s string) (vr versionedRow, ok bool) {
-	if !strings.HasPrefix(s, "pkg ") {
-		// Skip comments, blank lines, etc.
-		return
-	}
-	rest := s[len("pkg "):]
-	endPkg := strings.IndexFunc(rest, func(r rune) bool { return !(unicode.IsLetter(r) || r == '/' || unicode.IsDigit(r)) })
-	if endPkg == -1 {
-		return
-	}
-	vr.pkg, rest = rest[:endPkg], rest[endPkg:]
-	if !strings.HasPrefix(rest, ", ") {
-		// If the part after the pkg name isn't ", ", then it's a OS/ARCH-dependent line of the form:
-		//   pkg syscall (darwin-amd64), const ImplementsGetwd = false
-		// We skip those for now.
-		return
-	}
-	rest = rest[len(", "):]
-
-	switch {
-	case strings.HasPrefix(rest, "type "):
-		rest = rest[len("type "):]
-		sp := strings.IndexByte(rest, ' ')
-		if sp == -1 {
-			return
-		}
-		vr.name, rest = rest[:sp], rest[sp+1:]
-		if !strings.HasPrefix(rest, "struct, ") {
-			vr.kind = "type"
-			return vr, true
-		}
-		rest = rest[len("struct, "):]
-		if i := strings.IndexByte(rest, ' '); i != -1 {
-			vr.kind = "field"
-			vr.structName = vr.name
-			vr.name = rest[:i]
-			return vr, true
-		}
-	case strings.HasPrefix(rest, "func "):
-		vr.kind = "func"
-		rest = rest[len("func "):]
-		if i := strings.IndexByte(rest, '('); i != -1 {
-			vr.name = rest[:i]
-			return vr, true
-		}
-	case strings.HasPrefix(rest, "method "): // "method (*File) SetModTime(time.Time)"
-		vr.kind = "method"
-		rest = rest[len("method "):] // "(*File) SetModTime(time.Time)"
-		sp := strings.IndexByte(rest, ' ')
-		if sp == -1 {
-			return
-		}
-		vr.recv = strings.Trim(rest[:sp], "()") // "*File"
-		rest = rest[sp+1:]                      // SetMode(os.FileMode)
-		paren := strings.IndexByte(rest, '(')
-		if paren == -1 {
-			return
-		}
-		vr.name = rest[:paren]
-		return vr, true
-	}
-	return // TODO: handle more cases
-}
-
-// InitVersionInfo parses the $GOROOT/api/go*.txt API definition files to discover
-// which API features were added in which Go releases.
-func (c *Corpus) InitVersionInfo() {
-	var err error
-	c.pkgAPIInfo, err = parsePackageAPIInfo()
-	if err != nil {
-		// TODO: consider making this fatal, after the Go 1.11 cycle.
-		log.Printf("godoc: error parsing API version files: %v", err)
-	}
-}
-
-func parsePackageAPIInfo() (apiVersions, error) {
-	var apiGlob string
-	if os.Getenv("GOROOT") == "" {
-		apiGlob = filepath.Join(build.Default.GOROOT, "api", "go*.txt")
-	} else {
-		apiGlob = filepath.Join(os.Getenv("GOROOT"), "api", "go*.txt")
-	}
-
-	files, err := filepath.Glob(apiGlob)
-	if err != nil {
-		return nil, err
-	}
-
-	// Process files in go1.n, go1.n-1, ..., go1.2, go1.1, go1 order.
-	//
-	// It's rare, but the signature of an identifier may change
-	// (for example, a function that accepts a type replaced with
-	// an alias), and so an existing symbol may show up again in
-	// a later api/go1.N.txt file. Parsing in reverse version
-	// order means we end up with the earliest version of Go
-	// when the symbol was added. See golang.org/issue/44081.
-	//
-	ver := func(name string) int {
-		base := filepath.Base(name)
-		ver := strings.TrimPrefix(strings.TrimSuffix(base, ".txt"), "go1.")
-		if ver == "go1" {
-			return 0
-		}
-		v, _ := strconv.Atoi(ver)
-		return v
-	}
-	sort.Slice(files, func(i, j int) bool { return ver(files[i]) > ver(files[j]) })
-	vp := new(versionParser)
-	for _, f := range files {
-		if err := vp.parseFile(f); err != nil {
-			return nil, err
-		}
-	}
-	return vp.res, nil
-}
internal/godoc/versions_test.go
@@ -1,139 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package godoc
-
-import (
-	"go/build"
-	"testing"
-)
-
-func TestParseVersionRow(t *testing.T) {
-	tests := []struct {
-		row  string
-		want versionedRow
-	}{
-		{
-			row: "# comment",
-		},
-		{
-			row: "",
-		},
-		{
-			row: "pkg archive/tar, type Writer struct",
-			want: versionedRow{
-				pkg:  "archive/tar",
-				kind: "type",
-				name: "Writer",
-			},
-		},
-		{
-			row: "pkg archive/tar, type Header struct, AccessTime time.Time",
-			want: versionedRow{
-				pkg:        "archive/tar",
-				kind:       "field",
-				structName: "Header",
-				name:       "AccessTime",
-			},
-		},
-		{
-			row: "pkg archive/tar, method (*Reader) Read([]uint8) (int, error)",
-			want: versionedRow{
-				pkg:  "archive/tar",
-				kind: "method",
-				name: "Read",
-				recv: "*Reader",
-			},
-		},
-		{
-			row: "pkg archive/zip, func FileInfoHeader(os.FileInfo) (*FileHeader, error)",
-			want: versionedRow{
-				pkg:  "archive/zip",
-				kind: "func",
-				name: "FileInfoHeader",
-			},
-		},
-		{
-			row: "pkg encoding/base32, method (Encoding) WithPadding(int32) *Encoding",
-			want: versionedRow{
-				pkg:  "encoding/base32",
-				kind: "method",
-				name: "WithPadding",
-				recv: "Encoding",
-			},
-		},
-	}
-
-	for i, tt := range tests {
-		got, ok := parseRow(tt.row)
-		if !ok {
-			got = versionedRow{}
-		}
-		if got != tt.want {
-			t.Errorf("%d. parseRow(%q) = %+v; want %+v", i, tt.row, got, tt.want)
-		}
-	}
-}
-
-// hasTag checks whether a given release tag is contained in the current version
-// of the go binary.
-func hasTag(t string) bool {
-	for _, v := range build.Default.ReleaseTags {
-		if t == v {
-			return true
-		}
-	}
-	return false
-}
-
-func TestAPIVersion(t *testing.T) {
-	av, err := parsePackageAPIInfo()
-	if err != nil {
-		t.Fatal(err)
-	}
-	for _, tc := range []struct {
-		kind     string
-		pkg      string
-		name     string
-		receiver string
-		want     string
-	}{
-		// Things that were added post-1.0 should appear
-		{"func", "archive/tar", "FileInfoHeader", "", "1.1"},
-		{"type", "bufio", "Scanner", "", "1.1"},
-		{"method", "bufio", "WriteTo", "*Reader", "1.1"},
-
-		{"func", "bytes", "LastIndexByte", "", "1.5"},
-		{"type", "crypto", "Decrypter", "", "1.5"},
-		{"method", "crypto/rsa", "Decrypt", "*PrivateKey", "1.5"},
-		{"method", "debug/dwarf", "GoString", "Class", "1.5"},
-
-		{"func", "os", "IsTimeout", "", "1.10"},
-		{"type", "strings", "Builder", "", "1.10"},
-		{"method", "strings", "WriteString", "*Builder", "1.10"},
-
-		// Should get the earliest Go version when an identifier
-		// was initially added, rather than a later version when
-		// it may have been updated. See issue 44081.
-		{"func", "os", "Chmod", "", ""},              // Go 1 era function, updated in Go 1.16.
-		{"method", "os", "Readdir", "*File", ""},     // Go 1 era method, updated in Go 1.16.
-		{"method", "os", "ReadDir", "*File", "1.16"}, // New to Go 1.16.
-
-		// Things from package syscall should never appear
-		{"func", "syscall", "FchFlags", "", ""},
-		{"type", "syscall", "Inet4Pktinfo", "", ""},
-
-		// Things added in Go 1 should never appear
-		{"func", "archive/tar", "NewReader", "", ""},
-		{"type", "archive/tar", "Header", "", ""},
-		{"method", "archive/tar", "Next", "*Reader", ""},
-	} {
-		if tc.want != "" && !hasTag("go"+tc.want) {
-			continue
-		}
-		if got := av.sinceVersionFunc(tc.kind, tc.receiver, tc.name, tc.pkg); got != tc.want {
-			t.Errorf(`sinceFunc("%s", "%s", "%s", "%s") = "%s"; want "%s"`, tc.kind, tc.receiver, tc.name, tc.pkg, got, tc.want)
-		}
-	}
-}
cmd/golangorg: clean up directory listings

The time stamps are unlikely to be useful or correct.
Today golang.org shows the release time for all files,
which has zero information content. Drop them.

Do not show size for directories - it's meaningless.

Show all directories before all files for easier navigation
and to keep package sources listed more compactly.
rsc committed 4 days ago commit 87c58f4d909291e5aa31138e97b895293cc9953f
_content/lib/godoc/dirlist.html
@@ -10,22 +10,16 @@
 	<th align="left">File</th>
 	<td width="25">&nbsp;</td>
 	<th align="right">Bytes</th>
-	<td width="25">&nbsp;</td>
-	<th align="left">Modified</th>
 </tr>
 <tr>
-	<td><a href="..">..</a></td>
+	<td><a href="../">../</a></td>
 </tr>
-{{range .}}
-<tr>
-	{{$name_html := fileInfoName . | html}}
-	<td align="left"><a href="{{$name_html}}">{{$name_html}}</a></td>
-	<td></td>
-	<td align="right">{{html .Size}}</td>
-	<td></td>
-	<td align="left">{{fileInfoTime . | html}}</td>
-</tr>
-{{end}}
+{{range .}}{{if .IsDir}}
+	<tr><td align="left"><a href="{{html .Name}}/">{{html .Name}}/</a><td></tr>
+{{end}}{{end}}
+{{range .}}{{if not .IsDir}}
+	<tr><td align="left"><a href="{{html .Name}}">{{html .Name}}</a><td align="right">{{html .Size}}</tr>
+{{end}}{{end}}

 </table>
 </p>
internal/godoc/godoc.go
@@ -12,7 +12,6 @@
 import (
 	"bytes"
 	"fmt"
-	"os"
 	pathpkg "path"
 	"strings"
 	"text/template"
@@ -42,40 +41,12 @@
 		"code": p.code,
 	}
 	p.funcMap = template.FuncMap{
-		// various helpers
-		"filename": filenameFunc,
-		"repeat":   strings.Repeat,
-
-		// access to FileInfos (directory listings)
-		"fileInfoName": fileInfoNameFunc,
-		"fileInfoTime": fileInfoTimeFunc,
-
 		// support for URL attributes
 		"srcBreadcrumb": srcBreadcrumbFunc,
 		"srcToPkgLink":  srcToPkgLinkFunc,
 	}
 }

-func filenameFunc(path string) string {
-	_, localname := pathpkg.Split(path)
-	return localname
-}
-
-func fileInfoNameFunc(fi os.FileInfo) string {
-	name := fi.Name()
-	if fi.IsDir() {
-		name += "/"
-	}
-	return name
-}
-
-func fileInfoTimeFunc(fi os.FileInfo) string {
-	if t := fi.ModTime(); t.Unix() != 0 {
-		return t.Local().String()
-	}
-	return "" // don't return epoch if time is obviously not set
-}
-
 func pkgLinkFunc(path string) string {
 	// because of the irregular mapping under goroot
 	// we need to correct certain relative paths