From 00e52848b556564d4cb33a41e2c50da34c38039e Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Wed, 3 Apr 2019 21:21:35 -0600 Subject: [PATCH] remove bits --- go.mod | 2 +- main.go | 541 +++++- src/cli/cli.go | 257 --- src/comm/comm.go | 120 -- src/croc/config.go | 187 -- src/croc/croc.go | 96 - src/croc/croc_test.go | 81 - src/croc/models.go | 7 - src/croc/recipient.go | 624 ------- src/croc/sender.go | 570 ------ src/croc/sending.go | 217 --- src/logger/logger.go | 43 - src/models/constants.go | 4 - src/models/filestats.go | 14 - src/models/initial.go | 7 - src/relay/conn.go | 123 -- src/relay/hub.go | 105 -- src/relay/relay.go | 55 - src/tcp/tcp.go | 188 -- src/win/Makefile | 24 - src/win/build.bat | 14 - src/win/icon.go | 3028 ------------------------------- src/win/icon.ico | Bin 36278 -> 0 bytes src/win/icon.rc | 1 - src/win/icon_windows_386.syso | Bin 36790 -> 0 bytes src/win/icon_windows_amd64.syso | Bin 36790 -> 0 bytes src/win/main.go | 230 --- src/win/main_windows.go | 250 --- src/zipper/zip.go | 230 --- src/zipper/zip_test.go | 47 - 30 files changed, 538 insertions(+), 6527 deletions(-) delete mode 100644 src/cli/cli.go delete mode 100644 src/comm/comm.go delete mode 100644 src/croc/config.go delete mode 100644 src/croc/croc.go delete mode 100644 src/croc/croc_test.go delete mode 100644 src/croc/models.go delete mode 100644 src/croc/recipient.go delete mode 100644 src/croc/sender.go delete mode 100644 src/croc/sending.go delete mode 100644 src/logger/logger.go delete mode 100644 src/models/constants.go delete mode 100644 src/models/filestats.go delete mode 100644 src/models/initial.go delete mode 100644 src/relay/conn.go delete mode 100644 src/relay/hub.go delete mode 100644 src/relay/relay.go delete mode 100644 src/tcp/tcp.go delete mode 100644 src/win/Makefile delete mode 100644 src/win/build.bat delete mode 100644 src/win/icon.go delete mode 100644 src/win/icon.ico delete mode 100644 src/win/icon.rc delete mode 100644 src/win/icon_windows_386.syso delete mode 100644 src/win/icon_windows_amd64.syso delete mode 100644 src/win/main.go delete mode 100644 src/win/main_windows.go delete mode 100644 src/zipper/zip.go delete mode 100644 src/zipper/zip_test.go diff --git a/go.mod b/go.mod index ec4cdadd..e29be7a9 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/schollz/croc +module github.com/schollz/croc/v5 require ( github.com/BurntSushi/toml v0.3.1 diff --git a/main.go b/main.go index b55bb36c..dcbea1f3 100644 --- a/main.go +++ b/main.go @@ -1,12 +1,545 @@ package main import ( - "github.com/schollz/croc/src/cli" + "bytes" + "crypto/elliptic" + "encoding/json" + "flag" + "fmt" + "io" + "log" + "os" + "sync" + "time" + + "github.com/go-redis/redis" + "github.com/pions/webrtc" + "github.com/pions/webrtc/examples/util" + "github.com/pions/webrtc/pkg/datachannel" + "github.com/pions/webrtc/pkg/ice" + "github.com/schollz/pake" + "github.com/schollz/progressbar/v2" ) -var Version string +type Client struct { + redisdb *redis.Client + + SharedSecret string + IsSender bool + Pake *pake.Pake + + // steps involved in forming relationship + Step1ChannelSecured bool + Step2FileInfoTransfered bool + Step3RecipientReady bool + Step4SendingData bool + + f *os.File + FileInfo FileInfo + + // channel data + incomingMessageChannel <-chan *redis.Message + nameOutChannel string + nameInChannel string + + peerConnection *webrtc.RTCPeerConnection + dataChannel *webrtc.RTCDataChannel + + quit chan bool +} + +type Message struct { + Type string + Message string + Bytes []byte +} + +type Chunk struct { + Bytes []byte + Location int64 +} + +type FileInfo struct { + Name string + Size int64 + ModTime time.Time + IsDir bool + SentName string + IsCompressed bool + IsEncrypted bool +} + +func (m Message) String() string { + b, _ := json.Marshal(m) + return string(b) +} + +func New(sender bool, sharedSecret string) (c *Client, err error) { + c = new(Client) + c.redisdb = redis.NewClient(&redis.Options{ + Addr: "198.199.67.130:6372", + Password: "", + DB: 4, + WriteTimeout: 1 * time.Hour, + ReadTimeout: 1 * time.Hour, + }) + _, err = c.redisdb.Ping().Result() + if err != nil { + return + } + + c.IsSender = sender + c.SharedSecret = sharedSecret + c.SharedSecret = sharedSecret + if sender { + c.nameOutChannel = c.SharedSecret + "2" + c.nameInChannel = c.SharedSecret + "1" + } else { + c.nameOutChannel = c.SharedSecret + "1" + c.nameInChannel = c.SharedSecret + "2" + } + + pubsub := c.redisdb.Subscribe(c.nameInChannel) + _, err = pubsub.Receive() + if err != nil { + return + } + c.incomingMessageChannel = pubsub.Channel() + + if c.IsSender { + c.Pake, err = pake.Init([]byte{1, 2, 3}, 1, elliptic.P521(), 1*time.Microsecond) + } else { + c.Pake, err = pake.Init([]byte{1, 2, 3}, 0, elliptic.P521(), 1*time.Microsecond) + } + if err != nil { + return + } + + return +} + +func (c *Client) Transfer(fname string) (err error) { + c.quit = make(chan bool) + // quit with c.quit <- true + if !c.IsSender { + // kick it off + fmt.Println("sending first pake") + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "pake", + Bytes: c.Pake.Bytes(), + }.String()).Err() + if err != nil { + return + } + } + for { + select { + case <-c.quit: + return + case msg := <-c.incomingMessageChannel: + var m Message + err = json.Unmarshal([]byte(msg.Payload), &m) + if err != nil { + return + } + err = c.processMessage(m) + if err != nil { + return + } + default: + time.Sleep(1 * time.Millisecond) + } + + if c.IsSender && c.Step1ChannelSecured && !c.Step2FileInfoTransfered { + var fstats os.FileInfo + fstats, err = os.Stat("test.txt") + if err != nil { + return + } + c.FileInfo = FileInfo{ + Name: fstats.Name(), + Size: fstats.Size(), + ModTime: fstats.ModTime(), + IsDir: fstats.IsDir(), + } + b, _ := json.Marshal(c.FileInfo) + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "fileinfo", + Bytes: b, + }.String()).Err() + if err != nil { + return + } + c.Step2FileInfoTransfered = true + } + if !c.IsSender && c.Step2FileInfoTransfered && !c.Step3RecipientReady { + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "recipientready", + }.String()).Err() + if err != nil { + return + } + c.Step3RecipientReady = true + // start receiving data + go func() { + err = c.dataChannelReceive() + if err != nil { + panic(err) + } + }() + } + if c.IsSender && c.Step3RecipientReady && !c.Step4SendingData { + fmt.Println("start sending data!") + c.Step4SendingData = true + go func() { + err = c.dataChannelSend() + if err != nil { + panic(err) + } + }() + } + } + return +} + +func (c *Client) sendOverRedis() (err error) { + go func() { + bar := progressbar.NewOptions( + int(c.FileInfo.Size), + progressbar.OptionSetRenderBlankState(true), + progressbar.OptionSetBytes(int(c.FileInfo.Size)), + progressbar.OptionSetWriter(os.Stderr), + progressbar.OptionThrottle(1/60*time.Second), + ) + c.f, err = os.Open(c.FileInfo.Name) + if err != nil { + panic(err) + } + location := int64(0) + for { + buf := make([]byte, 4096*128) + n, errRead := c.f.Read(buf) + bar.Add(n) + chunk := Chunk{ + Bytes: buf[:n], + Location: location, + } + chunkB, _ := json.Marshal(chunk) + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "chunk", + Bytes: chunkB, + }.String()).Err() + if err != nil { + panic(err) + } + location += int64(n) + if errRead == io.EOF { + break + } + if errRead != nil { + panic(errRead) + } + } + }() + return +} + +func (c *Client) processMessage(m Message) (err error) { + switch m.Type { + case "pake": + notVerified := !c.Pake.IsVerified() + err = c.Pake.Update(m.Bytes) + if err != nil { + return + } + if (notVerified && c.Pake.IsVerified() && !c.IsSender) || !c.Pake.IsVerified() { + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "pake", + Bytes: c.Pake.Bytes(), + }.String()).Err() + } + if c.Pake.IsVerified() { + fmt.Println(c.Pake.SessionKey()) + c.Step1ChannelSecured = true + } + case "fileinfo": + err = json.Unmarshal(m.Bytes, &c.FileInfo) + if err != nil { + return + } + fmt.Println(c.FileInfo) + c.f, err = os.Create("d.txt") + if err != nil { + return + } + err = c.f.Truncate(c.FileInfo.Size) + if err != nil { + return + } + c.Step2FileInfoTransfered = true + case "recipientready": + c.Step3RecipientReady = true + case "chunk": + var chunk Chunk + err = json.Unmarshal(m.Bytes, &chunk) + if err != nil { + return + } + _, err = c.f.WriteAt(chunk.Bytes, chunk.Location) + fmt.Println("writing chunk", chunk.Location) + case "datachannel-offer": + offer := util.Decode(m.Message) + fmt.Println("got offer:", m.Message) + // Set the remote SessionDescription + err = c.peerConnection.SetRemoteDescription(offer) + if err != nil { + return + } + + // Sets the LocalDescription, and starts our UDP listeners + var answer webrtc.RTCSessionDescription + answer, err = c.peerConnection.CreateAnswer(nil) + if err != nil { + return + } + + // Output the answer in base64 so we can paste it in browser + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "datachannel-answer", + Message: util.Encode(answer), + }.String()).Err() + case "datachannel-answer": + answer := util.Decode(m.Message) + // Apply the answer as the remote description + err = c.peerConnection.SetRemoteDescription(answer) + } + + return +} + +func (c *Client) dataChannelReceive() (err error) { + // Prepare the configuration + config := webrtc.RTCConfiguration{ + IceServers: []webrtc.RTCIceServer{ + { + URLs: []string{"stun:stun.l.google.com:19302"}, + }, + }, + } + + // Create a new RTCPeerConnection + c.peerConnection, err = webrtc.New(config) + if err != nil { + return + } + + // Set the handler for ICE connection state + // This will notify you when the peer has connected/disconnected + c.peerConnection.OnICEConnectionStateChange(func(connectionState ice.ConnectionState) { + fmt.Printf("ICE Connection State has changed: %s\n", connectionState.String()) + }) + + // Register data channel creation handling + c.peerConnection.OnDataChannel(func(d *webrtc.RTCDataChannel) { + fmt.Printf("New DataChannel %s %d\n", d.Label, d.ID) + sendBytes := make(chan []byte, 1024) + // Register channel opening handling + d.OnOpen(func() { + fmt.Printf("Data channel '%s'-'%d' open. Random messages will now be sent to any connected DataChannels every 5 seconds\n", d.Label, d.ID) + for { + data := <-sendBytes + err := d.Send(datachannel.PayloadBinary{Data: data}) + if err != nil { + log.Println(err) + } + } + }) + + startTime := false + timer := time.Now() + var mutex = &sync.Mutex{} + piecesToDo := make(map[int64]bool) + for i := int64(0); i < c.FileInfo.Size; i += 4096 { + piecesToDo[i] = true + } + // Register message handling + d.OnMessage(func(payload datachannel.Payload) { + + switch p := payload.(type) { + case *datachannel.PayloadString: + fmt.Printf("Message '%s' from DataChannel '%s' payload '%s'\n", p.PayloadType().String(), d.Label, string(p.Data)) + if bytes.Equal(p.Data, []byte("done")) { + c.f.Close() + fmt.Println(time.Since(timer)) + } + case *datachannel.PayloadBinary: + if !startTime { + startTime = true + timer = time.Now() + } + var chunk Chunk + errM := json.Unmarshal(p.Data, &chunk) + if errM != nil { + panic(errM) + } + var n int + mutex.Lock() + n, err = c.f.WriteAt(chunk.Bytes, chunk.Location) + mutex.Unlock() + if err != nil { + panic(err) + } + log.Printf("wrote %d bytes to %d", n, chunk.Location) + mutex.Lock() + piecesToDo[chunk.Location] = false + mutex.Unlock() + go func() { + numToDo := 0 + thingsToDo := make([]int64, len(piecesToDo)) + mutex.Lock() + for k := range piecesToDo { + if piecesToDo[k] { + thingsToDo[numToDo] = k + numToDo++ + } + } + mutex.Unlock() + thingsToDo = thingsToDo[:numToDo] + fmt.Println("num to do: ", len(thingsToDo)) + if len(thingsToDo) < 10 { + fmt.Println(thingsToDo) + } + }() + default: + fmt.Printf("Message '%s' from DataChannel '%s' no payload \n", p.PayloadType().String(), d.Label) + } + }) + }) + + // Block forever + return +} + +func (c *Client) dataChannelSend() (err error) { + recievedBytes := make(chan []byte, 1024) + // Everything below is the pion-WebRTC API! Thanks for using it ❤️. + + // Prepare the configuration + config := webrtc.RTCConfiguration{ + IceServers: []webrtc.RTCIceServer{ + { + URLs: []string{"stun:stun1.l.google.com:19305"}, + }, + }, + } + + // Create a new RTCPeerConnection + c.peerConnection, err = webrtc.New(config) + if err != nil { + return + } + + // Create a datachannel with label 'data' + c.dataChannel, err = c.peerConnection.CreateDataChannel("data", nil) + if err != nil { + return + } + + // Set the handler for ICE connection state + // This will notify you when the peer has connected/disconnected + c.peerConnection.OnICEConnectionStateChange(func(connectionState ice.ConnectionState) { + fmt.Printf("ICE Connection State has changed: %s\n", connectionState.String()) + }) + + // Register channel opening handling + c.dataChannel.OnOpen(func() { + fmt.Printf("Data channel '%s'-'%d' open\n", c.dataChannel.Label, c.dataChannel.ID) + time.Sleep(100 * time.Microsecond) + + fmt.Println("sending file") + const BufferSize = 4096 + file, err := os.Open("test.txt") + if err != nil { + fmt.Println(err) + return + } + defer file.Close() + + buffer := make([]byte, BufferSize) + var location int64 + for { + bytesread, err := file.Read(buffer) + if err != nil { + if err != io.EOF { + fmt.Println(err) + } + break + } + + mSend := Chunk{ + Bytes: buffer[:bytesread], + Location: location, + } + dataToSend, _ := json.Marshal(mSend) + + log.Printf("sending %d bytes at %d", bytesread, location) + err = c.dataChannel.Send(datachannel.PayloadBinary{Data: dataToSend}) + if err != nil { + log.Println("Could not send on data channel", err.Error()) + continue + } + location += int64(bytesread) + time.Sleep(100 * time.Microsecond) + } + log.Println("sending done signal") + err = c.dataChannel.Send(datachannel.PayloadString{Data: []byte("done")}) + if err != nil { + log.Println(err) + } + }) + + // Register the OnMessage to handle incoming messages + c.dataChannel.OnMessage(func(payload datachannel.Payload) { + switch p := payload.(type) { + case *datachannel.PayloadString: + fmt.Printf("Message '%s' from DataChannel '%s' payload '%s'\n", p.PayloadType().String(), c.dataChannel.Label, string(p.Data)) + case *datachannel.PayloadBinary: + fmt.Printf("Message '%s' from DataChannel '%s' payload '% 02x'\n", p.PayloadType().String(), c.dataChannel.Label, p.Data) + recievedBytes <- p.Data + default: + fmt.Printf("Message '%s' from DataChannel '%s' no payload \n", p.PayloadType().String(), c.dataChannel.Label) + } + }) + + // Create an offer to send to the browser + offer, err := c.peerConnection.CreateOffer(nil) + if err != nil { + return + } + + // Output the offer in base64 so we can paste it in browser + fmt.Println("sending offer") + err = c.redisdb.Publish(c.nameOutChannel, Message{ + Type: "datachannel-offer", + Message: util.Encode(offer), + }.String()).Err() + if err != nil { + return + } + + return +} func main() { - cli.Version = Version - cli.Run() + var sender bool + flag.BoolVar(&sender, "sender", false, "sender") + flag.Parse() + c, err := New(sender, "foo") + if err != nil { + panic(err) + } + err = c.Transfer("test.txt") + if err != nil { + panic(err) + } } diff --git a/src/cli/cli.go b/src/cli/cli.go deleted file mode 100644 index 4e24cb1c..00000000 --- a/src/cli/cli.go +++ /dev/null @@ -1,257 +0,0 @@ -package cli - -import ( - "fmt" - "io" - "io/ioutil" - "log" - "os" - "path/filepath" - "runtime" - "strings" - "time" - - humanize "github.com/dustin/go-humanize" - "github.com/pkg/errors" - "github.com/schollz/croc/src/croc" - "github.com/schollz/croc/src/utils" - "github.com/skratchdot/open-golang/open" - "github.com/urfave/cli" -) - -var Version string -var cr *croc.Croc - -func Run() { - runtime.GOMAXPROCS(runtime.NumCPU()) - app := cli.NewApp() - app.Name = "croc" - if Version == "" { - Version = "dev" - } - - app.Version = Version - app.Compiled = time.Now() - app.Usage = "easily and securely transfer stuff from one computer to another" - app.UsageText = "croc allows any two computers to directly and securely transfer files" - // app.ArgsUsage = "[args and such]" - app.Commands = []cli.Command{ - { - Name: "send", - Usage: "send a file", - Description: "send a file over the relay", - ArgsUsage: "[filename]", - Flags: []cli.Flag{ - cli.BoolFlag{Name: "no-compress, o", Usage: "disable compression"}, - cli.BoolFlag{Name: "no-encrypt, e", Usage: "disable encryption"}, - cli.StringFlag{Name: "code, c", Usage: "codephrase used to connect to relay"}, - }, - HelpName: "croc send", - Action: func(c *cli.Context) error { - return send(c) - }, - }, - { - Name: "relay", - Usage: "start a croc relay", - Description: "the croc relay will handle websocket and TCP connections", - Flags: []cli.Flag{}, - HelpName: "croc relay", - Action: func(c *cli.Context) error { - return relay(c) - }, - }, - { - Name: "config", - Usage: "generates a config file", - Description: "the croc config can be used to set static parameters", - Flags: []cli.Flag{}, - HelpName: "croc config", - Action: func(c *cli.Context) error { - return saveDefaultConfig(c) - }, - }, - } - app.Flags = []cli.Flag{ - cli.StringFlag{Name: "addr", Value: "croc4.schollz.com", Usage: "address of the public relay"}, - cli.StringFlag{Name: "addr-ws", Value: "8153", Usage: "port of the public relay websocket server to connect"}, - cli.StringFlag{Name: "addr-tcp", Value: "8154,8155,8156,8157,8158,8159,8160,8161", Usage: "tcp ports of the public relay server to connect"}, - cli.BoolFlag{Name: "no-local", Usage: "disable local mode"}, - cli.BoolFlag{Name: "local", Usage: "use only local mode"}, - cli.BoolFlag{Name: "debug", Usage: "increase verbosity (a lot)"}, - cli.BoolFlag{Name: "yes", Usage: "automatically agree to all prompts"}, - cli.BoolFlag{Name: "stdout", Usage: "redirect file to stdout"}, - cli.BoolFlag{Name: "force-tcp", Usage: "force TCP"}, - cli.BoolFlag{Name: "force-web", Usage: "force websockets"}, - cli.StringFlag{Name: "port", Value: "8153", Usage: "port that the websocket listens on"}, - cli.StringFlag{Name: "tcp-port", Value: "8154,8155,8156,8157,8158,8159,8160,8161", Usage: "ports that the tcp server listens on"}, - cli.StringFlag{Name: "curve", Value: "siec", Usage: "specify elliptic curve to use for PAKE (p256, p384, p521, siec)"}, - cli.StringFlag{Name: "out", Value: ".", Usage: "specify an output folder to receive the file"}, - } - app.EnableBashCompletion = true - app.HideHelp = false - app.HideVersion = false - app.BashComplete = func(c *cli.Context) { - fmt.Fprintf(c.App.Writer, "send\nreceive\relay") - } - app.Action = func(c *cli.Context) error { - // if trying to send but forgot send, let the user know - if c.Args().First() != "" && utils.Exists(c.Args().First()) { - _, fname := filepath.Split(c.Args().First()) - yn := utils.GetInput(fmt.Sprintf("Did you mean to send '%s'? (y/n) ", fname)) - if strings.ToLower(yn) == "y" { - return send(c) - } - } - return receive(c) - } - app.Before = func(c *cli.Context) error { - cr = croc.Init(c.GlobalBool("debug")) - cr.Version = Version - cr.AllowLocalDiscovery = true - cr.Address = c.GlobalString("addr") - cr.AddressTCPPorts = strings.Split(c.GlobalString("addr-tcp"), ",") - cr.AddressWebsocketPort = c.GlobalString("addr-ws") - cr.NoRecipientPrompt = c.GlobalBool("yes") - cr.Stdout = c.GlobalBool("stdout") - cr.LocalOnly = c.GlobalBool("local") - cr.NoLocal = c.GlobalBool("no-local") - cr.ShowText = true - cr.RelayWebsocketPort = c.String("port") - cr.RelayTCPPorts = strings.Split(c.String("tcp-port"), ",") - cr.CurveType = c.String("curve") - if c.GlobalBool("force-tcp") { - cr.ForceSend = 2 - } - if c.GlobalBool("force-web") { - cr.ForceSend = 1 - } - return nil - } - - err := app.Run(os.Args) - if err != nil { - fmt.Fprintf(os.Stderr, "\r\n%s", err.Error()) - } - fmt.Fprintf(os.Stderr, "\r\n") -} - -func saveDefaultConfig(c *cli.Context) error { - return croc.SaveDefaultConfig() -} - -func send(c *cli.Context) error { - stat, _ := os.Stdin.Stat() - var fname string - if (stat.Mode() & os.ModeCharDevice) == 0 { - f, err := ioutil.TempFile(".", "croc-stdin-") - if err != nil { - return err - } - _, err = io.Copy(f, os.Stdin) - if err != nil { - return err - } - err = f.Close() - if err != nil { - return err - } - fname = f.Name() - defer func() { - err = os.Remove(fname) - if err != nil { - log.Println(err) - } - }() - } else { - fname = c.Args().First() - } - if fname == "" { - return errors.New("must specify file: croc send [filename]") - } - cr.UseCompression = !c.Bool("no-compress") - cr.UseEncryption = !c.Bool("no-encrypt") - if c.String("code") != "" { - cr.Codephrase = c.String("code") - } - cr.LoadConfig() - if len(cr.Codephrase) == 0 { - // generate code phrase - cr.Codephrase = utils.GetRandomName() - } - - // print the text - finfo, err := os.Stat(fname) - if err != nil { - return err - } - fname, _ = filepath.Abs(fname) - fname = filepath.Clean(fname) - _, filename := filepath.Split(fname) - fileOrFolder := "file" - fsize := finfo.Size() - if finfo.IsDir() { - fileOrFolder = "folder" - fsize, err = dirSize(fname) - if err != nil { - return err - } - } - fmt.Fprintf(os.Stderr, - "Sending %s %s named '%s'\nCode is: %s\nOn the other computer, please run:\n\ncroc %s\n\n", - humanize.Bytes(uint64(fsize)), - fileOrFolder, - filename, - cr.Codephrase, - cr.Codephrase, - ) - if cr.Debug { - croc.SetDebugLevel("debug") - } - return cr.Send(fname, cr.Codephrase) -} - -func receive(c *cli.Context) error { - if c.GlobalString("code") != "" { - cr.Codephrase = c.GlobalString("code") - } - if c.Args().First() != "" { - cr.Codephrase = c.Args().First() - } - if c.GlobalString("out") != "" { - os.Chdir(c.GlobalString("out")) - } - cr.LoadConfig() - openFolder := false - if len(os.Args) == 1 { - // open folder since they didn't give any arguments - openFolder = true - } - if cr.Codephrase == "" { - cr.Codephrase = utils.GetInput("Enter receive code: ") - } - if cr.Debug { - croc.SetDebugLevel("debug") - } - err := cr.Receive(cr.Codephrase) - if err == nil && openFolder { - cwd, _ := os.Getwd() - open.Run(cwd) - } - return err -} - -func relay(c *cli.Context) error { - return cr.Relay() -} - -func dirSize(path string) (int64, error) { - var size int64 - err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error { - if !info.IsDir() { - size += info.Size() - } - return err - }) - return size, err -} diff --git a/src/comm/comm.go b/src/comm/comm.go deleted file mode 100644 index 47267b20..00000000 --- a/src/comm/comm.go +++ /dev/null @@ -1,120 +0,0 @@ -package comm - -import ( - "bytes" - "fmt" - "net" - "strconv" - "strings" - "time" - - "github.com/pkg/errors" -) - -// Comm is some basic TCP communication -type Comm struct { - connection net.Conn -} - -// New returns a new comm -func New(c net.Conn) Comm { - c.SetReadDeadline(time.Now().Add(3 * time.Hour)) - c.SetDeadline(time.Now().Add(3 * time.Hour)) - c.SetWriteDeadline(time.Now().Add(3 * time.Hour)) - return Comm{c} -} - -// Connection returns the net.Conn connection -func (c Comm) Connection() net.Conn { - return c.connection -} - -// Close closes the connection -func (c Comm) Close() { - c.connection.Close() -} - -func (c Comm) Write(b []byte) (int, error) { - tmpCopy := make([]byte, len(b)+5) - // Copy the buffer so it doesn't get changed while read by the recipient. - copy(tmpCopy[:5], []byte(fmt.Sprintf("%0.5d", len(b)))) - copy(tmpCopy[5:], b) - n, err := c.connection.Write(tmpCopy) - if n != len(tmpCopy) { - if err != nil { - err = errors.Wrap(err, fmt.Sprintf("wanted to write %d but wrote %d", len(b), n)) - } else { - err = fmt.Errorf("wanted to write %d but wrote %d", len(b), n) - } - } - // log.Printf("wanted to write %d but wrote %d", n, len(b)) - return n, err -} - -func (c Comm) Read() (buf []byte, numBytes int, bs []byte, err error) { - // read until we get 5 bytes - tmp := make([]byte, 5) - n, err := c.connection.Read(tmp) - if err != nil { - return - } - tmpCopy := make([]byte, n) - // Copy the buffer so it doesn't get changed while read by the recipient. - copy(tmpCopy, tmp[:n]) - bs = tmpCopy - - tmp = make([]byte, 1) - for { - // see if we have enough bytes - bs = bytes.Trim(bs, "\x00") - if len(bs) == 5 { - break - } - n, err := c.connection.Read(tmp) - if err != nil { - return nil, 0, nil, err - } - tmpCopy = make([]byte, n) - // Copy the buffer so it doesn't get changed while read by the recipient. - copy(tmpCopy, tmp[:n]) - bs = append(bs, tmpCopy...) - } - - numBytes, err = strconv.Atoi(strings.TrimLeft(string(bs), "0")) - if err != nil { - return nil, 0, nil, err - } - buf = []byte{} - tmp = make([]byte, numBytes) - for { - n, err := c.connection.Read(tmp) - if err != nil { - return nil, 0, nil, err - } - tmpCopy = make([]byte, n) - // Copy the buffer so it doesn't get changed while read by the recipient. - copy(tmpCopy, tmp[:n]) - buf = append(buf, bytes.TrimRight(tmpCopy, "\x00")...) - if len(buf) < numBytes { - // shrink the amount we need to read - tmp = tmp[:numBytes-len(buf)] - } else { - break - } - } - // log.Printf("wanted %d and got %d", numBytes, len(buf)) - return -} - -// Send a message -func (c Comm) Send(message string) (err error) { - _, err = c.Write([]byte(message)) - return -} - -// Receive a message -func (c Comm) Receive() (s string, err error) { - b, _, _, err := c.Read() - s = string(b) - return -} diff --git a/src/croc/config.go b/src/croc/config.go deleted file mode 100644 index 8a37560b..00000000 --- a/src/croc/config.go +++ /dev/null @@ -1,187 +0,0 @@ -package croc - -import ( - "bytes" - "fmt" - "io/ioutil" - "os" - "path" - "path/filepath" - "time" - - "github.com/BurntSushi/toml" - homedir "github.com/mitchellh/go-homedir" - "github.com/schollz/croc/src/utils" -) - -type Config struct { - // Relay parameters - RelayWebsocketPort string - RelayTCPPorts []string - - // Sender parameters - CurveType string - - // Options for connecting to server - PublicServerIP string - AddressTCPPorts []string - AddressWebsocketPort string - Timeout time.Duration - LocalOnly bool - NoLocal bool - - // Options for file transfering - UseEncryption bool - UseCompression bool - AllowLocalDiscovery bool - NoRecipientPrompt bool - ForceTCP bool - ForceWebsockets bool - Codephrase string -} - -func defaultConfig() Config { - c := Config{} - cr := Init(false) - c.RelayWebsocketPort = cr.RelayWebsocketPort - c.RelayTCPPorts = cr.RelayTCPPorts - c.CurveType = cr.CurveType - c.PublicServerIP = cr.Address - c.AddressTCPPorts = cr.AddressTCPPorts - c.AddressWebsocketPort = cr.AddressWebsocketPort - c.Timeout = cr.Timeout - c.LocalOnly = cr.LocalOnly - c.NoLocal = cr.NoLocal - c.UseEncryption = cr.UseEncryption - c.UseCompression = cr.UseCompression - c.AllowLocalDiscovery = cr.AllowLocalDiscovery - c.NoRecipientPrompt = cr.NoRecipientPrompt - c.ForceTCP = false - c.ForceWebsockets = false - c.Codephrase = "" - return c -} - -func SaveDefaultConfig() error { - homedir, err := homedir.Dir() - if err != nil { - return err - } - os.MkdirAll(path.Join(homedir, ".config", "croc"), 0755) - c := defaultConfig() - buf := new(bytes.Buffer) - toml.NewEncoder(buf).Encode(c) - confTOML := buf.String() - err = ioutil.WriteFile(path.Join(homedir, ".config", "croc", "config.toml"), []byte(confTOML), 0644) - if err == nil { - fmt.Printf("Default config file written at '%s'\r\n", filepath.Clean(path.Join(homedir, ".config", "croc", "config.toml"))) - } - return err -} - -// LoadConfig will override parameters -func (cr *Croc) LoadConfig() (err error) { - homedir, err := homedir.Dir() - if err != nil { - return err - } - pathToConfig := path.Join(homedir, ".config", "croc", "config.toml") - if !utils.Exists(pathToConfig) { - // ignore if doesn't exist - return nil - } - - var c Config - _, err = toml.DecodeFile(pathToConfig, &c) - if err != nil { - return - } - - cDefault := defaultConfig() - // only load if things are different than defaults - // just in case the CLI parameters are used - if c.RelayWebsocketPort != cDefault.RelayWebsocketPort && cr.RelayWebsocketPort == cDefault.RelayWebsocketPort { - cr.RelayWebsocketPort = c.RelayWebsocketPort - fmt.Printf("loaded RelayWebsocketPort from config\n") - } - if !slicesEqual(c.RelayTCPPorts, cDefault.RelayTCPPorts) && slicesEqual(cr.RelayTCPPorts, cDefault.RelayTCPPorts) { - cr.RelayTCPPorts = c.RelayTCPPorts - fmt.Printf("loaded RelayTCPPorts from config\n") - } - if c.CurveType != cDefault.CurveType && cr.CurveType == cDefault.CurveType { - cr.CurveType = c.CurveType - fmt.Printf("loaded CurveType from config\n") - } - if c.PublicServerIP != cDefault.PublicServerIP && cr.Address == cDefault.PublicServerIP { - cr.Address = c.PublicServerIP - fmt.Printf("loaded Address from config\n") - } - if !slicesEqual(c.AddressTCPPorts, cDefault.AddressTCPPorts) { - cr.AddressTCPPorts = c.AddressTCPPorts - fmt.Printf("loaded AddressTCPPorts from config\n") - } - if c.AddressWebsocketPort != cDefault.AddressWebsocketPort && cr.AddressWebsocketPort == cDefault.AddressWebsocketPort { - cr.AddressWebsocketPort = c.AddressWebsocketPort - fmt.Printf("loaded AddressWebsocketPort from config\n") - } - if c.Timeout != cDefault.Timeout && cr.Timeout == cDefault.Timeout { - cr.Timeout = c.Timeout - fmt.Printf("loaded Timeout from config\n") - } - if c.LocalOnly != cDefault.LocalOnly && cr.LocalOnly == cDefault.LocalOnly { - cr.LocalOnly = c.LocalOnly - fmt.Printf("loaded LocalOnly from config\n") - } - if c.NoLocal != cDefault.NoLocal && cr.NoLocal == cDefault.NoLocal { - cr.NoLocal = c.NoLocal - fmt.Printf("loaded NoLocal from config\n") - } - if c.UseEncryption != cDefault.UseEncryption && cr.UseEncryption == cDefault.UseEncryption { - cr.UseEncryption = c.UseEncryption - fmt.Printf("loaded UseEncryption from config\n") - } - if c.UseCompression != cDefault.UseCompression && cr.UseCompression == cDefault.UseCompression { - cr.UseCompression = c.UseCompression - fmt.Printf("loaded UseCompression from config\n") - } - if c.AllowLocalDiscovery != cDefault.AllowLocalDiscovery && cr.AllowLocalDiscovery == cDefault.AllowLocalDiscovery { - cr.AllowLocalDiscovery = c.AllowLocalDiscovery - fmt.Printf("loaded AllowLocalDiscovery from config\n") - } - if c.NoRecipientPrompt != cDefault.NoRecipientPrompt && cr.NoRecipientPrompt == cDefault.NoRecipientPrompt { - cr.NoRecipientPrompt = c.NoRecipientPrompt - fmt.Printf("loaded NoRecipientPrompt from config\n") - } - if c.ForceWebsockets { - cr.ForceSend = 1 - } - if c.ForceTCP { - cr.ForceSend = 2 - } - if c.Codephrase != cDefault.Codephrase && cr.Codephrase == cDefault.Codephrase { - cr.Codephrase = c.Codephrase - fmt.Printf("loaded Codephrase from config\n") - } - return -} - -// slicesEqual checcks if two slices are equal -// from https://stackoverflow.com/a/15312097 -func slicesEqual(a, b []string) bool { - // If one is nil, the other must also be nil. - if (a == nil) != (b == nil) { - return false - } - - if len(a) != len(b) { - return false - } - - for i := range a { - if a[i] != b[i] { - return false - } - } - - return true -} diff --git a/src/croc/croc.go b/src/croc/croc.go deleted file mode 100644 index fd11e207..00000000 --- a/src/croc/croc.go +++ /dev/null @@ -1,96 +0,0 @@ -package croc - -import ( - "runtime" - "time" - - "github.com/schollz/croc/src/logger" - "github.com/schollz/croc/src/models" - "github.com/schollz/croc/src/relay" - "github.com/schollz/croc/src/zipper" - "github.com/schollz/progressbar/v2" -) - -func init() { - runtime.GOMAXPROCS(runtime.NumCPU()) -} - -// Croc options -type Croc struct { - // Version is the version of croc - Version string - // Options for all - Debug bool - // ShowText will display text on the stderr - ShowText bool - - // Options for relay - RelayWebsocketPort string - RelayTCPPorts []string - CurveType string - - // Options for connecting to server - Address string - AddressTCPPorts []string - AddressWebsocketPort string - Timeout time.Duration - LocalOnly bool - NoLocal bool - - // Options for file transfering - UseEncryption bool - UseCompression bool - AllowLocalDiscovery bool - NoRecipientPrompt bool - Stdout bool - ForceSend int // 0: ignore, 1: websockets, 2: TCP - - // Parameters for file transfer - Filename string - Codephrase string - - // localIP address - localIP string - // is using local relay - isLocal bool - normalFinish bool - - // state variables - StateString string - Bar *progressbar.ProgressBar - FileInfo models.FileStats - OtherIP string - - // special for window - WindowRecipientPrompt bool - WindowRecipientAccept bool - WindowReceivingString string -} - -// Init will initiate with the default parameters -func Init(debug bool) (c *Croc) { - c = new(Croc) - c.UseCompression = true - c.UseEncryption = true - c.AllowLocalDiscovery = true - c.RelayWebsocketPort = "8153" - c.RelayTCPPorts = []string{"8154", "8155", "8156", "8157", "8158", "8159", "8160", "8161"} - c.CurveType = "siec" - c.Address = "croc4.schollz.com" - c.AddressWebsocketPort = "8153" - c.AddressTCPPorts = []string{"8154", "8155", "8156", "8157", "8158", "8159", "8160", "8161"} - c.NoRecipientPrompt = true - debugLevel := "info" - if debug { - debugLevel = "debug" - c.Debug = true - } - SetDebugLevel(debugLevel) - return -} - -func SetDebugLevel(debugLevel string) { - logger.SetLogLevel(debugLevel) - relay.DebugLevel = debugLevel - zipper.DebugLevel = debugLevel -} diff --git a/src/croc/croc_test.go b/src/croc/croc_test.go deleted file mode 100644 index 65b07c60..00000000 --- a/src/croc/croc_test.go +++ /dev/null @@ -1,81 +0,0 @@ -package croc - -import ( - "crypto/rand" - "fmt" - "io/ioutil" - "os" - "sync" - "testing" - "time" - - "github.com/schollz/croc/src/utils" - "github.com/stretchr/testify/assert" -) - -func sendAndReceive(t *testing.T, forceSend int, local bool) { - room := utils.GetRandomName() - var startTime time.Time - var durationPerMegabyte float64 - megabytes := 1 - if local { - megabytes = 100 - } - fname := generateRandomFile(megabytes) - var wg sync.WaitGroup - wg.Add(2) - go func() { - defer wg.Done() - c := Init(true) - c.NoLocal = !local - // c.AddressTCPPorts = []string{"8154", "8155"} - c.ForceSend = forceSend - c.UseCompression = true - c.UseEncryption = true - assert.Nil(t, c.Send(fname, room)) - }() - go func() { - defer wg.Done() - time.Sleep(5 * time.Second) - os.MkdirAll("test", 0755) - os.Chdir("test") - c := Init(true) - c.NoLocal = !local - // c.AddressTCPPorts = []string{"8154", "8155"} - c.ForceSend = forceSend - startTime = time.Now() - assert.Nil(t, c.Receive(room)) - durationPerMegabyte = float64(megabytes) / time.Since(startTime).Seconds() - assert.True(t, utils.Exists(fname)) - }() - wg.Wait() - os.Chdir("..") - os.RemoveAll("test") - os.Remove(fname) - fmt.Printf("\n-----\n%2.1f MB/s\n----\n", durationPerMegabyte) -} - -func TestSendReceivePubWebsockets(t *testing.T) { - sendAndReceive(t, 1, false) -} - -func TestSendReceivePubTCP(t *testing.T) { - sendAndReceive(t, 2, false) -} - -func TestSendReceiveLocalWebsockets(t *testing.T) { - sendAndReceive(t, 1, true) -} - -// func TestSendReceiveLocalTCP(t *testing.T) { -// sendAndReceive(t, 2, true) -// } - -func generateRandomFile(megabytes int) (fname string) { - // generate a random file - bigBuff := make([]byte, 1024*1024*megabytes) - rand.Read(bigBuff) - fname = fmt.Sprintf("%dmb.file", megabytes) - ioutil.WriteFile(fname, bigBuff, 0666) - return -} diff --git a/src/croc/models.go b/src/croc/models.go deleted file mode 100644 index de2650a3..00000000 --- a/src/croc/models.go +++ /dev/null @@ -1,7 +0,0 @@ -package croc - -type WebSocketMessage struct { - messageType int - message []byte - err error -} diff --git a/src/croc/recipient.go b/src/croc/recipient.go deleted file mode 100644 index 48e529fd..00000000 --- a/src/croc/recipient.go +++ /dev/null @@ -1,624 +0,0 @@ -package croc - -import ( - "bufio" - "bytes" - "encoding/json" - "fmt" - "io/ioutil" - "os" - "strconv" - "strings" - "sync" - "time" - - log "github.com/cihub/seelog" - humanize "github.com/dustin/go-humanize" - "github.com/gorilla/websocket" - "github.com/pkg/errors" - "github.com/schollz/croc/src/comm" - "github.com/schollz/croc/src/compress" - "github.com/schollz/croc/src/crypt" - "github.com/schollz/croc/src/logger" - "github.com/schollz/croc/src/models" - "github.com/schollz/croc/src/utils" - "github.com/schollz/croc/src/zipper" - "github.com/schollz/pake" - "github.com/schollz/progressbar/v2" - "github.com/schollz/spinner" -) - -var DebugLevel string - -// Receive is the async operation to receive a file -func (cr *Croc) startRecipient(forceSend int, serverAddress string, tcpPorts []string, isLocal bool, done chan error, c *websocket.Conn, codephrase string, noPrompt bool, useStdout bool) { - logger.SetLogLevel(DebugLevel) - err := cr.receive(forceSend, serverAddress, tcpPorts, isLocal, c, codephrase, noPrompt, useStdout) - if err != nil && strings.HasPrefix(err.Error(), "websocket: close 100") { - err = nil - } - done <- err -} - -func (cr *Croc) receive(forceSend int, serverAddress string, tcpPorts []string, isLocal bool, c *websocket.Conn, codephrase string, noPrompt bool, useStdout bool) (err error) { - var sessionKey []byte - var transferTime time.Duration - var hash256 []byte - var progressFile string - var resumeFile bool - var tcpConnections []comm.Comm - var Q *pake.Pake - - dataChan := make(chan []byte, 1024*1024) - isConnectedIfUsingTCP := make(chan bool) - blocks := []string{} - - useWebsockets := true - switch forceSend { - case 0: - if !isLocal { - useWebsockets = false - } - case 1: - useWebsockets = true - case 2: - useWebsockets = false - } - - // start a spinner - spin := spinner.New(spinner.CharSets[9], 100*time.Millisecond) - spin.Writer = os.Stderr - spin.Suffix = " connecting..." - cr.StateString = "Connecting as recipient..." - spin.Start() - defer spin.Stop() - - // both parties should have a weak key - pw := []byte(codephrase) - - // start the reader - websocketMessages := make(chan WebSocketMessage, 1024) - go func() { - defer func() { - if r := recover(); r != nil { - log.Debugf("recovered from %s", r) - } - }() - for { - messageType, message, err := c.ReadMessage() - websocketMessages <- WebSocketMessage{messageType, message, err} - } - }() - - step := 0 - for { - var websocketMessageMain WebSocketMessage - // websocketMessageMain = <-websocketMessages - timeWaitingForMessage := time.Now() - for { - done := false - select { - case websocketMessageMain = <-websocketMessages: - done = true - default: - time.Sleep(10 * time.Millisecond) - } - if done { - break - } - if time.Since(timeWaitingForMessage).Seconds() > 3 && step == 0 { - return fmt.Errorf("You are trying to receive a file with no sender.") - } - } - - messageType := websocketMessageMain.messageType - message := websocketMessageMain.message - err := websocketMessageMain.err - if err != nil { - return err - } - if messageType == websocket.PongMessage || messageType == websocket.PingMessage { - continue - } - if messageType == websocket.TextMessage && bytes.Equal(message, []byte("interrupt")) { - return errors.New("\rinterrupted by other party") - } - - log.Debugf("got %d: %s", messageType, message) - switch step { - case 0: - spin.Stop() - spin.Suffix = " performing PAKE..." - cr.StateString = "Performing PAKE..." - spin.Start() - // sender has initiated, sends their initial data - var initialData models.Initial - err = json.Unmarshal(message, &initialData) - if err != nil { - err = errors.Wrap(err, "incompatible versions of croc") - return err - } - cr.OtherIP = initialData.IPAddress - log.Debugf("sender IP: %s", cr.OtherIP) - - // check whether the version strings are compatible - versionStringsOther := strings.Split(initialData.VersionString, ".") - versionStringsSelf := strings.Split(cr.Version, ".") - if len(versionStringsOther) == 3 && len(versionStringsSelf) == 3 { - if versionStringsSelf[0] != versionStringsOther[0] || versionStringsSelf[1] != versionStringsOther[1] { - return fmt.Errorf("version sender %s is not compatible with recipient %s", cr.Version, initialData.VersionString) - } - } - - // initialize the PAKE with the curve sent from the sender - Q, err = pake.InitCurve(pw, 1, initialData.CurveType, 1*time.Millisecond) - if err != nil { - err = errors.Wrap(err, "incompatible curve type") - return err - } - - // recipient begins by sending back initial data to sender - ip := "" - if isLocal { - ip = utils.LocalIP() - } else { - ip, _ = utils.PublicIP() - } - initialData.VersionString = cr.Version - initialData.IPAddress = ip - bInitialData, _ := json.Marshal(initialData) - c.WriteMessage(websocket.BinaryMessage, bInitialData) - case 1: - // Q receives u - log.Debugf("[%d] Q computes k, sends H(k), v back to P", step) - if err := Q.Update(message); err != nil { - return fmt.Errorf("Recipient is using wrong code phrase.") - } - - // Q has the session key now, but we will still check if its valid - sessionKey, err = Q.SessionKey() - if err != nil { - return fmt.Errorf("Recipient is using wrong code phrase.") - } - log.Debugf("%x\n", sessionKey) - - // initialize TCP connections if using (possible, but unlikely, race condition) - go func() { - log.Debug("initializing TCP connections") - if !useWebsockets { - log.Debugf("connecting to server") - tcpConnections = make([]comm.Comm, len(tcpPorts)) - var wg sync.WaitGroup - wg.Add(len(tcpPorts)) - for i, tcpPort := range tcpPorts { - go func(i int, tcpPort string) { - defer wg.Done() - log.Debugf("connecting to %d", i) - var message string - tcpConnections[i], message, err = connectToTCPServer(utils.SHA256(fmt.Sprintf("%d%x", i, sessionKey)), serverAddress+":"+tcpPort) - if err != nil { - log.Error(err) - } - if message != "recipient" { - log.Errorf("got wrong message: %s", message) - } - }(i, tcpPort) - } - wg.Wait() - log.Debugf("fully connected") - } - isConnectedIfUsingTCP <- true - }() - - c.WriteMessage(websocket.BinaryMessage, Q.Bytes()) - case 2: - log.Debugf("[%d] Q recieves H(k) from P", step) - // check if everything is still kosher with our computed session key - if err := Q.Update(message); err != nil { - log.Debug(err) - return fmt.Errorf("Recipient is using wrong code phrase.") - } - c.WriteMessage(websocket.BinaryMessage, []byte("ready")) - case 3: - spin.Stop() - cr.StateString = "Recieving file info..." - - // unmarshal the file info - log.Debugf("[%d] recieve file info", step) - // do decryption on the file stats - enc, err := crypt.FromBytes(message) - if err != nil { - return err - } - decryptedFileData, err := enc.Decrypt(sessionKey) - if err != nil { - return err - } - err = json.Unmarshal(decryptedFileData, &cr.FileInfo) - if err != nil { - return err - } - log.Debugf("got file stats: %+v", cr.FileInfo) - - // determine if the file is resuming or not - progressFile = fmt.Sprintf("%s.progress", cr.FileInfo.SentName) - overwritingOrReceiving := "Receiving" - if utils.Exists(cr.FileInfo.Name) || utils.Exists(cr.FileInfo.SentName) { - overwritingOrReceiving = "Overwriting" - if utils.Exists(progressFile) { - overwritingOrReceiving = "Resume receiving" - resumeFile = true - } - } - - // send blocks - if resumeFile { - fileWithBlocks, _ := os.Open(progressFile) - scanner := bufio.NewScanner(fileWithBlocks) - for scanner.Scan() { - blocks = append(blocks, strings.TrimSpace(scanner.Text())) - } - fileWithBlocks.Close() - } - blocksBytes, _ := json.Marshal(blocks) - // encrypt the block data and send - encblockBytes := crypt.Encrypt(blocksBytes, sessionKey) - - // wait for TCP connections if using them - _ = <-isConnectedIfUsingTCP - c.WriteMessage(websocket.BinaryMessage, encblockBytes.Bytes()) - - // prompt user about the file - fileOrFolder := "file" - if cr.FileInfo.IsDir { - fileOrFolder = "folder" - } - cr.WindowReceivingString = fmt.Sprintf("%s %s (%s) into: %s", - overwritingOrReceiving, - fileOrFolder, - humanize.Bytes(uint64(cr.FileInfo.Size)), - cr.FileInfo.Name, - ) - fmt.Fprintf(os.Stderr, "\r%s\n", - cr.WindowReceivingString, - ) - if !noPrompt { - if "y" != utils.GetInput("ok? (y/N): ") { - fmt.Fprintf(os.Stderr, "Cancelling request") - c.WriteMessage(websocket.BinaryMessage, []byte("no")) - return nil - } - } - if cr.WindowRecipientPrompt { - // wait until it switches to false - // the window should then set WindowRecipientAccept - for { - if !cr.WindowRecipientPrompt { - if cr.WindowRecipientAccept { - break - } else { - fmt.Fprintf(os.Stderr, "Cancelling request") - c.WriteMessage(websocket.BinaryMessage, []byte("no")) - return nil - } - } - time.Sleep(10 * time.Millisecond) - } - } - - // await file - // erase file if overwriting - if overwritingOrReceiving == "Overwriting" { - os.Remove(cr.FileInfo.SentName) - } - var f *os.File - if utils.Exists(cr.FileInfo.SentName) && resumeFile { - if !useWebsockets { - f, err = os.OpenFile(cr.FileInfo.SentName, os.O_WRONLY, 0644) - } else { - f, err = os.OpenFile(cr.FileInfo.SentName, os.O_APPEND|os.O_WRONLY, 0644) - } - if err != nil { - log.Error(err) - return err - } - } else { - f, err = os.Create(cr.FileInfo.SentName) - if err != nil { - log.Error(err) - return err - } - if !useWebsockets { - if err = f.Truncate(cr.FileInfo.Size); err != nil { - log.Error(err) - return err - } - } - } - - blockSize := 0 - if useWebsockets { - blockSize = models.WEBSOCKET_BUFFER_SIZE / 8 - } else { - blockSize = models.TCP_BUFFER_SIZE / 2 - } - // start the ui for pgoress - cr.StateString = "Recieving file..." - bytesWritten := 0 - fmt.Fprintf(os.Stderr, "\nReceiving (<-%s)...\n", cr.OtherIP) - cr.Bar = progressbar.NewOptions( - int(cr.FileInfo.Size), - progressbar.OptionSetRenderBlankState(true), - progressbar.OptionSetBytes(int(cr.FileInfo.Size)), - progressbar.OptionSetWriter(os.Stderr), - progressbar.OptionThrottle(1/60*time.Second), - ) - cr.Bar.Add((len(blocks) * blockSize)) - finished := make(chan bool) - - go func(finished chan bool, dataChan chan []byte) (err error) { - // remove previous progress - var fProgress *os.File - var progressErr error - if resumeFile { - fProgress, progressErr = os.OpenFile(progressFile, os.O_APPEND|os.O_WRONLY, 0644) - bytesWritten = len(blocks) * blockSize - } else { - os.Remove(progressFile) - fProgress, progressErr = os.Create(progressFile) - } - if progressErr != nil { - panic(progressErr) - } - defer fProgress.Close() - - blocksWritten := 0.0 - blocksToWrite := float64(cr.FileInfo.Size) - if useWebsockets { - blocksToWrite = blocksToWrite/float64(models.WEBSOCKET_BUFFER_SIZE/8) - float64(len(blocks)) - } else { - blocksToWrite = blocksToWrite/float64(models.TCP_BUFFER_SIZE/2) - float64(len(blocks)) - } - for { - message := <-dataChan - // do decryption - var enc crypt.Encryption - err = json.Unmarshal(message, &enc) - if err != nil { - // log.Errorf("%s: [%s] [%+v] (%d/%d) %+v", err.Error(), message, message, len(message), numBytes, bs) - log.Error(err) - return err - } - decrypted, err := enc.Decrypt(sessionKey, !cr.FileInfo.IsEncrypted) - if err != nil { - log.Error(err) - return err - } - - // get location if TCP - var locationToWrite int - if !useWebsockets { - pieces := bytes.SplitN(decrypted, []byte("-"), 2) - decrypted = pieces[1] - locationToWrite, _ = strconv.Atoi(string(pieces[0])) - } - - // do decompression - if cr.FileInfo.IsCompressed && !cr.FileInfo.IsDir { - decrypted = compress.Decompress(decrypted) - } - - var n int - if !useWebsockets { - if err != nil { - log.Error(err) - return err - } - n, err = f.WriteAt(decrypted, int64(locationToWrite)) - fProgress.WriteString(fmt.Sprintf("%d\n", locationToWrite)) - log.Debugf("wrote %d bytes to location %d (%2.0f/%2.0f)", n, locationToWrite, blocksWritten, blocksToWrite) - } else { - // write to file - n, err = f.Write(decrypted) - log.Debugf("wrote %d bytes to location %d (%2.0f/%2.0f)", n, bytesWritten, blocksWritten, blocksToWrite) - fProgress.WriteString(fmt.Sprintf("%d\n", bytesWritten)) - } - if err != nil { - log.Error(err) - return err - } - - // update the bytes written - bytesWritten += n - blocksWritten += 1.0 - // update the progress bar - cr.Bar.Add(n) - if int64(bytesWritten) == cr.FileInfo.Size || blocksWritten >= blocksToWrite { - log.Debug("finished", int64(bytesWritten), cr.FileInfo.Size, blocksWritten, blocksToWrite) - break - } - } - finished <- true - return - }(finished, dataChan) - - log.Debug("telling sender i'm ready") - c.WriteMessage(websocket.BinaryMessage, []byte("ready")) - - startTime := time.Now() - if useWebsockets { - for { - // read from websockets - websocketMessageData := <-websocketMessages - if bytes.HasPrefix(websocketMessageData.message, []byte("error")) { - return fmt.Errorf("%s", websocketMessageData.message) - } - if websocketMessageData.messageType != websocket.BinaryMessage { - continue - } - if err != nil { - log.Error(err) - return err - } - if bytes.Equal(websocketMessageData.message, []byte("magic")) { - log.Debug("got magic") - break - } - dataChan <- websocketMessageData.message - } - } else { - log.Debugf("starting listening with tcp with %d connections", len(tcpConnections)) - - // check to see if any messages are sent - stopMessageSignal := make(chan bool, 1) - errorsDuringTransfer := make(chan error, 24) - go func() { - for { - select { - case sig := <-stopMessageSignal: - errorsDuringTransfer <- nil - log.Debugf("got message signal: %+v", sig) - return - case wsMessage := <-websocketMessages: - log.Debugf("got message: %s", wsMessage.message) - if bytes.HasPrefix(wsMessage.message, []byte("error")) { - log.Debug("stopping transfer") - for i := 0; i < len(tcpConnections)+1; i++ { - errorsDuringTransfer <- fmt.Errorf("%s", wsMessage.message) - } - return - } - default: - continue - } - } - }() - - // using TCP - go func() { - var wg sync.WaitGroup - wg.Add(len(tcpConnections)) - for i := range tcpConnections { - defer func(i int) { - log.Debugf("closing connection %d", i) - tcpConnections[i].Close() - }(i) - go func(wg *sync.WaitGroup, j int) { - defer wg.Done() - for { - select { - case _ = <-errorsDuringTransfer: - log.Debugf("%d got stop", i) - return - default: - } - - log.Debugf("waiting to read on %d", j) - // read from TCP connection - message, _, _, err := tcpConnections[j].Read() - // log.Debugf("message: %s", message) - if err != nil { - panic(err) - } - if bytes.Equal(message, []byte("magic")) { - log.Debugf("%d got magic, leaving", j) - return - } - dataChan <- message - } - }(&wg, i) - } - log.Debug("waiting for tcp goroutines") - wg.Wait() - errorsDuringTransfer <- nil - }() - - // block until this is done - - log.Debug("waiting for error") - errorDuringTransfer := <-errorsDuringTransfer - log.Debug("sending stop message signal") - stopMessageSignal <- true - if errorDuringTransfer != nil { - log.Debugf("got error during transfer: %s", errorDuringTransfer.Error()) - return errorDuringTransfer - } - } - - _ = <-finished - log.Debug("telling sender i'm done") - c.WriteMessage(websocket.BinaryMessage, []byte("done")) - // we are finished - transferTime = time.Since(startTime) - - // close file - err = f.Close() - if err != nil { - return err - } - - // finish bar - cr.Bar.Finish() - - // check hash - hash256, err = utils.HashFile(cr.FileInfo.SentName) - if err != nil { - log.Error(err) - return err - } - // tell the sender the hash so they can quit - c.WriteMessage(websocket.BinaryMessage, append([]byte("hash:"), hash256...)) - case 4: - // receive the hash from the sender so we can check it and quit - log.Debugf("got hash: %x", message) - if bytes.Equal(hash256, message) { - // open directory - if cr.FileInfo.IsDir { - err = zipper.UnzipFile(cr.FileInfo.SentName, ".") - if DebugLevel != "debug" { - os.Remove(cr.FileInfo.SentName) - } - } else { - err = nil - } - if err == nil { - if useStdout && !cr.FileInfo.IsDir { - var bFile []byte - bFile, err = ioutil.ReadFile(cr.FileInfo.SentName) - if err != nil { - return err - } - os.Stdout.Write(bFile) - os.Remove(cr.FileInfo.SentName) - } - transferRate := float64(cr.FileInfo.Size) / 1000000.0 / transferTime.Seconds() - transferType := "MB/s" - if transferRate < 1 { - transferRate = float64(cr.FileInfo.Size) / 1000.0 / transferTime.Seconds() - transferType = "kB/s" - } - folderOrFile := "file" - if cr.FileInfo.IsDir { - folderOrFile = "folder" - } - if useStdout { - cr.FileInfo.Name = "stdout" - } - fmt.Fprintf(os.Stderr, "\nReceived %s written to %s (%2.1f %s)", folderOrFile, cr.FileInfo.Name, transferRate, transferType) - os.Remove(progressFile) - cr.StateString = fmt.Sprintf("Received %s written to %s (%2.1f %s)", folderOrFile, cr.FileInfo.Name, transferRate, transferType) - } - return err - } else { - if DebugLevel != "debug" { - log.Debug("removing corrupted file") - os.Remove(cr.FileInfo.SentName) - } - return errors.New("file corrupted") - } - default: - return fmt.Errorf("unknown step") - } - step++ - } -} diff --git a/src/croc/sender.go b/src/croc/sender.go deleted file mode 100644 index 0615fecf..00000000 --- a/src/croc/sender.go +++ /dev/null @@ -1,570 +0,0 @@ -package croc - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "net" - "os" - "path/filepath" - "strconv" - "strings" - "sync" - "time" - - log "github.com/cihub/seelog" - "github.com/gorilla/websocket" - "github.com/pkg/errors" - "github.com/schollz/croc/src/comm" - "github.com/schollz/croc/src/compress" - "github.com/schollz/croc/src/crypt" - "github.com/schollz/croc/src/logger" - "github.com/schollz/croc/src/models" - "github.com/schollz/croc/src/utils" - "github.com/schollz/croc/src/zipper" - "github.com/schollz/pake" - progressbar "github.com/schollz/progressbar/v2" - "github.com/schollz/spinner" -) - -// Send is the async call to send data -func (cr *Croc) startSender(forceSend int, serverAddress string, tcpPorts []string, isLocal bool, done chan error, c *websocket.Conn, fname string, codephrase string, useCompression bool, useEncryption bool) { - logger.SetLogLevel(DebugLevel) - log.Debugf("sending %s", fname) - err := cr.send(forceSend, serverAddress, tcpPorts, isLocal, c, fname, codephrase, useCompression, useEncryption) - if err != nil && strings.HasPrefix(err.Error(), "websocket: close 100") { - err = nil - } - done <- err -} - -func (cr *Croc) send(forceSend int, serverAddress string, tcpPorts []string, isLocal bool, c *websocket.Conn, fname string, codephrase string, useCompression bool, useEncryption bool) (err error) { - var f *os.File - defer f.Close() // ignore the error if it wasn't opened :( - var fileHash []byte - var startTransfer time.Time - var tcpConnections []comm.Comm - blocksToSkip := make(map[int64]struct{}) - isConnectedIfUsingTCP := make(chan bool) - - type DataChan struct { - b []byte - currentPostition int64 - bytesRead int - err error - } - dataChan := make(chan DataChan, 1024*1024) - defer close(dataChan) - - useWebsockets := true - switch forceSend { - case 0: - if !isLocal { - useWebsockets = false - } - case 1: - useWebsockets = true - case 2: - useWebsockets = false - } - - fileReady := make(chan error) - - // normalize the file name - fname, err = filepath.Abs(fname) - if err != nil { - return err - } - _, filename := filepath.Split(fname) - - // get ready to generate session key - var sessionKey []byte - - // start a spinner - spin := spinner.New(spinner.CharSets[9], 100*time.Millisecond) - spin.Writer = os.Stderr - defer spin.Stop() - - // both parties should have a weak key - pw := []byte(codephrase) - // initialize sender P ("0" indicates sender) - P, err := pake.InitCurve(pw, 0, cr.CurveType, 1*time.Millisecond) - if err != nil { - return - } - - // start the reader - websocketMessages := make(chan WebSocketMessage, 1024) - go func() { - defer func() { - if r := recover(); r != nil { - log.Debugf("recovered from %s", r) - } - }() - for { - messageType, message, err := c.ReadMessage() - websocketMessages <- WebSocketMessage{messageType, message, err} - } - }() - - step := 0 - for { - websocketMessage := <-websocketMessages - messageType := websocketMessage.messageType - message := websocketMessage.message - errRead := websocketMessage.err - if errRead != nil { - return errRead - } - if messageType == websocket.PongMessage || messageType == websocket.PingMessage { - continue - } - if messageType == websocket.TextMessage && bytes.HasPrefix(message, []byte("interrupt")) { - return errors.New("\rinterrupted by other party") - } - if messageType == websocket.TextMessage && bytes.HasPrefix(message, []byte("err")) { - return errors.New("\r" + string(message)) - } - log.Debugf("got %d: %s", messageType, message) - switch step { - case 0: - // sender initiates communication - ip := "" - if isLocal { - ip = utils.LocalIP() - } else { - ip, _ = utils.PublicIP() - } - - initialData := models.Initial{ - CurveType: cr.CurveType, - IPAddress: ip, - VersionString: cr.Version, // version should match - } - bInitialData, _ := json.Marshal(initialData) - // send the initial data - c.WriteMessage(websocket.BinaryMessage, bInitialData) - case 1: - // first receive the initial data from the recipient - var initialData models.Initial - err = json.Unmarshal(message, &initialData) - if err != nil { - err = errors.Wrap(err, "incompatible versions of croc") - return - } - cr.OtherIP = initialData.IPAddress - log.Debugf("recipient IP: %s", cr.OtherIP) - - go func() { - // recipient might want file! start gathering information about file - fstat, err := os.Stat(fname) - if err != nil { - fileReady <- err - return - } - cr.FileInfo = models.FileStats{ - Name: filename, - Size: fstat.Size(), - ModTime: fstat.ModTime(), - IsDir: fstat.IsDir(), - SentName: fstat.Name(), - IsCompressed: useCompression, - IsEncrypted: useEncryption, - } - if cr.FileInfo.IsDir { - // zip the directory - cr.FileInfo.SentName, err = zipper.ZipFile(fname, true) - if err != nil { - log.Error(err) - fileReady <- err - return - } - fname = cr.FileInfo.SentName - - fstat, err := os.Stat(fname) - if err != nil { - fileReady <- err - return - } - // get new size - cr.FileInfo.Size = fstat.Size() - } - - // open the file - f, err = os.Open(fname) - if err != nil { - fileReady <- err - return - } - fileReady <- nil - - }() - - // send pake data - log.Debugf("[%d] first, P sends u to Q", step) - c.WriteMessage(websocket.BinaryMessage, P.Bytes()) - // start PAKE spinnner - spin.Suffix = " performing PAKE..." - cr.StateString = "Performing PAKE..." - spin.Start() - case 2: - // P recieves H(k),v from Q - log.Debugf("[%d] P computes k, H(k), sends H(k) to Q", step) - err := P.Update(message) - c.WriteMessage(websocket.BinaryMessage, P.Bytes()) - if err != nil { - return fmt.Errorf("Recipient is using wrong code phrase.") - } - - sessionKey, _ = P.SessionKey() - // check(err) - log.Debugf("%x\n", sessionKey) - - // wait for readiness - spin.Stop() - spin.Suffix = " waiting for recipient ok..." - cr.StateString = "Waiting for recipient ok...." - spin.Start() - case 3: - log.Debugf("[%d] recipient declares readiness for file info", step) - if !bytes.HasPrefix(message, []byte("ready")) { - return errors.New("Recipient refused file") - } - - err = <-fileReady // block until file is ready - if err != nil { - return err - } - fstatsBytes, err := json.Marshal(cr.FileInfo) - if err != nil { - return err - } - - // encrypt the file meta data - enc := crypt.Encrypt(fstatsBytes, sessionKey) - // send the file meta data - c.WriteMessage(websocket.BinaryMessage, enc.Bytes()) - case 4: - log.Debugf("[%d] recipient gives blocks", step) - // recipient sends blocks, and sender does not send anything back - // determine if any blocks were sent to skip - enc, err := crypt.FromBytes(message) - if err != nil { - log.Error(err) - return err - } - decrypted, err := enc.Decrypt(sessionKey) - if err != nil { - err = errors.Wrap(err, "could not decrypt blocks with session key") - log.Error(err) - return err - } - - var blocks []string - errBlocks := json.Unmarshal(decrypted, &blocks) - if errBlocks == nil { - for _, block := range blocks { - blockInt64, errBlock := strconv.Atoi(block) - if errBlock == nil { - blocksToSkip[int64(blockInt64)] = struct{}{} - } - } - } - log.Debugf("found blocks: %+v", blocksToSkip) - - // connect to TCP in background - tcpConnections = make([]comm.Comm, len(tcpPorts)) - go func() { - if !useWebsockets { - log.Debugf("connecting to server") - var wg sync.WaitGroup - wg.Add(len(tcpPorts)) - for i, tcpPort := range tcpPorts { - go func(i int, tcpPort string) { - defer wg.Done() - log.Debugf("connecting to %s on connection %d", tcpPort, i) - var message string - tcpConnections[i], message, err = connectToTCPServer(utils.SHA256(fmt.Sprintf("%d%x", i, sessionKey)), serverAddress+":"+tcpPort) - if err != nil { - log.Error(err) - } - if message != "sender" { - log.Errorf("got wrong message: %s", message) - } - }(i, tcpPort) - } - wg.Wait() - } - isConnectedIfUsingTCP <- true - }() - - // start loading the file into memory - // start streaming encryption/compression - if cr.FileInfo.IsDir { - // remove file if zipped - defer os.Remove(cr.FileInfo.SentName) - } - go func(dataChan chan DataChan) { - var buffer []byte - if useWebsockets { - buffer = make([]byte, models.WEBSOCKET_BUFFER_SIZE/8) - } else { - buffer = make([]byte, models.TCP_BUFFER_SIZE/2) - } - - currentPostition := int64(0) - for { - bytesread, err := f.Read(buffer) - if bytesread > 0 { - if _, ok := blocksToSkip[currentPostition]; ok { - log.Debugf("skipping the sending of block %d", currentPostition) - currentPostition += int64(bytesread) - continue - } - - // do compression - var compressedBytes []byte - if useCompression && !cr.FileInfo.IsDir { - compressedBytes = compress.Compress(buffer[:bytesread]) - } else { - compressedBytes = buffer[:bytesread] - } - - // if using TCP, prepend the location to write the data to in the resulting file - if !useWebsockets { - compressedBytes = append([]byte(fmt.Sprintf("%d-", currentPostition)), compressedBytes...) - } - - // do encryption - enc := crypt.Encrypt(compressedBytes, sessionKey, !useEncryption) - encBytes, err := json.Marshal(enc) - if err != nil { - dataChan <- DataChan{ - b: nil, - bytesRead: 0, - err: err, - } - return - } - - dataChan <- DataChan{ - b: encBytes, - bytesRead: bytesread, - err: nil, - } - currentPostition += int64(bytesread) - } - if err != nil { - if err != io.EOF { - log.Error(err) - } - break - } - } - // finish - log.Debug("sending magic") - dataChan <- DataChan{ - b: []byte("magic"), - bytesRead: 0, - err: nil, - } - if !useWebsockets { - log.Debug("sending extra magic to %d others", len(tcpPorts)-1) - for i := 0; i < len(tcpPorts)-1; i++ { - log.Debug("sending magic") - dataChan <- DataChan{ - b: []byte("magic"), - bytesRead: 0, - err: nil, - } - } - } - }(dataChan) - - case 5: - spin.Stop() - - log.Debugf("[%d] recipient declares readiness for file data", step) - if !bytes.HasPrefix(message, []byte("ready")) { - return errors.New("Recipient refused file") - } - cr.StateString = "Transfer in progress..." - fmt.Fprintf(os.Stderr, "\rSending (->%s)...\n", cr.OtherIP) - // send file, compure hash simultaneously - startTransfer = time.Now() - - blockSize := 0 - if useWebsockets { - blockSize = models.WEBSOCKET_BUFFER_SIZE / 8 - } else { - blockSize = models.TCP_BUFFER_SIZE / 2 - } - cr.Bar = progressbar.NewOptions( - int(cr.FileInfo.Size), - progressbar.OptionSetRenderBlankState(true), - progressbar.OptionSetBytes(int(cr.FileInfo.Size)), - progressbar.OptionSetWriter(os.Stderr), - progressbar.OptionThrottle(1/60*time.Second), - ) - cr.Bar.Add(blockSize * len(blocksToSkip)) - - if useWebsockets { - for { - data := <-dataChan - if data.err != nil { - return data.err - } - cr.Bar.Add(data.bytesRead) - - // write data to websockets - err = c.WriteMessage(websocket.BinaryMessage, data.b) - if err != nil { - err = errors.Wrap(err, "problem writing message") - return err - } - if bytes.Equal(data.b, []byte("magic")) { - break - } - } - } else { - _ = <-isConnectedIfUsingTCP - log.Debug("connected and ready to send on tcp") - - // check to see if any messages are sent - stopMessageSignal := make(chan bool, 1) - errorsDuringTransfer := make(chan error, 24) - go func() { - for { - select { - case sig := <-stopMessageSignal: - errorsDuringTransfer <- nil - log.Debugf("got message signal: %+v", sig) - return - case wsMessage := <-websocketMessages: - log.Debugf("got message: %s", wsMessage.message) - if bytes.HasPrefix(wsMessage.message, []byte("error")) { - log.Debug("stopping transfer") - for i := 0; i < len(tcpConnections)+1; i++ { - errorsDuringTransfer <- fmt.Errorf("%s", wsMessage.message) - } - return - } - default: - continue - } - } - }() - - var wg sync.WaitGroup - wg.Add(len(tcpConnections)) - for i := range tcpConnections { - defer func(i int) { - log.Debugf("closing connection %d", i) - tcpConnections[i].Close() - }(i) - go func(i int, wg *sync.WaitGroup, dataChan <-chan DataChan) { - defer wg.Done() - for data := range dataChan { - select { - case _ = <-errorsDuringTransfer: - log.Debugf("%d got stop", i) - return - default: - } - if data.err != nil { - log.Error(data.err) - return - } - cr.Bar.Add(data.bytesRead) - // write data to tcp connection - _, errTcp := tcpConnections[i].Write(data.b) - if errTcp != nil { - errTcp = errors.Wrap(errTcp, "problem writing message") - log.Debug(errTcp) - errorsDuringTransfer <- errTcp - return - } - if bytes.Equal(data.b, []byte("magic")) { - log.Debugf("%d got magic", i) - return - } - } - }(i, &wg, dataChan) - } - - // block until this is done - log.Debug("waiting for tcp goroutines") - wg.Wait() - log.Debug("sending stop message signal") - stopMessageSignal <- true - log.Debug("waiting for error") - errorDuringTransfer := <-errorsDuringTransfer - if errorDuringTransfer != nil { - log.Debugf("got error during transfer: %s", errorDuringTransfer.Error()) - return errorDuringTransfer - } - } - - cr.Bar.Finish() - log.Debug("send hash to finish file") - fileHash, err = utils.HashFile(fname) - if err != nil { - return err - } - case 6: - // recevied something, maybe the file hash - transferTime := time.Since(startTransfer) - if !bytes.HasPrefix(message, []byte("hash:")) { - log.Debugf("%s", message) - continue - } - c.WriteMessage(websocket.BinaryMessage, fileHash) - message = bytes.TrimPrefix(message, []byte("hash:")) - log.Debugf("[%d] determing whether it went ok", step) - if bytes.Equal(message, fileHash) { - log.Debug("file transfered successfully") - transferRate := float64(cr.FileInfo.Size) / 1000000.0 / transferTime.Seconds() - transferType := "MB/s" - if transferRate < 1 { - transferRate = float64(cr.FileInfo.Size) / 1000.0 / transferTime.Seconds() - transferType = "kB/s" - } - fmt.Fprintf(os.Stderr, "\nTransfer complete (%2.1f %s)", transferRate, transferType) - cr.StateString = fmt.Sprintf("Transfer complete (%2.1f %s)", transferRate, transferType) - return nil - } else { - fmt.Fprintf(os.Stderr, "\nTransfer corrupted") - return errors.New("file not transfered succesfully") - } - default: - return fmt.Errorf("unknown step") - } - step++ - } -} - -func connectToTCPServer(room string, address string) (com comm.Comm, message string, err error) { - connection, err := net.DialTimeout("tcp", address, 3*time.Hour) - if err != nil { - return - } - connection.SetReadDeadline(time.Now().Add(3 * time.Hour)) - connection.SetDeadline(time.Now().Add(3 * time.Hour)) - connection.SetWriteDeadline(time.Now().Add(3 * time.Hour)) - - com = comm.New(connection) - ok, err := com.Receive() - if err != nil { - return - } - log.Debugf("server says: %s", ok) - - err = com.Send(room) - if err != nil { - return - } - message, err = com.Receive() - log.Debugf("server says: %s", message) - return -} diff --git a/src/croc/sending.go b/src/croc/sending.go deleted file mode 100644 index 250de266..00000000 --- a/src/croc/sending.go +++ /dev/null @@ -1,217 +0,0 @@ -package croc - -import ( - "errors" - "fmt" - "net/http" - "os" - "os/signal" - "strings" - "time" - - log "github.com/cihub/seelog" - "github.com/gorilla/websocket" - "github.com/schollz/croc/src/relay" - "github.com/schollz/croc/src/utils" - "github.com/schollz/peerdiscovery" -) - -// Send the file -func (c *Croc) Send(fname, codephrase string) (err error) { - defer log.Flush() - log.Debugf("sending %s", fname) - errChan := make(chan error) - - // normally attempt two connections - waitingFor := 2 - - // use public relay - if !c.LocalOnly { - go func() { - // atttempt to connect to public relay - errChan <- c.sendReceive(c.Address, c.AddressWebsocketPort, c.AddressTCPPorts, fname, codephrase, true, false) - }() - } else { - waitingFor = 1 - } - - // use local relay - if !c.NoLocal { - defer func() { - log.Debug("sending relay stop signal") - relay.Stop() - }() - go func() { - // start own relay and connect to it - go relay.Run(c.RelayWebsocketPort, c.RelayTCPPorts) - time.Sleep(250 * time.Millisecond) // race condition here, but this should work most of the time :( - - // broadcast for peer discovery - go func() { - log.Debug("starting local discovery...") - discovered, err := peerdiscovery.Discover(peerdiscovery.Settings{ - Limit: 1, - TimeLimit: 600 * time.Second, - Delay: 50 * time.Millisecond, - Payload: []byte(c.RelayWebsocketPort + "- " + strings.Join(c.RelayTCPPorts, ",")), - MulticastAddress: fmt.Sprintf("239.255.255.%d", 230+int64(time.Now().Minute()/5)), - }) - log.Debug(discovered, err) - }() - - // connect to own relay - errChan <- c.sendReceive("localhost", c.RelayWebsocketPort, c.RelayTCPPorts, fname, codephrase, true, true) - }() - } else { - waitingFor = 1 - } - - err = <-errChan - if err == nil || waitingFor == 1 { - log.Debug("returning") - return - } - log.Debug(err) - return <-errChan -} - -// Receive the file -func (c *Croc) Receive(codephrase string) (err error) { - defer log.Flush() - log.Debug("receiving") - - // use local relay first - if !c.NoLocal { - log.Debug("trying to discover") - // try to discovery codephrase and server through peer network - discovered, errDiscover := peerdiscovery.Discover(peerdiscovery.Settings{ - Limit: 1, - TimeLimit: 300 * time.Millisecond, - Delay: 50 * time.Millisecond, - Payload: []byte("checking"), - AllowSelf: true, - DisableBroadcast: true, - MulticastAddress: fmt.Sprintf("239.255.255.%d", 230+int64(time.Now().Minute()/5)), - }) - log.Debug("finished") - log.Debug(discovered) - if errDiscover != nil { - log.Debug(errDiscover) - } - if len(discovered) > 0 { - if discovered[0].Address == utils.LocalIP() { - discovered[0].Address = "localhost" - } - log.Debugf("discovered %s:%s", discovered[0].Address, discovered[0].Payload) - // see if we can actually connect to it - timeout := time.Duration(200 * time.Millisecond) - client := http.Client{ - Timeout: timeout, - } - ports := strings.Split(string(discovered[0].Payload), "-") - if len(ports) != 2 { - return errors.New("bad payload") - } - resp, err := client.Get(fmt.Sprintf("http://%s:%s/", discovered[0].Address, ports[0])) - if err == nil { - if resp.StatusCode == http.StatusOK { - // we connected, so use this - return c.sendReceive(discovered[0].Address, strings.TrimSpace(ports[0]), strings.Split(strings.TrimSpace(ports[1]), ","), "", codephrase, false, true) - } - } else { - log.Debugf("could not connect: %s", err.Error()) - } - } else { - log.Debug("discovered no peers") - } - } - - // use public relay - if !c.LocalOnly { - log.Debug("using public relay") - return c.sendReceive(c.Address, c.AddressWebsocketPort, c.AddressTCPPorts, "", codephrase, false, false) - } - - return errors.New("must use local or public relay") -} - -func (c *Croc) sendReceive(address, websocketPort string, tcpPorts []string, fname string, codephrase string, isSender bool, isLocal bool) (err error) { - defer log.Flush() - if len(codephrase) < 4 { - return fmt.Errorf("codephrase is too short") - } - - // allow interrupts from Ctl+C - interrupt := make(chan os.Signal, 1) - signal.Notify(interrupt, os.Interrupt) - - done := make(chan error) - // connect to server - websocketAddress := "" - if len(websocketPort) > 0 { - websocketAddress = fmt.Sprintf("ws://%s:%s/ws?room=%s", address, websocketPort, codephrase[:3]) - } else { - websocketAddress = fmt.Sprintf("ws://%s/ws?room=%s", address, codephrase[:3]) - } - log.Debugf("connecting to %s", websocketAddress) - sock, _, err := websocket.DefaultDialer.Dial(websocketAddress, nil) - if err != nil { - log.Error(err) - return - } - defer sock.Close() - - // tell the websockets we are connected - err = sock.WriteMessage(websocket.BinaryMessage, []byte("connected")) - if err != nil { - log.Error(err) - return err - } - - if isSender { - go c.startSender(c.ForceSend, address, tcpPorts, isLocal, done, sock, fname, codephrase, c.UseCompression, c.UseEncryption) - } else { - go c.startRecipient(c.ForceSend, address, tcpPorts, isLocal, done, sock, codephrase, c.NoRecipientPrompt, c.Stdout) - } - - for { - select { - case doneError := <-done: - log.Debug("received done signal") - if doneError != nil { - c.StateString = doneError.Error() - sock.WriteMessage(websocket.TextMessage, []byte("error: "+doneError.Error())) - time.Sleep(50 * time.Millisecond) - } - return doneError - case <-interrupt: - if !c.Debug { - SetDebugLevel("critical") - } - log.Debug("interrupt") - err = sock.WriteMessage(websocket.TextMessage, []byte("error: interrupted by other party")) - if err != nil { - return err - } - time.Sleep(50 * time.Millisecond) - - // Cleanly close the connection by sending a close message and then - // waiting (with timeout) for the server to close the connection. - err := sock.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "")) - if err != nil { - log.Debug("write close:", err) - return nil - } - select { - case <-done: - case <-time.After(100 * time.Millisecond): - } - return nil - } - } -} - -// Relay will start a relay on the specified port -func (c *Croc) Relay() (err error) { - return relay.Run(c.RelayWebsocketPort, c.RelayTCPPorts) -} diff --git a/src/logger/logger.go b/src/logger/logger.go deleted file mode 100644 index f58743ba..00000000 --- a/src/logger/logger.go +++ /dev/null @@ -1,43 +0,0 @@ -package logger - -import ( - log "github.com/cihub/seelog" -) - -// SetLogLevel determines the log level -func SetLogLevel(level string) (err error) { - - // https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit - // https://github.com/cihub/seelog/wiki/Log-levels - appConfig := ` - - - - - - - - - - - - - - - - - - - - - - - - ` - logger, err := log.LoggerFromConfigAsBytes([]byte(appConfig)) - if err != nil { - return - } - log.ReplaceLogger(logger) - return -} diff --git a/src/models/constants.go b/src/models/constants.go deleted file mode 100644 index 0c23ef98..00000000 --- a/src/models/constants.go +++ /dev/null @@ -1,4 +0,0 @@ -package models - -const WEBSOCKET_BUFFER_SIZE = 1024 * 1024 * 32 -const TCP_BUFFER_SIZE = 1024 * 64 diff --git a/src/models/filestats.go b/src/models/filestats.go deleted file mode 100644 index 446e831a..00000000 --- a/src/models/filestats.go +++ /dev/null @@ -1,14 +0,0 @@ -package models - -import "time" - -// FileStats are the file stats transfered to the other -type FileStats struct { - Name string - Size int64 - ModTime time.Time - IsDir bool - SentName string - IsCompressed bool - IsEncrypted bool -} diff --git a/src/models/initial.go b/src/models/initial.go deleted file mode 100644 index 75b0877b..00000000 --- a/src/models/initial.go +++ /dev/null @@ -1,7 +0,0 @@ -package models - -type Initial struct { - CurveType string - IPAddress string - VersionString string -} diff --git a/src/relay/conn.go b/src/relay/conn.go deleted file mode 100644 index 71a565a2..00000000 --- a/src/relay/conn.go +++ /dev/null @@ -1,123 +0,0 @@ -package relay - -import ( - "net/http" - "time" - - log "github.com/cihub/seelog" - "github.com/gorilla/websocket" - "github.com/schollz/croc/src/models" -) - -const ( - // Time allowed to write a message to the peer. - writeWait = 6000 * time.Second - - // Time allowed to read the next pong message from the peer. - pongWait = 6000 * time.Second - - // Send pings to peer with this period. Must be less than pongWait. - pingPeriod = (pongWait * 9) / 10 - - // Maximum message size allowed from peer. - maxMessageSize = models.WEBSOCKET_BUFFER_SIZE / 2 -) - -var upgrader = websocket.Upgrader{ - ReadBufferSize: models.WEBSOCKET_BUFFER_SIZE, - WriteBufferSize: models.WEBSOCKET_BUFFER_SIZE, -} - -// connection is an middleman between the websocket connection and the hub. -type connection struct { - // The websocket connection. - ws *websocket.Conn - - // Buffered channel of outbound messages. - send chan messageChannel -} - -type messageChannel struct { - data []byte - messageType int -} - -// readPump pumps messages from the websocket connection to the hub. -func (s subscription) readPump() { - c := s.conn - defer func() { - h.unregister <- s - c.ws.Close() - }() - c.ws.SetReadLimit(maxMessageSize) - c.ws.SetReadDeadline(time.Now().Add(pongWait)) - c.ws.SetPongHandler(func(string) error { c.ws.SetReadDeadline(time.Now().Add(pongWait)); return nil }) - for { - messageType, msg, err := c.ws.ReadMessage() - if err != nil { - if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway) { - log.Debugf("unexpected close: %v", err) - } - break - } - h.broadcast <- message{messageChannel{msg, messageType}, s.room, c.ws.RemoteAddr().String()} - } -} - -// write writes a message with the given message type and payload. -func (c *connection) write(mt int, payload []byte) error { - c.ws.SetWriteDeadline(time.Now().Add(writeWait)) - return c.ws.WriteMessage(mt, payload) -} - -// writePump pumps messages from the hub to the websocket connection. -func (s *subscription) writePump() { - c := s.conn - ticker := time.NewTicker(pingPeriod) - defer func() { - ticker.Stop() - c.ws.Close() - }() - for { - select { - case message, ok := <-c.send: - if !ok { - err := c.write(websocket.CloseMessage, []byte{}) - if err != nil { - log.Debug(err) - } - return - } - if err := c.write(message.messageType, message.data); err != nil { - log.Debug(err) - return - } - case <-ticker.C: - if err := c.write(websocket.PingMessage, []byte{}); err != nil { - log.Debug(err) - return - } - } - } -} - -// serveWs handles websocket requests from the peer. -func serveWs(w http.ResponseWriter, r *http.Request) { - ws, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Debug(err) - return - } - vals := r.URL.Query() - room := "default" - rooms, ok := vals["room"] - if ok { - room = rooms[0] - } - - c := &connection{send: make(chan messageChannel, 256), ws: ws} - s := subscription{c, room} - h.register <- s - go s.writePump() - s.readPump() -} diff --git a/src/relay/hub.go b/src/relay/hub.go deleted file mode 100644 index bbb11b37..00000000 --- a/src/relay/hub.go +++ /dev/null @@ -1,105 +0,0 @@ -package relay - -import ( - "sync" - - log "github.com/cihub/seelog" -) - -type message struct { - msg messageChannel - room string - remoteOrigin string -} - -type subscription struct { - conn *connection - room string -} - -// hub maintains the set of active connections and broadcasts messages to the -// connections. -type hub struct { - // Registered connections. - rooms roomMap - - // Inbound messages from the connections. - broadcast chan message - - // Register requests from the connections. - register chan subscription - - // Unregister requests from connections. - unregister chan subscription -} - -type roomMap struct { - rooms map[string]map[*connection]bool - sync.Mutex -} - -var h = hub{ - broadcast: make(chan message), - register: make(chan subscription), - unregister: make(chan subscription), - rooms: roomMap{rooms: make(map[string]map[*connection]bool)}, -} - -func (h *hub) run() { - for { - if stop { - log.Debug("stopping hub") - return - } - select { - case s := <-h.register: - log.Debugf("adding connection to %s", s.room) - h.rooms.Lock() - connections := h.rooms.rooms[s.room] - if connections == nil { - connections = make(map[*connection]bool) - h.rooms.rooms[s.room] = connections - } - h.rooms.rooms[s.room][s.conn] = true - if len(h.rooms.rooms) > 2 { - // if more than three, close all of them - for connection := range h.rooms.rooms[s.room] { - close(connection.send) - } - log.Debugf("deleting room %s", s.room) - delete(h.rooms.rooms, s.room) - } - h.rooms.Unlock() - case s := <-h.unregister: - // if one leaves, close all of them - h.rooms.Lock() - if _, ok := h.rooms.rooms[s.room]; ok { - for connection := range h.rooms.rooms[s.room] { - close(connection.send) - } - log.Debugf("deleting room %s", s.room) - delete(h.rooms.rooms, s.room) - } - h.rooms.Unlock() - case m := <-h.broadcast: - h.rooms.Lock() - connections := h.rooms.rooms[m.room] - for c := range connections { - if c.ws.RemoteAddr().String() == m.remoteOrigin { - continue - } - select { - case c.send <- m.msg: - default: - close(c.send) - delete(connections, c) - if len(connections) == 0 { - log.Debugf("deleting room %s", m.room) - delete(h.rooms.rooms, m.room) - } - } - } - h.rooms.Unlock() - } - } -} diff --git a/src/relay/relay.go b/src/relay/relay.go deleted file mode 100644 index 951a1ea5..00000000 --- a/src/relay/relay.go +++ /dev/null @@ -1,55 +0,0 @@ -package relay - -import ( - "context" - "fmt" - "net/http" - "time" - - log "github.com/cihub/seelog" - "github.com/schollz/croc/src/logger" - "github.com/schollz/croc/src/tcp" -) - -var DebugLevel string -var stop bool - -func Stop() { - log.Debug("got stop signal") - stop = true -} - -// Run is the async operation for running a server -func Run(port string, tcpPorts []string) (err error) { - logger.SetLogLevel(DebugLevel) - - if len(tcpPorts) > 0 { - for _, tcpPort := range tcpPorts { - go tcp.Run(DebugLevel, tcpPort) - } - } - - go h.run() - log.Debug("running relay on " + port) - m := http.NewServeMux() - s := http.Server{Addr: ":" + port, Handler: m} - m.HandleFunc("/ws", func(w http.ResponseWriter, r *http.Request) { - serveWs(w, r) - }) - m.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - fmt.Fprintf(w, "ok") - }) - go func() { - for { - if stop { - s.Shutdown(context.Background()) - log.Debug("stopping http server") - return - } - time.Sleep(10 * time.Millisecond) - } - }() - s.ListenAndServe() - log.Debug("finished") - return -} diff --git a/src/tcp/tcp.go b/src/tcp/tcp.go deleted file mode 100644 index 3cece443..00000000 --- a/src/tcp/tcp.go +++ /dev/null @@ -1,188 +0,0 @@ -package tcp - -import ( - "net" - "sync" - "time" - - log "github.com/cihub/seelog" - "github.com/pkg/errors" - "github.com/schollz/croc/src/comm" - "github.com/schollz/croc/src/logger" - "github.com/schollz/croc/src/models" -) - -type roomInfo struct { - receiver comm.Comm - opened time.Time -} - -type roomMap struct { - rooms map[string]roomInfo - sync.Mutex -} - -var rooms roomMap - -// Run starts a tcp listener, run async -func Run(debugLevel, port string) { - logger.SetLogLevel(debugLevel) - rooms.Lock() - rooms.rooms = make(map[string]roomInfo) - rooms.Unlock() - - // delete old rooms - go func() { - for { - time.Sleep(10 * time.Minute) - rooms.Lock() - for room := range rooms.rooms { - if time.Since(rooms.rooms[room].opened) > 3*time.Hour { - delete(rooms.rooms, room) - } - } - rooms.Unlock() - } - }() - - err := run(port) - if err != nil { - log.Error(err) - } -} - -func run(port string) (err error) { - log.Debugf("starting TCP server on " + port) - server, err := net.Listen("tcp", "0.0.0.0:"+port) - if err != nil { - return errors.Wrap(err, "Error listening on :"+port) - } - defer server.Close() - // spawn a new goroutine whenever a client connects - for { - connection, err := server.Accept() - if err != nil { - return errors.Wrap(err, "problem accepting connection") - } - log.Debugf("client %s connected", connection.RemoteAddr().String()) - go func(port string, connection net.Conn) { - errCommunication := clientCommuncation(port, comm.New(connection)) - if errCommunication != nil { - log.Warnf("relay-%s: %s", connection.RemoteAddr().String(), errCommunication.Error()) - } - }(port, connection) - } -} - -func clientCommuncation(port string, c comm.Comm) (err error) { - // send ok to tell client they are connected - log.Debug("sending ok") - err = c.Send("ok") - if err != nil { - return - } - - // wait for client to tell me which room they want - log.Debug("waiting for answer") - room, err := c.Receive() - if err != nil { - return - } - - rooms.Lock() - // first connection is always the receiver - if _, ok := rooms.rooms[room]; !ok { - rooms.rooms[room] = roomInfo{ - receiver: c, - opened: time.Now(), - } - rooms.Unlock() - // tell the client that they got the room - err = c.Send("recipient") - if err != nil { - log.Error(err) - return - } - log.Debug("recipient connected") - return nil - } - log.Debug("sender connected") - receiver := rooms.rooms[room].receiver - rooms.Unlock() - - // second connection is the sender, time to staple connections - var wg sync.WaitGroup - wg.Add(1) - - // start piping - go func(com1, com2 comm.Comm, wg *sync.WaitGroup) { - log.Debug("starting pipes") - pipe(com1.Connection(), com2.Connection()) - wg.Done() - log.Debug("done piping") - }(c, receiver, &wg) - - // tell the sender everything is ready - err = c.Send("sender") - if err != nil { - return - } - wg.Wait() - - // delete room - rooms.Lock() - log.Debugf("deleting room: %s", room) - delete(rooms.rooms, room) - rooms.Unlock() - return nil -} - -// chanFromConn creates a channel from a Conn object, and sends everything it -// Read()s from the socket to the channel. -func chanFromConn(conn net.Conn) chan []byte { - c := make(chan []byte) - - go func() { - b := make([]byte, models.TCP_BUFFER_SIZE) - - for { - n, err := conn.Read(b) - if n > 0 { - res := make([]byte, n) - // Copy the buffer so it doesn't get changed while read by the recipient. - copy(res, b[:n]) - c <- res - } - if err != nil { - log.Debug(err) - c <- nil - break - } - } - }() - - return c -} - -// pipe creates a full-duplex pipe between the two sockets and -// transfers data from one to the other. -func pipe(conn1 net.Conn, conn2 net.Conn) { - chan1 := chanFromConn(conn1) - chan2 := chanFromConn(conn2) - - for { - select { - case b1 := <-chan1: - if b1 == nil { - return - } - conn2.Write(b1) - - case b2 := <-chan2: - if b2 == nil { - return - } - conn1.Write(b2) - } - } -} diff --git a/src/win/Makefile b/src/win/Makefile deleted file mode 100644 index 50ee972f..00000000 --- a/src/win/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -VERSION=$(shell git describe --tags --abbrev=0) -LDFLAGS=-ldflags "-X main.Version=${VERSION}" - -.PHONY: linux -linux: - GO111MODULE=off qtdeploy ${LDFLAGS} --tags='wincroc' --debug build desktop - -.PHONY: fast -fast: - GO111MODULE=off qtdeploy ${LDFLAGS} --fast --tags='wincroc' --debug build desktop - -windows: - GO111MODULE=off qtdeploy ${LDFLAGS} --tags='wincroc' --debug --docker build windows_64_static - -release: linux windows - mv deploy/linux/win croc - tar -czvf croc_${VERSION}_Linux-64bit_GUI.tar.gz croc - mv deploy/windows/win.exe croc.exe - zip croc_${VERSION}_Windows-64bit_GUI.zip croc.exe - rm -rf dist - mkdir dist - mv *zip dist/ - mv *tar.gz dist/ - \ No newline at end of file diff --git a/src/win/build.bat b/src/win/build.bat deleted file mode 100644 index 521e79b8..00000000 --- a/src/win/build.bat +++ /dev/null @@ -1,14 +0,0 @@ -REM getting the output of an executed command in a batch file is not trivial, we use a temp file for it -git describe --tags --abbrev=0 > temp.txt -set /P VERSION=< temp.txt -echo %VERSION% -del temp.txt - -REM build a 32 bit Windows application, this way it will run on both 32 but and 64 bit Windows machines -set GOARCH=386 - -REM -s and -w strip the program of debugging information, making it smaller -REM -H=windowsgui makes the program not have a console window on start-up -go build -ldflags="-s -w -H=windowsgui -X main.Version=%VERSION%" -o croc.exe - -if errorlevel 1 pause diff --git a/src/win/icon.go b/src/win/icon.go deleted file mode 100644 index 7e7bc0b4..00000000 --- a/src/win/icon.go +++ /dev/null @@ -1,3028 +0,0 @@ -package main - -var icon = []byte{ - 0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, - 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x18, 0x18, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x88, 0x09, 0x00, 0x00, 0xBE, 0x04, - 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xA8, 0x10, - 0x00, 0x00, 0x46, 0x0E, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x01, 0x00, - 0x20, 0x00, 0xA8, 0x25, 0x00, 0x00, 0xEE, 0x1E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x20, 0x49, 0x00, 0x00, 0x96, 0x44, - 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xCD, - 0x60, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF3, 0xCD, 0x60, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xE4, 0xC6, 0x5F, 0xFF, 0xC8, 0xB9, - 0x58, 0xFF, 0xD2, 0xBC, 0x59, 0xFF, 0xE9, 0xCA, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0x97, 0xA6, - 0x58, 0xFF, 0x3C, 0x8C, 0x58, 0xFF, 0x3F, 0x7C, 0x4B, 0xFF, 0x60, 0x98, - 0x59, 0xFF, 0x94, 0xAA, 0x5A, 0xFF, 0xCC, 0xAE, 0x50, 0xFF, 0xF2, 0xCB, - 0x5C, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0x91, 0x97, 0x4E, 0xFF, 0x33, 0x90, 0x5B, 0xFF, 0x36, 0xA0, - 0x68, 0xFF, 0x2E, 0x85, 0x56, 0xFF, 0x33, 0x8A, 0x59, 0xFF, 0x53, 0x84, - 0x4C, 0xFF, 0x8C, 0xA0, 0x54, 0xFF, 0x86, 0x8B, 0x46, 0xFF, 0x9A, 0x9C, - 0x4E, 0xFF, 0xC9, 0xB7, 0x57, 0xFF, 0xEC, 0xC6, 0x5A, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xD8, 0xC4, 0x5F, 0xFF, 0x8C, 0xA4, - 0x55, 0xFF, 0x5D, 0x95, 0x57, 0xFF, 0x3F, 0xAE, 0x70, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x41, 0xBA, 0x78, 0xFF, 0x3B, 0xAA, 0x6E, 0xFF, 0x38, 0xA3, - 0x69, 0xFF, 0x32, 0x86, 0x56, 0xFF, 0x41, 0x7A, 0x4D, 0xFF, 0x6F, 0x83, - 0x45, 0xFF, 0xDA, 0xBB, 0x56, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCD, - 0x60, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xDF, 0xBD, 0x56, 0xFF, 0x6D, 0x9C, - 0x58, 0xFF, 0x40, 0xB9, 0x78, 0xFF, 0x41, 0xB7, 0x76, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x44, 0xBE, 0x7B, 0xFF, 0x3E, 0xAD, - 0x70, 0xFF, 0x3A, 0xA5, 0x6A, 0xFF, 0x62, 0x9D, 0x5B, 0xFF, 0x93, 0xA3, - 0x54, 0xFF, 0xA4, 0xA8, 0x54, 0xFF, 0xC8, 0xB6, 0x56, 0xFF, 0xEB, 0xCA, - 0x5D, 0xFF, 0xF2, 0xCD, 0x60, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF6, 0xCE, - 0x5E, 0xFF, 0xA4, 0xB0, 0x5B, 0xFF, 0x2F, 0x8E, 0x5B, 0xFF, 0x32, 0x93, - 0x5F, 0xFF, 0x40, 0xB7, 0x76, 0xFF, 0x3B, 0xA8, 0x6C, 0xFF, 0x3F, 0xB2, - 0x73, 0xFF, 0x43, 0xBC, 0x79, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x41, 0xBC, - 0x7A, 0xFF, 0x3F, 0xB7, 0x76, 0xFF, 0x40, 0xB1, 0x72, 0xFF, 0x49, 0xAD, - 0x6D, 0xFF, 0x91, 0xB7, 0x63, 0xFF, 0xF2, 0xCD, 0x60, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xD6, 0xC5, 0x5E, 0xFF, 0x80, 0xAE, - 0x61, 0xFF, 0x64, 0xAA, 0x65, 0xFF, 0x47, 0x9F, 0x63, 0xFF, 0x3B, 0x9F, - 0x66, 0xFF, 0x30, 0x8F, 0x5C, 0xFF, 0x33, 0x94, 0x60, 0xFF, 0x3C, 0xA6, - 0x6A, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x40, 0xBB, 0x79, 0xFF, 0x40, 0xBC, - 0x7A, 0xFF, 0x3C, 0xB7, 0x77, 0xFF, 0x66, 0x9F, 0x5C, 0xFF, 0xF2, 0xCD, - 0x60, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCD, 0x5E, 0xFF, 0xE6, 0xC6, 0x5C, 0xFF, 0xC9, 0xB4, - 0x55, 0xFF, 0xA1, 0xA9, 0x56, 0xFF, 0x75, 0x9F, 0x58, 0xFF, 0x5A, 0x96, - 0x58, 0xFF, 0x80, 0x91, 0x4C, 0xFF, 0x6F, 0x9E, 0x59, 0xFF, 0x68, 0x91, - 0x51, 0xFF, 0x6A, 0x99, 0x57, 0xFF, 0x78, 0xAA, 0x60, 0xFF, 0xBC, 0xB7, - 0x5A, 0xFF, 0xF2, 0xCD, 0x60, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF1, 0xCC, - 0x5D, 0xFF, 0xE8, 0xCA, 0x5E, 0xFF, 0xEE, 0xCB, 0x5D, 0xFF, 0xE7, 0xC2, - 0x58, 0xFF, 0xEB, 0xC5, 0x59, 0xFF, 0xED, 0xC6, 0x5A, 0xFF, 0xF0, 0xCB, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF2, 0xCD, 0x60, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCD, - 0x60, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCD, 0x60, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0xF2, 0xCC, - 0x5D, 0x70, 0xF2, 0xCC, 0x5D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xCE, 0x62, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCE, 0x62, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x62, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF0, 0xCD, 0x62, 0xFF, 0xC3, 0xB2, - 0x54, 0xFF, 0xBC, 0xB2, 0x56, 0xFF, 0xC3, 0xB2, 0x55, 0xFF, 0xE0, 0xC0, - 0x58, 0xFF, 0xF0, 0xCD, 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xC9, 0xB7, 0x5B, 0xFF, 0x4C, 0x98, - 0x5C, 0xFF, 0x38, 0x8D, 0x59, 0xFF, 0x38, 0x7A, 0x4C, 0xFF, 0x5B, 0x9A, - 0x5B, 0xFF, 0x78, 0xAC, 0x62, 0xFF, 0xA8, 0xB9, 0x60, 0xFF, 0xDE, 0xC0, - 0x59, 0xFF, 0xE9, 0xC4, 0x59, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xB6, 0xA9, 0x55, 0xFF, 0x33, 0x7A, - 0x4B, 0xFF, 0x34, 0x93, 0x5E, 0xFF, 0x2A, 0x75, 0x4B, 0xFF, 0x25, 0x65, - 0x41, 0xFF, 0x27, 0x6B, 0x45, 0xFF, 0x3B, 0x91, 0x5C, 0xFF, 0x52, 0x6E, - 0x3D, 0xFF, 0x9A, 0x88, 0x3F, 0xFF, 0xE8, 0xC8, 0x5C, 0xFF, 0xEB, 0xC8, - 0x5C, 0xFF, 0xEA, 0xC5, 0x5A, 0xFF, 0xF2, 0xCD, 0x5E, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xC7, 0xAF, 0x55, 0xFF, 0x3D, 0x70, - 0x42, 0xFF, 0x39, 0xA7, 0x6C, 0xFF, 0x43, 0xBF, 0x7C, 0xFF, 0x3B, 0xA6, - 0x6B, 0xFF, 0x32, 0x8B, 0x59, 0xFF, 0x35, 0x93, 0x5F, 0xFF, 0x33, 0x86, - 0x56, 0xFF, 0x43, 0x84, 0x50, 0xFF, 0x62, 0x8D, 0x4F, 0xFF, 0x64, 0x84, - 0x48, 0xFF, 0x51, 0x5D, 0x31, 0xFF, 0x6D, 0x7D, 0x41, 0xFF, 0x93, 0xA8, - 0x58, 0xFF, 0xCF, 0xB6, 0x55, 0xFF, 0xED, 0xC7, 0x5A, 0xFF, 0xF4, 0xCE, - 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xEE, 0xCD, 0x62, 0xFF, 0x93, 0xAF, - 0x59, 0xFF, 0x54, 0x87, 0x4C, 0xFF, 0x40, 0x89, 0x54, 0xFF, 0x3C, 0xAC, - 0x6F, 0xFF, 0x44, 0xC1, 0x7C, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBF, - 0x7B, 0xFF, 0x42, 0xBC, 0x7A, 0xFF, 0x3A, 0xA8, 0x6C, 0xFF, 0x36, 0x9D, - 0x65, 0xFF, 0x37, 0xA0, 0x67, 0xFF, 0x2A, 0x79, 0x4E, 0xFF, 0x2B, 0x60, - 0x3D, 0xFF, 0x45, 0x76, 0x49, 0xFF, 0x68, 0x75, 0x3C, 0xFF, 0xCA, 0xAC, - 0x4E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x62, 0xFF, 0xED, 0xCC, - 0x5E, 0xFF, 0xE5, 0xC8, 0x5C, 0xFF, 0xC3, 0xA8, 0x4D, 0xFF, 0x60, 0x79, - 0x42, 0xFF, 0x3A, 0xA0, 0x67, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x42, 0xBA, 0x78, 0xFF, 0x41, 0xA9, - 0x6F, 0xFF, 0x34, 0x82, 0x56, 0xFF, 0x2A, 0x7D, 0x50, 0xFF, 0x56, 0x82, - 0x4A, 0xFF, 0xC9, 0xAD, 0x50, 0xFF, 0xED, 0xC6, 0x5A, 0xFF, 0xEF, 0xC8, - 0x5B, 0xFF, 0xF3, 0xCB, 0x5C, 0xFF, 0xF6, 0xCE, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF6, 0xCE, 0x5E, 0xFF, 0xDA, 0xBF, - 0x59, 0xFF, 0x56, 0x93, 0x57, 0xFF, 0x41, 0xBC, 0x7A, 0xFF, 0x42, 0xB9, - 0x77, 0xFF, 0x40, 0xB5, 0x75, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x41, 0xB8, 0x76, 0xFF, 0x40, 0xB6, 0x75, 0xFF, 0x40, 0xB4, - 0x74, 0xFF, 0x47, 0x90, 0x58, 0xFF, 0x68, 0x8D, 0x4E, 0xFF, 0x70, 0x92, - 0x50, 0xFF, 0x8A, 0x95, 0x4D, 0xFF, 0xB1, 0xA2, 0x4E, 0xFF, 0xDB, 0xBF, - 0x59, 0xFF, 0xF2, 0xCD, 0x5E, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5E, 0xFF, 0x7D, 0xA1, 0x58, 0xFF, 0x2F, 0x8C, 0x5A, 0xFF, 0x3A, 0xA4, - 0x6A, 0xFF, 0x2E, 0x80, 0x52, 0xFF, 0x42, 0xBA, 0x78, 0xFF, 0x41, 0xB8, - 0x76, 0xFF, 0x3D, 0xAD, 0x6F, 0xFF, 0x42, 0xB9, 0x77, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x42, 0xBE, 0x7B, 0xFF, 0x3F, 0xB9, 0x78, 0xFF, 0x3F, 0xB9, - 0x78, 0xFF, 0x3D, 0xAE, 0x70, 0xFF, 0x3D, 0xA0, 0x66, 0xFF, 0x60, 0xB3, - 0x6C, 0xFF, 0xC4, 0xC2, 0x60, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0x9B, 0xB4, 0x5F, 0xFF, 0x27, 0x72, 0x49, 0xFF, 0x33, 0x98, - 0x62, 0xFF, 0x33, 0x94, 0x60, 0xFF, 0x40, 0xB6, 0x75, 0xFF, 0x40, 0xB7, - 0x76, 0xFF, 0x30, 0x87, 0x56, 0xFF, 0x38, 0x9F, 0x66, 0xFF, 0x3A, 0xA3, - 0x69, 0xFF, 0x40, 0xB5, 0x75, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x3F, 0xB8, - 0x77, 0xFF, 0x7E, 0x9A, 0x53, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xE3, 0xCA, 0x5F, 0xFF, 0xA9, 0xC2, 0x67, 0xFF, 0x84, 0xC2, - 0x6F, 0xFF, 0x70, 0xAB, 0x63, 0xFF, 0x3D, 0x89, 0x55, 0xFF, 0x40, 0x9F, - 0x65, 0xFF, 0x3B, 0xAA, 0x6E, 0xFF, 0x33, 0x94, 0x5F, 0xFF, 0x2B, 0x7B, - 0x4E, 0xFF, 0x35, 0x95, 0x60, 0xFF, 0x37, 0x99, 0x62, 0xFF, 0x3F, 0xAD, - 0x6F, 0xFF, 0x44, 0xC0, 0x7C, 0xFF, 0x42, 0xBE, 0x7B, 0xFF, 0x42, 0xBE, - 0x7B, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x42, 0xBD, 0x7A, 0xFF, 0x3A, 0xA7, - 0x6C, 0xFF, 0x82, 0x9B, 0x52, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF5, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xE7, 0xC5, 0x5A, 0xFF, 0xBA, 0xA5, 0x4D, 0xFF, 0xB4, 0xAD, - 0x54, 0xFF, 0x6A, 0x8C, 0x4D, 0xFF, 0x4F, 0x93, 0x58, 0xFF, 0x3A, 0x85, - 0x52, 0xFF, 0x32, 0x8A, 0x58, 0xFF, 0x47, 0x63, 0x36, 0xFF, 0x80, 0xA5, - 0x5B, 0xFF, 0x3B, 0x99, 0x61, 0xFF, 0x41, 0x84, 0x51, 0xFF, 0x42, 0x86, - 0x51, 0xFF, 0x40, 0x91, 0x5A, 0xFF, 0x4B, 0xAA, 0x6A, 0xFF, 0x60, 0x8E, - 0x51, 0xFF, 0xCF, 0xC1, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCC, - 0x5D, 0xFF, 0xEB, 0xC7, 0x5B, 0xFF, 0xE0, 0xC8, 0x5E, 0xFF, 0xC9, 0xC0, - 0x5D, 0xFF, 0xB0, 0xBF, 0x62, 0xFF, 0xCC, 0xB8, 0x57, 0xFF, 0xE3, 0xC1, - 0x58, 0xFF, 0xA2, 0x93, 0x45, 0xFF, 0xC5, 0xA8, 0x4D, 0xFF, 0xCE, 0xAF, - 0x50, 0xFF, 0xC4, 0xAB, 0x4F, 0xFF, 0xD2, 0xC2, 0x5D, 0xFF, 0xE6, 0xCA, - 0x5E, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF4, 0xCE, - 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, 0x62, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCC, - 0x5D, 0xA2, 0xF2, 0xCC, 0x5D, 0xA2, 0xF2, 0xCE, 0x62, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0xF2, 0xCC, - 0x5D, 0x01, 0xF2, 0xCC, 0x5D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20, 0x00, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF3, 0xCE, 0x64, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF3, 0xCE, - 0x64, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCE, - 0x64, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF6, 0xCE, 0x5E, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF5, 0xCE, 0x5D, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF4, 0xCF, 0x64, 0xFF, 0xD9, 0xC3, - 0x5C, 0xFF, 0x9C, 0x92, 0x46, 0xFF, 0xB9, 0xB3, 0x58, 0xFF, 0xB4, 0xA9, - 0x51, 0xFF, 0xCF, 0xAF, 0x50, 0xFF, 0xEE, 0xCB, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xE8, 0xC4, 0x5F, 0xFF, 0x71, 0x9C, 0x57, 0xFF, 0x33, 0x93, - 0x5F, 0xFF, 0x3C, 0x98, 0x60, 0xFF, 0x3B, 0x92, 0x5D, 0xFF, 0x47, 0x78, - 0x47, 0xFF, 0x76, 0xB8, 0x6B, 0xFF, 0x89, 0xAD, 0x5F, 0xFF, 0xB6, 0xBD, - 0x60, 0xFF, 0xEC, 0xCB, 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCD, - 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xDA, 0xBC, - 0x5C, 0xFF, 0x4C, 0x87, 0x50, 0xFF, 0x31, 0x8F, 0x5C, 0xFF, 0x2B, 0x77, - 0x4C, 0xFF, 0x1F, 0x54, 0x35, 0xFF, 0x25, 0x60, 0x3E, 0xFF, 0x39, 0x98, - 0x62, 0xFF, 0x32, 0x83, 0x55, 0xFF, 0x46, 0xA4, 0x68, 0xFF, 0x71, 0x9A, - 0x56, 0xFF, 0x93, 0x7F, 0x3B, 0xFF, 0xBB, 0x9E, 0x48, 0xFF, 0xF2, 0xCB, - 0x5C, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCD, - 0x5E, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xDD, 0xBC, 0x5C, 0xFF, 0x47, 0x6C, - 0x3D, 0xFF, 0x2A, 0x7C, 0x4F, 0xFF, 0x41, 0xB8, 0x76, 0xFF, 0x3C, 0xA9, - 0x6D, 0xFF, 0x2C, 0x7A, 0x4E, 0xFF, 0x1D, 0x4A, 0x2F, 0xFF, 0x1F, 0x4E, - 0x32, 0xFF, 0x2F, 0x7A, 0x4E, 0xFF, 0x2B, 0x73, 0x4A, 0xFF, 0x43, 0x51, - 0x2B, 0xFF, 0x8B, 0x8A, 0x44, 0xFF, 0xCF, 0xC0, 0x5C, 0xFF, 0xE4, 0xC9, - 0x5E, 0xFF, 0xC5, 0xAD, 0x51, 0xFF, 0xD4, 0xB5, 0x53, 0xFF, 0xE6, 0xC9, - 0x5D, 0xFF, 0xEA, 0xCA, 0x5D, 0xFF, 0xF3, 0xCD, 0x5E, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xEA, 0xC7, 0x60, 0xFF, 0x64, 0x73, 0x3B, 0xFF, 0x2C, 0x77, - 0x4B, 0xFF, 0x3F, 0xB2, 0x73, 0xFF, 0x44, 0xC1, 0x7C, 0xFF, 0x44, 0xC0, - 0x7C, 0xFF, 0x3E, 0xAF, 0x70, 0xFF, 0x3A, 0xA2, 0x68, 0xFF, 0x3A, 0xA2, - 0x68, 0xFF, 0x37, 0x99, 0x62, 0xFF, 0x34, 0x8F, 0x5C, 0xFF, 0x33, 0x83, - 0x53, 0xFF, 0x3C, 0x76, 0x48, 0xFF, 0x53, 0x84, 0x4C, 0xFF, 0x31, 0x5A, - 0x35, 0xFF, 0x2E, 0x3E, 0x22, 0xFF, 0x45, 0x5B, 0x32, 0xFF, 0x62, 0x93, - 0x53, 0xFF, 0x96, 0xA9, 0x58, 0xFF, 0xD7, 0xB7, 0x54, 0xFF, 0xEE, 0xC8, - 0x5B, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF5, 0xCF, - 0x64, 0xFF, 0xBB, 0xC1, 0x5F, 0xFF, 0x4D, 0x90, 0x51, 0xFF, 0x35, 0x71, - 0x43, 0xFF, 0x34, 0x8A, 0x58, 0xFF, 0x3E, 0xB1, 0x73, 0xFF, 0x44, 0xC0, - 0x7C, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x44, 0xC0, 0x7C, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x3C, 0xAB, - 0x6E, 0xFF, 0x32, 0x90, 0x5D, 0xFF, 0x37, 0x9C, 0x65, 0xFF, 0x37, 0x9E, - 0x66, 0xFF, 0x29, 0x76, 0x4C, 0xFF, 0x21, 0x50, 0x31, 0xFF, 0x2F, 0x62, - 0x3E, 0xFF, 0x44, 0x6F, 0x41, 0xFF, 0x67, 0x6C, 0x36, 0xFF, 0xC1, 0xA5, - 0x4B, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xEC, 0xCB, - 0x5D, 0xFF, 0xCE, 0xC8, 0x60, 0xFF, 0xC4, 0xB9, 0x58, 0xFF, 0x95, 0x89, - 0x41, 0xFF, 0x43, 0x62, 0x37, 0xFF, 0x34, 0x91, 0x5D, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x44, 0xBF, - 0x7C, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x42, 0xBA, - 0x78, 0xFF, 0x33, 0x89, 0x58, 0xFF, 0x47, 0x8C, 0x64, 0xFF, 0x31, 0x75, - 0x4F, 0xFF, 0x29, 0x76, 0x4B, 0xFF, 0x38, 0x57, 0x31, 0xFF, 0xBB, 0xA3, - 0x4C, 0xFF, 0xF7, 0xCF, 0x5E, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF4, 0xCC, - 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xD0, 0xB2, - 0x51, 0xFF, 0x57, 0x70, 0x3D, 0xFF, 0x36, 0x97, 0x61, 0xFF, 0x43, 0xBF, - 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x44, 0xC0, - 0x7C, 0xFF, 0x42, 0xBA, 0x78, 0xFF, 0x30, 0x88, 0x57, 0xFF, 0x31, 0x89, - 0x58, 0xFF, 0x3C, 0xAD, 0x70, 0xFF, 0x4F, 0x7D, 0x48, 0xFF, 0xA2, 0x92, - 0x44, 0xFF, 0xD4, 0xB3, 0x52, 0xFF, 0xE3, 0xBF, 0x56, 0xFF, 0xDD, 0xBA, - 0x55, 0xFF, 0xEF, 0xC9, 0x5B, 0xFF, 0xF6, 0xCF, 0x5E, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, - 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xC9, 0xBA, - 0x59, 0xFF, 0x42, 0x8E, 0x57, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x3F, 0xB2, 0x73, 0xFF, 0x41, 0xB6, 0x76, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBC, 0x7A, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x3F, 0xB4, 0x74, 0xFF, 0x38, 0x91, 0x5C, 0xFF, 0x46, 0x80, - 0x4C, 0xFF, 0x53, 0x83, 0x4C, 0xFF, 0x4D, 0x83, 0x4D, 0xFF, 0x77, 0x85, - 0x45, 0xFF, 0x9B, 0x90, 0x46, 0xFF, 0xBD, 0xA9, 0x50, 0xFF, 0xEE, 0xCB, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xE8, 0xCA, 0x5E, 0xFF, 0x5A, 0x93, - 0x56, 0xFF, 0x33, 0x94, 0x60, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x31, 0x89, - 0x58, 0xFF, 0x2F, 0x84, 0x54, 0xFF, 0x43, 0xBB, 0x79, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x40, 0xB6, 0x75, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x42, 0xBD, 0x7A, 0xFF, 0x40, 0xBC, - 0x7A, 0xFF, 0x41, 0xBC, 0x7A, 0xFF, 0x3B, 0xA9, 0x6E, 0xFF, 0x36, 0x96, - 0x61, 0xFF, 0x46, 0xA2, 0x66, 0xFF, 0x87, 0xC0, 0x6C, 0xFF, 0xE4, 0xCA, - 0x5F, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xEF, 0xCD, 0x5F, 0xFF, 0x6C, 0xA4, 0x5E, 0xFF, 0x19, 0x4E, - 0x31, 0xFF, 0x2E, 0x81, 0x52, 0xFF, 0x36, 0x98, 0x62, 0xFF, 0x2B, 0x77, - 0x4C, 0xFF, 0x42, 0xBA, 0x78, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x38, 0x9D, - 0x65, 0xFF, 0x2B, 0x79, 0x4D, 0xFF, 0x3A, 0xA4, 0x69, 0xFF, 0x43, 0xBC, - 0x79, 0xFF, 0x44, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xC0, - 0x7C, 0xFF, 0x43, 0xAC, 0x6D, 0xFF, 0xB2, 0xA9, 0x52, 0xFF, 0xF3, 0xCE, - 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xA2, 0xBE, 0x65, 0xFF, 0x3E, 0x92, 0x5C, 0xFF, 0x36, 0x9B, - 0x64, 0xFF, 0x3D, 0xB4, 0x75, 0xFF, 0x36, 0x9B, 0x64, 0xFF, 0x3E, 0xAE, - 0x70, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x40, 0xB4, 0x74, 0xFF, 0x35, 0x94, - 0x5F, 0xFF, 0x39, 0xA2, 0x68, 0xFF, 0x2E, 0x81, 0x52, 0xFF, 0x31, 0x88, - 0x57, 0xFF, 0x3F, 0xB1, 0x72, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x3D, 0xAA, - 0x6E, 0xFF, 0x84, 0x8B, 0x46, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xED, 0xCC, - 0x5E, 0xFF, 0xCC, 0xCA, 0x64, 0xFF, 0xA2, 0xC7, 0x6B, 0xFF, 0x91, 0xC6, - 0x6F, 0xFF, 0x7A, 0xA7, 0x5D, 0xFF, 0x33, 0x73, 0x47, 0xFF, 0x3D, 0x97, - 0x5F, 0xFF, 0x38, 0x94, 0x5F, 0xFF, 0x40, 0xB5, 0x75, 0xFF, 0x36, 0x98, - 0x61, 0xFF, 0x30, 0x86, 0x55, 0xFF, 0x2E, 0x82, 0x53, 0xFF, 0x37, 0x98, - 0x61, 0xFF, 0x34, 0x8F, 0x5B, 0xFF, 0x38, 0x97, 0x60, 0xFF, 0x42, 0xB9, - 0x78, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, - 0x7C, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x41, 0xB9, 0x77, 0xFF, 0x3A, 0x93, 0x5D, 0xFF, 0xA9, 0xA7, - 0x52, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF4, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xE8, 0xC4, - 0x59, 0xFF, 0xA2, 0x8F, 0x42, 0xFF, 0xBF, 0xB5, 0x58, 0xFF, 0x81, 0x8B, - 0x47, 0xFF, 0x43, 0x7B, 0x4A, 0xFF, 0x3A, 0x92, 0x5B, 0xFF, 0x27, 0x70, - 0x46, 0xFF, 0x30, 0x8D, 0x5A, 0xFF, 0x2C, 0x81, 0x53, 0xFF, 0x22, 0x49, - 0x2C, 0xFF, 0x79, 0x89, 0x47, 0xFF, 0x55, 0xB3, 0x6F, 0xFF, 0x3B, 0xAD, - 0x70, 0xFF, 0x36, 0x8E, 0x5A, 0xFF, 0x34, 0x88, 0x56, 0xFF, 0x35, 0x92, - 0x5E, 0xFF, 0x38, 0x9F, 0x66, 0xFF, 0x3F, 0xB4, 0x74, 0xFF, 0x30, 0x7F, - 0x50, 0xFF, 0x68, 0x8C, 0x4E, 0xFF, 0xE2, 0xCB, 0x60, 0xFF, 0xF3, 0xCE, - 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xF6, 0xCE, 0x5D, 0xFF, 0xE9, 0xC4, 0x59, 0xFF, 0xD2, 0xBA, - 0x57, 0xFF, 0xBF, 0xC1, 0x61, 0xFF, 0x9F, 0xAC, 0x58, 0xFF, 0x7E, 0xAE, - 0x61, 0xFF, 0x66, 0xAB, 0x64, 0xFF, 0x81, 0x8A, 0x46, 0xFF, 0xE6, 0xC3, - 0x59, 0xFF, 0x9D, 0x98, 0x4A, 0xFF, 0x49, 0x5E, 0x32, 0xFF, 0x87, 0x7E, - 0x3C, 0xFF, 0x9C, 0x8B, 0x41, 0xFF, 0x8B, 0x80, 0x3D, 0xFF, 0x80, 0x80, - 0x3F, 0xFF, 0x9F, 0xB5, 0x5F, 0xFF, 0xAF, 0xB9, 0x5F, 0xFF, 0xE4, 0xC8, - 0x5E, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF0, 0xCD, 0x5E, 0xFF, 0xEC, 0xCC, - 0x5F, 0xFF, 0xF1, 0xCE, 0x5E, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF1, 0xCA, - 0x5C, 0xFF, 0xE1, 0xBE, 0x56, 0xFF, 0xF0, 0xCA, 0x5C, 0xFF, 0xF6, 0xCF, - 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF5, 0xCC, - 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, - 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, - 0x64, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCE, 0x64, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, 0x5D, 0xCD, 0xF2, 0xCC, - 0x5D, 0xCD, 0xF3, 0xCE, 0x64, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, - 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0xF2, 0xCC, 0x5D, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x28, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF3, 0xCF, 0x68, 0x56, 0xF2, 0xCC, 0x5C, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF3, 0xCF, 0x68, 0xFD, 0xF2, 0xCC, 0x5C, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF4, 0xCC, - 0x5C, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xC5, 0xC0, - 0x5E, 0xFF, 0x78, 0x77, 0x3A, 0xFF, 0x74, 0x6F, 0x36, 0xFF, 0xBB, 0xBE, - 0x5F, 0xFF, 0x9F, 0xA0, 0x50, 0xFF, 0x97, 0x83, 0x3C, 0xFF, 0xDD, 0xBB, - 0x55, 0xFF, 0xF0, 0xCC, 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xF5, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF5, 0xD1, 0x68, 0xFF, 0xCF, 0xB2, 0x52, 0xFF, 0x57, 0x9B, - 0x5C, 0xFF, 0x2B, 0x83, 0x55, 0xFF, 0x30, 0x89, 0x59, 0xFF, 0x47, 0xB9, - 0x77, 0xFF, 0x41, 0xB1, 0x72, 0xFF, 0x2B, 0x5B, 0x38, 0xFF, 0x4D, 0x61, - 0x35, 0xFF, 0x80, 0xBA, 0x6B, 0xFF, 0x9E, 0xC0, 0x68, 0xFF, 0xB4, 0xC4, - 0x66, 0xFF, 0xD2, 0xC9, 0x62, 0xFF, 0xF1, 0xCC, 0x5D, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF6, 0xD1, 0x68, 0xFF, 0x9A, 0x91, 0x45, 0xFF, 0x37, 0x94, - 0x5F, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x37, 0x9A, 0x63, 0xFF, 0x21, 0x5A, - 0x39, 0xFF, 0x2D, 0x7E, 0x51, 0xFF, 0x33, 0x8B, 0x59, 0xFF, 0x3B, 0x99, - 0x63, 0xFF, 0x45, 0xBA, 0x78, 0xFF, 0x3D, 0x9E, 0x66, 0xFF, 0x2D, 0x6B, - 0x45, 0xFF, 0x4B, 0x96, 0x5D, 0xFF, 0x9C, 0xC1, 0x69, 0xFF, 0xDA, 0xBD, - 0x58, 0xFF, 0xEC, 0xC6, 0x5A, 0xFF, 0xF0, 0xCB, 0x5C, 0xFF, 0xF0, 0xCA, - 0x5C, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF6, 0xD1, 0x68, 0xFF, 0x98, 0x94, 0x48, 0xFF, 0x2F, 0x83, - 0x53, 0xFF, 0x2A, 0x77, 0x4B, 0xFF, 0x33, 0x8E, 0x5B, 0xFF, 0x2B, 0x77, - 0x4C, 0xFF, 0x1A, 0x43, 0x2A, 0xFF, 0x10, 0x28, 0x18, 0xFF, 0x20, 0x50, - 0x33, 0xFF, 0x3A, 0x94, 0x5F, 0xFF, 0x40, 0xA3, 0x69, 0xFF, 0x36, 0x88, - 0x58, 0xFF, 0x3E, 0xA2, 0x69, 0xFF, 0x4A, 0xB7, 0x75, 0xFF, 0x48, 0x6B, - 0x3E, 0xFF, 0x5E, 0x53, 0x27, 0xFF, 0x75, 0x65, 0x2E, 0xFF, 0xA3, 0x8B, - 0x3F, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF7, 0xD2, 0x69, 0xFF, 0x9C, 0x8B, 0x41, 0xFF, 0x2D, 0x74, - 0x49, 0xFF, 0x1E, 0x56, 0x35, 0xFF, 0x35, 0x96, 0x60, 0xFF, 0x44, 0xC1, - 0x7D, 0xFF, 0x40, 0xB3, 0x74, 0xFF, 0x32, 0x8C, 0x5A, 0xFF, 0x1E, 0x50, - 0x32, 0xFF, 0x12, 0x2C, 0x1B, 0xFF, 0x14, 0x2F, 0x1D, 0xFF, 0x20, 0x4F, - 0x32, 0xFF, 0x34, 0x83, 0x54, 0xFF, 0x3D, 0x9C, 0x64, 0xFF, 0x34, 0x89, - 0x58, 0xFF, 0x41, 0x4F, 0x2A, 0xFF, 0x94, 0x86, 0x3F, 0xFF, 0xBE, 0xAD, - 0x52, 0xFF, 0xEF, 0xCC, 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xE9, 0xC4, 0x59, 0xFF, 0xED, 0xC8, 0x5B, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xF5, 0xCE, 0x5D, 0xFF, 0xF5, 0xCD, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF7, 0xD2, 0x69, 0xFF, 0x9F, 0x8B, 0x40, 0xFF, 0x1F, 0x45, - 0x2A, 0xFF, 0x35, 0x92, 0x5E, 0xFF, 0x42, 0xBA, 0x78, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x42, 0xB9, - 0x77, 0xFF, 0x33, 0x8F, 0x5C, 0xFF, 0x23, 0x5E, 0x3C, 0xFF, 0x24, 0x61, - 0x3E, 0xFF, 0x25, 0x64, 0x40, 0xFF, 0x26, 0x67, 0x42, 0xFF, 0x20, 0x54, - 0x35, 0xFF, 0x1F, 0x45, 0x2A, 0xFF, 0x2C, 0x4C, 0x2D, 0xFF, 0x44, 0x69, - 0x3C, 0xFF, 0x72, 0x97, 0x53, 0xFF, 0xA0, 0xB6, 0x5F, 0xFF, 0xB8, 0xBF, - 0x61, 0xFF, 0x6D, 0x81, 0x45, 0xFF, 0x58, 0x56, 0x2A, 0xFF, 0x90, 0x82, - 0x3D, 0xFF, 0xB2, 0xAF, 0x56, 0xFF, 0xB1, 0xB3, 0x5A, 0xFF, 0xC4, 0xBF, - 0x5E, 0xFF, 0xE1, 0xC9, 0x5E, 0xFF, 0xF3, 0xCD, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF5, 0xD1, 0x68, 0xFF, 0xD1, 0xB6, 0x54, 0xFF, 0x45, 0x66, - 0x37, 0xFF, 0x23, 0x51, 0x31, 0xFF, 0x35, 0x93, 0x5E, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x41, 0xB6, - 0x76, 0xFF, 0x3F, 0xB3, 0x74, 0xFF, 0x3C, 0xAA, 0x6E, 0xFF, 0x32, 0x90, - 0x5D, 0xFF, 0x24, 0x63, 0x3F, 0xFF, 0x26, 0x5C, 0x39, 0xFF, 0x34, 0x74, - 0x47, 0xFF, 0x26, 0x5D, 0x3A, 0xFF, 0x0E, 0x28, 0x19, 0xFF, 0x0E, 0x22, - 0x14, 0xFF, 0x16, 0x2E, 0x1C, 0xFF, 0x23, 0x4E, 0x30, 0xFF, 0x47, 0x99, - 0x5E, 0xFF, 0x5E, 0x97, 0x58, 0xFF, 0xB0, 0xAA, 0x53, 0xFF, 0xE1, 0xBE, - 0x56, 0xFF, 0xF0, 0xCA, 0x5C, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF1, 0xCC, 0x5D, 0xFF, 0x96, 0xBE, - 0x63, 0xFF, 0x45, 0x93, 0x54, 0xFF, 0x27, 0x56, 0x33, 0xFF, 0x28, 0x6C, - 0x45, 0xFF, 0x39, 0xA1, 0x68, 0xFF, 0x42, 0xBC, 0x79, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x44, 0xBF, - 0x7C, 0xFF, 0x41, 0xB6, 0x75, 0xFF, 0x32, 0x8B, 0x59, 0xFF, 0x2B, 0x76, - 0x4B, 0xFF, 0x33, 0x8E, 0x5B, 0xFF, 0x38, 0x9D, 0x65, 0xFF, 0x36, 0x97, - 0x61, 0xFF, 0x28, 0x70, 0x47, 0xFF, 0x1D, 0x46, 0x2C, 0xFF, 0x2D, 0x67, - 0x40, 0xFF, 0x2B, 0x67, 0x3F, 0xFF, 0x2D, 0x56, 0x32, 0xFF, 0x41, 0x50, - 0x2A, 0xFF, 0x69, 0x63, 0x2F, 0xFF, 0xBD, 0xA3, 0x4B, 0xFF, 0xF1, 0xCB, - 0x5D, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF3, 0xCC, 0x5C, 0xFF, 0xD5, 0xC8, - 0x5F, 0xFF, 0x83, 0xBC, 0x65, 0xFF, 0x76, 0xAF, 0x5E, 0xFF, 0x5E, 0x7C, - 0x41, 0xFF, 0x3A, 0x4E, 0x2B, 0xFF, 0x26, 0x5F, 0x3C, 0xFF, 0x37, 0x9A, - 0x63, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, - 0x7C, 0xFF, 0x44, 0xC0, 0x7C, 0xFF, 0x2F, 0x7D, 0x4F, 0xFF, 0x15, 0x2D, - 0x1A, 0xFF, 0x2E, 0x4D, 0x35, 0xFF, 0x4C, 0x94, 0x67, 0xFF, 0x37, 0x9C, - 0x64, 0xFF, 0x25, 0x66, 0x40, 0xFF, 0x27, 0x33, 0x1A, 0xFF, 0x84, 0x75, - 0x36, 0xFF, 0xE9, 0xC5, 0x5A, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xEB, 0xCB, 0x5E, 0xFF, 0xEB, 0xCC, 0x5E, 0xFF, 0xEC, 0xCD, - 0x5E, 0xFF, 0xD7, 0xB7, 0x54, 0xFF, 0x84, 0x74, 0x36, 0xFF, 0x2C, 0x3D, - 0x21, 0xFF, 0x29, 0x6D, 0x46, 0xFF, 0x40, 0xB5, 0x75, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x42, 0xB9, 0x77, 0xFF, 0x3A, 0xA1, - 0x67, 0xFF, 0x4F, 0xAE, 0x79, 0xFF, 0x49, 0x7C, 0x5E, 0xFF, 0x1D, 0x4F, - 0x32, 0xFF, 0x36, 0x98, 0x62, 0xFF, 0x2B, 0x71, 0x48, 0xFF, 0x20, 0x43, - 0x28, 0xFF, 0x90, 0x83, 0x3D, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xBE, 0xA3, - 0x4B, 0xFF, 0x42, 0x56, 0x2F, 0xFF, 0x25, 0x65, 0x41, 0xFF, 0x41, 0xB8, - 0x77, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x38, 0xA2, 0x68, 0xFF, 0x23, 0x62, - 0x3E, 0xFF, 0x1F, 0x58, 0x37, 0xFF, 0x3D, 0xAD, 0x6F, 0xFF, 0x3D, 0xAF, - 0x71, 0xFF, 0x38, 0x64, 0x3B, 0xFF, 0x9F, 0x8B, 0x40, 0xFF, 0xDF, 0xBC, - 0x56, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF6, 0xCF, 0x5E, 0xFF, 0xF6, 0xCF, - 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xC1, 0xBE, 0x5E, 0xFF, 0x3F, 0x60, 0x37, 0xFF, 0x36, 0x99, - 0x62, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBC, - 0x7A, 0xFF, 0x3E, 0xAF, 0x71, 0xFF, 0x42, 0xB9, 0x77, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x3C, 0xAA, 0x6E, 0xFF, 0x2E, 0x68, 0x40, 0xFF, 0x43, 0x57, - 0x2E, 0xFF, 0x76, 0x70, 0x36, 0xFF, 0xA2, 0x8D, 0x41, 0xFF, 0xA9, 0x94, - 0x44, 0xFF, 0x8E, 0x82, 0x3D, 0xFF, 0xAE, 0x97, 0x45, 0xFF, 0xE8, 0xC4, - 0x59, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xF4, 0xCE, - 0x5E, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF5, 0xCF, 0x5E, 0xFF, 0x89, 0xA1, 0x56, 0xFF, 0x32, 0x8F, - 0x5C, 0xFF, 0x44, 0xC0, 0x7C, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x40, 0xB5, 0x74, 0xFF, 0x3C, 0xA8, 0x6C, 0xFF, 0x43, 0xBC, - 0x79, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x3B, 0xA9, - 0x6D, 0xFF, 0x33, 0x8F, 0x5B, 0xFF, 0x30, 0x79, 0x4C, 0xFF, 0x33, 0x81, - 0x51, 0xFF, 0x33, 0x8D, 0x5A, 0xFF, 0x34, 0x73, 0x47, 0xFF, 0x55, 0x65, - 0x37, 0xFF, 0x75, 0x71, 0x38, 0xFF, 0x7C, 0x77, 0x3B, 0xFF, 0xBB, 0xA4, - 0x4D, 0xFF, 0xF1, 0xCB, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF5, 0xCE, 0x5D, 0xFF, 0xB1, 0xB3, 0x59, 0xFF, 0x33, 0x83, - 0x53, 0xFF, 0x3C, 0xAA, 0x6D, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x39, 0xA1, 0x67, 0xFF, 0x1E, 0x53, 0x34, 0xFF, 0x3D, 0xAA, - 0x6E, 0xFF, 0x43, 0xBC, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x44, 0xBF, - 0x7C, 0xFF, 0x44, 0xC0, 0x7C, 0xFF, 0x42, 0xBC, 0x7A, 0xFF, 0x38, 0x9F, - 0x67, 0xFF, 0x30, 0x86, 0x57, 0xFF, 0x30, 0x88, 0x58, 0xFF, 0x49, 0x98, - 0x5E, 0xFF, 0x85, 0xC0, 0x6D, 0xFF, 0xD4, 0xCA, 0x63, 0xFF, 0xF4, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xCB, 0xC7, 0x62, 0xFF, 0x3A, 0x87, - 0x54, 0xFF, 0x1B, 0x4C, 0x2F, 0xFF, 0x2D, 0x7E, 0x51, 0xFF, 0x42, 0xBB, - 0x79, 0xFF, 0x3C, 0xAA, 0x6E, 0xFF, 0x1D, 0x51, 0x33, 0xFF, 0x29, 0x74, - 0x49, 0xFF, 0x42, 0xB9, 0x77, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x3D, 0xAC, 0x6F, 0xFF, 0x36, 0x97, 0x61, 0xFF, 0x41, 0xB9, - 0x77, 0xFF, 0x40, 0xB3, 0x73, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBF, - 0x7B, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x44, 0xBF, 0x7C, 0xFF, 0x42, 0xBF, - 0x7B, 0xFF, 0x3E, 0xBC, 0x7A, 0xFF, 0x83, 0xB3, 0x64, 0xFF, 0xF0, 0xC9, - 0x5C, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xD4, 0xCB, 0x63, 0xFF, 0x46, 0xA2, - 0x65, 0xFF, 0x16, 0x3F, 0x27, 0xFF, 0x1E, 0x54, 0x34, 0xFF, 0x28, 0x70, - 0x47, 0xFF, 0x3F, 0xB3, 0x73, 0xFF, 0x29, 0x73, 0x49, 0xFF, 0x2F, 0x84, - 0x54, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, - 0x7A, 0xFF, 0x3F, 0xB3, 0x73, 0xFF, 0x24, 0x65, 0x40, 0xFF, 0x22, 0x5F, - 0x3C, 0xFF, 0x31, 0x8A, 0x58, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBC, - 0x79, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x40, 0xBB, 0x79, 0xFF, 0x50, 0x7E, 0x49, 0xFF, 0xDD, 0xBA, - 0x54, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xE5, 0xCB, 0x5F, 0xFF, 0x6B, 0xBA, - 0x6E, 0xFF, 0x23, 0x6E, 0x47, 0xFF, 0x36, 0x9C, 0x64, 0xFF, 0x2E, 0x81, - 0x53, 0xFF, 0x3E, 0xAF, 0x70, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x35, 0x8E, - 0x5B, 0xFF, 0x3F, 0xAF, 0x71, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x36, 0x97, 0x61, 0xFF, 0x2B, 0x77, - 0x4C, 0xFF, 0x3E, 0xAF, 0x70, 0xFF, 0x35, 0x95, 0x60, 0xFF, 0x2F, 0x84, - 0x54, 0xFF, 0x3C, 0xA9, 0x6D, 0xFF, 0x3A, 0xA3, 0x69, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x3A, 0x82, 0x50, 0xFF, 0xB6, 0x9E, - 0x48, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xCE, 0xC9, - 0x63, 0xFF, 0x81, 0xC0, 0x6E, 0xFF, 0x61, 0xBF, 0x75, 0xFF, 0x48, 0xBF, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x45, 0xBF, 0x7B, 0xFF, 0x32, 0x87, - 0x56, 0xFF, 0x36, 0x95, 0x5F, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x40, 0xB5, - 0x75, 0xFF, 0x3F, 0xAD, 0x6F, 0xFF, 0x44, 0xBF, 0x7B, 0xFF, 0x44, 0xC1, - 0x7C, 0xFF, 0x3C, 0xAA, 0x6D, 0xFF, 0x31, 0x8A, 0x58, 0xFF, 0x22, 0x5F, - 0x3C, 0xFF, 0x18, 0x43, 0x29, 0xFF, 0x30, 0x85, 0x55, 0xFF, 0x3C, 0xA9, - 0x6D, 0xFF, 0x40, 0xB3, 0x73, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x40, 0xB6, - 0x75, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x42, 0xBD, 0x7A, 0xFF, 0x36, 0x75, 0x48, 0xFF, 0xB4, 0x9C, - 0x48, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF0, 0xCC, 0x5D, 0xFF, 0xE0, 0xCA, 0x60, 0xFF, 0xBD, 0xC7, - 0x66, 0xFF, 0xAC, 0xC6, 0x69, 0xFF, 0xB9, 0xC9, 0x68, 0xFF, 0x8A, 0xA4, - 0x57, 0xFF, 0x2A, 0x59, 0x36, 0xFF, 0x29, 0x64, 0x3E, 0xFF, 0x3D, 0x9E, - 0x65, 0xFF, 0x2B, 0x6F, 0x46, 0xFF, 0x3E, 0xAD, 0x6F, 0xFF, 0x40, 0xB1, - 0x72, 0xFF, 0x3A, 0xA4, 0x6A, 0xFF, 0x2F, 0x83, 0x53, 0xFF, 0x3B, 0xA5, - 0x6A, 0xFF, 0x30, 0x87, 0x56, 0xFF, 0x42, 0xB9, 0x78, 0xFF, 0x30, 0x82, - 0x53, 0xFF, 0x29, 0x6D, 0x45, 0xFF, 0x39, 0x9F, 0x66, 0xFF, 0x2E, 0x79, - 0x4C, 0xFF, 0x42, 0xBB, 0x79, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7A, 0xFF, 0x43, 0xBF, 0x7B, 0xFF, 0x43, 0xBE, - 0x7B, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBD, 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x43, 0xBC, - 0x79, 0xFF, 0x31, 0x8F, 0x5C, 0xFF, 0x60, 0x91, 0x53, 0xFF, 0xE6, 0xC7, - 0x5C, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF5, 0xCC, - 0x5D, 0xFF, 0xF5, 0xCC, 0x5D, 0xFF, 0xF6, 0xCD, 0x5D, 0xFF, 0xE9, 0xC3, - 0x59, 0xFF, 0x77, 0x6C, 0x33, 0xFF, 0x91, 0x82, 0x3D, 0xFF, 0xB9, 0xC1, - 0x62, 0xFF, 0x79, 0x8A, 0x48, 0xFF, 0x2E, 0x5F, 0x3A, 0xFF, 0x2D, 0x74, - 0x49, 0xFF, 0x38, 0xA4, 0x6A, 0xFF, 0x1C, 0x52, 0x33, 0xFF, 0x2C, 0x7E, - 0x50, 0xFF, 0x31, 0x8C, 0x59, 0xFF, 0x36, 0x97, 0x61, 0xFF, 0x31, 0x85, - 0x55, 0xFF, 0x21, 0x57, 0x36, 0xFF, 0x28, 0x41, 0x25, 0xFF, 0x7A, 0x92, - 0x4E, 0xFF, 0x4E, 0xBE, 0x79, 0xFF, 0x43, 0xBF, 0x7C, 0xFF, 0x44, 0xBF, - 0x7B, 0xFF, 0x3F, 0xB2, 0x73, 0xFF, 0x3A, 0xA1, 0x67, 0xFF, 0x3E, 0xAE, - 0x70, 0xFF, 0x40, 0xB5, 0x75, 0xFF, 0x41, 0xB5, 0x75, 0xFF, 0x43, 0xBD, - 0x7A, 0xFF, 0x43, 0xBE, 0x7B, 0xFF, 0x3D, 0xAD, 0x6F, 0xFF, 0x26, 0x69, - 0x43, 0xFF, 0x24, 0x59, 0x37, 0xFF, 0x9F, 0xBB, 0x64, 0xFF, 0xF4, 0xCD, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xEF, 0xCA, 0x5C, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF6, 0xCD, - 0x5D, 0xFF, 0xEB, 0xC5, 0x5A, 0xFF, 0x84, 0x76, 0x37, 0xFF, 0x89, 0x9E, - 0x53, 0xFF, 0x6A, 0xB4, 0x6A, 0xFF, 0x4D, 0x98, 0x5C, 0xFF, 0x2E, 0x67, - 0x3E, 0xFF, 0x2D, 0x72, 0x47, 0xFF, 0x39, 0xA9, 0x6D, 0xFF, 0x24, 0x69, - 0x43, 0xFF, 0x16, 0x38, 0x22, 0xFF, 0x76, 0x6C, 0x32, 0xFF, 0xE3, 0xCA, - 0x5F, 0xFF, 0x7A, 0x9D, 0x56, 0xFF, 0x2F, 0x82, 0x53, 0xFF, 0x2E, 0x7A, - 0x4D, 0xFF, 0x30, 0x55, 0x31, 0xFF, 0x35, 0x44, 0x24, 0xFF, 0x30, 0x4B, - 0x2B, 0xFF, 0x2B, 0x4F, 0x2E, 0xFF, 0x26, 0x4B, 0x2D, 0xFF, 0x2C, 0x68, - 0x40, 0xFF, 0x4A, 0xAE, 0x6D, 0xFF, 0x43, 0x9C, 0x61, 0xFF, 0x49, 0x81, - 0x4C, 0xFF, 0xA4, 0xB0, 0x5B, 0xFF, 0xE9, 0xCC, 0x5F, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF0, 0xCA, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xE8, 0xC9, 0x5D, 0xFF, 0xDB, 0xC8, 0x5F, 0xFF, 0xC7, 0xC0, - 0x5E, 0xFF, 0xA8, 0xBE, 0x63, 0xFF, 0x80, 0xC4, 0x71, 0xFF, 0x79, 0xBF, - 0x6F, 0xFF, 0x88, 0x9E, 0x53, 0xFF, 0xDF, 0xBD, 0x56, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xC9, 0xAB, 0x4E, 0xFF, 0x6F, 0x68, 0x31, 0xFF, 0x3C, 0x40, - 0x1F, 0xFF, 0x9F, 0x8B, 0x40, 0xFF, 0xD7, 0xB6, 0x53, 0xFF, 0xC8, 0xAA, - 0x4E, 0xFF, 0xBC, 0xA0, 0x49, 0xFF, 0xAD, 0x95, 0x44, 0xFF, 0xA2, 0x8D, - 0x41, 0xFF, 0xC6, 0xB9, 0x59, 0xFF, 0xD0, 0xCA, 0x64, 0xFF, 0xDD, 0xCC, - 0x62, 0xFF, 0xF3, 0xCD, 0x5E, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, 0x5D, 0xFF, 0xF5, 0xCD, - 0x5D, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF0, 0xCC, 0x5D, 0xFF, 0xEF, 0xCC, - 0x5E, 0xFF, 0xF2, 0xCE, 0x5E, 0xFF, 0xF3, 0xCD, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF4, 0xCD, 0x5E, 0xFF, 0xEF, 0xCA, 0x5C, 0xFF, 0xDD, 0xBC, - 0x56, 0xFF, 0xEF, 0xCA, 0x5C, 0xFF, 0xF4, 0xCE, 0x5E, 0xFF, 0xF5, 0xCE, - 0x5E, 0xFF, 0xF5, 0xCE, 0x5E, 0xFF, 0xF5, 0xCF, 0x5E, 0xFF, 0xF6, 0xCF, - 0x5E, 0xFF, 0xF4, 0xCD, 0x5D, 0xFF, 0xF4, 0xCC, 0x5D, 0xFF, 0xF3, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF3, 0xCD, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFF, 0xF2, 0xCC, 0x5C, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, 0x5D, 0xFF, 0xF2, 0xCC, - 0x5D, 0xFF, 0xF3, 0xCF, 0x68, 0xFD, 0xF2, 0xCC, 0x5C, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, 0x5D, 0xFD, 0xF2, 0xCC, - 0x5D, 0xFD, 0xF3, 0xCF, 0x68, 0x56, 0xF2, 0xCC, 0x5C, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, 0x5D, 0x56, 0xF2, 0xCC, - 0x5D, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, - 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x5C, 0x72, 0xA8, 0x66, 0x00, - 0x00, 0x48, 0xE7, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xED, 0xBD, 0x77, - 0x90, 0x1C, 0x57, 0x9E, 0xE7, 0xF7, 0x79, 0x2F, 0x33, 0xCB, 0xDB, 0xF6, - 0xDE, 0xC0, 0x7B, 0x80, 0x20, 0x41, 0xCF, 0xE1, 0x70, 0x1C, 0x67, 0x66, - 0xC7, 0xEC, 0xCE, 0xAC, 0xB9, 0xD9, 0xDD, 0xBB, 0xDD, 0xF3, 0xB1, 0x71, - 0xA1, 0x93, 0x4E, 0x11, 0xA7, 0x08, 0x49, 0x17, 0xA1, 0x0B, 0x29, 0xF4, - 0xB7, 0x14, 0xD2, 0xC5, 0x9D, 0x42, 0x17, 0x0A, 0x49, 0x77, 0xAB, 0xDD, - 0xDB, 0xDD, 0x1B, 0x77, 0x73, 0xE3, 0x38, 0x1C, 0x0E, 0xBD, 0x77, 0x20, - 0x08, 0x6F, 0x1A, 0x68, 0xEF, 0xBB, 0xAA, 0xCB, 0xA7, 0x7B, 0xFA, 0x23, - 0xAB, 0xAB, 0xBB, 0x81, 0xEE, 0x86, 0x21, 0x40, 0x80, 0xA8, 0xF7, 0x89, - 0x20, 0x09, 0x36, 0xB2, 0xB3, 0xB2, 0x32, 0xF3, 0xF7, 0x7D, 0xEF, 0xFD, - 0xDE, 0xCF, 0x80, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, - 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, - 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, - 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, - 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, - 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, - 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, - 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xB9, 0xED, 0x88, 0xBF, 0x1C, 0xAB, 0xAA, - 0xE7, 0x66, 0x6D, 0x5C, 0x75, 0xB7, 0x2F, 0x45, 0xA3, 0xD1, 0x7C, 0xDA, - 0xC8, 0xBB, 0x7D, 0x01, 0x1A, 0x8D, 0xE6, 0xEE, 0xA1, 0x05, 0x40, 0xA3, - 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, - 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, - 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, - 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, - 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, - 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, - 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, - 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, - 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x34, - 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, - 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, - 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, - 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, - 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, - 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, - 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, - 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, - 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, - 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, - 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, - 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, - 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, - 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, - 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0x31, 0xEF, 0xF6, 0x05, 0x68, - 0x34, 0x9F, 0x1A, 0x42, 0x20, 0x84, 0x04, 0x21, 0x00, 0x50, 0xBE, 0x07, - 0x4A, 0xDD, 0xED, 0xAB, 0xBA, 0xAB, 0x68, 0x01, 0xD0, 0xDC, 0x25, 0x04, - 0xF0, 0xE9, 0x19, 0x9F, 0x30, 0x4C, 0xDC, 0xD2, 0x32, 0x85, 0xB1, 0xB3, - 0x38, 0xA5, 0x22, 0x08, 0x41, 0x66, 0xFB, 0x41, 0x42, 0xC9, 0x2C, 0x4A, - 0xF9, 0x77, 0xFB, 0x66, 0xDC, 0x35, 0xB4, 0x00, 0x68, 0x6E, 0x23, 0x02, - 0x90, 0x28, 0x24, 0x2B, 0x06, 0x2E, 0xF0, 0x59, 0x31, 0x74, 0x85, 0xA8, - 0xFF, 0x5C, 0x20, 0x55, 0x11, 0x5F, 0x24, 0xEA, 0xFF, 0x0F, 0xE0, 0x21, - 0xF0, 0x6E, 0xFF, 0x15, 0x49, 0x89, 0xF2, 0x3C, 0x66, 0xDF, 0x7B, 0x81, - 0xA9, 0xD7, 0xFF, 0x33, 0xC5, 0x89, 0x8B, 0xB8, 0x76, 0x0D, 0x81, 0x20, - 0xD1, 0xB7, 0x8D, 0xA1, 0xAF, 0xFD, 0x29, 0xD9, 0x9D, 0x47, 0x1A, 0xB3, - 0x82, 0x66, 0x43, 0x0B, 0x80, 0xE6, 0x36, 0x21, 0xC1, 0x2F, 0x11, 0x75, - 0xDF, 0x25, 0xEA, 0x9D, 0x40, 0xA8, 0x0A, 0xAE, 0xEC, 0xA0, 0x66, 0x1C, - 0xC4, 0x11, 0xED, 0x48, 0xAA, 0x58, 0x6A, 0x12, 0xD3, 0x9F, 0xC3, 0xF4, - 0xC6, 0x90, 0xAA, 0x8C, 0x12, 0x61, 0x00, 0x94, 0xB0, 0xA8, 0x9A, 0x0F, - 0x52, 0x0E, 0x3D, 0xF1, 0x09, 0xA7, 0xE4, 0x02, 0x21, 0x44, 0x60, 0xCC, - 0x42, 0x20, 0xA4, 0xC1, 0xF2, 0xE5, 0x53, 0x8C, 0xBD, 0xF0, 0xD7, 0xCC, - 0x1D, 0x7F, 0x85, 0xE2, 0xF8, 0x05, 0x94, 0xE7, 0x36, 0x8C, 0x7D, 0xF9, - 0xCA, 0x69, 0x6A, 0xB9, 0x79, 0x0E, 0xFC, 0xC3, 0xFF, 0x91, 0x44, 0xF7, - 0xB6, 0xA6, 0x14, 0x01, 0x2D, 0x00, 0x9A, 0x9B, 0x60, 0x65, 0x04, 0x57, - 0xAC, 0x9F, 0xBE, 0x4B, 0x0C, 0x7F, 0x96, 0x78, 0xED, 0x39, 0xE2, 0xCE, - 0x2B, 0x98, 0x6A, 0x0A, 0x81, 0x8B, 0x4F, 0x9C, 0xA8, 0x7C, 0x07, 0x5F, - 0xC4, 0x11, 0xB8, 0x48, 0x55, 0x40, 0xAA, 0x22, 0x52, 0x2D, 0x23, 0xAE, - 0xFA, 0x7D, 0xCB, 0xBD, 0x40, 0x71, 0xD9, 0xC0, 0xEC, 0x78, 0x02, 0xFF, - 0x56, 0xD6, 0xE6, 0x42, 0xE0, 0x55, 0xCB, 0x54, 0x17, 0xA6, 0x29, 0xCD, - 0x8C, 0x52, 0x9E, 0x19, 0xA5, 0x38, 0x7E, 0x9E, 0xC2, 0xD8, 0x39, 0x96, - 0x47, 0x4E, 0xE2, 0x56, 0xCB, 0x08, 0x69, 0x20, 0x8C, 0xF5, 0xAF, 0xFC, - 0xD2, 0xD9, 0xF7, 0xB8, 0xF4, 0xE3, 0x7F, 0xCB, 0xC1, 0x7F, 0xFC, 0x3F, - 0x23, 0x84, 0x71, 0x1B, 0x6E, 0x91, 0x40, 0x20, 0x50, 0xA8, 0xC0, 0xDF, - 0xB0, 0xF6, 0xE7, 0x2B, 0x02, 0xB3, 0x56, 0x68, 0x94, 0xC2, 0x77, 0x5D, - 0x3E, 0xCD, 0xE5, 0xD0, 0x5A, 0xB4, 0x00, 0x68, 0x6E, 0x80, 0xE0, 0x85, - 0x15, 0x7E, 0x01, 0xD3, 0x9F, 0x01, 0x61, 0xE1, 0x1A, 0xDD, 0x28, 0x11, - 0x01, 0x14, 0xF8, 0x65, 0x62, 0xB5, 0x5F, 0x93, 0x74, 0x7E, 0x81, 0x54, - 0x79, 0x82, 0x65, 0x80, 0x85, 0xA0, 0x86, 0xE5, 0x5F, 0xA9, 0x9B, 0xC3, - 0xCA, 0x79, 0x04, 0x60, 0xAC, 0x7B, 0xDD, 0x95, 0xAF, 0x98, 0x3D, 0x7D, - 0x8A, 0xF7, 0x7E, 0xFE, 0x3F, 0x90, 0xD8, 0xFE, 0x14, 0x83, 0xCF, 0xFE, - 0x1D, 0xE2, 0x5D, 0x83, 0x37, 0xB7, 0x36, 0x57, 0x8A, 0xD1, 0xE7, 0xFF, - 0x82, 0xA9, 0xD7, 0x7F, 0x86, 0x53, 0x2E, 0xE2, 0x96, 0x0B, 0xD8, 0x85, - 0x25, 0x7C, 0xD7, 0x46, 0x08, 0x89, 0x90, 0x1B, 0x1B, 0xB7, 0xF2, 0x7D, - 0xE6, 0x3E, 0x7C, 0x99, 0xA5, 0x33, 0xEF, 0xD1, 0xB2, 0xF7, 0xD8, 0xC6, - 0xB3, 0x80, 0xFA, 0xCF, 0x04, 0x62, 0xFD, 0xDF, 0xAF, 0xFC, 0xBC, 0x61, - 0xD8, 0x92, 0xCA, 0xFC, 0x04, 0x4E, 0x31, 0x8F, 0x90, 0x92, 0xE2, 0xD4, - 0x65, 0xDC, 0x72, 0x09, 0x84, 0xA0, 0x3C, 0x39, 0x82, 0x67, 0x57, 0x01, - 0x28, 0x4D, 0x8F, 0xA0, 0x5C, 0x07, 0x84, 0x20, 0xD6, 0xDE, 0xC7, 0xCE, - 0x3F, 0xF8, 0x67, 0x58, 0xB1, 0xE4, 0x35, 0xF7, 0x9B, 0x35, 0x32, 0x59, - 0x77, 0x5B, 0x72, 0xAD, 0xF8, 0x7E, 0x32, 0xB4, 0x00, 0x68, 0xEA, 0xAC, - 0xBE, 0xD8, 0x2B, 0xD3, 0x68, 0xE5, 0x07, 0x06, 0x68, 0xF8, 0xF3, 0xC4, - 0xEC, 0x57, 0x88, 0xB8, 0xEF, 0x05, 0xA3, 0xB8, 0x14, 0x2C, 0x2D, 0x0F, - 0x30, 0x57, 0x3A, 0x86, 0x91, 0xDE, 0x49, 0x36, 0x76, 0x9A, 0x84, 0xFF, - 0x4A, 0xC3, 0xF8, 0xD7, 0x9F, 0x53, 0x5C, 0xF7, 0x75, 0x5D, 0x9C, 0xAC, - 0xF2, 0xF6, 0x0F, 0xC6, 0x98, 0xBE, 0x50, 0xC0, 0x3C, 0x7F, 0x89, 0xE2, - 0xC4, 0x05, 0xF6, 0xFC, 0xF1, 0x7F, 0x47, 0x72, 0x60, 0xD7, 0x0D, 0xCD, - 0x04, 0x84, 0x94, 0x14, 0x27, 0x2E, 0x31, 0xF7, 0xC1, 0xCB, 0x2C, 0x9E, - 0x79, 0x37, 0x18, 0xE5, 0xEB, 0x1E, 0xFF, 0xCD, 0x0C, 0x7F, 0x2D, 0x76, - 0x61, 0x89, 0x8B, 0x3F, 0xFE, 0x3F, 0x48, 0x6F, 0x3F, 0x88, 0x19, 0x8D, - 0x07, 0xD7, 0x5D, 0x1F, 0xB1, 0x7D, 0xA7, 0x46, 0x75, 0x61, 0x06, 0xB7, - 0x5A, 0xC2, 0xAD, 0x14, 0x29, 0xCF, 0x4D, 0xE0, 0x3B, 0x2E, 0x6E, 0x79, - 0x99, 0xEA, 0xC2, 0x0C, 0xCA, 0xF3, 0xB0, 0x8B, 0x8B, 0xD8, 0xF9, 0x39, - 0x94, 0xEF, 0xE3, 0x56, 0xCB, 0x81, 0xE8, 0x20, 0x70, 0xCA, 0x45, 0x7C, - 0xCF, 0x41, 0x00, 0x4E, 0xB9, 0x88, 0xF2, 0x3C, 0x40, 0xE1, 0x56, 0x0A, - 0x28, 0xE5, 0x23, 0x10, 0x84, 0x53, 0x59, 0x7A, 0x8F, 0xEE, 0xA0, 0x65, - 0xEF, 0x63, 0x20, 0x25, 0x02, 0x07, 0xCB, 0x9F, 0x41, 0xE0, 0x61, 0xA8, - 0x45, 0x0C, 0x7F, 0x09, 0x00, 0x25, 0x42, 0x38, 0xB2, 0x07, 0xDB, 0xD8, - 0x81, 0x6B, 0xF4, 0xD5, 0xEF, 0xF3, 0x27, 0x77, 0x5E, 0x6A, 0x01, 0xB8, - 0xCF, 0x11, 0xB2, 0xEE, 0x90, 0x53, 0x6A, 0x93, 0x11, 0x35, 0x98, 0xD2, - 0x4B, 0x77, 0x12, 0x49, 0x0D, 0xB7, 0x66, 0x33, 0x7D, 0xE2, 0x63, 0x6A, - 0xF3, 0x63, 0x6C, 0xFB, 0xD2, 0x97, 0x88, 0x8A, 0x8B, 0x44, 0x9D, 0xD7, - 0xB1, 0xFC, 0xC9, 0x60, 0xEA, 0x2E, 0x14, 0x6E, 0xD9, 0x63, 0xF2, 0xB5, - 0xF7, 0x38, 0xF9, 0xC6, 0x7F, 0x44, 0x58, 0x49, 0xB6, 0x1F, 0x31, 0x49, - 0x3E, 0x69, 0x62, 0xA5, 0xE4, 0x8D, 0xCF, 0xDC, 0x05, 0x28, 0x4F, 0x71, - 0xE1, 0xED, 0x45, 0x8E, 0xFF, 0x72, 0x86, 0xF9, 0xB1, 0x32, 0x42, 0x48, - 0xBC, 0x6A, 0x99, 0xD9, 0x0F, 0x5E, 0xC4, 0x8C, 0x25, 0x39, 0xF0, 0x0F, - 0xFE, 0x27, 0xAC, 0x78, 0x7A, 0xD3, 0x13, 0x08, 0x55, 0xAE, 0xFF, 0x31, - 0x45, 0x69, 0x6A, 0x84, 0xEA, 0xD2, 0x2C, 0xC2, 0x30, 0xD7, 0x1B, 0xBD, - 0x5A, 0xFF, 0x99, 0x1B, 0xA1, 0x7C, 0x8F, 0x85, 0x53, 0x6F, 0xF3, 0xC1, - 0xFF, 0xF6, 0x5F, 0xD1, 0xB2, 0xF7, 0x61, 0xEC, 0xFC, 0x02, 0xD5, 0xC5, - 0x19, 0xAA, 0x0B, 0x53, 0x28, 0xE5, 0xE3, 0xDB, 0x55, 0x7C, 0xCF, 0x43, - 0x79, 0x0E, 0x5E, 0xAD, 0x82, 0xF2, 0x15, 0xBE, 0xEB, 0xE0, 0xDB, 0x55, - 0x94, 0x52, 0xF8, 0xAE, 0x8D, 0xEF, 0xD4, 0xEA, 0x62, 0x25, 0xD6, 0x7C, - 0xCE, 0xEA, 0x9F, 0xC5, 0x5A, 0x81, 0x95, 0x06, 0x82, 0xE0, 0x1A, 0x95, - 0x57, 0x26, 0x51, 0xFE, 0x11, 0xAD, 0xD5, 0x37, 0x11, 0x42, 0x20, 0xF0, - 0x11, 0x54, 0x11, 0x4A, 0x21, 0xB0, 0x11, 0xCA, 0x0E, 0x8E, 0x13, 0x12, - 0x25, 0xA2, 0xF8, 0xC4, 0x71, 0x8C, 0x21, 0x4A, 0xD6, 0x33, 0x54, 0xCD, - 0xFD, 0x20, 0xC2, 0x7C, 0x12, 0x21, 0xD0, 0x02, 0x70, 0xDF, 0x22, 0x70, - 0x4A, 0x39, 0xAE, 0xFC, 0xF2, 0x2F, 0x59, 0x3C, 0xF3, 0x36, 0x3D, 0x8F, - 0xFF, 0x16, 0xDD, 0x8F, 0x7D, 0x1D, 0x23, 0x1C, 0x63, 0xD5, 0x2A, 0x7C, - 0x22, 0xCE, 0x07, 0xC4, 0x6B, 0xBF, 0xC6, 0x54, 0x13, 0x08, 0xE1, 0x53, - 0x5E, 0xAA, 0xF1, 0xE1, 0xF3, 0xA7, 0xC0, 0xAD, 0xF2, 0xC8, 0xD3, 0x67, - 0x91, 0xAA, 0x54, 0x1F, 0xD9, 0x83, 0x73, 0x82, 0x60, 0xEC, 0xD4, 0x32, - 0x67, 0x5E, 0x1E, 0xA7, 0x38, 0x57, 0x41, 0x29, 0xC5, 0x8C, 0x95, 0x61, - 0x78, 0xEF, 0x00, 0xF1, 0x4C, 0x02, 0xE5, 0xDD, 0x98, 0x02, 0xCC, 0x5F, - 0x2E, 0x73, 0xE2, 0xD7, 0x73, 0x8C, 0x9F, 0xCA, 0x53, 0x58, 0xB0, 0x57, - 0x67, 0xD6, 0x42, 0xA0, 0x5C, 0x87, 0xD9, 0xF7, 0x7E, 0xCD, 0x48, 0xD7, - 0x10, 0xBB, 0xFF, 0xF0, 0x9F, 0xD7, 0x47, 0xCE, 0x6B, 0xBF, 0x9F, 0xE1, - 0x2F, 0x04, 0xDF, 0x42, 0x66, 0xA8, 0xCC, 0x4F, 0x63, 0x2F, 0xE7, 0x82, - 0x6B, 0x54, 0x81, 0x2D, 0x26, 0x5A, 0x4C, 0x22, 0x09, 0xA3, 0x31, 0x45, - 0x77, 0x6D, 0x9F, 0xFC, 0x9C, 0x8D, 0xEF, 0x5D, 0x3B, 0xD3, 0xF7, 0x1D, - 0x9B, 0xB9, 0x0F, 0x5E, 0x22, 0x77, 0xEE, 0x43, 0x7C, 0xC7, 0xC6, 0x73, - 0x6A, 0xF8, 0x76, 0xED, 0x2A, 0xD1, 0xD8, 0xD8, 0xA0, 0x57, 0x1C, 0x8E, - 0xB7, 0x42, 0x2C, 0x2D, 0xE9, 0xEC, 0x2F, 0x13, 0x56, 0x97, 0xD7, 0x88, - 0xD5, 0xB5, 0x4A, 0x25, 0x14, 0xA0, 0x4A, 0x18, 0xCC, 0x62, 0xFA, 0x93, - 0x84, 0xBC, 0xD3, 0xB8, 0xB2, 0x8F, 0x42, 0xE8, 0xEB, 0x54, 0xAD, 0x87, - 0x6E, 0xF9, 0x2D, 0xD1, 0x02, 0x70, 0x9F, 0xE2, 0x7B, 0x0E, 0x17, 0x7F, - 0xF0, 0x6F, 0x18, 0x7F, 0xF9, 0x87, 0xD8, 0x85, 0x25, 0x0A, 0xA3, 0x67, - 0x50, 0x9E, 0x47, 0xCF, 0x53, 0xDF, 0xC2, 0x08, 0x45, 0x30, 0xBC, 0x39, - 0x52, 0xF6, 0x0F, 0x88, 0xB8, 0xEF, 0x63, 0xF8, 0x0B, 0x08, 0x1C, 0x04, - 0x02, 0x4F, 0x3A, 0xA4, 0x52, 0x05, 0x72, 0x33, 0x15, 0x42, 0x4C, 0xE2, - 0x2B, 0x58, 0xFB, 0x42, 0x8E, 0x9D, 0x5C, 0xE6, 0xFD, 0x9F, 0x4D, 0x50, - 0x58, 0xB4, 0x91, 0x46, 0xF0, 0xD2, 0xCF, 0x5E, 0x29, 0x31, 0x7E, 0x7A, - 0x99, 0x6C, 0x4F, 0x14, 0x33, 0x2C, 0xB7, 0x5C, 0xA2, 0x4E, 0x5F, 0x28, - 0xF2, 0xD1, 0xAF, 0x66, 0x58, 0x18, 0xAD, 0x50, 0x58, 0xB4, 0xF1, 0x6C, - 0xFF, 0xDA, 0x65, 0xB7, 0x10, 0x38, 0xC5, 0x3C, 0x53, 0x6F, 0xFC, 0x94, - 0xD6, 0x83, 0x8F, 0xD3, 0xB6, 0xFF, 0xF1, 0x6B, 0x66, 0x2F, 0x0A, 0x81, - 0xA9, 0x66, 0x01, 0xA8, 0xB1, 0x33, 0x18, 0x91, 0x5D, 0x97, 0xB6, 0xFE, - 0x28, 0x03, 0x07, 0x13, 0xF4, 0xEE, 0x4D, 0x10, 0xCF, 0x58, 0x08, 0x29, - 0x1A, 0xE7, 0x57, 0xBE, 0xC2, 0xB1, 0x15, 0xD3, 0xE7, 0x8B, 0x4C, 0x9E, - 0x2D, 0x33, 0x79, 0xAE, 0x44, 0xAD, 0xBC, 0x7A, 0x5E, 0xE5, 0xFB, 0xD8, - 0xCB, 0x8B, 0x8D, 0x6B, 0x10, 0xC6, 0x6D, 0x70, 0x0A, 0x6E, 0x42, 0x28, - 0x2A, 0xE9, 0xD9, 0x15, 0x67, 0xFF, 0xE7, 0xB3, 0x44, 0xE2, 0x1B, 0x9B, - 0xA1, 0x52, 0x50, 0x59, 0x76, 0x28, 0x2D, 0xDA, 0x08, 0x43, 0x10, 0x4B, - 0x5B, 0xC4, 0x33, 0x16, 0x28, 0x17, 0xD3, 0x9F, 0xC1, 0xF4, 0xE7, 0x90, - 0x7E, 0x1E, 0x84, 0x45, 0xC5, 0x7C, 0x10, 0x81, 0x7B, 0xD3, 0xD7, 0xA1, - 0x05, 0xE0, 0x3E, 0x44, 0x48, 0x83, 0xC9, 0x17, 0x7F, 0xC8, 0xD4, 0x5B, - 0xBF, 0x08, 0x5E, 0x68, 0x21, 0xA8, 0x2D, 0xCD, 0x71, 0xF1, 0xC7, 0xFF, - 0x86, 0xEC, 0xEE, 0x23, 0xB4, 0x75, 0x16, 0x48, 0xD5, 0x7E, 0x40, 0xC8, - 0xBB, 0x84, 0xA0, 0x42, 0x63, 0xFF, 0x5E, 0x80, 0x10, 0x12, 0x33, 0x6C, - 0x12, 0xAC, 0xDD, 0x25, 0x2B, 0xD6, 0x2C, 0xA4, 0x60, 0x71, 0xBC, 0xCC, - 0xC9, 0x17, 0x67, 0x58, 0x9C, 0x28, 0xAF, 0xFB, 0x3C, 0xDF, 0xF5, 0xB9, - 0xF0, 0xD6, 0x3C, 0x1D, 0xC3, 0x71, 0xFA, 0xF7, 0xA7, 0xF1, 0x37, 0x98, - 0x05, 0x38, 0x55, 0x9F, 0x77, 0xFF, 0xD3, 0x14, 0x23, 0xEF, 0x2F, 0x51, - 0x58, 0xA8, 0xE1, 0xB9, 0x2A, 0x30, 0xCC, 0xCD, 0x76, 0xDE, 0x04, 0x14, - 0x27, 0x2F, 0x71, 0xE5, 0x17, 0xFF, 0x8E, 0xD4, 0xC0, 0x5E, 0xAC, 0x64, - 0xE6, 0x2A, 0x7F, 0x80, 0x41, 0xC8, 0xBB, 0x08, 0x40, 0xD5, 0x7F, 0x8A, - 0x8E, 0x21, 0x97, 0xFE, 0xBF, 0xDF, 0x4A, 0x6B, 0xA7, 0x24, 0x92, 0x30, - 0xB1, 0xA2, 0x06, 0xD2, 0x60, 0x43, 0x31, 0xCA, 0x74, 0x86, 0xD8, 0xF6, - 0x60, 0x86, 0xC2, 0x82, 0xCD, 0xB9, 0x37, 0x96, 0xB9, 0xF8, 0x5E, 0x0E, - 0xBB, 0xEC, 0xD5, 0x67, 0xF0, 0x37, 0xB1, 0x15, 0x28, 0xAE, 0x0A, 0x67, - 0x52, 0x5B, 0x1F, 0x17, 0x49, 0x1A, 0x74, 0x0C, 0x46, 0xE9, 0xD9, 0x1D, - 0xA3, 0x6F, 0x5F, 0x92, 0x48, 0xA2, 0x3E, 0x43, 0xD9, 0x20, 0x20, 0xDF, - 0xA9, 0xF9, 0x5C, 0x78, 0x7B, 0x91, 0x13, 0xBF, 0x9A, 0xC1, 0xAE, 0x78, - 0x20, 0xC0, 0xB0, 0x24, 0xAD, 0xBD, 0x51, 0x76, 0x3E, 0xDA, 0x4A, 0xDF, - 0xBE, 0x14, 0x56, 0x44, 0x11, 0xF2, 0x2E, 0x12, 0xB5, 0x5F, 0xC5, 0x91, - 0x7D, 0x78, 0xB2, 0xB5, 0x7E, 0x11, 0x37, 0xFE, 0x1D, 0xB4, 0x00, 0xDC, - 0x6F, 0x08, 0x81, 0x5D, 0x58, 0x64, 0xEA, 0xCD, 0x9F, 0x51, 0x99, 0x9B, - 0x58, 0x7D, 0xA1, 0x85, 0xA0, 0x32, 0x3F, 0x49, 0xF5, 0xFD, 0x7F, 0x49, - 0xEA, 0x89, 0x30, 0x61, 0x73, 0x99, 0x60, 0xED, 0x78, 0xFD, 0x97, 0x45, - 0x29, 0x98, 0x3C, 0x9D, 0xE7, 0xED, 0x1F, 0x8D, 0x5F, 0x63, 0xFC, 0x10, - 0x88, 0x43, 0x7E, 0xAE, 0xCA, 0xC7, 0xBF, 0x9E, 0x21, 0x9A, 0xB4, 0x68, - 0xED, 0x8F, 0xA1, 0xFC, 0x55, 0x6B, 0x58, 0x9E, 0xAB, 0xF1, 0xD6, 0xF7, - 0xC7, 0x19, 0x3D, 0xB1, 0x1C, 0xBC, 0xCC, 0xAC, 0xB1, 0x33, 0x41, 0x7D, - 0xED, 0x5B, 0xF7, 0x6F, 0xFB, 0xAB, 0x7E, 0x6F, 0xE5, 0x3A, 0x2C, 0x9C, - 0x7A, 0x8B, 0x89, 0x57, 0x7E, 0xC4, 0xF0, 0x6F, 0xFD, 0x3D, 0x94, 0x5A, - 0xBF, 0x14, 0x10, 0xCA, 0x41, 0xF8, 0x39, 0xAC, 0xDA, 0x47, 0xF4, 0xF5, - 0x4E, 0x10, 0xEB, 0xB2, 0x90, 0x66, 0xFD, 0x95, 0x56, 0xB0, 0xD9, 0x26, - 0x82, 0x19, 0x92, 0x98, 0x61, 0x49, 0x34, 0x65, 0x92, 0xEE, 0x08, 0xB3, - 0xFB, 0xB1, 0x14, 0x67, 0x5E, 0xCB, 0x73, 0xE9, 0x83, 0x1C, 0x76, 0xD9, - 0xDF, 0xD4, 0x8F, 0xB1, 0x72, 0xCD, 0x66, 0x58, 0x90, 0xED, 0x0A, 0xD3, - 0x36, 0x10, 0x27, 0xDB, 0x1B, 0x45, 0xF9, 0x8A, 0xA5, 0x89, 0x0A, 0xCB, - 0xF3, 0x35, 0x6A, 0x65, 0x97, 0xF2, 0xB2, 0x47, 0x24, 0x6E, 0x10, 0x8A, - 0x48, 0x62, 0x69, 0x49, 0x4B, 0x4F, 0x94, 0x6C, 0x4F, 0x98, 0x96, 0xDE, - 0x28, 0xE1, 0x98, 0x81, 0x19, 0x96, 0x58, 0x61, 0x89, 0x10, 0x9B, 0xFB, - 0x38, 0x4D, 0x4B, 0x92, 0x68, 0x09, 0x51, 0x2B, 0xFB, 0x14, 0x16, 0xEC, - 0xD5, 0x7B, 0x39, 0x5B, 0x63, 0xF2, 0x6C, 0x81, 0x44, 0x4B, 0x98, 0xEE, - 0x9D, 0x09, 0x92, 0xED, 0x16, 0x66, 0xE4, 0x47, 0x74, 0xED, 0x7D, 0x87, - 0x64, 0x67, 0x3B, 0x15, 0xE3, 0x20, 0xA5, 0xD0, 0x33, 0xB8, 0x46, 0x2F, - 0x37, 0x92, 0xEA, 0xA3, 0x05, 0xE0, 0x9E, 0x41, 0xA1, 0x94, 0xBA, 0x76, - 0xAB, 0xE9, 0x26, 0x11, 0x42, 0x32, 0xFA, 0xFC, 0xDF, 0x90, 0xBB, 0x70, - 0x3C, 0xD8, 0x8B, 0x5E, 0x63, 0xE0, 0xCA, 0x57, 0x9C, 0x7F, 0xF1, 0x23, - 0x76, 0x1D, 0x1A, 0x24, 0x9C, 0x0D, 0x6D, 0x79, 0x1E, 0xCF, 0x51, 0x94, - 0x73, 0x0E, 0x66, 0x48, 0x70, 0xE5, 0x78, 0x8E, 0x0F, 0x7E, 0x31, 0xC9, - 0xF2, 0x5C, 0xB5, 0xF1, 0xC2, 0x9A, 0xA6, 0x24, 0x92, 0xB0, 0x70, 0x5D, - 0x8F, 0x6A, 0x31, 0x98, 0x7A, 0x8E, 0x9F, 0xCE, 0x93, 0x6A, 0x0B, 0x71, - 0xF8, 0xD9, 0x6E, 0xE2, 0xD9, 0x10, 0x4A, 0x05, 0x23, 0xD9, 0xEB, 0x7F, - 0x35, 0xC6, 0xE8, 0x47, 0x79, 0x3C, 0x57, 0xAD, 0xB9, 0x4E, 0x90, 0xA6, - 0xA4, 0x6B, 0x7B, 0x92, 0x9D, 0x8F, 0x65, 0x69, 0x1F, 0x8C, 0x91, 0x9B, - 0xAE, 0xF1, 0xD2, 0xFF, 0x73, 0x19, 0xBB, 0xEA, 0x35, 0x0E, 0xAA, 0x2D, - 0xCE, 0x30, 0xF9, 0xFA, 0x7F, 0xA6, 0xFD, 0xC8, 0xD3, 0xC4, 0x7B, 0x86, - 0x1B, 0x8E, 0x36, 0xE9, 0xCF, 0x23, 0xFD, 0x39, 0xA4, 0xAA, 0x12, 0xAF, - 0xBD, 0x40, 0x8C, 0xB3, 0xC1, 0x92, 0xE4, 0x46, 0x9D, 0x90, 0x2A, 0xB8, - 0x86, 0x48, 0xC2, 0x20, 0x1C, 0x8F, 0x91, 0xEE, 0x0C, 0xB3, 0xE7, 0x89, - 0x0C, 0x67, 0x5E, 0xCB, 0x31, 0x7A, 0x32, 0x4F, 0x65, 0x79, 0xBD, 0x7A, - 0x58, 0x11, 0x49, 0xD7, 0xF6, 0x38, 0xFD, 0x07, 0x92, 0x74, 0x0C, 0x86, - 0x48, 0xB4, 0x86, 0x90, 0x86, 0xC4, 0x30, 0x83, 0xFB, 0xEB, 0xB9, 0x49, - 0x7C, 0x4F, 0xA1, 0xFC, 0xE0, 0x3E, 0xAF, 0x2C, 0x3D, 0x84, 0x04, 0xC3, - 0x0C, 0x8E, 0x93, 0xE6, 0xFA, 0x29, 0xC3, 0x56, 0x0E, 0x53, 0x21, 0xA1, - 0x7B, 0x57, 0x82, 0xA7, 0xFF, 0x64, 0x80, 0xF7, 0xFF, 0xF3, 0x24, 0x53, - 0xE7, 0x4B, 0x00, 0xF8, 0x9E, 0xA2, 0xB2, 0xEC, 0x52, 0x29, 0xBA, 0x2C, - 0x4D, 0x55, 0x90, 0x86, 0xC0, 0xF7, 0x15, 0x0F, 0x7C, 0x35, 0xCF, 0xE1, - 0x67, 0xBB, 0x49, 0x46, 0xC7, 0x88, 0x78, 0xA7, 0xC8, 0x45, 0xFE, 0x36, - 0x35, 0x73, 0x1F, 0xD7, 0x13, 0x78, 0x2D, 0x00, 0xF7, 0x00, 0xCA, 0xF7, - 0xA8, 0xE5, 0xE6, 0x29, 0x4E, 0x5C, 0xC2, 0x08, 0x85, 0x49, 0x0F, 0xEF, - 0x47, 0x98, 0x56, 0xDD, 0x83, 0x7F, 0xC3, 0x67, 0x01, 0x05, 0xD3, 0xEF, - 0xFC, 0x8A, 0xC9, 0x57, 0x7F, 0x84, 0x53, 0x58, 0x42, 0x08, 0x89, 0x34, - 0x82, 0x17, 0xD1, 0xF7, 0x14, 0x4A, 0x41, 0x7E, 0xDA, 0xE6, 0x95, 0xBF, - 0x98, 0xE2, 0x89, 0xBF, 0xD5, 0x4D, 0xB2, 0x25, 0xB4, 0xE9, 0xFB, 0x51, - 0x58, 0xA8, 0xF1, 0xDA, 0x5F, 0x5E, 0xC6, 0x0C, 0x1B, 0x5C, 0x39, 0xB1, - 0x84, 0x5B, 0xF3, 0x1A, 0x2F, 0x6C, 0x38, 0x66, 0xB2, 0xFF, 0xF3, 0x9D, - 0xEC, 0x7B, 0xBA, 0x83, 0x99, 0x8B, 0x45, 0x3E, 0xF8, 0xF9, 0x24, 0xF3, - 0xA3, 0x25, 0x94, 0x52, 0x9C, 0x7E, 0x6D, 0x8E, 0x58, 0x26, 0xC4, 0xBE, - 0xA7, 0x3B, 0x08, 0xC7, 0x4C, 0x3E, 0xF8, 0xD9, 0x0C, 0x93, 0x67, 0x8A, - 0x0D, 0xE3, 0x17, 0x52, 0x60, 0x18, 0x82, 0x8E, 0x6D, 0x49, 0x0E, 0x3C, - 0xD3, 0x46, 0xCF, 0x9E, 0x24, 0xA1, 0xA8, 0x81, 0x63, 0x7B, 0x9C, 0x7A, - 0x69, 0x0E, 0xC7, 0xBE, 0x76, 0xD8, 0xCE, 0x5F, 0x3C, 0xCE, 0xE5, 0x9F, - 0xFF, 0xDF, 0xEC, 0xFD, 0xDB, 0xFF, 0x3D, 0xD2, 0x0A, 0x03, 0x12, 0x53, - 0x2D, 0x60, 0xB1, 0x48, 0x65, 0xF2, 0x38, 0x52, 0x5A, 0x18, 0xED, 0x1E, - 0x4A, 0xDD, 0x9A, 0x70, 0x0A, 0x01, 0xE1, 0xB8, 0x41, 0xFB, 0x70, 0x94, - 0x4C, 0x77, 0x98, 0xA3, 0xDF, 0x68, 0xA3, 0xB8, 0xE0, 0x50, 0x29, 0x04, - 0xD7, 0x6C, 0x85, 0x05, 0xE9, 0x0E, 0x93, 0x50, 0xCC, 0xC0, 0xB4, 0x24, - 0xD2, 0x14, 0xC1, 0xB4, 0x7D, 0x8D, 0x01, 0x9B, 0xA1, 0x35, 0xFE, 0x82, - 0xAD, 0xD2, 0x1C, 0x6E, 0x62, 0x0B, 0xDF, 0xB4, 0x24, 0xFD, 0xFB, 0x53, - 0xC4, 0x33, 0x16, 0xEF, 0xFF, 0x74, 0x8A, 0x8B, 0xEF, 0xE4, 0x60, 0x25, - 0xA6, 0x42, 0x05, 0x4E, 0x4D, 0x08, 0x84, 0xE4, 0xE3, 0x17, 0xE6, 0x48, - 0x75, 0x46, 0xD8, 0xF9, 0x88, 0x20, 0xA4, 0xCE, 0x91, 0xA9, 0xFE, 0xBF, - 0x2C, 0x46, 0xFF, 0x0C, 0xC7, 0xD8, 0xCE, 0x56, 0xBB, 0x04, 0x5A, 0x00, - 0xEE, 0x32, 0xCA, 0xF7, 0xC8, 0x5F, 0xFC, 0x88, 0x13, 0xFF, 0xF6, 0x5F, - 0x50, 0x9E, 0x99, 0x40, 0x08, 0x41, 0x72, 0x60, 0x27, 0x3B, 0x7F, 0xFF, - 0x9F, 0xD1, 0xBA, 0xF7, 0xD8, 0x35, 0x91, 0x6B, 0xD7, 0xE2, 0x21, 0xF0, - 0x71, 0x8A, 0x4B, 0x8C, 0xFD, 0xE6, 0xC7, 0x5C, 0x79, 0xFE, 0xAF, 0x28, - 0xCF, 0x8E, 0xD5, 0xF7, 0xB1, 0x61, 0xCF, 0x93, 0xAD, 0x74, 0x0C, 0x87, - 0xF8, 0xF8, 0x85, 0x45, 0x16, 0xC6, 0xAB, 0xF8, 0x3E, 0x4C, 0x9C, 0x29, - 0x73, 0xE9, 0xFD, 0x12, 0x07, 0x3E, 0x6F, 0x61, 0x58, 0x6B, 0xB6, 0xA7, - 0x08, 0x5E, 0xAA, 0x85, 0xF1, 0x12, 0x4E, 0xCD, 0x63, 0xF4, 0x64, 0x0E, - 0x04, 0xF8, 0x6B, 0x46, 0xEE, 0x70, 0xDC, 0x64, 0xFF, 0xD3, 0x9D, 0x1C, - 0xFA, 0x52, 0x17, 0x56, 0x44, 0x32, 0x70, 0x28, 0x43, 0x24, 0x61, 0xF0, - 0xEE, 0x4F, 0x26, 0x98, 0x3A, 0x5F, 0xC0, 0x73, 0x15, 0x67, 0x5E, 0x9D, - 0xA3, 0x7B, 0x67, 0x92, 0xB6, 0xA1, 0x04, 0x66, 0x08, 0x62, 0x69, 0x13, - 0xA5, 0x14, 0x56, 0x58, 0xD2, 0xBD, 0x2B, 0xC1, 0xB6, 0x07, 0x5B, 0xE8, - 0xD9, 0x93, 0x24, 0x1C, 0x33, 0x90, 0x86, 0xC0, 0x73, 0x15, 0x13, 0xA7, - 0x0A, 0x9C, 0x7B, 0x7D, 0x61, 0xDD, 0xD2, 0x21, 0xB8, 0x28, 0x81, 0x5B, - 0x2D, 0x31, 0xFB, 0xDE, 0x6F, 0xC8, 0xEE, 0x7E, 0x88, 0xDE, 0x27, 0xBF, - 0x8D, 0xAF, 0x04, 0xA6, 0x3F, 0x8D, 0xE9, 0x4E, 0x90, 0x6E, 0x53, 0x80, - 0x73, 0xCB, 0xC6, 0x7F, 0xD5, 0x47, 0x11, 0x8A, 0x4A, 0x42, 0x51, 0x49, - 0x3C, 0x6D, 0xA1, 0x56, 0x14, 0x4F, 0x08, 0xAE, 0xD1, 0xE2, 0xAD, 0x0C, - 0xF9, 0x36, 0x06, 0xF5, 0x09, 0x29, 0x68, 0xE9, 0x8B, 0xF1, 0xC4, 0xF7, - 0x06, 0xE8, 0xDE, 0x99, 0xE2, 0xE3, 0x17, 0xE6, 0xC8, 0xCD, 0x54, 0xD6, - 0xDD, 0x27, 0x21, 0xA0, 0x9C, 0x77, 0xB8, 0xF0, 0xD6, 0x22, 0xED, 0x03, - 0x31, 0x5A, 0xFA, 0xA2, 0x84, 0xBC, 0xF3, 0xC4, 0x9C, 0xD7, 0x28, 0xC8, - 0x36, 0x7C, 0x91, 0xDA, 0xF4, 0xA2, 0x8C, 0xDF, 0xFD, 0xAF, 0xFF, 0xC5, - 0xBF, 0xBC, 0x58, 0xF2, 0x6E, 0x43, 0x48, 0x81, 0xE6, 0x56, 0x70, 0x0A, - 0x39, 0x8E, 0xFF, 0xEB, 0xFF, 0x86, 0xFC, 0xC5, 0x93, 0x78, 0x76, 0x05, - 0xCF, 0xAE, 0x52, 0x9D, 0x9F, 0x66, 0xE1, 0xE4, 0x9B, 0x48, 0xC3, 0x24, - 0xB5, 0xED, 0x00, 0x42, 0x1A, 0x81, 0x17, 0xDC, 0x77, 0xEA, 0x2F, 0xA2, - 0x0A, 0x02, 0x45, 0xFC, 0x3C, 0x11, 0xE7, 0x04, 0x19, 0xFB, 0x6F, 0x28, - 0x9F, 0xF8, 0xBF, 0x38, 0xFF, 0xCB, 0xE7, 0xC9, 0x4F, 0xCC, 0x35, 0x42, - 0x6F, 0x76, 0x1C, 0xCB, 0x70, 0xF4, 0xEB, 0x6D, 0x74, 0xEF, 0x8C, 0xD1, - 0xDA, 0x1B, 0x63, 0xE2, 0x4C, 0x09, 0xBB, 0xE2, 0x05, 0xC6, 0x18, 0x52, - 0x0C, 0x1D, 0x4E, 0x35, 0xA6, 0xB0, 0x10, 0xBC, 0x48, 0xB5, 0xB2, 0xC7, - 0xC5, 0x77, 0x17, 0x29, 0xE7, 0x1D, 0xD4, 0x55, 0xEB, 0xE8, 0x58, 0xDA, - 0xE2, 0xC0, 0x33, 0x5D, 0x1C, 0xFC, 0x42, 0x57, 0xE0, 0xED, 0xAF, 0xFF, - 0x4E, 0xA2, 0x25, 0x4C, 0xBA, 0x3D, 0x4C, 0x25, 0xEF, 0xE2, 0x54, 0x3D, - 0x86, 0x8F, 0x64, 0xE9, 0x3F, 0x90, 0x26, 0x1C, 0x33, 0x68, 0x1F, 0x8A, - 0xB3, 0xE7, 0x89, 0x36, 0x0E, 0x7D, 0xB9, 0x83, 0x03, 0x5F, 0xE8, 0x64, - 0xF8, 0xC1, 0x2C, 0x2D, 0xBD, 0x51, 0x42, 0x11, 0x03, 0x21, 0x45, 0x30, - 0x2B, 0x99, 0xA9, 0xF1, 0xF2, 0x9F, 0x5F, 0xA1, 0x94, 0x73, 0xD6, 0xDD, - 0x9B, 0x55, 0xF7, 0x45, 0xE0, 0xD7, 0x70, 0x0A, 0x4B, 0xA4, 0x86, 0xF7, - 0x13, 0xC9, 0x76, 0x11, 0x71, 0x3E, 0x24, 0xE6, 0xBE, 0x16, 0xF8, 0x0F, - 0xEE, 0x40, 0x0C, 0x7F, 0x30, 0x7D, 0x17, 0xEB, 0x76, 0x11, 0xEE, 0x16, - 0x42, 0x80, 0x15, 0x31, 0x68, 0x1B, 0x8C, 0xD1, 0xBB, 0x37, 0x85, 0xE7, - 0x2A, 0x0A, 0x73, 0x35, 0xFC, 0x20, 0xAE, 0xA8, 0x71, 0x8F, 0x72, 0xD3, - 0x35, 0xD2, 0x9D, 0x11, 0xDA, 0x06, 0xE2, 0x18, 0x12, 0xA4, 0x2A, 0x53, - 0x35, 0x0F, 0xE3, 0xCB, 0xEC, 0xA6, 0xE7, 0xD6, 0x33, 0x80, 0xBB, 0x88, - 0xEF, 0x3A, 0x4C, 0xBD, 0xF1, 0x33, 0xF2, 0x97, 0x4E, 0x06, 0xB9, 0xE9, - 0x75, 0x94, 0xF2, 0xA9, 0xCC, 0x8D, 0x73, 0xFE, 0x87, 0xFF, 0x06, 0xB7, - 0x5A, 0x61, 0xF0, 0xD9, 0x3F, 0xA6, 0x3A, 0x7F, 0x05, 0x51, 0xF8, 0x88, - 0x8E, 0xDD, 0xFD, 0xF8, 0xCA, 0x24, 0xE2, 0x9D, 0x23, 0xEA, 0xBE, 0x8D, - 0xE1, 0xCF, 0x63, 0x98, 0x3E, 0xE5, 0xF9, 0x59, 0x2A, 0xB9, 0x22, 0x81, - 0x2F, 0x01, 0x32, 0x9D, 0x16, 0x07, 0xBE, 0x90, 0x25, 0xDD, 0x61, 0xA1, - 0x14, 0x74, 0x6E, 0x8B, 0xD0, 0xBB, 0x27, 0xC6, 0xF9, 0xB7, 0x1D, 0x7C, - 0x57, 0xE1, 0x54, 0xD5, 0xEA, 0x08, 0x77, 0x15, 0x1B, 0xBD, 0xEF, 0xE9, - 0xCE, 0x28, 0x47, 0xBE, 0xD2, 0xCD, 0x8E, 0x47, 0x5A, 0x36, 0x34, 0xB8, - 0x8E, 0xE1, 0x04, 0x5F, 0xFC, 0x87, 0xDB, 0x51, 0xBE, 0x42, 0x1A, 0x02, - 0x69, 0x06, 0x41, 0x41, 0xA6, 0x25, 0xC1, 0xDA, 0xFC, 0x1E, 0xD4, 0xCA, - 0x2E, 0xEF, 0xFF, 0x6C, 0x92, 0xFC, 0x4C, 0xAD, 0xF1, 0x33, 0x69, 0x08, - 0x22, 0x09, 0x93, 0x70, 0xCC, 0xA0, 0xB4, 0xE4, 0xE0, 0xD4, 0x7C, 0x50, - 0x82, 0xC5, 0xD3, 0x6F, 0x73, 0xE9, 0x3F, 0xFD, 0x9F, 0xEC, 0xFD, 0x5B, - 0xFF, 0x98, 0x54, 0xE4, 0x22, 0x02, 0x07, 0xD5, 0x44, 0xAF, 0xB0, 0x34, - 0x04, 0xD9, 0x9E, 0x08, 0x4F, 0x7C, 0xAF, 0x9F, 0x1D, 0xC7, 0xB2, 0x1C, - 0xFF, 0xE5, 0x34, 0x13, 0x67, 0x0A, 0x78, 0x9E, 0xAA, 0x7B, 0x50, 0x15, - 0x17, 0xDF, 0x59, 0xA4, 0x67, 0x77, 0x82, 0x8E, 0xE1, 0x04, 0x96, 0x7F, - 0x19, 0xCB, 0x3D, 0x8B, 0x23, 0x7B, 0x40, 0x6C, 0xEC, 0xF3, 0x69, 0x9E, - 0xBB, 0x77, 0x0F, 0xE2, 0xD9, 0x15, 0xC6, 0x5F, 0xFC, 0x8F, 0xF8, 0x8E, - 0xBD, 0xE1, 0xDF, 0xD7, 0x72, 0x73, 0x9C, 0xFB, 0xEB, 0xFF, 0x85, 0x73, - 0xFF, 0xF1, 0x7F, 0x27, 0xD3, 0x19, 0xE6, 0xE1, 0xDF, 0xEE, 0xA2, 0xAD, - 0x96, 0xAA, 0x6F, 0xB3, 0xA9, 0x7A, 0xFA, 0xAC, 0x42, 0x79, 0x82, 0xA5, - 0x69, 0x9B, 0xF2, 0xB2, 0xD7, 0xD8, 0x5A, 0xDB, 0xF3, 0x64, 0x1B, 0x2D, - 0x3D, 0x91, 0xD5, 0x58, 0x72, 0x09, 0x7B, 0x9F, 0x6A, 0x63, 0xE2, 0x4C, - 0x99, 0xE2, 0xA2, 0x4D, 0x38, 0x26, 0x6F, 0x6C, 0xE4, 0x14, 0xD0, 0xDA, - 0x17, 0xE7, 0xC1, 0xDF, 0xEA, 0x65, 0xE0, 0x40, 0x7A, 0x53, 0x9F, 0x81, - 0x90, 0x02, 0x33, 0x74, 0x73, 0x43, 0xA5, 0x53, 0xF3, 0x39, 0xF7, 0xFA, - 0x22, 0x97, 0xDE, 0xCD, 0x35, 0xB6, 0x0E, 0xAD, 0x88, 0xC1, 0xD0, 0xE1, - 0x0C, 0x0F, 0x7E, 0xB3, 0x8B, 0x44, 0x4B, 0x88, 0x89, 0xD3, 0x45, 0xDE, - 0xFA, 0xFE, 0x38, 0x8B, 0x93, 0x15, 0x94, 0xEF, 0x31, 0xFE, 0xF2, 0x0F, - 0x29, 0x5E, 0x7A, 0x99, 0x87, 0xBF, 0xD3, 0x4D, 0xF6, 0xA8, 0x85, 0xBA, - 0xFD, 0x19, 0xC4, 0xF7, 0x34, 0x42, 0x80, 0x15, 0x96, 0xF4, 0xEE, 0x4B, - 0xD1, 0xD2, 0x17, 0xE5, 0xCC, 0x2B, 0x0B, 0x9C, 0x7A, 0x79, 0x8E, 0xE2, - 0x62, 0xF0, 0x0E, 0x4D, 0x9D, 0x2B, 0x32, 0x3F, 0x5A, 0xA1, 0x6D, 0x20, - 0x8E, 0x10, 0x10, 0x73, 0xDF, 0xA7, 0x66, 0x1D, 0xC5, 0x13, 0x1D, 0x6C, - 0xB4, 0x0C, 0xD0, 0x25, 0xC1, 0xEE, 0x12, 0x4A, 0x29, 0x4A, 0x93, 0x97, - 0x28, 0x8C, 0x5F, 0x5C, 0x1F, 0xE4, 0xB2, 0x36, 0xD7, 0x43, 0x05, 0x21, - 0xA7, 0x5E, 0xB5, 0x8C, 0xEF, 0xD4, 0x90, 0xC2, 0xAD, 0x07, 0xEC, 0x38, - 0xF5, 0xA0, 0x8F, 0xE0, 0xC0, 0xB1, 0x53, 0x25, 0xA6, 0xCE, 0x57, 0xF0, - 0xFD, 0xC0, 0x0B, 0xDD, 0xBF, 0x37, 0xC1, 0xE0, 0xA1, 0x38, 0xA1, 0xE8, - 0xFA, 0xA0, 0x9C, 0xF6, 0xC1, 0x10, 0xDB, 0x8E, 0x26, 0x48, 0xB5, 0x87, - 0x18, 0x3E, 0x9A, 0x5A, 0xB7, 0xFE, 0xDF, 0x08, 0x21, 0x05, 0x9D, 0xC3, - 0x09, 0x1E, 0xFB, 0x6E, 0x3F, 0x03, 0x07, 0xD3, 0x37, 0xB3, 0xBD, 0x7C, - 0x5D, 0x3C, 0xC7, 0x67, 0xF4, 0x78, 0x8E, 0x77, 0x7E, 0x34, 0xD1, 0x70, - 0x66, 0x99, 0x96, 0x64, 0xF8, 0x81, 0x2C, 0x4F, 0xFD, 0xF1, 0x00, 0xD9, - 0xEE, 0x28, 0x56, 0xC4, 0x60, 0xF0, 0x48, 0x9A, 0x47, 0x7F, 0xAF, 0x8F, - 0x78, 0xC6, 0xAA, 0x2F, 0x49, 0x3C, 0x6A, 0xB9, 0x25, 0x6A, 0xB9, 0xE5, - 0x3B, 0x32, 0xF5, 0xFF, 0xAC, 0x20, 0x44, 0xB0, 0x24, 0x3B, 0xFA, 0x8D, - 0x2E, 0xBE, 0xF0, 0xF7, 0x87, 0xE8, 0xD9, 0x95, 0x40, 0xC8, 0xE0, 0x7E, - 0x8C, 0x7D, 0x9C, 0xA7, 0x30, 0x5F, 0x0B, 0x44, 0xD9, 0x9F, 0x44, 0xAA, - 0xEA, 0xA6, 0xE7, 0xD1, 0x02, 0xF0, 0x89, 0x10, 0x9B, 0xFC, 0x73, 0x9D, - 0xE3, 0x95, 0x8F, 0x57, 0x5A, 0x60, 0xF2, 0xB5, 0x9F, 0xAD, 0x1B, 0xFD, - 0xCD, 0xB0, 0x24, 0xD9, 0x1E, 0x22, 0x9E, 0xB5, 0x30, 0xAC, 0xD5, 0x47, - 0xA3, 0x08, 0x3C, 0xD1, 0xD1, 0xE4, 0xFA, 0x58, 0x7B, 0x21, 0x61, 0x61, - 0xAC, 0xC2, 0x87, 0xBF, 0x9C, 0x61, 0x6E, 0xA4, 0x84, 0x10, 0x82, 0x70, - 0x42, 0xB2, 0xF7, 0xA9, 0x2C, 0xD9, 0xEE, 0xF0, 0x35, 0xDB, 0x4C, 0x42, - 0x0A, 0x1E, 0xFE, 0x4E, 0x17, 0x5F, 0xFD, 0x27, 0xFD, 0x0C, 0x1F, 0x49, - 0x23, 0x8D, 0x8D, 0xAF, 0x55, 0xD5, 0x8F, 0xED, 0xDD, 0x95, 0xE2, 0x73, - 0x7F, 0x34, 0x4C, 0xD7, 0xCE, 0xE4, 0x86, 0xC7, 0x21, 0xC0, 0x73, 0x15, - 0xB5, 0xB2, 0x17, 0x8C, 0xE0, 0x37, 0x68, 0x8F, 0x9E, 0xAB, 0x18, 0x3F, - 0x5D, 0xE0, 0xF5, 0xBF, 0x1E, 0x6F, 0x6C, 0xF9, 0x09, 0x29, 0xE8, 0x18, - 0x8E, 0xF1, 0xC8, 0x77, 0x7B, 0x09, 0xC7, 0x8D, 0xC6, 0xB9, 0xA4, 0x84, - 0xAE, 0x1D, 0x09, 0xF6, 0x3C, 0xD5, 0x5E, 0x5F, 0x8B, 0x07, 0x4B, 0x9C, - 0x66, 0x2F, 0xE5, 0xB5, 0x96, 0xDE, 0x3D, 0x49, 0x9E, 0xF8, 0xC3, 0x01, - 0x06, 0x0F, 0xA5, 0x31, 0x4C, 0xC1, 0xE4, 0xD9, 0x22, 0xCB, 0x73, 0x36, - 0x28, 0xB0, 0xFC, 0x31, 0x0C, 0x35, 0xC7, 0x66, 0x3B, 0x01, 0x7A, 0x09, - 0x70, 0x53, 0xAC, 0xBC, 0xE1, 0x2A, 0x08, 0x42, 0xA1, 0x86, 0x50, 0x35, - 0x56, 0x6F, 0xAE, 0x81, 0x12, 0x61, 0x14, 0x16, 0x4A, 0x84, 0x58, 0xA7, - 0xAF, 0xAA, 0x86, 0xC4, 0x46, 0xA8, 0x0A, 0x86, 0x3B, 0x41, 0xF1, 0xE4, - 0x4F, 0x98, 0x78, 0xF1, 0x2F, 0xF0, 0xDD, 0x40, 0x00, 0xAC, 0x88, 0xC1, - 0x9E, 0xC7, 0xB3, 0x3C, 0xF4, 0xED, 0x6E, 0x8A, 0x0B, 0x36, 0x1F, 0xFC, - 0x62, 0x96, 0xCB, 0x1F, 0xE6, 0x70, 0xED, 0x60, 0x7D, 0x67, 0x45, 0x24, - 0xB1, 0x8C, 0xB9, 0xFA, 0xE2, 0x8B, 0x60, 0xAF, 0xFE, 0xC2, 0x3B, 0x79, - 0x26, 0x4E, 0x97, 0xEB, 0x19, 0x7C, 0xB0, 0xFB, 0xD1, 0x0C, 0x5D, 0x3B, - 0x62, 0x9B, 0x06, 0x99, 0x48, 0x29, 0xC8, 0x74, 0x45, 0xB6, 0xFE, 0x9A, - 0x4A, 0x11, 0x4D, 0x5A, 0xEC, 0x78, 0xB8, 0x8D, 0x4C, 0x77, 0x64, 0xC3, - 0xF3, 0x08, 0x01, 0xAE, 0xE3, 0x73, 0xE5, 0xC3, 0x1C, 0x93, 0xE7, 0x8A, - 0xF4, 0xEF, 0x4F, 0xD1, 0xB7, 0x2F, 0x85, 0x19, 0xDA, 0x3A, 0x21, 0xC8, - 0xA9, 0xFA, 0x4C, 0x9E, 0x5D, 0xE6, 0x95, 0x3F, 0x1F, 0xA5, 0xB8, 0x64, - 0x37, 0x66, 0x28, 0x89, 0xAC, 0xC5, 0xB1, 0xDF, 0xE9, 0x25, 0x91, 0xB5, - 0xAE, 0xBE, 0x14, 0xA2, 0x49, 0x93, 0xC1, 0x43, 0x69, 0x46, 0xDE, 0xCF, - 0x31, 0x3F, 0x5A, 0xDA, 0x3A, 0x82, 0xB0, 0x09, 0x51, 0x0A, 0xDA, 0xFA, - 0xA3, 0x3C, 0xFC, 0x9D, 0x5E, 0x94, 0x82, 0x2B, 0xC7, 0x73, 0x8C, 0x7D, - 0x9C, 0xA7, 0x7D, 0x30, 0x4A, 0x24, 0x61, 0x10, 0x72, 0xCF, 0x62, 0x1B, - 0xBB, 0xEB, 0x15, 0x98, 0xD6, 0x3F, 0x1C, 0x2D, 0x00, 0x37, 0x44, 0xBD, - 0xBC, 0x95, 0x2A, 0x63, 0xA8, 0x22, 0xD2, 0xCF, 0x63, 0xFA, 0x63, 0x84, - 0xBC, 0x4B, 0x58, 0xFE, 0x28, 0xD2, 0xAF, 0x07, 0x69, 0xC8, 0x14, 0x8E, - 0x31, 0x88, 0x2D, 0x7A, 0x71, 0x8D, 0x3E, 0x94, 0x88, 0xB2, 0x72, 0xC3, - 0x4D, 0x77, 0x94, 0x90, 0x3F, 0x42, 0xD8, 0x3B, 0x43, 0xC8, 0xBB, 0x40, - 0xAC, 0xAD, 0x4C, 0xAA, 0x55, 0x32, 0x5F, 0x0C, 0x46, 0xBF, 0x9E, 0xDD, - 0x09, 0x8E, 0xFD, 0x4E, 0x37, 0xE1, 0x98, 0x41, 0x34, 0x19, 0xE5, 0xF1, - 0x3F, 0xE8, 0xC6, 0x30, 0x7D, 0xCE, 0xBD, 0x91, 0x47, 0x08, 0x48, 0xB6, - 0x5A, 0xA4, 0x3B, 0xC2, 0xAB, 0xFB, 0xE9, 0x42, 0x50, 0x98, 0xAF, 0xB1, - 0x34, 0x55, 0xC3, 0xF7, 0x82, 0xB0, 0xDA, 0xCE, 0xE1, 0x18, 0x3B, 0x1E, - 0xCE, 0x10, 0xCF, 0x58, 0xF8, 0xFE, 0x6D, 0x18, 0x21, 0x37, 0x5B, 0xEF, - 0x0B, 0x70, 0x1D, 0xC5, 0xB9, 0x37, 0x16, 0x78, 0xEF, 0x27, 0x13, 0xE4, - 0xA7, 0x2B, 0x5C, 0x78, 0x7B, 0x8E, 0xC7, 0x7E, 0x7F, 0x90, 0x5D, 0x8F, - 0xB6, 0x22, 0x0C, 0xB1, 0xE1, 0xAE, 0x93, 0xE7, 0x2A, 0x4E, 0xBF, 0x3C, - 0xCF, 0x87, 0xBF, 0x98, 0xA2, 0x94, 0x77, 0x1A, 0xC7, 0x58, 0x11, 0xC9, - 0xCE, 0x47, 0x5B, 0xE8, 0xDE, 0x99, 0xD8, 0xF0, 0x33, 0x95, 0x52, 0xA4, - 0x3A, 0xC2, 0xF4, 0xEF, 0x4F, 0x31, 0x7F, 0xA5, 0x84, 0x19, 0x12, 0x58, - 0x91, 0xEB, 0xA7, 0x19, 0x37, 0x13, 0x4A, 0x41, 0xDB, 0x40, 0x94, 0x47, - 0xBE, 0xDB, 0x87, 0x53, 0xF5, 0x38, 0xF7, 0xFA, 0x02, 0x5D, 0x3B, 0x12, - 0x0C, 0x1E, 0x4E, 0x61, 0x85, 0x16, 0x36, 0xCD, 0x13, 0xD0, 0x02, 0xB0, - 0x21, 0x6B, 0xB6, 0xC6, 0x54, 0x0D, 0xA9, 0x96, 0x31, 0xFC, 0x39, 0x42, - 0xEE, 0x29, 0x62, 0xEE, 0xBB, 0x84, 0xBC, 0xCB, 0xF5, 0x18, 0xFA, 0xF5, - 0xC7, 0xE2, 0x43, 0xC4, 0x7D, 0xFF, 0x86, 0xCE, 0x1D, 0x4D, 0x99, 0x44, - 0x62, 0x41, 0x85, 0xDA, 0x50, 0x44, 0xB2, 0xFF, 0xE9, 0x56, 0x42, 0xD1, - 0x7A, 0x8A, 0xA8, 0x0A, 0xB6, 0xD6, 0x1E, 0xFC, 0x46, 0x0F, 0x95, 0xBC, - 0x87, 0x63, 0xFB, 0x0C, 0x1D, 0x49, 0xAE, 0xDB, 0x92, 0x13, 0x02, 0x2A, - 0x05, 0x9F, 0x4A, 0x21, 0xF8, 0x61, 0x3C, 0x6B, 0x71, 0xF8, 0xD9, 0x56, - 0x3A, 0xB7, 0x45, 0x6F, 0x8B, 0xF1, 0x2B, 0xA5, 0xF0, 0x9C, 0x6B, 0xCF, - 0x23, 0xEA, 0xD3, 0xFE, 0x0B, 0x6F, 0x07, 0xC6, 0xBF, 0x3C, 0x13, 0x44, - 0xA3, 0x95, 0x97, 0x6C, 0x3E, 0xFA, 0xE5, 0x14, 0xB1, 0xB4, 0x45, 0xFF, - 0xBE, 0x8D, 0xFD, 0x05, 0xB5, 0x92, 0xC7, 0xC5, 0x77, 0x16, 0x29, 0xE5, - 0x9C, 0xC6, 0x2C, 0xC1, 0x30, 0x05, 0x7D, 0xFB, 0x92, 0x1C, 0xF9, 0x5A, - 0x77, 0x63, 0x0D, 0x7B, 0xED, 0xB5, 0x40, 0x3C, 0x63, 0x31, 0x70, 0x28, - 0xC5, 0x85, 0x77, 0x16, 0x88, 0x67, 0x2D, 0x52, 0xED, 0x91, 0xDB, 0x91, - 0x0E, 0x7F, 0x5F, 0xA1, 0x7C, 0x68, 0x1F, 0x8C, 0xB2, 0xF7, 0xA9, 0x56, - 0xDE, 0xFA, 0xC1, 0x24, 0x6F, 0x7D, 0x7F, 0x1C, 0xBB, 0xD2, 0x45, 0xB2, - 0xEF, 0x5D, 0x6A, 0x7D, 0x5F, 0xC2, 0xC8, 0xA6, 0xAE, 0xF1, 0x9B, 0x68, - 0x01, 0xD8, 0x60, 0xDD, 0x2E, 0x54, 0x19, 0xA9, 0x8A, 0x18, 0x2A, 0x87, - 0xE5, 0x5E, 0x22, 0xEA, 0xBE, 0x47, 0xC4, 0x3D, 0x81, 0xA0, 0xC4, 0xF5, - 0xD7, 0xFA, 0x37, 0x3E, 0x37, 0x2D, 0xE6, 0x03, 0x55, 0x4E, 0xB6, 0x86, - 0xE8, 0xDA, 0x11, 0x5F, 0x5F, 0x29, 0xCA, 0x57, 0x64, 0xBA, 0xC2, 0x7C, - 0xE5, 0x9F, 0x6C, 0xA3, 0xB2, 0xEC, 0x90, 0xEE, 0x8C, 0x6C, 0x68, 0xD8, - 0xCA, 0x87, 0x78, 0xD6, 0xE4, 0xA1, 0x6F, 0xB6, 0x33, 0x70, 0x30, 0x79, - 0x7B, 0x46, 0x45, 0x11, 0x04, 0x04, 0x15, 0xE6, 0x6B, 0x5C, 0xBD, 0x96, - 0xF0, 0x7D, 0x18, 0x3F, 0xB9, 0xCC, 0xF1, 0x5F, 0x4C, 0x91, 0x9F, 0xAE, - 0x34, 0xFC, 0x08, 0x42, 0x0A, 0x66, 0x47, 0x8A, 0x7C, 0xFC, 0xFC, 0x34, - 0xF1, 0xB4, 0x45, 0x6B, 0x7F, 0xBC, 0xEE, 0xEE, 0x58, 0xFD, 0xDD, 0x58, - 0xDA, 0xE4, 0x91, 0xEF, 0xF6, 0xF1, 0xD6, 0x0F, 0xC6, 0xC9, 0xCF, 0x54, - 0x11, 0x86, 0xA0, 0xAD, 0x3F, 0xC6, 0xA3, 0xBF, 0xDB, 0x4F, 0x38, 0xBA, - 0x75, 0xE6, 0x9D, 0xF2, 0x15, 0xED, 0x83, 0x31, 0x1E, 0xF8, 0x5A, 0x17, - 0xBE, 0xA7, 0x68, 0xEB, 0x8F, 0xE1, 0x6B, 0x3F, 0xC0, 0x35, 0xF8, 0x9E, - 0x62, 0xE7, 0x63, 0x6D, 0xCC, 0x5C, 0x2A, 0x73, 0xFA, 0x95, 0x39, 0x9E, - 0xFF, 0xB7, 0x23, 0x08, 0x75, 0x89, 0xA1, 0xAF, 0x75, 0xB3, 0xFB, 0x7B, - 0xFF, 0x9C, 0x50, 0x6A, 0x25, 0x61, 0x28, 0xA0, 0xC9, 0x05, 0x40, 0x20, - 0x54, 0x09, 0x43, 0xE5, 0x11, 0xAA, 0x8A, 0xC0, 0x0F, 0x46, 0x7B, 0x77, - 0x8C, 0x88, 0x77, 0x9E, 0xB0, 0x77, 0x16, 0x53, 0x4D, 0xAF, 0xA9, 0x72, - 0x7B, 0xFB, 0x7C, 0xA6, 0xB5, 0x92, 0x47, 0x39, 0x67, 0x23, 0x8D, 0x20, - 0xE6, 0xDB, 0x8A, 0x5C, 0x7B, 0x6E, 0xA5, 0x82, 0x2D, 0x1F, 0xAB, 0x23, - 0x7C, 0x6D, 0x84, 0x9C, 0x02, 0x69, 0x0A, 0x5A, 0x7A, 0xC3, 0xEC, 0x79, - 0x32, 0xC5, 0xAE, 0x47, 0x33, 0xD7, 0x5D, 0x7F, 0xDF, 0xCC, 0x7D, 0x09, - 0x52, 0x67, 0xD7, 0x4F, 0x1B, 0x85, 0x14, 0x2C, 0x8E, 0x95, 0x39, 0xF1, - 0xFC, 0x34, 0x73, 0x23, 0xC5, 0x20, 0xB6, 0x7D, 0x0D, 0xD2, 0x08, 0xF2, - 0x06, 0x12, 0xAD, 0x61, 0xF6, 0x3C, 0xD5, 0x81, 0x34, 0x20, 0xD5, 0x1E, - 0xC6, 0x0A, 0xAF, 0x1A, 0x77, 0xCF, 0x9E, 0x04, 0x9F, 0xFF, 0xD3, 0x21, - 0xC6, 0x4F, 0xE5, 0x31, 0x2C, 0xC9, 0xD0, 0x91, 0x2C, 0xB1, 0xF4, 0xF5, - 0x5F, 0x43, 0xA5, 0x82, 0x28, 0xC4, 0x43, 0x5F, 0xE9, 0x0A, 0xFE, 0xDF, - 0x57, 0x77, 0xAB, 0x8C, 0xDE, 0x3D, 0x8F, 0x94, 0xB0, 0xFF, 0x99, 0x0E, - 0xE6, 0xC7, 0x2A, 0x4C, 0x9F, 0x2F, 0x00, 0x82, 0xF1, 0xDF, 0xFC, 0x0D, - 0x1D, 0x0F, 0x7D, 0x99, 0x8E, 0x23, 0x9F, 0x5B, 0x17, 0x5D, 0xDA, 0xC4, - 0x02, 0x10, 0x84, 0x93, 0x46, 0xEC, 0x57, 0x89, 0x7A, 0x27, 0x31, 0xFC, - 0x79, 0x04, 0x36, 0x96, 0x3F, 0x41, 0x90, 0x0A, 0xBB, 0x52, 0xCE, 0xEA, - 0xF6, 0xE7, 0x84, 0x2B, 0x05, 0x97, 0xDE, 0xCF, 0xE1, 0xB9, 0x41, 0xD0, - 0x4C, 0xEF, 0xDE, 0xC4, 0xD6, 0x5B, 0x5A, 0x6A, 0xA3, 0x73, 0x28, 0x92, - 0xAD, 0x16, 0xC7, 0xBE, 0xDD, 0x41, 0x3C, 0x6D, 0xAE, 0x14, 0xFD, 0xB9, - 0x7D, 0x17, 0x78, 0xF5, 0xDD, 0x12, 0x50, 0x2D, 0x38, 0x9C, 0x7D, 0x6D, - 0x8E, 0xD1, 0x8F, 0x96, 0x1A, 0xC6, 0xDF, 0xF0, 0xC8, 0xD7, 0x43, 0x8F, - 0x95, 0x52, 0x9C, 0xFC, 0xCD, 0x0C, 0x73, 0x97, 0x4B, 0xF8, 0x3E, 0x3C, - 0xFD, 0x27, 0x43, 0x74, 0x0C, 0x27, 0xD6, 0x09, 0x58, 0x4B, 0x6F, 0x84, - 0x96, 0xBE, 0x68, 0xE3, 0x7B, 0xDC, 0x8C, 0x21, 0xAB, 0xDB, 0xE1, 0xDB, - 0xB8, 0xCF, 0x59, 0xF1, 0x07, 0x6C, 0x3B, 0x9A, 0x25, 0x37, 0x55, 0xA1, - 0x52, 0x70, 0xF1, 0x9C, 0x1A, 0x13, 0x2F, 0xFF, 0x90, 0xEC, 0xCE, 0x23, - 0x84, 0xD2, 0xAD, 0x8D, 0x67, 0xDC, 0xA4, 0x02, 0x10, 0xEC, 0x8F, 0xA6, - 0xAA, 0x7F, 0x43, 0xDC, 0x79, 0x11, 0xF0, 0x58, 0x2D, 0xBB, 0x78, 0xE7, - 0x6F, 0x49, 0x69, 0xC9, 0xE6, 0xFC, 0x9B, 0x4B, 0x78, 0x8E, 0x22, 0x96, - 0x32, 0x69, 0x1B, 0x88, 0x6D, 0x98, 0x13, 0xBE, 0x15, 0x4A, 0x41, 0x34, - 0x55, 0x17, 0xA7, 0xDB, 0x64, 0x13, 0x8A, 0x60, 0x14, 0x0F, 0xC7, 0x2D, - 0xA0, 0x7A, 0xCD, 0xD4, 0xFF, 0xCA, 0x89, 0x1C, 0xA7, 0x5F, 0x9A, 0x6D, - 0x64, 0x9C, 0xAF, 0x8C, 0xCA, 0xD1, 0xA4, 0x49, 0xAD, 0xE4, 0x51, 0x2D, - 0x3A, 0xF5, 0x34, 0x5C, 0xC5, 0xF4, 0xF9, 0x65, 0xE2, 0xD9, 0xF0, 0xA6, - 0xD7, 0xAE, 0xB7, 0xF1, 0xEE, 0x2C, 0xCA, 0x57, 0x0C, 0x1F, 0x4D, 0x73, - 0xE1, 0xED, 0x79, 0x2A, 0x85, 0x60, 0x26, 0xB7, 0x78, 0xFA, 0xAD, 0x46, - 0x61, 0xD2, 0x15, 0x9A, 0x30, 0x0E, 0x40, 0x60, 0xF8, 0xF3, 0x75, 0xE3, - 0x7F, 0x89, 0xFA, 0x6B, 0xCF, 0xF5, 0xF7, 0xF0, 0x6F, 0x0F, 0xBE, 0xA7, - 0x38, 0xF9, 0x9B, 0x05, 0xE6, 0xC7, 0x82, 0x07, 0x91, 0xEE, 0x8C, 0x10, - 0x49, 0xDE, 0xE2, 0x2C, 0xE3, 0xF6, 0x16, 0x88, 0x05, 0x82, 0xD4, 0xD5, - 0x74, 0x67, 0x74, 0x8D, 0x10, 0x04, 0xA2, 0xB0, 0x3C, 0x5B, 0xE3, 0xC2, - 0x9B, 0x8B, 0x54, 0x0A, 0x4E, 0xBD, 0xEC, 0x7E, 0xB0, 0x7E, 0x3F, 0xFC, - 0x95, 0x6E, 0x1E, 0xFB, 0xFD, 0x41, 0x8E, 0x7C, 0xAD, 0x87, 0x8E, 0xE1, - 0x64, 0x30, 0x33, 0xA8, 0x17, 0xD6, 0x88, 0x65, 0xAD, 0x20, 0x14, 0x58, - 0xF3, 0xA9, 0xA3, 0x14, 0x64, 0xBA, 0x22, 0xF4, 0xEE, 0x4D, 0x05, 0xCE, - 0x65, 0x05, 0xD5, 0xC5, 0x69, 0x9C, 0x52, 0x7E, 0x9D, 0xF8, 0x36, 0xD9, - 0x0C, 0x20, 0x30, 0xFE, 0x64, 0xED, 0x47, 0xC4, 0x9C, 0x57, 0x58, 0xEB, - 0x46, 0x96, 0x86, 0xA8, 0x27, 0xA7, 0xA8, 0x75, 0xD9, 0x6F, 0xB7, 0x9B, - 0xF9, 0xB1, 0x1A, 0x67, 0xDF, 0x58, 0xC4, 0x73, 0x7C, 0xA4, 0x29, 0xC8, - 0x76, 0x47, 0xD6, 0xD7, 0x97, 0xBB, 0x9B, 0xD4, 0x87, 0x76, 0x29, 0xC1, - 0x0A, 0x1B, 0xB4, 0xF4, 0xC5, 0x00, 0x70, 0xAA, 0x1E, 0xA3, 0x27, 0x72, - 0x8C, 0x7D, 0x9C, 0x43, 0x1A, 0x81, 0x7F, 0xA0, 0x7D, 0x5B, 0x9C, 0x87, - 0xBF, 0x33, 0xC0, 0xC0, 0xC1, 0x20, 0xA0, 0x48, 0x29, 0x68, 0x1F, 0x8A, - 0xF3, 0xE6, 0xDF, 0x8C, 0x32, 0x37, 0x52, 0x04, 0xA5, 0x48, 0x64, 0xC3, - 0x98, 0x21, 0xA9, 0x47, 0xFB, 0xBB, 0x84, 0xF2, 0x15, 0x43, 0x47, 0xB2, - 0x5C, 0x7A, 0x37, 0x47, 0xAE, 0xE2, 0x21, 0x00, 0xDF, 0xAE, 0x36, 0x96, - 0x6C, 0xD0, 0x64, 0x02, 0x20, 0xFC, 0x12, 0x89, 0xDA, 0x4F, 0x49, 0xD8, - 0xBF, 0x40, 0xE0, 0xD0, 0x98, 0xF6, 0x2B, 0x98, 0xB9, 0x58, 0x64, 0xFE, - 0x4A, 0x89, 0x48, 0xC2, 0x64, 0xE0, 0x50, 0x76, 0xCB, 0x30, 0xD9, 0x95, - 0x0C, 0x31, 0xA5, 0x6E, 0x6E, 0x4D, 0xAA, 0x14, 0x9C, 0x7D, 0x6D, 0x89, - 0x5A, 0xB1, 0x1E, 0xFD, 0x86, 0xA0, 0x7D, 0xE8, 0xE6, 0xA7, 0xFF, 0xB7, - 0xF4, 0xDD, 0xAF, 0xAA, 0x8D, 0xB7, 0x99, 0x4D, 0x4A, 0x43, 0x10, 0x4F, - 0x5B, 0x44, 0x12, 0x16, 0x2D, 0xBD, 0xC1, 0x3A, 0x7D, 0x61, 0xBC, 0xC2, - 0x99, 0x57, 0x66, 0xF1, 0x9C, 0xA0, 0x26, 0x40, 0xAA, 0x2D, 0xCC, 0xA1, - 0xAF, 0x74, 0x33, 0x74, 0x24, 0x83, 0xEF, 0xA9, 0x46, 0x1C, 0x7F, 0xFF, - 0x81, 0x34, 0xCB, 0x73, 0x9D, 0xBC, 0xB3, 0x64, 0x93, 0x9F, 0xAD, 0xD0, - 0xDA, 0x17, 0x23, 0x14, 0x6B, 0xAA, 0x57, 0xEC, 0x9E, 0xC3, 0x0C, 0x89, - 0xC6, 0xFB, 0x65, 0xC5, 0x52, 0x84, 0x33, 0xED, 0x81, 0xC2, 0x37, 0x9F, - 0x0F, 0x40, 0x12, 0x71, 0xDE, 0x22, 0xEE, 0xFC, 0xA6, 0x1E, 0x14, 0xB1, - 0x6A, 0xFC, 0x0B, 0x63, 0x25, 0x5E, 0xFF, 0xAB, 0x51, 0xC6, 0x3E, 0x5E, - 0x22, 0xD5, 0x1E, 0xE1, 0x99, 0x88, 0x49, 0xFF, 0x81, 0xD4, 0x35, 0xD3, - 0x6B, 0x21, 0x83, 0xE8, 0xBB, 0xE2, 0x6C, 0x8D, 0x6A, 0xC9, 0x25, 0x96, - 0xB2, 0x48, 0xB4, 0x86, 0x6E, 0xBC, 0xCF, 0xA5, 0x0A, 0x0A, 0x68, 0xDA, - 0x35, 0x0F, 0x14, 0xB4, 0xF4, 0x5A, 0xF4, 0xEE, 0x8E, 0x21, 0xE5, 0x9D, - 0x9B, 0x01, 0x88, 0xFA, 0x8C, 0x3C, 0x37, 0x55, 0x21, 0x37, 0x5D, 0xC5, - 0x08, 0x49, 0x5A, 0xBA, 0xA3, 0xC4, 0xB3, 0xD6, 0x86, 0x22, 0x60, 0x98, - 0x82, 0xF6, 0xA1, 0x04, 0x4A, 0x40, 0xA6, 0x33, 0x82, 0x5D, 0xF1, 0x98, - 0xB9, 0x58, 0x60, 0xEE, 0x4A, 0x09, 0x44, 0x50, 0x0C, 0x64, 0xF7, 0x53, - 0x1D, 0x6C, 0x7B, 0xB0, 0x65, 0x83, 0x9D, 0x09, 0xC5, 0x8E, 0x87, 0x5B, - 0xC8, 0xCF, 0x04, 0xDE, 0xE7, 0xFE, 0xFD, 0x41, 0x4A, 0xB0, 0x9E, 0x00, - 0xDC, 0x3D, 0x8A, 0x8B, 0x36, 0xAE, 0x13, 0xCC, 0x74, 0x53, 0x43, 0xFB, - 0xEB, 0x05, 0x55, 0x56, 0x69, 0x1A, 0x01, 0x30, 0xFD, 0x29, 0x52, 0xCE, - 0x73, 0x18, 0x8D, 0x12, 0xD7, 0x01, 0x76, 0xC5, 0xE3, 0xF8, 0xCF, 0xA7, - 0x98, 0x3C, 0x93, 0xC7, 0x30, 0x25, 0x95, 0x65, 0x87, 0xD3, 0x2F, 0xCD, - 0xD0, 0xB7, 0x37, 0xB5, 0x6E, 0x64, 0x16, 0x52, 0x50, 0x2D, 0xBA, 0x5C, - 0x7A, 0x77, 0x91, 0xD1, 0x8F, 0x72, 0x54, 0x0A, 0x0E, 0xF1, 0x4C, 0x88, - 0x1D, 0x8F, 0xB4, 0xD2, 0x7F, 0x20, 0x7D, 0xDD, 0x6A, 0xB8, 0xC1, 0x49, - 0x60, 0xCF, 0xE3, 0x59, 0x32, 0xED, 0x41, 0xB1, 0x89, 0xE1, 0xA3, 0x29, - 0x92, 0x6D, 0xA1, 0x3B, 0xEA, 0x7A, 0xB0, 0xAB, 0x3E, 0x17, 0xDF, 0x59, - 0xE0, 0xCA, 0x87, 0x39, 0xE6, 0x46, 0x4B, 0x58, 0x61, 0x49, 0xC7, 0x70, - 0x82, 0x9D, 0x8F, 0xB6, 0xD1, 0xB7, 0x2F, 0x75, 0xCD, 0xF1, 0x52, 0x0A, - 0xDA, 0x06, 0x63, 0x41, 0xAD, 0x3B, 0x15, 0x78, 0xFE, 0xA7, 0xCF, 0x17, - 0xF0, 0x1C, 0x1F, 0xC3, 0x92, 0xF4, 0xEE, 0x4D, 0xB3, 0xFB, 0x89, 0x76, - 0x42, 0x11, 0xE3, 0x9A, 0xB8, 0x84, 0x15, 0xA7, 0xE0, 0xC1, 0x2F, 0x76, - 0xB2, 0xEB, 0xD1, 0x56, 0xD2, 0x9D, 0x91, 0x4F, 0xBB, 0x09, 0xB0, 0x66, - 0x0D, 0xC2, 0x10, 0x4C, 0x9C, 0x2E, 0x50, 0x2D, 0xBA, 0x08, 0x20, 0xB3, - 0xEB, 0x01, 0x8C, 0x50, 0x64, 0x7D, 0x25, 0xA3, 0xBB, 0x7D, 0x91, 0x9F, - 0xD2, 0xAD, 0x20, 0xEC, 0x9E, 0xC0, 0xF4, 0x27, 0x58, 0x5B, 0x08, 0xD3, - 0xF7, 0x15, 0x33, 0x17, 0x8A, 0x8C, 0x7C, 0xB0, 0xD4, 0x38, 0xD2, 0x73, - 0x7C, 0xE6, 0x2E, 0x17, 0xC9, 0xCF, 0x54, 0xC8, 0x74, 0x07, 0x53, 0x60, - 0x21, 0x05, 0x95, 0x65, 0x87, 0x53, 0x2F, 0xCE, 0x72, 0xE2, 0xF9, 0x69, - 0x0A, 0xF3, 0x55, 0x84, 0x14, 0xB8, 0xB6, 0x8F, 0x15, 0x96, 0xF4, 0xEC, - 0x49, 0x61, 0x85, 0x6F, 0xC0, 0xFE, 0x05, 0x1C, 0xFC, 0x52, 0x1B, 0xDB, - 0x8E, 0xA6, 0x82, 0xE8, 0xB6, 0x6C, 0xE8, 0x8E, 0x6F, 0x6B, 0x9D, 0x7F, - 0x73, 0x81, 0x77, 0x7E, 0x38, 0x46, 0x71, 0xB1, 0xD6, 0x58, 0x02, 0xCC, - 0x5F, 0x29, 0xB1, 0x30, 0x56, 0xE6, 0xC1, 0x6F, 0xF6, 0x32, 0x7C, 0xF4, - 0xAA, 0x62, 0x11, 0x22, 0x28, 0x9A, 0x69, 0x85, 0x01, 0xA5, 0x30, 0x23, - 0x06, 0xDD, 0xBB, 0xD3, 0xD8, 0x15, 0x9F, 0x50, 0xCC, 0x60, 0xEF, 0xE7, - 0xDA, 0x49, 0x77, 0x86, 0x37, 0x8D, 0x36, 0x54, 0xBE, 0x22, 0xD9, 0x16, - 0x26, 0xD9, 0x1E, 0xB9, 0xE9, 0x2D, 0x3E, 0xCD, 0x6D, 0x44, 0xC0, 0xF2, - 0xAC, 0xCD, 0xF4, 0x85, 0x22, 0x4E, 0xD5, 0xC7, 0x30, 0x4D, 0xDA, 0xF6, - 0x3F, 0x76, 0x55, 0x5F, 0x88, 0xA6, 0x11, 0x00, 0x08, 0xB9, 0xE7, 0xEB, - 0x89, 0x3B, 0xAB, 0xC3, 0xAD, 0xEF, 0x2A, 0xCE, 0xBF, 0x35, 0xDF, 0x98, - 0x22, 0x05, 0x37, 0x4E, 0xE0, 0xD4, 0x7C, 0xA6, 0xCE, 0x15, 0xC8, 0xF6, - 0x04, 0x02, 0xE0, 0xD6, 0x3C, 0x46, 0xDE, 0x5F, 0xE4, 0xF8, 0x2F, 0xA7, - 0x28, 0x2F, 0xDB, 0x41, 0xA6, 0x9E, 0x82, 0x48, 0xD2, 0x24, 0xD3, 0x1D, - 0xBD, 0xEE, 0x34, 0xB7, 0xE1, 0x33, 0xF0, 0x03, 0x07, 0x63, 0x2C, 0x1D, - 0x78, 0xD7, 0xEF, 0xA4, 0xF1, 0x0B, 0x29, 0x98, 0xBE, 0x50, 0xE4, 0xE3, - 0x17, 0x66, 0xEA, 0x01, 0x47, 0xEB, 0x4B, 0x7F, 0xCD, 0x8E, 0x14, 0x79, - 0xE7, 0x47, 0xE3, 0x48, 0x53, 0x32, 0xB8, 0x41, 0xAA, 0xEF, 0xCA, 0xF7, - 0x89, 0x26, 0x4C, 0xF6, 0x3D, 0xDD, 0x4E, 0xEF, 0xDE, 0xA0, 0x7A, 0x50, - 0xAA, 0xE3, 0xFA, 0x4A, 0xA7, 0xB7, 0xF9, 0xEE, 0x3E, 0x42, 0x08, 0x26, - 0xCF, 0x2C, 0xD7, 0xAB, 0x2C, 0x29, 0x62, 0x5D, 0x43, 0x24, 0xFA, 0x76, - 0x20, 0x4D, 0x6B, 0x5D, 0xFA, 0x79, 0xD3, 0xEC, 0xD1, 0x04, 0x4D, 0x2A, - 0xD7, 0x17, 0xDE, 0x70, 0x6B, 0x41, 0x66, 0xDA, 0x4A, 0x65, 0x9C, 0x15, - 0x83, 0xB4, 0x2B, 0x1E, 0x33, 0x23, 0x41, 0x86, 0x9D, 0xEF, 0x07, 0xCD, - 0x2C, 0x3E, 0xFE, 0xF5, 0x0C, 0xE5, 0xBC, 0xDD, 0x58, 0xAF, 0x7B, 0xAE, - 0x4F, 0xE7, 0xF6, 0x24, 0x7D, 0xFB, 0x37, 0x4F, 0xAB, 0x5D, 0x61, 0xFE, - 0x4A, 0x89, 0xB1, 0x8F, 0xF3, 0x41, 0xD1, 0x86, 0x7A, 0xD7, 0x9A, 0x3B, - 0x6D, 0x1F, 0x9E, 0xE3, 0x73, 0xEA, 0xC5, 0x19, 0x72, 0x93, 0x41, 0x19, - 0x6F, 0xA5, 0x58, 0xE7, 0xB0, 0x13, 0x22, 0xF0, 0x7D, 0xBC, 0xFB, 0xE3, - 0x71, 0x16, 0xA7, 0x2A, 0x9B, 0x9E, 0x47, 0xA9, 0xC0, 0x31, 0xD8, 0xD2, - 0x1B, 0x0D, 0xA6, 0xF4, 0xDA, 0xAE, 0x3F, 0x13, 0x08, 0x01, 0x73, 0xA3, - 0x25, 0x6A, 0xA5, 0x20, 0x06, 0xA0, 0x65, 0xDF, 0xA3, 0x18, 0x91, 0x58, - 0xA3, 0x4D, 0xEB, 0x0A, 0x4D, 0x33, 0x03, 0x90, 0xAC, 0xA4, 0xED, 0x06, - 0x9A, 0xA7, 0x14, 0x2C, 0x4D, 0x57, 0xA9, 0xD5, 0x83, 0x57, 0xA4, 0x21, - 0x48, 0x76, 0x46, 0x29, 0xE7, 0x1D, 0x9C, 0xAA, 0xCB, 0xD2, 0x64, 0x19, - 0xA7, 0xE6, 0x53, 0x58, 0xA8, 0xF1, 0xD1, 0xAF, 0xA6, 0x99, 0xBB, 0x52, - 0x6A, 0x18, 0xBA, 0xE7, 0xFA, 0x64, 0xBA, 0xA3, 0xEC, 0xFF, 0x7C, 0x07, - 0xAD, 0xFD, 0xB1, 0x0D, 0x1B, 0x61, 0xAC, 0x70, 0xE6, 0xD5, 0x39, 0xCE, - 0xBF, 0xB9, 0x40, 0xB5, 0xE8, 0x90, 0xED, 0x8E, 0xF2, 0xE0, 0xB7, 0x7A, - 0xC9, 0x74, 0x45, 0xEF, 0x68, 0x9D, 0x39, 0x29, 0x05, 0x63, 0x27, 0x97, - 0x99, 0x3A, 0xBB, 0x8C, 0x6B, 0x07, 0x7D, 0xB0, 0x22, 0x09, 0x93, 0x9E, - 0x5D, 0x49, 0x5C, 0x47, 0x31, 0x7E, 0x2A, 0xDF, 0x10, 0xBB, 0xB9, 0xCB, - 0x45, 0x3E, 0xF8, 0xE9, 0x24, 0x4F, 0xFF, 0xC9, 0x70, 0xB0, 0x65, 0xB7, - 0x09, 0x3A, 0x02, 0xEF, 0xB3, 0x85, 0xEF, 0x29, 0x72, 0xD3, 0xB5, 0x7A, - 0x39, 0x35, 0x45, 0xDB, 0xA1, 0x27, 0x30, 0xA3, 0x89, 0x6B, 0x46, 0x9E, - 0xA6, 0x11, 0x80, 0xAB, 0x09, 0xA2, 0xD5, 0x0A, 0xD4, 0x1B, 0xE0, 0x12, - 0x8A, 0x1A, 0x1C, 0xFA, 0x72, 0x37, 0x13, 0xA7, 0xF3, 0x5C, 0x7C, 0x67, - 0x9E, 0x5A, 0xC9, 0x61, 0xE6, 0x52, 0x91, 0xCB, 0xC7, 0x97, 0x18, 0x3D, - 0x11, 0xF8, 0x08, 0x7C, 0x4F, 0x21, 0x4D, 0x41, 0xEF, 0x9E, 0x34, 0x07, - 0xBE, 0xD8, 0xC5, 0xD0, 0x03, 0x99, 0xB5, 0x3B, 0x2A, 0xEB, 0x90, 0xA6, - 0xE0, 0xDC, 0xEB, 0xF3, 0x7C, 0xF0, 0xB3, 0x49, 0x96, 0x26, 0xCA, 0xC1, - 0x6E, 0xC3, 0x68, 0x89, 0x50, 0xCC, 0xE4, 0xD1, 0xDF, 0xEB, 0x27, 0x14, - 0xB9, 0x73, 0x6D, 0xA7, 0x5C, 0xDB, 0xE7, 0xFC, 0x1B, 0x73, 0x14, 0x16, - 0x6A, 0xF5, 0x22, 0x21, 0x26, 0x47, 0xBF, 0xD1, 0xCB, 0xD0, 0xE1, 0x0C, - 0x9E, 0xAB, 0x38, 0xF5, 0x9B, 0x19, 0x4E, 0xBF, 0x32, 0x8B, 0xE7, 0x2A, - 0x94, 0xAF, 0xB8, 0xFC, 0xC1, 0x22, 0x5D, 0x3B, 0x93, 0xEC, 0x7B, 0xBA, - 0xBD, 0xA9, 0xAB, 0xEC, 0xDC, 0x2F, 0x08, 0x01, 0xC5, 0x45, 0x87, 0x6A, - 0xC1, 0x45, 0xF9, 0x8A, 0x48, 0xA6, 0x8D, 0x44, 0xEF, 0x0E, 0xA4, 0x15, - 0xD2, 0x02, 0xB0, 0x82, 0xF2, 0x55, 0x50, 0xCB, 0xBE, 0x3E, 0xB2, 0x19, - 0xA6, 0xA4, 0x77, 0x6F, 0x0A, 0xD7, 0xF6, 0xB8, 0xF8, 0xEE, 0x02, 0x95, - 0x82, 0xCB, 0x47, 0xBF, 0x9A, 0x62, 0xEA, 0x5C, 0x01, 0xB7, 0xE6, 0x13, - 0x8E, 0x9B, 0xF4, 0x1F, 0xC8, 0xD0, 0xB7, 0x2F, 0x4D, 0xE7, 0xF6, 0x44, - 0xD0, 0x07, 0xCF, 0x12, 0x9B, 0x16, 0xCB, 0x98, 0xBB, 0x5C, 0xE6, 0xE3, - 0x5F, 0xCF, 0x90, 0x9B, 0xAA, 0x04, 0x3E, 0x00, 0x82, 0x7B, 0x7F, 0xF1, - 0x9D, 0x05, 0x76, 0x3D, 0xDA, 0x46, 0xE7, 0xF6, 0xF8, 0xA6, 0xE9, 0xAF, - 0x9F, 0x04, 0x21, 0x05, 0x0B, 0xE3, 0x65, 0xE6, 0x47, 0xCB, 0x8D, 0x52, - 0x5B, 0x7B, 0x3F, 0xD7, 0xC1, 0x9E, 0xA7, 0xDA, 0x89, 0x26, 0x03, 0xDF, - 0xC3, 0x91, 0xAF, 0xF7, 0x90, 0x9F, 0xAB, 0x35, 0x66, 0x02, 0x4E, 0xD5, - 0xE3, 0xEC, 0x2B, 0x73, 0xEC, 0x7D, 0xAA, 0x1D, 0x71, 0xE7, 0x74, 0x49, - 0xF3, 0x29, 0x62, 0x57, 0xBC, 0x46, 0xED, 0xC8, 0xD4, 0xF0, 0x7E, 0xAC, - 0x78, 0x6A, 0xC3, 0x0D, 0x99, 0x26, 0x11, 0x80, 0xD5, 0xFA, 0x79, 0x2B, - 0x28, 0x05, 0x4B, 0x93, 0xE5, 0x86, 0x00, 0xB8, 0x76, 0xE0, 0x0F, 0x68, - 0x1B, 0x8C, 0x13, 0x8E, 0x5B, 0xD4, 0x4A, 0x2E, 0x63, 0x27, 0x72, 0xD8, - 0x15, 0x8F, 0x64, 0x5B, 0x98, 0xC3, 0x5F, 0xE9, 0x66, 0xF8, 0xC1, 0x16, - 0x92, 0xAD, 0x21, 0x0C, 0x4B, 0x36, 0x1A, 0x6D, 0x6C, 0x84, 0x52, 0x70, - 0xE6, 0x95, 0x59, 0xE6, 0x2E, 0x17, 0xD7, 0x06, 0x5D, 0x01, 0x50, 0x2D, - 0x3A, 0x5C, 0x78, 0x7B, 0x81, 0xD6, 0xFE, 0xA0, 0xE6, 0xDD, 0xED, 0x46, - 0xCA, 0xA0, 0x43, 0x4F, 0x69, 0x29, 0xF0, 0xFA, 0xB7, 0xF6, 0xC7, 0xD9, - 0xF1, 0x48, 0x2B, 0x91, 0xB8, 0xD9, 0xF8, 0xAE, 0xC9, 0xB6, 0x30, 0x47, - 0xBF, 0xD1, 0xCB, 0xF2, 0x5C, 0x95, 0xA5, 0xA9, 0x0A, 0xA6, 0x25, 0xE9, - 0xDB, 0x97, 0xBA, 0xEB, 0xE5, 0xAF, 0x35, 0x77, 0x00, 0xA5, 0xC8, 0xEC, - 0x3C, 0x82, 0x19, 0x8D, 0x6F, 0xE8, 0xBE, 0x69, 0x0A, 0x27, 0xA0, 0xE1, - 0xCD, 0x80, 0x5A, 0x8D, 0xFC, 0x83, 0xA0, 0x22, 0xED, 0x4A, 0xED, 0x7B, - 0x00, 0xBB, 0xE2, 0x72, 0xEA, 0xA5, 0x19, 0x5C, 0xC7, 0x6F, 0x64, 0xAF, - 0x39, 0xF5, 0x91, 0x7F, 0xC7, 0xC3, 0xAD, 0xEC, 0x7F, 0xA6, 0x93, 0x4C, - 0x67, 0x04, 0x21, 0xC5, 0x96, 0x6B, 0x7E, 0x21, 0x60, 0x69, 0xB2, 0xC2, - 0xCC, 0x85, 0x02, 0x4E, 0xD5, 0x6B, 0x64, 0xC8, 0x35, 0xC4, 0x42, 0xC1, - 0xA5, 0xF7, 0x16, 0xA8, 0x96, 0xEE, 0x4C, 0x39, 0x5B, 0xA7, 0xEA, 0x33, - 0x37, 0x52, 0xA4, 0x52, 0x70, 0x51, 0x3E, 0xEC, 0x79, 0xB2, 0x83, 0x6C, - 0x57, 0xF4, 0x1A, 0x2F, 0x7F, 0xD7, 0x8E, 0x04, 0xCF, 0xFC, 0xBD, 0xED, - 0x3C, 0xFE, 0x07, 0x43, 0x3C, 0xF9, 0x47, 0x43, 0x1C, 0xF8, 0x62, 0xE7, - 0x1D, 0x99, 0x91, 0x68, 0x3E, 0x7D, 0x14, 0x10, 0xCB, 0x58, 0x84, 0xEA, - 0xBB, 0x53, 0xE1, 0x74, 0x3B, 0xD2, 0x0C, 0x6D, 0xE8, 0xC0, 0x6D, 0x82, - 0x19, 0x80, 0x40, 0xF8, 0x95, 0x7A, 0x09, 0xED, 0xFA, 0x0D, 0x52, 0x41, - 0xC3, 0x4A, 0xCF, 0x5D, 0xDB, 0x1A, 0x1A, 0x0A, 0xF3, 0x35, 0x0A, 0x73, - 0x35, 0x86, 0x1E, 0xC8, 0x30, 0xF6, 0xF1, 0x12, 0x28, 0x45, 0xBA, 0x23, - 0xC2, 0xDE, 0xCF, 0x75, 0x62, 0x45, 0x8D, 0x1B, 0xAA, 0xB4, 0x23, 0xA4, - 0x60, 0xFA, 0x7C, 0x31, 0xF0, 0xF8, 0x8B, 0x20, 0x6E, 0xBE, 0x67, 0x4F, - 0x1A, 0xA7, 0xEA, 0xB1, 0x38, 0x51, 0xAE, 0xF7, 0x76, 0x73, 0x58, 0x18, - 0x2F, 0x13, 0xCF, 0x58, 0xD7, 0xDD, 0x41, 0xB8, 0xA9, 0x6F, 0x2A, 0x05, - 0xF3, 0xA3, 0x25, 0x96, 0x67, 0xAB, 0x28, 0x4F, 0xD1, 0x36, 0x14, 0xA7, - 0x77, 0x5F, 0x0A, 0x2B, 0x72, 0x6D, 0x9D, 0x00, 0x69, 0x08, 0x7A, 0xF6, - 0xA4, 0x68, 0x1B, 0x88, 0x23, 0x0D, 0x6E, 0x63, 0x2D, 0x01, 0xCD, 0x5D, - 0x47, 0x41, 0x38, 0x66, 0x70, 0xE4, 0xAB, 0x5D, 0x64, 0x3A, 0x4C, 0xDA, - 0xF6, 0xEC, 0x41, 0x86, 0x56, 0xCB, 0xD3, 0xAD, 0xA5, 0x09, 0x04, 0x00, - 0xAE, 0xC9, 0xF4, 0x53, 0x8A, 0xE2, 0x7C, 0x75, 0x7D, 0xF7, 0xD8, 0x35, - 0x0B, 0xA4, 0xAE, 0xED, 0x09, 0xC2, 0x71, 0x0B, 0xB7, 0xE6, 0xD2, 0xD2, - 0x17, 0xA3, 0xA5, 0x37, 0x72, 0xC3, 0x5E, 0x70, 0x21, 0x04, 0x73, 0x57, - 0x4A, 0x54, 0x96, 0x83, 0xFD, 0xD7, 0xEE, 0x3D, 0x69, 0x1E, 0xFE, 0x4E, - 0x3F, 0x91, 0x84, 0xC9, 0x4B, 0xFF, 0x6E, 0x84, 0x99, 0x0B, 0x05, 0x94, - 0x82, 0xF1, 0x53, 0x79, 0xFA, 0xF6, 0xA4, 0x6E, 0xB3, 0x00, 0xC0, 0xF4, - 0x85, 0x02, 0x85, 0x85, 0x1A, 0xD2, 0x14, 0x1C, 0xF8, 0x62, 0x17, 0xD9, - 0xEE, 0xC8, 0xA6, 0x3B, 0x77, 0xCA, 0x57, 0x58, 0xD1, 0xD5, 0x5D, 0x11, - 0xCD, 0xFD, 0x45, 0xFF, 0xBE, 0x24, 0xD9, 0xA1, 0x21, 0x8A, 0x9D, 0xBD, - 0x78, 0x52, 0x6E, 0xD8, 0x2E, 0xB9, 0x29, 0x96, 0x00, 0x96, 0x9A, 0x46, - 0x28, 0x7B, 0xB5, 0xA6, 0xAF, 0x0A, 0x62, 0xA4, 0x37, 0x34, 0x6A, 0x11, - 0x94, 0xE8, 0xDA, 0x71, 0x2C, 0x1B, 0xB4, 0x63, 0x1A, 0xB8, 0x39, 0x67, - 0x9D, 0xE7, 0xFA, 0x94, 0xF3, 0xF5, 0xF8, 0x6B, 0x05, 0xDB, 0x1E, 0x6C, - 0xA1, 0x63, 0x38, 0x4E, 0x5B, 0x7F, 0x8C, 0x27, 0xFF, 0x70, 0x90, 0x54, - 0x5B, 0x18, 0x94, 0x62, 0xFA, 0x5C, 0x31, 0xE8, 0xE8, 0x72, 0x1B, 0x51, - 0x3E, 0x74, 0xEF, 0x4E, 0x32, 0x70, 0x30, 0xCB, 0xB1, 0xDF, 0xEE, 0x67, - 0xF8, 0x68, 0xB6, 0x9E, 0x8D, 0xB7, 0xD5, 0x2F, 0xA1, 0xF7, 0xF6, 0xEF, - 0x53, 0x0C, 0x13, 0x64, 0xFB, 0xA3, 0x60, 0xA5, 0x37, 0x55, 0xF8, 0xA6, - 0x98, 0x01, 0x04, 0x01, 0x40, 0x3E, 0x13, 0x67, 0x8B, 0x64, 0x7B, 0xA2, - 0x84, 0xA2, 0x06, 0x4B, 0xD3, 0xEB, 0x67, 0x00, 0x8D, 0xA8, 0x55, 0x05, - 0xE1, 0x84, 0xC5, 0xFE, 0x67, 0x3A, 0x51, 0x4A, 0x90, 0xED, 0x8A, 0xDC, - 0xF0, 0xE8, 0x28, 0x04, 0x14, 0x16, 0x6C, 0x6A, 0xE5, 0xD5, 0x52, 0x5A, - 0x8B, 0xE3, 0x15, 0xEC, 0x8A, 0x87, 0x15, 0x96, 0xB4, 0x0D, 0xC4, 0x79, - 0xFC, 0x7B, 0x83, 0xBC, 0xF2, 0xEF, 0x2F, 0x93, 0x9F, 0xAD, 0x50, 0xCE, - 0x39, 0x84, 0xA2, 0xC6, 0x6D, 0x73, 0xBE, 0x29, 0x5F, 0xD1, 0xDA, 0x17, - 0xE3, 0xD1, 0xDF, 0x1F, 0xC0, 0x0A, 0x49, 0x42, 0x51, 0x9D, 0x88, 0xD3, - 0xCC, 0x78, 0x24, 0xA9, 0x98, 0x8F, 0xE2, 0x89, 0x34, 0x9B, 0xA9, 0x7C, - 0x13, 0x08, 0x80, 0x20, 0xE4, 0x8D, 0x30, 0x75, 0x66, 0x9E, 0x37, 0xFE, - 0x62, 0x9C, 0x87, 0xBE, 0xDD, 0x4D, 0xDF, 0xFE, 0x24, 0x95, 0x82, 0x83, - 0x52, 0x41, 0x1F, 0xF7, 0xD6, 0x81, 0x38, 0x47, 0xBF, 0xDE, 0x43, 0xA2, - 0x25, 0x44, 0x2C, 0x13, 0x42, 0x08, 0x68, 0xE9, 0x8B, 0xF1, 0xC8, 0x77, - 0xFB, 0x30, 0xC3, 0xF2, 0xA6, 0x82, 0x60, 0x82, 0xBD, 0xF5, 0xFA, 0x27, - 0x4B, 0xC1, 0xC5, 0x77, 0xE6, 0x29, 0x2E, 0xD6, 0xF8, 0xFC, 0xDF, 0x1D, - 0x26, 0xD5, 0x16, 0xA6, 0xFF, 0x40, 0x86, 0x2F, 0xFE, 0xA3, 0x1D, 0x4C, - 0x9C, 0x59, 0xC6, 0x8A, 0x1A, 0xB7, 0x3D, 0x0F, 0x48, 0x1A, 0x82, 0x44, - 0xD6, 0x6A, 0x88, 0x99, 0xA6, 0x59, 0xF1, 0x29, 0x5B, 0x4F, 0xE0, 0xC8, - 0x01, 0xB6, 0xCA, 0xC8, 0x6A, 0x02, 0x01, 0x00, 0x49, 0x95, 0xA9, 0xB3, - 0x79, 0xF2, 0x33, 0x35, 0xDC, 0x9A, 0x8F, 0xF2, 0x61, 0x71, 0xBC, 0x0C, - 0x02, 0xBA, 0x77, 0x26, 0x79, 0xE2, 0x7B, 0x43, 0x64, 0x7B, 0xA2, 0x18, - 0xE6, 0xEA, 0xBE, 0xBE, 0x34, 0x04, 0xD1, 0xB4, 0x75, 0x73, 0x46, 0x24, - 0x04, 0xC5, 0xC5, 0x60, 0x06, 0xB0, 0x32, 0xAA, 0x3B, 0x15, 0x8F, 0x89, - 0xD3, 0x79, 0xA6, 0xCF, 0x15, 0x89, 0xA5, 0x43, 0x18, 0xA6, 0xA0, 0x7B, - 0x67, 0x82, 0xB6, 0x81, 0x18, 0x56, 0x58, 0xDE, 0x91, 0x4C, 0x40, 0x3D, - 0xEA, 0x37, 0x3B, 0x0A, 0x57, 0xF6, 0x50, 0x0E, 0x3D, 0x8D, 0x27, 0x33, - 0x6C, 0xF5, 0x12, 0x37, 0x85, 0x00, 0x58, 0xFE, 0x18, 0xE5, 0xC5, 0x62, - 0x10, 0x1E, 0x39, 0x53, 0x65, 0x50, 0xA5, 0x39, 0xFA, 0xF5, 0x1E, 0x42, - 0x51, 0x93, 0xAE, 0x9D, 0x89, 0xC6, 0xA8, 0x0F, 0xEB, 0xF7, 0xEC, 0x6F, - 0x76, 0x04, 0x15, 0x22, 0xA8, 0x9E, 0xB3, 0xAE, 0xA2, 0x90, 0x00, 0xE5, - 0x29, 0x66, 0x46, 0x8A, 0x0C, 0x1C, 0x4A, 0x63, 0x58, 0x26, 0x42, 0x8A, - 0x46, 0x0F, 0x00, 0x8D, 0xE6, 0x96, 0x59, 0x29, 0xCE, 0x78, 0x15, 0xAE, - 0xEC, 0x21, 0x17, 0xF9, 0xDB, 0xD8, 0xE6, 0x2E, 0xAE, 0x97, 0x8F, 0x7D, - 0x9F, 0x0B, 0x80, 0x40, 0x7A, 0x53, 0x08, 0x55, 0x0A, 0xF6, 0xE2, 0x09, - 0xF6, 0xFB, 0x11, 0xB0, 0xEB, 0xF1, 0x36, 0x84, 0x10, 0xD7, 0x94, 0xB6, - 0xFE, 0xA4, 0x6C, 0x1A, 0x1C, 0xB4, 0x45, 0xE0, 0x90, 0xA6, 0xF9, 0x68, - 0x54, 0x93, 0x52, 0x5C, 0xD5, 0xA6, 0x5D, 0x70, 0x23, 0x05, 0xA2, 0x6B, - 0x45, 0x0F, 0xBB, 0x0A, 0xB1, 0x4C, 0x98, 0x50, 0x54, 0xD6, 0xCF, 0xA1, - 0xB0, 0xCD, 0x3D, 0x2C, 0x87, 0xBF, 0x4B, 0xCD, 0x38, 0x50, 0x2F, 0x70, - 0xBB, 0xF5, 0x4B, 0x77, 0x9F, 0x0B, 0x00, 0x84, 0xBD, 0x0B, 0x48, 0xB5, - 0xD2, 0xD0, 0x63, 0xF5, 0x7E, 0x18, 0x9F, 0x62, 0xB1, 0x4A, 0x69, 0x08, - 0xFA, 0x0F, 0x64, 0x1A, 0xC5, 0x19, 0x35, 0xCD, 0x8B, 0xF2, 0x15, 0x9E, - 0xAB, 0xC8, 0x4F, 0xDB, 0x8C, 0x7E, 0x9C, 0x63, 0x69, 0xD2, 0x66, 0x71, - 0xAC, 0x02, 0x7E, 0x30, 0x40, 0x99, 0x96, 0x24, 0xDD, 0x1B, 0xD9, 0x78, - 0x65, 0x28, 0x04, 0xD5, 0x82, 0x43, 0x71, 0xCE, 0x46, 0xF9, 0x1E, 0xDD, - 0x4F, 0x7F, 0x8F, 0xE1, 0x6F, 0xFE, 0x09, 0x21, 0xB3, 0x08, 0x7E, 0x09, - 0xDF, 0x68, 0xC3, 0x33, 0x3A, 0xF1, 0x45, 0x1C, 0x6E, 0xB0, 0x9C, 0xFD, - 0x7D, 0x2E, 0x00, 0x02, 0x53, 0xCD, 0x23, 0xA8, 0x47, 0xFC, 0x7D, 0x8A, - 0xC6, 0x27, 0x0D, 0x11, 0x88, 0x8C, 0x80, 0xBD, 0x4F, 0x75, 0xD2, 0xB9, - 0x3D, 0x7E, 0x5B, 0xF7, 0xFC, 0x35, 0x9F, 0x3D, 0x82, 0x62, 0x33, 0x65, - 0xCE, 0xBE, 0xBE, 0xC4, 0xCC, 0xF9, 0x12, 0x6E, 0xCD, 0x43, 0xF9, 0x5C, - 0x13, 0x59, 0x5A, 0xCE, 0x3B, 0x9B, 0x9E, 0x43, 0xF9, 0x41, 0x02, 0x57, - 0x66, 0xFF, 0xE7, 0x68, 0x39, 0xF6, 0x07, 0x10, 0xDB, 0x4E, 0x4D, 0x79, - 0xAC, 0xAE, 0x07, 0x6E, 0x6E, 0x60, 0xBB, 0xCF, 0x05, 0x00, 0x42, 0x6E, - 0x30, 0x03, 0x28, 0x2D, 0x38, 0xF8, 0xAE, 0xBA, 0xF3, 0xE1, 0xAE, 0x4A, - 0x11, 0x8E, 0x9B, 0x6C, 0x3B, 0xD6, 0x46, 0xFF, 0x81, 0x0C, 0xE9, 0x8E, - 0x30, 0xAD, 0x7D, 0x51, 0xC2, 0xF1, 0xFB, 0xFE, 0x56, 0x6B, 0x36, 0x41, - 0xF9, 0x8A, 0x4A, 0xC1, 0xE5, 0xD4, 0x4B, 0x73, 0x8C, 0xBC, 0x93, 0xA7, - 0x56, 0xF2, 0xB7, 0xDC, 0x59, 0xDA, 0x2A, 0xD4, 0x1C, 0x21, 0xC8, 0xEC, - 0x7F, 0x8A, 0xE1, 0xEF, 0xFE, 0x33, 0x52, 0xC3, 0xFB, 0xEA, 0x53, 0xFF, - 0x5B, 0x9F, 0xCD, 0xDE, 0xC7, 0x6F, 0xA5, 0x40, 0xFA, 0x0B, 0x98, 0x6A, - 0x1A, 0x7C, 0x87, 0x52, 0xDE, 0xC1, 0xF7, 0x15, 0xF1, 0x6C, 0xF8, 0xCE, - 0x8D, 0xC4, 0x2A, 0xD8, 0xFA, 0x3B, 0xFA, 0x8D, 0x5E, 0xBA, 0x76, 0x24, - 0x08, 0xC5, 0x82, 0x6D, 0x3E, 0x1D, 0x63, 0xDF, 0x9C, 0x28, 0x5F, 0xE1, - 0x3A, 0x8A, 0x85, 0xD1, 0x32, 0xEF, 0xFD, 0x64, 0x92, 0xDC, 0xA4, 0x8D, - 0xEF, 0x6E, 0x7A, 0xF4, 0x55, 0xFF, 0xBF, 0xB2, 0x64, 0x55, 0x20, 0x24, - 0xD2, 0xB4, 0x10, 0xA1, 0x10, 0x99, 0xFD, 0x8F, 0x33, 0xF4, 0x8D, 0xFF, - 0x92, 0xE4, 0xC0, 0xAE, 0xDB, 0x72, 0x8D, 0xF7, 0xB5, 0x00, 0x44, 0xDC, - 0x8F, 0x31, 0x54, 0x8E, 0xD2, 0x92, 0x83, 0x57, 0x2F, 0xFB, 0x15, 0x4B, - 0x9B, 0x77, 0xCC, 0x20, 0x7D, 0x5F, 0x31, 0x78, 0x28, 0x1D, 0x7C, 0xBA, - 0x36, 0xFA, 0xCF, 0x16, 0x75, 0x67, 0xB9, 0xEB, 0xF8, 0xF8, 0x6E, 0x30, - 0x5D, 0xF7, 0xBD, 0xAB, 0xEA, 0xE7, 0x04, 0xB6, 0x88, 0x61, 0x0A, 0x0C, - 0x53, 0x60, 0x86, 0x64, 0xD0, 0x13, 0x61, 0xED, 0x31, 0x7E, 0x70, 0x0E, - 0xD7, 0xF6, 0xC9, 0xCF, 0xD6, 0xB8, 0xF4, 0xEE, 0x32, 0x97, 0xDE, 0xCB, - 0xE1, 0xD5, 0x13, 0xC3, 0x82, 0xF3, 0x04, 0x29, 0xA2, 0x32, 0x14, 0x45, - 0x9A, 0x21, 0x84, 0x61, 0x20, 0x0D, 0x0B, 0x64, 0x50, 0xC2, 0x59, 0x79, - 0x2E, 0x4A, 0xF9, 0x08, 0x21, 0x11, 0x86, 0x89, 0x11, 0x89, 0x93, 0xDC, - 0x71, 0x94, 0xD6, 0x07, 0xBE, 0x4C, 0xEB, 0xDE, 0x87, 0xEB, 0x75, 0xFD, - 0x6E, 0x0F, 0xF7, 0xAD, 0x00, 0x28, 0x24, 0x61, 0xEF, 0x1C, 0x52, 0x15, - 0x98, 0xBD, 0x52, 0xC1, 0xA9, 0x06, 0x02, 0x70, 0xA7, 0x53, 0x5E, 0xB5, - 0xE1, 0x7F, 0x46, 0xA8, 0x3F, 0x26, 0xDF, 0x55, 0xB8, 0xB6, 0x8F, 0xE7, - 0x28, 0xAA, 0x45, 0x97, 0x89, 0xB3, 0x45, 0x16, 0xC7, 0x6D, 0x66, 0x47, - 0x0A, 0x2C, 0xCF, 0xD9, 0x38, 0xF6, 0xDA, 0x70, 0xD1, 0xA0, 0x46, 0x62, - 0xDB, 0x60, 0x84, 0xD6, 0xFE, 0x08, 0x7D, 0xFB, 0x52, 0x64, 0xBB, 0x22, - 0xEB, 0x06, 0xEB, 0x6A, 0xC1, 0x65, 0xEA, 0x7C, 0x91, 0x91, 0xF7, 0x73, - 0xCC, 0x5E, 0x0E, 0xDE, 0x3B, 0xA5, 0x20, 0x14, 0x91, 0x84, 0x23, 0x21, - 0x8C, 0x70, 0x0C, 0x69, 0x85, 0x31, 0x22, 0x71, 0xB2, 0x87, 0x9F, 0x25, - 0x39, 0xB8, 0x87, 0x68, 0x7B, 0x2F, 0xB1, 0xAE, 0x21, 0xCC, 0x68, 0x02, - 0xE5, 0xB9, 0x54, 0xE7, 0x27, 0xB0, 0x8B, 0x39, 0xCC, 0x68, 0x82, 0x44, - 0xEF, 0x8E, 0xC6, 0x2C, 0x00, 0x29, 0x10, 0xB7, 0xB9, 0x89, 0xC4, 0x7D, - 0x2B, 0x00, 0x82, 0x1A, 0x96, 0x7F, 0x19, 0x49, 0x85, 0x99, 0xF3, 0x45, - 0xEC, 0x4A, 0xA0, 0xC0, 0xE1, 0xB8, 0xF9, 0xA9, 0x34, 0xE2, 0xD0, 0xDC, - 0x63, 0x88, 0xC0, 0x4E, 0x3D, 0x57, 0xE1, 0xD6, 0x82, 0x11, 0xDA, 0xAE, - 0xF9, 0x2C, 0x4D, 0x54, 0x98, 0xBE, 0x58, 0x62, 0xEE, 0x72, 0x95, 0xA9, - 0xF3, 0xC5, 0xC6, 0xDA, 0x7C, 0xB3, 0x2D, 0xDB, 0x52, 0xDE, 0xA1, 0x74, - 0xC2, 0x61, 0xF4, 0x44, 0x81, 0xE3, 0xCF, 0x2D, 0x90, 0x6C, 0xB1, 0x88, - 0x24, 0x82, 0x90, 0x6B, 0xBB, 0xAA, 0x82, 0x3A, 0xFC, 0x35, 0x6F, 0x4D, - 0x24, 0xA6, 0x42, 0x4A, 0x8B, 0x58, 0x4B, 0x1B, 0xE9, 0xED, 0x87, 0x48, - 0xEF, 0x7B, 0x92, 0xE4, 0xE0, 0x3E, 0xD2, 0xC3, 0x07, 0x10, 0xA6, 0xB5, - 0xDA, 0x15, 0x6A, 0x65, 0x64, 0x32, 0x2D, 0xE2, 0xBD, 0x3B, 0x88, 0x2B, - 0x55, 0x17, 0x96, 0x3B, 0x3B, 0xA0, 0xDC, 0xA7, 0x02, 0x20, 0x09, 0xBB, - 0x1F, 0x61, 0xB0, 0x44, 0x71, 0xC1, 0x61, 0xFC, 0x74, 0x11, 0xBB, 0xEA, - 0x61, 0x98, 0x82, 0x74, 0x47, 0x18, 0xC3, 0x10, 0x7A, 0x4F, 0xBE, 0x49, - 0x10, 0x22, 0x30, 0xFA, 0x5A, 0xD9, 0xC3, 0xAE, 0x78, 0x2C, 0x4E, 0x54, - 0x98, 0xB9, 0x58, 0x62, 0x7E, 0xB4, 0xCA, 0xDC, 0xE5, 0x32, 0xB5, 0xB2, - 0xB7, 0xC1, 0xBB, 0x50, 0xDF, 0x9F, 0x67, 0xF3, 0xB2, 0xE6, 0x0A, 0xF0, - 0x7D, 0x9F, 0xDC, 0xB4, 0xB7, 0xF1, 0xB4, 0x52, 0x29, 0x14, 0x0A, 0x33, - 0x12, 0x27, 0x3D, 0xBC, 0x9F, 0x1D, 0xDF, 0xF9, 0x33, 0xDA, 0x0E, 0x3E, - 0x71, 0x4D, 0x63, 0x8E, 0x2D, 0x2F, 0xFC, 0x53, 0xE0, 0x3E, 0x13, 0x80, - 0x7A, 0xB7, 0x1F, 0x21, 0x09, 0xFB, 0x23, 0xD8, 0xF9, 0x25, 0x3E, 0xF8, - 0xF9, 0x0C, 0x4B, 0x93, 0x55, 0x50, 0x90, 0x6A, 0x0D, 0x23, 0x4D, 0xA1, - 0xB7, 0xE2, 0x9B, 0x00, 0x21, 0x82, 0x2E, 0x4E, 0xE5, 0xBC, 0xC3, 0xFC, - 0x58, 0x85, 0x2B, 0xC7, 0x73, 0x8C, 0x9F, 0x29, 0x53, 0x98, 0xDF, 0x24, - 0x0B, 0x54, 0xA9, 0xC0, 0xA3, 0x2E, 0xC0, 0x0C, 0x47, 0x31, 0xA3, 0x09, - 0x8C, 0x50, 0x14, 0x19, 0x0A, 0x5F, 0x53, 0x4B, 0x1F, 0x04, 0xBE, 0x6B, - 0xE3, 0x55, 0x4A, 0xB8, 0xB5, 0x32, 0x4E, 0x29, 0x8F, 0xEF, 0xD8, 0xAC, - 0x38, 0x12, 0x84, 0x90, 0x18, 0xD1, 0x38, 0xA1, 0x44, 0x86, 0x8E, 0xA3, - 0x5F, 0x60, 0xDB, 0xB7, 0xFE, 0x01, 0xF1, 0xAE, 0x95, 0x98, 0xFC, 0x7B, - 0x8B, 0xFB, 0x48, 0x00, 0x14, 0x52, 0x15, 0x11, 0xCA, 0xC1, 0xF3, 0x0D, - 0x96, 0x2F, 0xBC, 0xCD, 0xC5, 0xE7, 0x4E, 0x71, 0xFE, 0xCD, 0x1C, 0xB5, - 0x72, 0x30, 0xFD, 0xEF, 0xD8, 0x11, 0xBB, 0x7E, 0x7A, 0xAC, 0xE6, 0xB3, - 0x8D, 0x00, 0x7C, 0x28, 0x2C, 0xDA, 0x4C, 0x9F, 0x2F, 0x71, 0xE6, 0xB5, - 0x45, 0x26, 0xCF, 0x16, 0x71, 0x1D, 0x75, 0xED, 0xA0, 0xBA, 0xC6, 0xE8, - 0x43, 0x89, 0x0C, 0xA1, 0x64, 0x0B, 0xE1, 0x4C, 0x2B, 0xC9, 0xFE, 0x9D, - 0xA4, 0x86, 0x0F, 0x12, 0xEF, 0x1E, 0x22, 0xDA, 0xDE, 0x47, 0xA2, 0x77, - 0x78, 0xFD, 0x9A, 0x40, 0x48, 0x6A, 0xB9, 0x39, 0x96, 0x2F, 0x9F, 0xA2, - 0x30, 0x76, 0x8E, 0xC5, 0xD3, 0xEF, 0x52, 0x9A, 0xBC, 0x84, 0xEF, 0xBA, - 0x48, 0xC3, 0xC0, 0x4A, 0xA4, 0x49, 0x6F, 0x3B, 0x48, 0xFB, 0x03, 0xCF, - 0xD0, 0xB2, 0xF7, 0x41, 0x8C, 0x70, 0xF4, 0x9E, 0x4D, 0xD0, 0x10, 0x7F, - 0x39, 0x56, 0x55, 0xCF, 0xCD, 0xDA, 0xDC, 0xC1, 0x86, 0xB8, 0x9F, 0x02, - 0x06, 0x96, 0x37, 0x42, 0xD4, 0x7E, 0x1D, 0x93, 0x05, 0x96, 0x26, 0x2B, - 0xBC, 0xF2, 0xAF, 0x7E, 0xC8, 0xFC, 0xB9, 0xCB, 0x48, 0xB3, 0x1E, 0x11, - 0xA5, 0xE0, 0xF3, 0x7F, 0x7F, 0x90, 0xDD, 0x4F, 0xB4, 0xE8, 0x96, 0xD5, - 0xF7, 0x30, 0x2B, 0x4D, 0x57, 0x6F, 0xF5, 0x77, 0x5D, 0xDB, 0x67, 0xEE, - 0x4A, 0x85, 0xE3, 0xBF, 0x9C, 0xE5, 0xCA, 0x47, 0xCB, 0xD7, 0x1A, 0xBE, - 0x52, 0x8D, 0xC6, 0x18, 0xA1, 0x64, 0x96, 0x50, 0xBA, 0x8D, 0x48, 0xB6, - 0x83, 0xB6, 0x03, 0x8F, 0xD1, 0xBA, 0xFF, 0x51, 0x32, 0x3B, 0x8F, 0x34, - 0x0C, 0xB6, 0xB1, 0x07, 0xB0, 0xD9, 0x05, 0x09, 0x81, 0x10, 0x02, 0x21, - 0x0D, 0xCA, 0x73, 0x13, 0xD4, 0x72, 0xF3, 0x84, 0xE2, 0x29, 0x22, 0xAD, - 0x5D, 0x48, 0x2B, 0x1C, 0x7C, 0xCE, 0x3D, 0x6A, 0xF8, 0x2B, 0xDC, 0x07, - 0x33, 0x00, 0x81, 0xA0, 0x46, 0xA2, 0xF6, 0x1C, 0x09, 0xFB, 0xA7, 0x48, - 0xD3, 0x67, 0xE4, 0xF8, 0x2C, 0xB5, 0xC5, 0x19, 0x84, 0xB1, 0x1A, 0x0E, - 0x19, 0x49, 0x9A, 0x74, 0x6D, 0x8F, 0x6B, 0xE3, 0xBF, 0x07, 0x11, 0x22, - 0xF8, 0x97, 0xEF, 0x2A, 0xAA, 0x65, 0x97, 0x50, 0xD4, 0xB8, 0xE9, 0x58, - 0x0D, 0x21, 0x82, 0x3A, 0x8F, 0x23, 0x1F, 0xE4, 0x79, 0xFF, 0xA7, 0x33, - 0x2C, 0x8C, 0x57, 0x11, 0xA2, 0x7E, 0xEE, 0x95, 0x91, 0x5E, 0xF9, 0x84, - 0x52, 0x2D, 0x84, 0x33, 0xED, 0x44, 0x5A, 0x3A, 0x69, 0xD9, 0xF7, 0x08, - 0xAD, 0xFB, 0x1E, 0x26, 0xB3, 0xF3, 0x01, 0xCC, 0x48, 0xAC, 0x21, 0x0E, - 0xCA, 0xBF, 0xC1, 0x7A, 0x8D, 0xF5, 0xF3, 0x2A, 0xDF, 0x27, 0xD2, 0xD2, - 0x49, 0xA4, 0xA5, 0x73, 0xF5, 0xE7, 0x37, 0x7A, 0x8E, 0xBB, 0xCC, 0x7D, - 0x20, 0x00, 0x12, 0xCB, 0xBD, 0x84, 0xE5, 0x5F, 0xC0, 0x30, 0x7D, 0x96, - 0xA6, 0x5D, 0x2E, 0xBE, 0x53, 0xA0, 0xB8, 0xE4, 0xAE, 0x53, 0xFE, 0xDD, - 0x8F, 0xB7, 0x90, 0x68, 0xB1, 0x74, 0xB3, 0xCA, 0x7B, 0x84, 0x86, 0xD1, - 0x7B, 0x8A, 0x72, 0xCE, 0xA6, 0xB8, 0x68, 0xB3, 0x38, 0x59, 0x61, 0x79, - 0xA6, 0xCA, 0xC0, 0xE1, 0x2C, 0x5D, 0x3B, 0x12, 0x37, 0x75, 0x2E, 0xA7, - 0xE6, 0x73, 0xE1, 0xED, 0x1C, 0xEF, 0xFE, 0x64, 0x9A, 0xFC, 0x4C, 0x2D, - 0xD8, 0x9F, 0x57, 0x3E, 0xCA, 0xF3, 0xB0, 0xE2, 0x69, 0x22, 0x2D, 0x1D, - 0x44, 0xB2, 0x9D, 0xB4, 0x1E, 0x78, 0x94, 0x96, 0xBD, 0x0F, 0x93, 0xDD, - 0xF5, 0x40, 0xD0, 0x28, 0x83, 0xC0, 0x80, 0x3F, 0xB1, 0xC1, 0xDE, 0xE3, - 0x23, 0xFD, 0x66, 0x7C, 0xF6, 0x05, 0x40, 0x9A, 0x84, 0x8C, 0x05, 0x2C, - 0x99, 0xA7, 0x30, 0xEB, 0xF0, 0xFE, 0x4F, 0x67, 0x99, 0xBE, 0x58, 0x6A, - 0xFC, 0x75, 0x50, 0x25, 0x27, 0xCA, 0xEE, 0x27, 0x5B, 0x09, 0xC7, 0x4C, - 0x6D, 0xFC, 0x77, 0x19, 0x21, 0xEA, 0x9D, 0x96, 0x0B, 0x2E, 0xF9, 0xB9, - 0x6A, 0xB0, 0x0D, 0x77, 0x7E, 0x99, 0xA9, 0xF3, 0x45, 0xE6, 0xAF, 0x94, - 0x30, 0x23, 0x06, 0xD5, 0xB2, 0x47, 0xD7, 0xCE, 0xC4, 0x8D, 0x3D, 0xAB, - 0xBA, 0x97, 0xFF, 0xD2, 0x7B, 0x79, 0xDE, 0x5B, 0x6B, 0xFC, 0x9E, 0x4B, - 0xA4, 0xA5, 0x93, 0xE4, 0xE0, 0x1E, 0xD2, 0xDB, 0x0E, 0x91, 0xDD, 0x75, - 0x84, 0xEC, 0xCE, 0xC3, 0x44, 0x5A, 0xBB, 0x01, 0x71, 0x7B, 0x8C, 0xFE, - 0x3E, 0xE0, 0xB3, 0x2B, 0x00, 0xF5, 0xC5, 0x62, 0x69, 0xE2, 0x02, 0x4B, - 0x17, 0x5E, 0x61, 0x6A, 0xF9, 0x22, 0x53, 0xA7, 0x66, 0x19, 0x79, 0x3F, - 0xBF, 0x5A, 0x8E, 0xDB, 0x87, 0x68, 0xDA, 0xE2, 0xD0, 0xB3, 0x1D, 0x64, - 0x7B, 0x22, 0x41, 0xC8, 0xB4, 0x16, 0x80, 0xBB, 0xC2, 0x8A, 0xE1, 0x17, - 0x17, 0x6A, 0x2C, 0x8C, 0x57, 0x98, 0x3A, 0x57, 0x60, 0xE2, 0x74, 0x9E, - 0xB9, 0xCB, 0x25, 0x9C, 0x9A, 0x17, 0xC4, 0xB9, 0x98, 0x02, 0xDF, 0xF5, - 0x59, 0x1C, 0x2B, 0xDF, 0xF8, 0x44, 0x4D, 0xC1, 0xE4, 0x99, 0x22, 0x1F, - 0xFE, 0x62, 0x86, 0xDC, 0x74, 0x50, 0x0C, 0x15, 0x15, 0x34, 0xC3, 0xE8, - 0xFB, 0xFC, 0x77, 0xE9, 0x7B, 0xFA, 0x3B, 0x44, 0x5B, 0xBB, 0xEA, 0x53, - 0x75, 0x0F, 0xE5, 0xFB, 0x37, 0x72, 0xD6, 0xA6, 0xE1, 0x33, 0x29, 0x00, - 0x42, 0x1A, 0x78, 0x76, 0x95, 0xC5, 0x53, 0x6F, 0x71, 0xF9, 0xE7, 0x7F, - 0xCE, 0xF4, 0xBB, 0x2F, 0x62, 0x17, 0x0B, 0x48, 0x43, 0x22, 0xD7, 0x74, - 0xE2, 0x8D, 0xA5, 0x2D, 0x0E, 0x7E, 0xB9, 0x9D, 0x9D, 0x8F, 0xB4, 0x60, - 0x85, 0x75, 0xD9, 0xEB, 0xBB, 0x81, 0x10, 0x41, 0x9F, 0xFA, 0xE2, 0x7C, - 0x8D, 0xD9, 0x91, 0x12, 0xA3, 0x1F, 0xE5, 0xB8, 0xF2, 0x51, 0x8E, 0xE5, - 0xF9, 0x6A, 0x23, 0x4F, 0x62, 0x65, 0xBD, 0x1F, 0x24, 0xB6, 0x08, 0xCC, - 0x88, 0xC4, 0xF3, 0x54, 0xA3, 0x11, 0xEB, 0x66, 0x48, 0x43, 0xB0, 0x30, - 0x56, 0xE1, 0xF8, 0x73, 0xB3, 0xCC, 0x8F, 0x56, 0xEA, 0x02, 0xE2, 0xD0, - 0x76, 0xF0, 0x31, 0x76, 0xFE, 0xEE, 0x3F, 0x0D, 0xF6, 0xDD, 0x4D, 0x13, - 0xDF, 0x75, 0xAE, 0x7F, 0xA1, 0x4D, 0xCA, 0x67, 0x4B, 0x00, 0xEA, 0x1E, - 0xD7, 0xCA, 0xDC, 0x04, 0x53, 0x6F, 0xFE, 0x82, 0xB1, 0xE7, 0xFF, 0x03, - 0x4B, 0xE7, 0x8E, 0x23, 0xA4, 0x81, 0x19, 0x5A, 0x75, 0xF8, 0xAD, 0x35, - 0xFE, 0xC3, 0xCF, 0x76, 0x12, 0x5E, 0xD3, 0x15, 0x47, 0xF3, 0xE9, 0x21, - 0xA5, 0xA0, 0x5A, 0x72, 0x99, 0xBE, 0x50, 0xE4, 0xF2, 0x07, 0x8B, 0x5C, - 0x7A, 0x6F, 0x89, 0x52, 0x2E, 0xE8, 0x57, 0xB8, 0x91, 0x71, 0xC7, 0xD2, - 0x21, 0x06, 0x0F, 0x65, 0xD9, 0x76, 0xAC, 0x05, 0xE5, 0xB1, 0x65, 0x92, - 0x9B, 0x10, 0x41, 0xFB, 0xAB, 0x73, 0x6F, 0x2E, 0x31, 0x71, 0xA6, 0x88, - 0x10, 0x02, 0xE5, 0x79, 0x24, 0xFA, 0xB6, 0xB3, 0xF3, 0x77, 0xFF, 0x0B, - 0x3A, 0x8E, 0x7C, 0x2E, 0x28, 0x78, 0xAC, 0x47, 0xFC, 0x2D, 0xF9, 0xCC, - 0x08, 0x80, 0x90, 0x06, 0xBE, 0x53, 0x63, 0xE1, 0xEC, 0x9B, 0x8C, 0x3D, - 0xFF, 0x1F, 0x98, 0x7A, 0xF3, 0x39, 0x6A, 0xF9, 0x25, 0xA4, 0xB9, 0xFE, - 0x2B, 0xF8, 0x9E, 0x22, 0xD9, 0x1A, 0xE2, 0xE0, 0x97, 0xDA, 0x39, 0xF0, - 0xA5, 0x0E, 0x6D, 0xFC, 0x77, 0x09, 0x21, 0x05, 0xF3, 0x63, 0x65, 0x2E, - 0xBC, 0xBD, 0xC0, 0xF9, 0x37, 0xE7, 0xC9, 0xCF, 0x54, 0x09, 0xC2, 0x62, - 0x37, 0x8A, 0x9A, 0x83, 0x64, 0x47, 0x84, 0xC3, 0x5F, 0xE9, 0x66, 0xD7, - 0xE3, 0x6D, 0x44, 0x93, 0xE6, 0xBA, 0x94, 0xD8, 0x95, 0xE5, 0xC3, 0xCA, - 0x16, 0xA1, 0xF2, 0x83, 0xB4, 0xEE, 0xF1, 0xD3, 0x45, 0x2E, 0xBD, 0x9B, - 0xC3, 0xA9, 0xF9, 0x48, 0x09, 0x56, 0x22, 0xC5, 0xF0, 0xD7, 0xFE, 0x94, - 0x96, 0x3D, 0x0F, 0xD7, 0xA3, 0x70, 0xF5, 0x73, 0xBF, 0x1E, 0xF7, 0xBE, - 0x00, 0xD4, 0x47, 0xFD, 0xEA, 0xC2, 0x14, 0x13, 0xAF, 0xFE, 0x84, 0xF1, - 0xDF, 0x7C, 0x9F, 0xA5, 0xB3, 0xEF, 0x83, 0x34, 0xAF, 0x31, 0x7E, 0xCF, - 0xF1, 0x69, 0x1F, 0x8A, 0x73, 0xE0, 0x4B, 0x6D, 0xEC, 0x7E, 0xBC, 0x55, - 0x1B, 0xFF, 0x5D, 0xC4, 0xAE, 0x78, 0x7C, 0xF4, 0xAB, 0x69, 0xCE, 0xBE, - 0x3A, 0x8B, 0xE7, 0xF8, 0xF5, 0x24, 0xA9, 0x8D, 0xA7, 0xF4, 0x6D, 0x43, - 0x71, 0x0E, 0x3F, 0xDB, 0xCD, 0x8E, 0x47, 0xDA, 0x30, 0x0C, 0xAE, 0x31, - 0xFE, 0x5A, 0xD9, 0x63, 0xEE, 0x4A, 0x99, 0xD2, 0x92, 0x43, 0x24, 0x11, - 0x6C, 0xE7, 0x3A, 0xB6, 0xC7, 0xF9, 0x37, 0x17, 0x58, 0x9C, 0xAC, 0x06, - 0x4E, 0x3F, 0xDF, 0xA3, 0xFB, 0x91, 0xAF, 0xD2, 0xFD, 0xE8, 0xD7, 0x82, - 0x3E, 0x78, 0xDA, 0xC1, 0x77, 0x43, 0xDC, 0xD3, 0x02, 0x20, 0x0C, 0x13, - 0xAF, 0x5A, 0x66, 0xFE, 0xA3, 0x57, 0x99, 0x78, 0xF5, 0x3F, 0x31, 0xFD, - 0xF6, 0xAF, 0xA9, 0xE5, 0xE6, 0x91, 0xA6, 0xB5, 0xEE, 0x38, 0xA5, 0x82, - 0x4C, 0xCA, 0x81, 0x83, 0x69, 0x0E, 0x7F, 0xB5, 0x83, 0x81, 0x43, 0xE9, - 0xA0, 0xD5, 0x95, 0x36, 0xFE, 0xBB, 0x82, 0x10, 0x41, 0x55, 0x9B, 0xB9, - 0x91, 0x22, 0xAE, 0xED, 0x6F, 0xBA, 0xA7, 0xAF, 0x14, 0x74, 0x0C, 0x27, - 0x78, 0xF8, 0x77, 0xFA, 0x18, 0x3C, 0x92, 0x0D, 0xAA, 0xDD, 0xAC, 0x7D, - 0x64, 0x0A, 0x16, 0x26, 0xAA, 0x9C, 0x7E, 0x75, 0x81, 0xC9, 0x33, 0x05, - 0x4A, 0x4B, 0x2E, 0x91, 0x84, 0x49, 0xDF, 0xBE, 0x24, 0x9E, 0xEB, 0x33, - 0x76, 0xB2, 0x80, 0x90, 0x81, 0xC7, 0x3F, 0x3D, 0xBC, 0x8F, 0xBE, 0x67, - 0x7E, 0x97, 0x68, 0x47, 0x2F, 0xCA, 0xD3, 0xC6, 0x7F, 0xA3, 0xDC, 0x93, - 0x02, 0x20, 0xA4, 0x44, 0xF9, 0x3E, 0xCB, 0x23, 0x27, 0x99, 0x7A, 0xF3, - 0x39, 0x26, 0x5E, 0xF9, 0x21, 0xCB, 0x97, 0xCF, 0x34, 0x0A, 0x23, 0xAC, - 0xC5, 0xF7, 0x14, 0xE1, 0x84, 0xC5, 0x8E, 0x87, 0xB2, 0x1C, 0xFC, 0x72, - 0x1B, 0xED, 0x43, 0xB1, 0x86, 0x13, 0x50, 0x73, 0x87, 0x10, 0x41, 0x0B, - 0x34, 0xD4, 0x7A, 0x83, 0x55, 0xF8, 0xF8, 0x2A, 0x30, 0x3E, 0xDB, 0xAE, - 0x61, 0x3B, 0x35, 0x5C, 0xCF, 0xC5, 0x92, 0x66, 0x70, 0xFC, 0xEA, 0x81, - 0x28, 0xA5, 0xE8, 0xDB, 0x9F, 0xE1, 0xC8, 0xD7, 0x7B, 0x18, 0x3C, 0x98, - 0xDE, 0xF0, 0x79, 0xCD, 0x8F, 0x96, 0x79, 0xFB, 0x47, 0xD3, 0x8C, 0x7E, - 0x5C, 0x68, 0xCC, 0x22, 0x4A, 0x79, 0x87, 0xA5, 0xE9, 0x2A, 0xA2, 0x1E, - 0x43, 0x20, 0x50, 0x18, 0xD1, 0x24, 0xBD, 0x9F, 0xFB, 0x2E, 0x99, 0x9D, - 0x47, 0xF4, 0x9A, 0xFF, 0x26, 0xB9, 0xB7, 0x04, 0xA0, 0x1E, 0x5A, 0x59, - 0x5D, 0x98, 0x66, 0xEA, 0xCD, 0x5F, 0x32, 0xF9, 0xDA, 0x4F, 0xC9, 0x5F, - 0x3C, 0x81, 0x5D, 0x58, 0x42, 0x18, 0xEB, 0x2F, 0x75, 0x65, 0x2D, 0xD8, - 0xB1, 0x2D, 0xC6, 0x9E, 0xA7, 0xDA, 0xD9, 0xFE, 0x50, 0x86, 0x64, 0x5B, - 0xE8, 0xDA, 0x51, 0x44, 0x73, 0x5B, 0x11, 0x52, 0xE0, 0x54, 0x3D, 0x0A, - 0xF3, 0x36, 0x91, 0x84, 0x49, 0xA2, 0xC5, 0xC2, 0x73, 0x15, 0xBE, 0xF2, - 0xC9, 0x58, 0xDD, 0x6C, 0x4B, 0x1F, 0x25, 0x15, 0x6E, 0xA1, 0x92, 0x72, - 0x38, 0xF4, 0x67, 0xCB, 0xBC, 0xFC, 0xC2, 0x1B, 0xBC, 0xFA, 0xFA, 0xCB, - 0x94, 0x4A, 0xA5, 0x46, 0x86, 0x5B, 0x24, 0x6E, 0xB1, 0xF3, 0xB1, 0x56, - 0xF6, 0x3C, 0xD5, 0x4E, 0xD7, 0xF6, 0xC4, 0xB5, 0xCF, 0x4B, 0xC1, 0xFC, - 0x58, 0x99, 0xB7, 0x7E, 0x30, 0xC5, 0x95, 0x13, 0x85, 0xA0, 0xD2, 0x5D, - 0x7D, 0x16, 0x11, 0x08, 0x4F, 0x20, 0x20, 0x81, 0xD0, 0xFB, 0x74, 0x1C, - 0x7D, 0x9A, 0xAE, 0x47, 0x9F, 0x6D, 0xE4, 0xD3, 0x6B, 0x6E, 0x9C, 0xDB, - 0x28, 0x00, 0x6B, 0xD7, 0x78, 0xEA, 0xAA, 0xFF, 0x6E, 0x76, 0xFC, 0xCA, - 0x1F, 0x05, 0x42, 0x4A, 0x9C, 0xD2, 0x32, 0xD3, 0x6F, 0xFC, 0x8C, 0xC9, - 0xD7, 0x7F, 0x4E, 0xEE, 0xC2, 0x47, 0x94, 0x67, 0xC7, 0x91, 0x86, 0x79, - 0x8D, 0xF1, 0x7B, 0xAE, 0x22, 0xD1, 0x62, 0xB1, 0xFD, 0x58, 0x86, 0x9D, - 0x8F, 0xB6, 0x06, 0x21, 0xBE, 0x21, 0x79, 0x43, 0xDD, 0x7B, 0x35, 0x37, - 0xCF, 0x4A, 0xD4, 0xDE, 0x4A, 0xEB, 0xB3, 0x73, 0xAF, 0x2F, 0x30, 0x7A, - 0xA2, 0x48, 0xA2, 0xC5, 0x62, 0xF7, 0xE3, 0x59, 0x7A, 0xF6, 0x26, 0x48, - 0xC5, 0x33, 0x3C, 0xD0, 0xFA, 0x65, 0xF6, 0x65, 0x9F, 0x26, 0x6C, 0xC4, - 0xF0, 0xDB, 0x7D, 0xCC, 0x9D, 0x06, 0x8F, 0x1C, 0x7C, 0x8A, 0xE8, 0xB6, - 0x2A, 0x57, 0x26, 0xCE, 0x21, 0x14, 0x18, 0x21, 0x49, 0xB6, 0x27, 0x46, - 0xDF, 0xDE, 0x14, 0xF1, 0xAC, 0x75, 0x8D, 0xF1, 0x2B, 0x05, 0x0B, 0x63, - 0x65, 0xDE, 0xFA, 0xFE, 0x14, 0xA3, 0x27, 0x0A, 0x5B, 0x66, 0xC5, 0xFA, - 0x8E, 0x4D, 0xCB, 0xBE, 0x63, 0x0C, 0x7D, 0xFD, 0x4F, 0x89, 0x77, 0x0D, - 0x6A, 0xE3, 0xBF, 0x05, 0x6E, 0x83, 0x00, 0x04, 0xD1, 0x35, 0xD2, 0xCF, - 0x63, 0xF9, 0x13, 0xF8, 0x84, 0xF1, 0x44, 0x0A, 0x44, 0x18, 0x5F, 0xA6, - 0x40, 0x6C, 0xF0, 0x11, 0xCA, 0x46, 0xFA, 0x4B, 0x04, 0xA9, 0x93, 0x02, - 0xDF, 0xB1, 0xB9, 0xFC, 0x9B, 0x17, 0x98, 0xFD, 0xE0, 0x25, 0xF2, 0x17, - 0x8E, 0x53, 0x9C, 0xBC, 0x8C, 0x90, 0xC6, 0x86, 0xD3, 0x7D, 0x2B, 0x62, - 0x30, 0x78, 0x38, 0xC9, 0xAE, 0xC7, 0x5B, 0xE8, 0xDB, 0x9F, 0x24, 0x9E, - 0x09, 0xA1, 0x94, 0xD2, 0xC6, 0x7F, 0x07, 0x10, 0x02, 0x5C, 0x47, 0x51, - 0x5A, 0xB2, 0xA9, 0x16, 0x5C, 0xC6, 0x4F, 0x2E, 0x33, 0x75, 0x6E, 0x99, - 0x99, 0xCB, 0x15, 0xCA, 0xCB, 0x0A, 0xD3, 0x14, 0xCC, 0x8F, 0x96, 0xE9, - 0xDD, 0x97, 0x24, 0x95, 0x2E, 0x91, 0x6B, 0x3B, 0x4E, 0xF5, 0x70, 0x0B, - 0x99, 0x4C, 0x9A, 0xFE, 0xBE, 0x3E, 0x96, 0xBC, 0x71, 0x2E, 0x87, 0x4E, - 0xD3, 0x7D, 0x34, 0x4A, 0xEB, 0x91, 0x5E, 0xA4, 0x04, 0x69, 0x48, 0xC2, - 0x71, 0x63, 0xE3, 0x99, 0x9A, 0x80, 0x72, 0xCE, 0xE1, 0x83, 0x9F, 0xCD, - 0x30, 0xFA, 0x71, 0x61, 0xCB, 0xEC, 0x59, 0xDF, 0x75, 0x48, 0x0D, 0xED, - 0x65, 0xFB, 0xB7, 0xFF, 0x31, 0x2D, 0x7B, 0x1E, 0xFA, 0x64, 0x59, 0x44, - 0x4D, 0xCC, 0x27, 0x13, 0x00, 0x61, 0x60, 0x7A, 0x93, 0x98, 0x95, 0x57, - 0x51, 0xB5, 0xCB, 0x18, 0xAA, 0x80, 0x14, 0x26, 0x92, 0x08, 0x08, 0x13, - 0x25, 0x22, 0x6C, 0xBC, 0x99, 0xEB, 0x22, 0xA9, 0x01, 0x8A, 0xFC, 0xE5, - 0x25, 0xC6, 0x3E, 0x9C, 0x66, 0xE4, 0x95, 0xE3, 0x94, 0xA6, 0xC7, 0x36, - 0x37, 0xFC, 0xB0, 0xA4, 0xFF, 0x40, 0x8A, 0xED, 0xC7, 0x32, 0xF4, 0xEE, - 0x49, 0x92, 0xEE, 0x0A, 0x23, 0x0D, 0xED, 0xE8, 0xBB, 0x63, 0x08, 0xB0, - 0xAB, 0x3E, 0x17, 0xDF, 0xC9, 0x71, 0xE6, 0xD5, 0x05, 0x3C, 0x47, 0x91, - 0x9B, 0x2A, 0x53, 0x5E, 0xAA, 0x20, 0x4C, 0x13, 0x23, 0x14, 0xF4, 0x1F, - 0x9C, 0x1F, 0xAB, 0x92, 0x9F, 0xB5, 0x91, 0xE6, 0x12, 0x1F, 0x59, 0xB3, - 0xBC, 0xFC, 0xEB, 0xB7, 0x89, 0x46, 0xA2, 0x1C, 0x7C, 0x62, 0x90, 0xD4, - 0x0E, 0x58, 0xF4, 0x66, 0xF1, 0xFD, 0x0A, 0xE9, 0x36, 0x93, 0x95, 0x4D, - 0x9B, 0x8D, 0xAA, 0xDE, 0x06, 0x8E, 0x43, 0x97, 0x77, 0x7E, 0x38, 0xC9, - 0xE5, 0xE3, 0xCB, 0x5B, 0x5E, 0x9A, 0xEF, 0xDA, 0xA4, 0x06, 0xF6, 0xB0, - 0xEB, 0xF7, 0xFE, 0x29, 0x9D, 0x47, 0xBF, 0x80, 0x34, 0xAC, 0x46, 0x86, - 0x9F, 0xE6, 0xE6, 0xB8, 0x75, 0x01, 0x10, 0x06, 0xA2, 0x7A, 0x09, 0xA3, - 0xF4, 0x53, 0xA4, 0xFB, 0x31, 0xCA, 0xAB, 0xA0, 0xEA, 0xB5, 0xB6, 0x64, - 0xA3, 0x92, 0xCA, 0x46, 0x0F, 0x3A, 0xA8, 0xCD, 0xB4, 0x74, 0x7E, 0x96, - 0x8B, 0x6F, 0x2F, 0x90, 0xBB, 0x9C, 0x63, 0x79, 0xB6, 0x8C, 0x5D, 0xF6, - 0x36, 0x34, 0x7C, 0x33, 0x24, 0xE9, 0xDB, 0x9F, 0x62, 0xE7, 0x23, 0x59, - 0xBA, 0x77, 0x25, 0x48, 0x77, 0x84, 0x1B, 0xD3, 0x7D, 0x6D, 0xFC, 0x77, - 0x0E, 0x01, 0x54, 0x96, 0x5D, 0x2E, 0xBE, 0x93, 0x63, 0xFC, 0x54, 0x11, - 0x61, 0x80, 0x50, 0x0A, 0x61, 0xD4, 0x1B, 0x9A, 0xD6, 0xCB, 0xD0, 0x4B, - 0x43, 0xE0, 0x39, 0x0A, 0xD7, 0xF1, 0xB0, 0x2B, 0xCB, 0xE4, 0x72, 0x39, - 0x3C, 0xCF, 0xC7, 0x6E, 0x1F, 0x67, 0x5B, 0xBA, 0x03, 0x33, 0x6C, 0x11, - 0x0A, 0x03, 0x6A, 0xEB, 0x2A, 0x4C, 0xB3, 0x23, 0x65, 0xDE, 0xFD, 0xC9, - 0x0C, 0xE3, 0x27, 0x97, 0x71, 0x6D, 0xB5, 0xF1, 0xE8, 0x5F, 0xCF, 0xD6, - 0xEB, 0x38, 0xF2, 0x39, 0x76, 0xFE, 0xEE, 0x3F, 0x25, 0xB3, 0xEB, 0x01, - 0x8C, 0x70, 0x54, 0x1B, 0xFF, 0x27, 0xE0, 0x16, 0x05, 0x40, 0x62, 0x7A, - 0x53, 0x58, 0xD5, 0x5F, 0xA1, 0x6A, 0xC7, 0x51, 0xC2, 0xBB, 0x76, 0xAA, - 0xBF, 0xC1, 0x03, 0x14, 0x52, 0x50, 0x9C, 0x2D, 0x73, 0xE5, 0xCD, 0x71, - 0x26, 0x3E, 0x9C, 0x21, 0x37, 0x55, 0xC1, 0xB3, 0xBD, 0xFA, 0xFA, 0xB2, - 0x3E, 0x53, 0x50, 0x41, 0x75, 0x5D, 0x2B, 0x22, 0xD9, 0xF9, 0x48, 0x96, - 0xED, 0x0F, 0xB7, 0xD0, 0xD2, 0x17, 0x21, 0xD5, 0x1E, 0xC6, 0xAA, 0x1B, - 0xBE, 0x9E, 0xEE, 0x7F, 0x0A, 0x08, 0x81, 0x6B, 0xFB, 0x94, 0x96, 0x6C, - 0xA4, 0x59, 0x6F, 0x57, 0x55, 0x2F, 0x7B, 0x1E, 0x4C, 0xDF, 0xFD, 0xD5, - 0x67, 0x26, 0x56, 0x1E, 0xB7, 0x40, 0x4A, 0x03, 0x7C, 0x41, 0xA2, 0x25, - 0x4E, 0x28, 0x12, 0x42, 0x29, 0x08, 0x47, 0xFC, 0x6B, 0x8B, 0xA5, 0xD6, - 0x77, 0x12, 0x6A, 0x65, 0x97, 0x73, 0xAF, 0x2F, 0x70, 0xE6, 0xD5, 0x25, - 0xE6, 0xAE, 0x54, 0x36, 0xED, 0x77, 0xA7, 0x7C, 0x0F, 0x2B, 0x9E, 0xA2, - 0xE7, 0x89, 0x6F, 0x32, 0xFC, 0xF5, 0x3F, 0x25, 0x39, 0xB0, 0x1B, 0x84, - 0xD0, 0xC6, 0xFF, 0x09, 0xB9, 0x05, 0x01, 0x10, 0x08, 0x55, 0x41, 0x56, - 0xDE, 0x46, 0x54, 0xDF, 0x03, 0xE1, 0x71, 0xBD, 0x52, 0x47, 0x42, 0x08, - 0xDC, 0xA2, 0xC3, 0xC8, 0x1B, 0xA3, 0x5C, 0x79, 0x7F, 0x8E, 0xE5, 0xA9, - 0x22, 0xB5, 0x92, 0xDB, 0x88, 0xF0, 0x82, 0x46, 0xA5, 0x64, 0x92, 0xAD, - 0x21, 0x86, 0x1E, 0x4C, 0x33, 0xFC, 0x40, 0x86, 0x4C, 0x77, 0x84, 0x64, - 0x4B, 0x08, 0x61, 0x04, 0x2F, 0x9D, 0x36, 0xFC, 0x4F, 0x99, 0xAB, 0x7C, - 0x2B, 0x6A, 0xFD, 0xBF, 0xAE, 0x3A, 0x54, 0x61, 0x98, 0x06, 0x2D, 0x7D, - 0x51, 0x5A, 0x7B, 0x63, 0x64, 0xBA, 0x63, 0x80, 0xC0, 0xB4, 0x7C, 0xC2, - 0x31, 0x81, 0x94, 0xAB, 0xCE, 0x44, 0x50, 0x2C, 0xCF, 0xD6, 0x18, 0x3D, - 0x91, 0xE7, 0xCA, 0x47, 0xC5, 0x20, 0xC8, 0x27, 0x57, 0x4F, 0xDF, 0xDE, - 0xA0, 0x6A, 0x8F, 0x90, 0x92, 0xCC, 0xAE, 0x07, 0x18, 0xFA, 0xEA, 0xDF, - 0xA1, 0xFD, 0xC8, 0xE7, 0x88, 0x64, 0x3B, 0x3F, 0x13, 0xC5, 0x36, 0x3E, - 0x0B, 0xDC, 0xBC, 0x00, 0x08, 0x89, 0xA8, 0x8D, 0x23, 0x4A, 0xC7, 0x51, - 0xAA, 0xC6, 0xF5, 0x7A, 0x90, 0x09, 0x29, 0x18, 0x7B, 0x6F, 0x96, 0x8B, - 0x2F, 0x5E, 0x21, 0x37, 0xBE, 0x4C, 0xB5, 0xE0, 0x04, 0x22, 0xBF, 0xA6, - 0x94, 0xB2, 0x34, 0x04, 0x9D, 0xDB, 0xE2, 0x0C, 0x1F, 0x49, 0x33, 0x78, - 0x38, 0xF0, 0x0E, 0x47, 0xD3, 0x16, 0xF5, 0x5A, 0x0E, 0x7A, 0xAA, 0x7F, - 0x17, 0x08, 0x0A, 0xD2, 0xAE, 0x69, 0x54, 0xA9, 0x00, 0xAF, 0x9E, 0x42, - 0xBB, 0xC6, 0x35, 0xAF, 0x7C, 0x85, 0x15, 0x35, 0xE8, 0x1C, 0x4E, 0xD0, - 0x77, 0xB0, 0x85, 0x74, 0x67, 0x94, 0x50, 0xC4, 0xC0, 0x0C, 0x1B, 0x28, - 0xA5, 0x88, 0x25, 0x4D, 0xAC, 0xB0, 0x4F, 0x69, 0xA9, 0x46, 0x6E, 0xBA, - 0xC6, 0xDC, 0x95, 0x12, 0xF3, 0x63, 0x36, 0x4B, 0x53, 0x15, 0xCA, 0x4B, - 0x0E, 0x95, 0x82, 0x8B, 0xEF, 0x6F, 0x5E, 0x03, 0x33, 0xD6, 0xD9, 0x4F, - 0xDF, 0x33, 0xBF, 0x47, 0xEF, 0x93, 0xDF, 0x24, 0xDA, 0xD6, 0x13, 0x4C, - 0xF9, 0xF5, 0x5E, 0xFF, 0x6D, 0xE3, 0x26, 0x05, 0x40, 0x20, 0xFC, 0x32, - 0x86, 0x73, 0x12, 0xE9, 0x5D, 0x01, 0xB1, 0xB9, 0xF1, 0x0B, 0x01, 0xA5, - 0x85, 0x2A, 0x67, 0x7E, 0x75, 0x99, 0xC9, 0xE3, 0x73, 0x94, 0x16, 0xCB, - 0xA8, 0xFA, 0x83, 0x5E, 0x79, 0xD6, 0x42, 0x0A, 0x86, 0x0E, 0x25, 0x19, - 0x3E, 0x9A, 0xA5, 0x67, 0x4F, 0x92, 0x58, 0xDA, 0x0C, 0x5A, 0x68, 0xD5, - 0x03, 0x4C, 0xB4, 0xD9, 0xDF, 0x05, 0x44, 0x50, 0x2B, 0x7F, 0x7E, 0xB4, - 0xCC, 0xC5, 0x77, 0x96, 0x28, 0x2E, 0xD8, 0xE0, 0xFB, 0xF8, 0x7E, 0x50, - 0x5C, 0x43, 0x29, 0x45, 0x34, 0x15, 0x26, 0xD1, 0x1A, 0x23, 0x14, 0x16, - 0xA4, 0xBB, 0xA3, 0xB4, 0x0D, 0xA7, 0x49, 0x77, 0x04, 0xED, 0xCF, 0xA4, - 0x21, 0x51, 0x28, 0x04, 0x50, 0x98, 0xAF, 0x72, 0xEE, 0x95, 0x05, 0x16, - 0xC7, 0xCB, 0xD4, 0x2A, 0x1E, 0x6E, 0xCD, 0xC7, 0xAE, 0x7A, 0xD8, 0x15, - 0x1F, 0xAF, 0x5E, 0x83, 0xAE, 0x51, 0xB5, 0x67, 0x2D, 0x4A, 0x61, 0x44, - 0x62, 0x74, 0x3D, 0xFC, 0x65, 0x06, 0xBF, 0xF2, 0x47, 0x24, 0x07, 0xF7, - 0x12, 0x4A, 0x64, 0xEA, 0x39, 0xFC, 0xDA, 0xF8, 0x6F, 0x27, 0x37, 0x27, - 0x00, 0x42, 0x22, 0x6A, 0x13, 0xC8, 0xF2, 0x89, 0xFA, 0xD4, 0x7F, 0xE3, - 0x74, 0x2D, 0xDF, 0x36, 0x99, 0xFC, 0x78, 0x86, 0x73, 0x2F, 0x5C, 0x62, - 0xF1, 0x72, 0xBE, 0xBE, 0xCE, 0x5F, 0x7D, 0xD0, 0xA1, 0xA8, 0x41, 0xCF, - 0xEE, 0x04, 0xFB, 0x9F, 0x69, 0xA7, 0x6D, 0x20, 0x4A, 0x24, 0x69, 0x06, - 0xE9, 0xBA, 0xE8, 0xD1, 0xFE, 0x6E, 0xE2, 0xB9, 0x8A, 0xC9, 0x33, 0xCB, - 0x9C, 0x7A, 0x71, 0x96, 0x99, 0x8B, 0x25, 0x6A, 0x25, 0x17, 0xBB, 0xEC, - 0x35, 0x12, 0x6B, 0xA4, 0x29, 0x69, 0xE9, 0x4D, 0xB0, 0xFD, 0x91, 0x4E, - 0xDA, 0x86, 0x32, 0x00, 0x98, 0x21, 0x89, 0x19, 0x31, 0x90, 0x32, 0x70, - 0xF2, 0x29, 0xA5, 0xB0, 0x8B, 0x35, 0x26, 0xCF, 0x2E, 0x73, 0xE5, 0xF8, - 0x12, 0xCB, 0x73, 0x55, 0x9C, 0x9A, 0xDF, 0x58, 0xDB, 0xAF, 0x94, 0xBA, - 0xDF, 0x6C, 0xC4, 0x17, 0xD2, 0x20, 0x39, 0xB0, 0x93, 0x6D, 0xDF, 0xF8, - 0x07, 0xB4, 0x1F, 0xF9, 0x1C, 0xA1, 0x74, 0x2B, 0x42, 0x1A, 0x3A, 0xB6, - 0xFF, 0x0E, 0x71, 0x13, 0x02, 0x20, 0x10, 0xCA, 0xC6, 0x70, 0x2F, 0x20, - 0xBD, 0xCB, 0x6C, 0xD8, 0x5D, 0x43, 0x40, 0x65, 0xB1, 0xCA, 0xF9, 0x17, - 0x46, 0x19, 0x7D, 0x6F, 0x9A, 0xF2, 0x62, 0x35, 0x30, 0xE8, 0x95, 0xDE, - 0x07, 0x52, 0xB0, 0xFD, 0x58, 0x9A, 0x83, 0x5F, 0xEA, 0x20, 0xDD, 0x19, - 0x21, 0x9A, 0x34, 0xEB, 0x05, 0x1C, 0xF4, 0x72, 0x6E, 0x33, 0x7C, 0x4F, - 0x51, 0x98, 0xAF, 0x31, 0x7D, 0xA1, 0x48, 0x7E, 0xA6, 0x4A, 0x6E, 0xAA, - 0x4A, 0x24, 0x69, 0xD1, 0xD2, 0x1B, 0xA1, 0x73, 0x7B, 0x82, 0x96, 0xBE, - 0x18, 0xD2, 0x10, 0xB7, 0xD6, 0x43, 0xA2, 0x3E, 0xCB, 0xF2, 0x5C, 0x9F, - 0xF1, 0x93, 0xCB, 0x9C, 0x7D, 0x65, 0x8E, 0xA9, 0x73, 0x05, 0x2A, 0xCB, - 0x4E, 0x50, 0x4C, 0xB3, 0x7E, 0x58, 0x24, 0x19, 0xA2, 0xEF, 0x70, 0x3B, - 0x3D, 0xFB, 0x5A, 0x48, 0xB6, 0x58, 0x84, 0x62, 0x26, 0xA6, 0x65, 0xAC, - 0xAB, 0x9B, 0x5F, 0x5C, 0xAC, 0xB1, 0x70, 0x25, 0xCF, 0xCC, 0xA5, 0x32, - 0xF9, 0x99, 0x2A, 0xB5, 0x92, 0x83, 0x53, 0xF5, 0x1A, 0xB3, 0xBE, 0x4D, - 0xAF, 0xAD, 0xAE, 0x04, 0xD2, 0x0C, 0x91, 0xDD, 0xF5, 0x20, 0xDD, 0x8F, - 0x3D, 0x4B, 0xE7, 0x83, 0x5F, 0x24, 0x9C, 0x6E, 0x43, 0x86, 0x23, 0xF5, - 0x35, 0xA0, 0x7E, 0x39, 0xEE, 0x14, 0x37, 0x25, 0x00, 0x38, 0x39, 0xA8, - 0x8E, 0xD6, 0x47, 0x7F, 0xE3, 0x9A, 0xBF, 0x2F, 0x5C, 0x59, 0xE0, 0xE4, - 0x2F, 0x2E, 0x33, 0x71, 0x72, 0x09, 0xB7, 0xEA, 0x36, 0x7E, 0x4D, 0x88, - 0x20, 0xE3, 0xEB, 0xA1, 0x6F, 0x76, 0xD1, 0xB5, 0x33, 0x4E, 0x34, 0x69, - 0x05, 0xAB, 0x87, 0x4F, 0xB9, 0x65, 0xF7, 0x67, 0x09, 0xBB, 0xE2, 0x31, - 0x7E, 0x32, 0xCF, 0xD9, 0x57, 0xE7, 0x99, 0xB9, 0x58, 0xAC, 0xF7, 0xAC, - 0x53, 0x78, 0x8E, 0x42, 0x18, 0x60, 0x98, 0x12, 0xD3, 0x92, 0xC4, 0x5B, - 0x42, 0xF4, 0xEC, 0x49, 0xD2, 0xB3, 0x27, 0x45, 0xDB, 0x40, 0x8C, 0x58, - 0xC6, 0x5A, 0x0D, 0x9B, 0x5D, 0x73, 0x3E, 0xB5, 0xE6, 0x0F, 0x4A, 0x41, - 0x7E, 0xA6, 0xCA, 0xC2, 0x58, 0x99, 0xD9, 0x8B, 0x25, 0xC6, 0x4F, 0xE5, - 0x29, 0x2D, 0xD9, 0xD4, 0x4A, 0x2E, 0x9E, 0xA3, 0x1A, 0xCF, 0x4C, 0x29, - 0x48, 0xB5, 0x47, 0x38, 0xF8, 0xEC, 0x00, 0xED, 0xDB, 0xD3, 0x98, 0x21, - 0x03, 0x29, 0x69, 0x8C, 0xF4, 0x9E, 0xED, 0x31, 0x7F, 0x39, 0xCF, 0xE8, - 0x47, 0x4B, 0x2C, 0x4D, 0xD5, 0x70, 0x6A, 0x1E, 0xAE, 0xED, 0xAF, 0xDF, - 0xE7, 0x6F, 0xAC, 0xF7, 0xD6, 0x84, 0xF2, 0x12, 0x84, 0x7C, 0x5B, 0xC9, - 0xA0, 0x7C, 0x76, 0x76, 0xE7, 0x11, 0x5A, 0xF7, 0x3F, 0x42, 0xBC, 0x7B, - 0x1B, 0x66, 0x2C, 0x89, 0x51, 0x2F, 0xD0, 0xA9, 0x0D, 0xFF, 0xCE, 0x73, - 0xE3, 0x02, 0x20, 0x40, 0x78, 0x4B, 0x48, 0x77, 0x82, 0xAB, 0xE5, 0xDC, - 0xB7, 0x0D, 0xC6, 0xDF, 0x9F, 0xE2, 0xEC, 0xAF, 0x2F, 0x90, 0x9B, 0x28, - 0xAE, 0xBE, 0x00, 0x02, 0xA4, 0x10, 0xEC, 0x7D, 0xBA, 0x95, 0xC3, 0x5F, - 0xED, 0x24, 0xDD, 0xB1, 0xA6, 0x33, 0xAF, 0x7E, 0xB6, 0x1B, 0xE2, 0x39, - 0x8A, 0xD9, 0x91, 0x12, 0xEF, 0xFC, 0x60, 0x8C, 0xD9, 0x91, 0x12, 0x76, - 0xD5, 0x0B, 0x8C, 0x7E, 0xED, 0x2D, 0x77, 0xC1, 0xAD, 0xF9, 0x54, 0x15, - 0x94, 0xF3, 0x36, 0x8B, 0x13, 0x65, 0xCE, 0xBC, 0x3C, 0x87, 0x61, 0x4A, - 0xAC, 0x88, 0x24, 0xD5, 0x11, 0x21, 0x14, 0x31, 0x88, 0xA4, 0x2C, 0x92, - 0x6D, 0x21, 0x7C, 0x4F, 0x91, 0x9B, 0xAA, 0xE0, 0xDA, 0x3E, 0x4E, 0xD5, - 0x27, 0x3F, 0x5D, 0xC5, 0xB1, 0xBD, 0xA0, 0x2F, 0x5E, 0xBD, 0x91, 0x25, - 0x3E, 0xD7, 0x44, 0x73, 0x47, 0x12, 0x16, 0xC3, 0xC7, 0x3A, 0xE9, 0xDE, - 0x93, 0x5D, 0xB7, 0x5B, 0x03, 0x81, 0xE3, 0x76, 0x76, 0xAC, 0xC8, 0x99, - 0x57, 0x66, 0xC9, 0xCF, 0xD6, 0x02, 0x47, 0x1E, 0x60, 0x46, 0x4D, 0x12, - 0x69, 0x0B, 0xD3, 0x12, 0xE4, 0xE7, 0x6B, 0xD8, 0x55, 0x85, 0x15, 0x32, - 0x89, 0x74, 0x0C, 0x12, 0x69, 0xE9, 0x21, 0xDE, 0xB3, 0x8D, 0x64, 0xFF, - 0x0E, 0x12, 0x3D, 0xDB, 0x88, 0x76, 0xF4, 0x63, 0x84, 0xA3, 0x18, 0x56, - 0x08, 0x19, 0x8A, 0x04, 0x21, 0xDF, 0xDA, 0xF0, 0x3F, 0x55, 0x6E, 0x50, - 0x00, 0x04, 0xF8, 0x36, 0xD2, 0x1D, 0x41, 0xFA, 0x63, 0xEB, 0xA6, 0xFF, - 0x5E, 0xD9, 0xE5, 0xFC, 0x8B, 0x97, 0x38, 0xF7, 0xD2, 0x28, 0xD5, 0x7C, - 0xAD, 0xF1, 0xEC, 0x84, 0x80, 0x64, 0x9B, 0xC5, 0x83, 0xDF, 0xEA, 0x66, - 0xF8, 0x68, 0x96, 0x68, 0xC2, 0xBC, 0x17, 0x1B, 0xA3, 0xDC, 0x33, 0x28, - 0x05, 0x95, 0x65, 0x87, 0xE3, 0xBF, 0x98, 0xE6, 0xE4, 0x0B, 0x33, 0xD8, - 0x15, 0xAF, 0x21, 0xA4, 0x2B, 0x8E, 0x32, 0x21, 0x45, 0x7D, 0x1D, 0x5D, - 0x37, 0x46, 0xEA, 0x2D, 0xA8, 0x6D, 0x1F, 0x77, 0xCD, 0x3A, 0x7B, 0x79, - 0xAE, 0xD6, 0xD8, 0x67, 0x97, 0x46, 0xB0, 0xC4, 0xF2, 0x3D, 0xBF, 0xB1, - 0x83, 0xB7, 0x61, 0xFF, 0xF9, 0xAB, 0x9E, 0x8D, 0x42, 0x61, 0x85, 0x0D, - 0xD2, 0x1D, 0xD1, 0x0D, 0x1B, 0x9E, 0xFA, 0x9E, 0xA2, 0x6D, 0x28, 0xC5, - 0x83, 0xDF, 0xB6, 0x98, 0x1B, 0x29, 0xE0, 0x2B, 0xC8, 0x74, 0x44, 0x89, - 0x66, 0xC2, 0x98, 0xE1, 0x60, 0x76, 0xE8, 0x11, 0x65, 0x6A, 0xFE, 0x01, - 0xA2, 0xFD, 0x4F, 0x92, 0xEA, 0x1B, 0x40, 0x84, 0x53, 0x08, 0x23, 0x84, - 0x34, 0x83, 0xFC, 0x0E, 0x21, 0x0D, 0xD6, 0x95, 0x69, 0xD6, 0x86, 0xFF, - 0xA9, 0x73, 0x43, 0x02, 0x20, 0x84, 0xA0, 0x3C, 0x37, 0x89, 0x73, 0xE5, - 0x3D, 0x3A, 0xBA, 0xBD, 0x86, 0xF7, 0xBF, 0x92, 0xAB, 0x71, 0xE6, 0xB9, - 0x11, 0x46, 0x5E, 0x9F, 0xC0, 0xAD, 0xAD, 0x3A, 0x69, 0x84, 0x14, 0xF4, - 0xEE, 0x4D, 0xF0, 0xD0, 0xB7, 0xBB, 0xE9, 0xDA, 0x1E, 0xC7, 0xD0, 0xB5, - 0xF8, 0x37, 0x45, 0xA9, 0xA0, 0x99, 0xC5, 0xF4, 0xF9, 0x02, 0x6F, 0x7D, - 0x7F, 0x9C, 0xF9, 0xCB, 0xA5, 0x60, 0x44, 0xAE, 0x23, 0xA5, 0x40, 0x5A, - 0x92, 0x78, 0x4B, 0x94, 0x8E, 0x6D, 0x09, 0x52, 0x1D, 0x61, 0x22, 0x89, - 0x08, 0x00, 0xD5, 0xA2, 0xC3, 0xD2, 0x64, 0x99, 0xF9, 0xCB, 0xCB, 0x94, - 0x16, 0x2A, 0xF8, 0x7E, 0x20, 0x08, 0xAB, 0x06, 0xAE, 0xF0, 0x6E, 0xB1, - 0x1C, 0x9E, 0x10, 0x82, 0x52, 0xAE, 0xC6, 0xE9, 0x97, 0x27, 0x08, 0xC5, - 0x14, 0xD9, 0xBE, 0xEC, 0x35, 0xC7, 0x48, 0x43, 0x90, 0x68, 0x8D, 0x11, - 0xCB, 0x04, 0xD7, 0x23, 0xA4, 0x58, 0x15, 0x0B, 0x21, 0xF1, 0xDB, 0xBF, - 0x46, 0xEF, 0x91, 0x6F, 0x20, 0x42, 0xAD, 0x5B, 0x14, 0x04, 0xD1, 0x46, - 0x7F, 0x37, 0xB9, 0x01, 0x01, 0x08, 0x02, 0x7F, 0xFC, 0x85, 0x37, 0x19, - 0x7D, 0xFE, 0xC7, 0xCC, 0x67, 0x2D, 0x3A, 0xF7, 0x75, 0x90, 0x9F, 0x28, - 0x30, 0xF2, 0xC6, 0x04, 0x8B, 0xA3, 0x85, 0x75, 0x9E, 0x7B, 0x69, 0x08, - 0x76, 0x3D, 0x9E, 0xE5, 0xC1, 0x6F, 0x76, 0x93, 0xEE, 0x8C, 0x7C, 0x5A, - 0x3D, 0x0E, 0x3F, 0x73, 0x28, 0x05, 0x9E, 0xED, 0x53, 0x5C, 0xB2, 0x39, - 0xF1, 0xFC, 0x0C, 0x67, 0x5E, 0x9A, 0xC3, 0xAE, 0x7A, 0x8D, 0x7B, 0x29, - 0x4D, 0x49, 0x28, 0x6A, 0xD0, 0xB9, 0x23, 0xC5, 0xE0, 0x91, 0x0E, 0x5A, - 0x06, 0x12, 0xF5, 0x2E, 0x34, 0x34, 0x72, 0xEB, 0x95, 0x82, 0x81, 0xC3, - 0x0A, 0xDF, 0x75, 0x59, 0x1C, 0xCB, 0x73, 0xE9, 0x9D, 0x05, 0xE6, 0x2E, - 0x17, 0x71, 0x2A, 0xEE, 0x6D, 0x19, 0x4C, 0x95, 0xAF, 0x98, 0x1F, 0x29, - 0x70, 0xFC, 0xA7, 0x63, 0x1C, 0xF9, 0xA6, 0x24, 0xDB, 0x9B, 0xA9, 0x17, - 0xEE, 0x5C, 0x83, 0x08, 0xAE, 0x75, 0xFD, 0xCF, 0x0C, 0xFC, 0xF6, 0xAF, - 0xE1, 0xB7, 0x7D, 0x0B, 0x69, 0xB5, 0xDE, 0xED, 0x5B, 0xAD, 0xD9, 0x82, - 0xEB, 0x0B, 0x80, 0x10, 0xB8, 0xC5, 0x39, 0xE6, 0x3F, 0x7A, 0x83, 0x2B, - 0xEF, 0x4E, 0xA0, 0x94, 0xE4, 0xCC, 0xF3, 0x63, 0x41, 0x06, 0x9E, 0xAB, - 0xD6, 0xBD, 0x10, 0xE1, 0x98, 0xC1, 0x81, 0x2F, 0xB5, 0x73, 0xF0, 0x8B, - 0x1D, 0xC4, 0xB3, 0xD6, 0x75, 0x4F, 0xDD, 0x6C, 0x28, 0x05, 0xBE, 0x1B, - 0xF4, 0xA2, 0xCF, 0xCF, 0xD6, 0x38, 0xFB, 0xDA, 0x3C, 0x17, 0xDF, 0x5A, - 0xA0, 0x9C, 0xB7, 0x1B, 0xFB, 0xE2, 0x86, 0x25, 0x89, 0x24, 0x43, 0xF4, - 0x1F, 0x6C, 0xA3, 0x67, 0x6F, 0x86, 0x4C, 0x77, 0x6C, 0xFD, 0xC8, 0xBA, - 0x06, 0x01, 0x60, 0x08, 0x0C, 0x2B, 0x44, 0xC7, 0x8E, 0x36, 0xDA, 0x86, - 0xD2, 0xCC, 0x5C, 0x58, 0xE6, 0xF4, 0x8B, 0xD3, 0xE4, 0x26, 0x8B, 0x37, - 0x25, 0x02, 0xD2, 0x94, 0xC8, 0xBA, 0x1D, 0xAF, 0xCC, 0x24, 0x56, 0x32, - 0xF6, 0x96, 0xA6, 0xAA, 0x8C, 0x9D, 0xC8, 0xD1, 0xD2, 0x9F, 0x41, 0x6D, - 0xBA, 0x1B, 0xA7, 0x40, 0x98, 0xF8, 0x46, 0x1C, 0xD5, 0xF2, 0x05, 0x54, - 0xDB, 0x6F, 0xA1, 0xB4, 0xF1, 0xDF, 0xF3, 0x5C, 0x57, 0x00, 0x94, 0xEB, - 0x30, 0xFB, 0xF1, 0xC7, 0x9C, 0x7F, 0xEE, 0x55, 0x3C, 0x5B, 0x81, 0xF0, - 0xD9, 0x28, 0x14, 0x23, 0x91, 0x09, 0xF1, 0xC0, 0x37, 0x3A, 0xEB, 0x0D, - 0x38, 0x8C, 0xEB, 0x9D, 0xF6, 0xFE, 0x65, 0xC5, 0xC7, 0xB9, 0x66, 0x3A, - 0xEE, 0xBB, 0x0A, 0xCF, 0xF5, 0x29, 0x2E, 0x3A, 0xCC, 0x5C, 0x2C, 0x30, - 0x76, 0x62, 0x99, 0xB1, 0x93, 0x39, 0xDC, 0xDA, 0xAA, 0xC7, 0x7C, 0xC5, - 0xF0, 0x07, 0x0E, 0xB7, 0xB3, 0xED, 0xA1, 0x56, 0xC2, 0xC9, 0x70, 0xA3, - 0x10, 0xE6, 0x0D, 0x7D, 0xAC, 0x14, 0x18, 0xA1, 0x10, 0xDD, 0x7B, 0x5A, - 0x11, 0x86, 0xC1, 0x47, 0x3F, 0x1F, 0x65, 0x79, 0xA6, 0xBC, 0xA1, 0x70, - 0xAC, 0xC5, 0x30, 0x25, 0xE1, 0x84, 0x45, 0xFB, 0xF6, 0x0C, 0xE9, 0x8E, - 0x08, 0xCA, 0x0F, 0xD2, 0x7F, 0x4B, 0x8B, 0x65, 0x8A, 0x8B, 0x36, 0xBE, - 0x1B, 0x5C, 0xA3, 0x53, 0x59, 0x89, 0x00, 0x5C, 0x5B, 0xEB, 0x41, 0x04, - 0xCB, 0x41, 0x61, 0x82, 0xB0, 0x20, 0xB5, 0x07, 0xDA, 0xBE, 0x8A, 0x8A, - 0xEE, 0xAF, 0x67, 0x82, 0x6A, 0xEE, 0x75, 0xB6, 0x14, 0x00, 0x21, 0x25, - 0xA5, 0xC9, 0x4B, 0x5C, 0xFE, 0xF9, 0xBF, 0xA7, 0x34, 0x3B, 0xB5, 0x9A, - 0xFC, 0xB1, 0xEE, 0x18, 0x41, 0xAA, 0xDD, 0xE2, 0x91, 0xEF, 0xF4, 0xB0, - 0xFD, 0x91, 0x96, 0xEB, 0xD6, 0x72, 0xFF, 0x54, 0xB9, 0xBA, 0x3E, 0xC9, - 0x66, 0x7F, 0x7F, 0x9D, 0x63, 0x04, 0xC1, 0xA8, 0xE8, 0xBB, 0x81, 0xF4, - 0xF9, 0x3E, 0x28, 0x2F, 0xD8, 0x2E, 0x53, 0x75, 0xA7, 0xDA, 0xCA, 0xD4, - 0x7D, 0xE5, 0xCF, 0xD5, 0xA2, 0x47, 0x71, 0xB1, 0xC6, 0xD2, 0x54, 0x95, - 0xA5, 0x89, 0x2A, 0xB3, 0x23, 0x05, 0xF2, 0x33, 0xD5, 0x60, 0xD6, 0xE4, - 0xD3, 0x98, 0x39, 0x99, 0x21, 0x83, 0x48, 0xC2, 0xA2, 0xEF, 0x50, 0x1B, - 0xDB, 0x8F, 0xB5, 0x11, 0x49, 0x85, 0x37, 0x31, 0x5A, 0xB5, 0xE6, 0x82, - 0xEA, 0x8F, 0x4D, 0x79, 0xAC, 0xBA, 0xEF, 0x03, 0xC1, 0x59, 0x9A, 0x28, - 0x72, 0xF6, 0x95, 0x29, 0x0A, 0xF3, 0xD5, 0x2D, 0x8C, 0xBF, 0xFE, 0xD9, - 0x61, 0x83, 0x81, 0x23, 0xED, 0x1C, 0xF8, 0x42, 0x27, 0x66, 0x34, 0xB2, - 0x2E, 0xEC, 0xF7, 0x9A, 0x90, 0x7F, 0x51, 0xFF, 0xFE, 0xD2, 0x04, 0x11, - 0x06, 0x69, 0xE1, 0x8B, 0x08, 0x84, 0x3B, 0x21, 0xBE, 0x1D, 0x95, 0x3C, - 0x86, 0x8A, 0x6E, 0x43, 0x09, 0x0B, 0xED, 0xED, 0xFD, 0xEC, 0xB0, 0xF5, - 0x0C, 0x40, 0x48, 0xAA, 0x8B, 0x33, 0xCC, 0x9F, 0x78, 0x6D, 0x4D, 0xE6, - 0xD7, 0x6A, 0x2D, 0x38, 0xC3, 0x14, 0x74, 0xEF, 0x8A, 0xF3, 0xE0, 0x37, - 0xBB, 0xE9, 0xDD, 0x97, 0xBC, 0xA7, 0x8C, 0xDF, 0xAE, 0x78, 0x38, 0xB5, - 0x20, 0x10, 0xC5, 0x0C, 0x4B, 0x42, 0x11, 0x23, 0x08, 0x3A, 0x22, 0x78, - 0x3D, 0x3D, 0x57, 0x61, 0x57, 0x3C, 0x3C, 0xA7, 0xDE, 0x29, 0x36, 0x6A, - 0x10, 0x8A, 0xAE, 0xCE, 0x5C, 0x3C, 0x57, 0xE1, 0x54, 0x3D, 0x9C, 0x5A, - 0xB0, 0xFF, 0x5E, 0x29, 0x38, 0xE4, 0xA6, 0xAB, 0x28, 0x05, 0xA5, 0x9C, - 0x43, 0x39, 0x67, 0x23, 0x44, 0x60, 0xF0, 0xCB, 0x73, 0x35, 0xAA, 0xCB, - 0x4E, 0x50, 0xB3, 0x6E, 0xC9, 0xA6, 0x94, 0x73, 0x50, 0x9E, 0x5A, 0xB3, - 0xF7, 0xAE, 0xD6, 0x1B, 0x94, 0x0A, 0x8C, 0x2F, 0x92, 0xB4, 0xE8, 0x3D, - 0xD0, 0xC6, 0x8E, 0x63, 0x6D, 0x44, 0xD2, 0x6B, 0x0D, 0x7F, 0xAD, 0xE5, - 0x19, 0x60, 0x84, 0x40, 0x84, 0x40, 0x86, 0x50, 0x46, 0x02, 0x15, 0xE9, - 0x0E, 0xA2, 0x32, 0xAB, 0x93, 0x88, 0xDA, 0x34, 0xF8, 0x55, 0x3C, 0xDB, - 0x63, 0x6E, 0x64, 0x99, 0x93, 0xBF, 0x1A, 0x63, 0x71, 0xA2, 0xB8, 0xBE, - 0x06, 0x5F, 0xFD, 0x1A, 0x00, 0x84, 0x61, 0x60, 0x46, 0xE2, 0x98, 0xD1, - 0x18, 0xDD, 0x07, 0x7A, 0x39, 0xF8, 0x6C, 0x7F, 0xD0, 0x32, 0x1D, 0x10, - 0xCA, 0x25, 0x10, 0x14, 0x75, 0x95, 0x09, 0x0B, 0x40, 0xA2, 0x8C, 0x38, - 0xC4, 0xFB, 0x20, 0xBE, 0x17, 0x15, 0xD9, 0x89, 0x1F, 0xEA, 0x46, 0x89, - 0xD8, 0x6A, 0x78, 0x9F, 0x36, 0xFC, 0xCF, 0x1C, 0x5B, 0x0B, 0x80, 0x52, - 0xF8, 0x8E, 0x8D, 0xEF, 0x38, 0x20, 0x0C, 0xA4, 0x69, 0x20, 0x4C, 0x13, - 0xAF, 0x66, 0x63, 0x5A, 0x82, 0xA1, 0x23, 0x29, 0x1E, 0xFA, 0x76, 0x37, - 0xED, 0x43, 0xF1, 0x7B, 0x22, 0x84, 0xB7, 0x51, 0xAF, 0x6E, 0xC1, 0xE6, - 0xFC, 0x1B, 0x0B, 0x4C, 0x9C, 0xCA, 0xE3, 0xD4, 0x7C, 0x3A, 0xB6, 0x27, - 0x18, 0x38, 0x98, 0xA6, 0xAD, 0x3F, 0x86, 0x15, 0x35, 0x70, 0x2A, 0x1E, - 0xF3, 0xA3, 0x65, 0x2E, 0x7F, 0x98, 0x63, 0x71, 0xBC, 0x8C, 0x34, 0x60, - 0xF8, 0x68, 0x96, 0xA1, 0x07, 0xB2, 0x18, 0x96, 0xC4, 0xA9, 0x7A, 0xE4, - 0xA6, 0x6B, 0x8C, 0x9F, 0xCA, 0x33, 0x7B, 0xA1, 0xC8, 0xC2, 0x78, 0xB9, - 0x21, 0x14, 0xB0, 0xC1, 0x64, 0xE1, 0x46, 0xBE, 0x7A, 0x7D, 0x54, 0xB5, - 0x22, 0x06, 0xD1, 0xA4, 0x45, 0xCF, 0xBE, 0x56, 0xB6, 0x1F, 0x6B, 0x27, - 0x9A, 0x0D, 0xAF, 0x99, 0xE6, 0x2B, 0x90, 0x16, 0xC8, 0x08, 0x88, 0x30, - 0xCA, 0x88, 0xE2, 0x9B, 0x2D, 0x88, 0xF8, 0x36, 0x88, 0x6D, 0x87, 0xD8, - 0x10, 0xBE, 0xD1, 0xD1, 0x18, 0x65, 0xA5, 0x9F, 0x43, 0xE6, 0x7E, 0x85, - 0x37, 0xF6, 0x53, 0x46, 0xDE, 0x3E, 0xC3, 0xB9, 0xD7, 0xA6, 0x29, 0xD7, - 0x1B, 0x6F, 0xAC, 0x8A, 0x8E, 0x42, 0x5A, 0x16, 0x56, 0x2C, 0x89, 0x19, - 0x4D, 0x10, 0xEB, 0xEC, 0xA5, 0xFD, 0xC8, 0xD3, 0x64, 0xF7, 0x3C, 0x44, - 0xEB, 0xFE, 0x47, 0xC0, 0xB4, 0x70, 0x01, 0x94, 0x8F, 0xE1, 0x2F, 0x20, - 0xFC, 0xDC, 0x06, 0x5F, 0x4E, 0xE2, 0xCB, 0x0C, 0xBE, 0xD1, 0xCE, 0xBA, - 0x99, 0x88, 0xE6, 0x33, 0xCF, 0x16, 0x02, 0x20, 0xF0, 0xEC, 0x2A, 0xF6, - 0xF2, 0x3C, 0x66, 0x34, 0x8A, 0x5B, 0xB5, 0x11, 0x52, 0x62, 0x84, 0x2C, - 0x22, 0x31, 0xC1, 0xF6, 0x07, 0x53, 0x1C, 0x7E, 0xB6, 0x83, 0x74, 0x57, - 0xB0, 0x6E, 0x5C, 0x4D, 0xF5, 0xFC, 0xF4, 0xE3, 0xF9, 0x85, 0x14, 0xB8, - 0x35, 0x8F, 0xCA, 0xB2, 0xC3, 0xE5, 0xE3, 0x79, 0x4E, 0xFC, 0x72, 0x9A, - 0xC5, 0x89, 0x72, 0xC3, 0x09, 0x36, 0x7B, 0xA9, 0xC8, 0xC7, 0xBF, 0x9A, - 0xA6, 0x73, 0x7B, 0x82, 0xD6, 0xFE, 0x18, 0x33, 0x17, 0x8B, 0x2C, 0x4E, - 0x54, 0xD6, 0x5D, 0xE7, 0xD4, 0xD9, 0x02, 0xEF, 0xFD, 0x78, 0x92, 0x78, - 0x4B, 0x88, 0xE5, 0xD9, 0x20, 0xAA, 0xED, 0x76, 0xB0, 0x72, 0x0D, 0xE1, - 0xB8, 0x49, 0x24, 0x6E, 0xD1, 0xB5, 0xA7, 0x85, 0x1D, 0xC7, 0xDA, 0x88, - 0xB5, 0x84, 0xEB, 0x36, 0x24, 0xC1, 0x08, 0x83, 0x8C, 0xA2, 0xCC, 0x34, - 0x2A, 0xDA, 0x8B, 0x48, 0xEC, 0xC0, 0x0F, 0x6D, 0x83, 0xE8, 0x50, 0x50, - 0x56, 0x6D, 0x13, 0x7C, 0x99, 0x45, 0xB4, 0x7F, 0x87, 0x89, 0x77, 0xC7, - 0x38, 0xF7, 0xFA, 0xCB, 0x94, 0x17, 0xCB, 0x41, 0x06, 0x9F, 0x61, 0x62, - 0x46, 0x13, 0x98, 0xB1, 0x24, 0x66, 0x34, 0x4E, 0xBC, 0x7B, 0x90, 0xB6, - 0x43, 0x4F, 0xD1, 0xB2, 0xF7, 0x41, 0xD2, 0xDB, 0x0E, 0x5E, 0x53, 0x78, - 0x25, 0xB8, 0x89, 0x06, 0x9E, 0xD1, 0x01, 0x46, 0xC7, 0xF5, 0xEE, 0xF6, - 0xA7, 0xF7, 0x60, 0x35, 0x77, 0x9C, 0xCD, 0x05, 0x40, 0x04, 0x0E, 0x40, - 0xA7, 0x5C, 0x40, 0x9A, 0x16, 0xD2, 0xF2, 0x51, 0x4A, 0x10, 0x8E, 0x99, - 0xEC, 0x79, 0x3C, 0xC5, 0x91, 0x67, 0x3B, 0x08, 0xC7, 0x8C, 0x46, 0xAC, - 0x7F, 0x39, 0xEF, 0x50, 0xCA, 0xD9, 0x48, 0x29, 0x48, 0xB5, 0x47, 0xB0, - 0x22, 0x77, 0xBE, 0x17, 0x9F, 0x90, 0x41, 0x33, 0xC9, 0x72, 0xCE, 0x61, - 0xFC, 0x64, 0x9E, 0x8F, 0x5F, 0x98, 0x61, 0xFA, 0x42, 0x11, 0xDF, 0xD9, - 0xB8, 0xA2, 0xCC, 0xCC, 0xC5, 0x22, 0x33, 0x17, 0x8A, 0x1B, 0x17, 0x9C, - 0x50, 0x50, 0x2D, 0xB9, 0x54, 0x8A, 0x2B, 0x85, 0x25, 0x57, 0xE3, 0xDC, - 0xAF, 0x5A, 0x0A, 0xAF, 0xBF, 0x86, 0xB5, 0xE9, 0x8D, 0x2B, 0x27, 0x22, - 0x58, 0xE3, 0x9B, 0x61, 0x83, 0x70, 0xCC, 0x24, 0x92, 0x0E, 0xD3, 0x7F, - 0xA0, 0x85, 0xBE, 0xBD, 0x19, 0xA2, 0xD9, 0x30, 0x98, 0x71, 0x90, 0x31, - 0x94, 0x99, 0xC0, 0x37, 0x5A, 0x10, 0xF1, 0x41, 0x54, 0x74, 0x3B, 0x24, - 0x0F, 0xE1, 0xCB, 0x0C, 0xD7, 0x7E, 0xEA, 0x66, 0x28, 0x7C, 0x15, 0x22, - 0xBE, 0xE3, 0x59, 0xB2, 0xFB, 0x4F, 0xC3, 0x99, 0x77, 0x31, 0xA2, 0x71, - 0x12, 0x3D, 0xC3, 0x64, 0x77, 0x3D, 0x40, 0x66, 0xE7, 0x11, 0xD2, 0x3B, - 0x0E, 0x13, 0x4E, 0xB7, 0xD6, 0x97, 0x6E, 0x37, 0x7A, 0x5E, 0x4D, 0xB3, - 0x70, 0x63, 0x81, 0x40, 0x86, 0x81, 0x61, 0x59, 0xB8, 0x35, 0x87, 0x64, - 0xAB, 0xA4, 0x6F, 0x5F, 0x82, 0x48, 0x22, 0x68, 0xDF, 0xB4, 0xB2, 0xEE, - 0x3D, 0xFE, 0xDC, 0x14, 0x67, 0x5F, 0x9B, 0xC3, 0x0C, 0x4B, 0x1E, 0xFF, - 0x83, 0x41, 0x86, 0x8F, 0x64, 0xAF, 0xEB, 0x81, 0xBE, 0x55, 0x84, 0x14, - 0xF8, 0x9E, 0x4F, 0x69, 0xC1, 0x66, 0xEE, 0x72, 0x89, 0x73, 0xAF, 0x2F, - 0x70, 0xF9, 0x83, 0xA5, 0xA0, 0xC8, 0x88, 0x14, 0x5B, 0x0F, 0x52, 0x9B, - 0xF8, 0xD7, 0x94, 0x0A, 0x44, 0xC3, 0x8A, 0x18, 0x84, 0xA2, 0x16, 0x56, - 0x48, 0x60, 0x84, 0x0C, 0x0C, 0x53, 0xD4, 0xFB, 0x0E, 0x06, 0x5E, 0x6F, - 0xDF, 0xF3, 0x71, 0x6C, 0xBF, 0x11, 0x51, 0x57, 0xC9, 0xD7, 0xA8, 0x95, - 0xEA, 0xD9, 0x8E, 0x86, 0x41, 0x28, 0x99, 0x05, 0x05, 0xA1, 0x78, 0x88, - 0xB6, 0x6D, 0x2D, 0x74, 0xED, 0x48, 0xD3, 0xB9, 0x2B, 0x8D, 0x15, 0x32, - 0x50, 0x32, 0x82, 0x92, 0x09, 0x54, 0x62, 0x07, 0x2A, 0xB2, 0x0D, 0x12, - 0xBB, 0xF0, 0xCD, 0x5E, 0x56, 0xA3, 0xE1, 0x6E, 0x3E, 0x39, 0x42, 0xF9, - 0x1E, 0x99, 0x1D, 0x87, 0xD8, 0xFB, 0x27, 0xFF, 0x2D, 0xC5, 0xB1, 0x73, - 0xC4, 0xBB, 0x06, 0x49, 0xF4, 0xED, 0x44, 0x5A, 0xE1, 0xF5, 0x45, 0x33, - 0x74, 0x94, 0x9D, 0x66, 0x03, 0x6E, 0x2C, 0x14, 0xB8, 0x3E, 0xAD, 0x14, - 0xC2, 0x0D, 0x46, 0xFC, 0x95, 0xA9, 0xB3, 0x08, 0x82, 0x59, 0xCE, 0xBC, - 0x36, 0xCB, 0xD9, 0x37, 0xE6, 0x70, 0x6C, 0x1F, 0xBB, 0xE6, 0x71, 0xEA, - 0xA5, 0x39, 0x32, 0x9D, 0x51, 0x5A, 0xFB, 0x62, 0xD7, 0x06, 0x8E, 0x7C, - 0x02, 0x82, 0x2E, 0x30, 0x8A, 0xE2, 0x42, 0xD0, 0x69, 0xF6, 0xC2, 0x9B, - 0x81, 0xE1, 0x57, 0x0A, 0x6E, 0x90, 0x11, 0x77, 0x93, 0x82, 0xA3, 0x54, - 0xF0, 0xAF, 0x50, 0xD4, 0x24, 0xDE, 0x12, 0x21, 0x96, 0x36, 0x69, 0x1D, - 0x88, 0xD3, 0xD2, 0x9B, 0x20, 0xD1, 0x6A, 0x11, 0xCF, 0x44, 0x89, 0x24, - 0x0D, 0x12, 0x2D, 0xA1, 0x60, 0x9B, 0xBB, 0xDE, 0xA6, 0xAA, 0xB0, 0x60, - 0xE3, 0x7B, 0x02, 0xB7, 0x66, 0x73, 0xE5, 0xC3, 0x05, 0xCE, 0xBC, 0x3A, - 0x4B, 0x71, 0xBE, 0x4C, 0xDB, 0xDE, 0x87, 0xE8, 0x7D, 0xFA, 0x77, 0x50, - 0xBE, 0x4F, 0xFB, 0xB6, 0x16, 0x32, 0xFD, 0xED, 0x41, 0xD3, 0x4A, 0x05, - 0x2E, 0x20, 0x62, 0xDD, 0x78, 0xD6, 0xB6, 0xC0, 0x8B, 0xAF, 0xD6, 0x1A, - 0xFC, 0x27, 0xBB, 0x47, 0xCA, 0xF7, 0x48, 0xF4, 0x6E, 0x27, 0xD9, 0xBB, - 0xA3, 0x9E, 0xA1, 0xA7, 0x74, 0xFA, 0xAC, 0xE6, 0x86, 0xB8, 0xBE, 0x00, - 0xAC, 0xBC, 0x9F, 0xF5, 0x80, 0x74, 0x29, 0x54, 0xBD, 0xDA, 0x4B, 0x30, - 0xFD, 0x9D, 0x38, 0x93, 0x67, 0xE4, 0xBD, 0x25, 0xEC, 0x8A, 0x57, 0x6F, - 0xCD, 0x2D, 0x98, 0x3E, 0xBF, 0xCC, 0xEC, 0x48, 0x91, 0x4C, 0x67, 0xA4, - 0xE1, 0x79, 0xBF, 0x65, 0x44, 0x10, 0x0E, 0xEB, 0x3A, 0x3E, 0xCB, 0x53, - 0x95, 0xC0, 0x79, 0xF7, 0x41, 0x8E, 0x91, 0xF7, 0x97, 0xA8, 0x2C, 0x3B, - 0x48, 0x43, 0x6C, 0xDA, 0x7A, 0x6A, 0xD3, 0xAF, 0x54, 0x37, 0xFC, 0x70, - 0xC2, 0x24, 0xDB, 0x1D, 0xA7, 0x6B, 0x67, 0x92, 0x81, 0x23, 0xED, 0xB4, - 0xF7, 0x87, 0x89, 0x24, 0x43, 0xAB, 0xB6, 0x19, 0x98, 0x13, 0xBE, 0xBB, - 0x6A, 0xA0, 0x66, 0x48, 0xD2, 0xD2, 0x53, 0xDF, 0xE3, 0x16, 0x11, 0xDA, - 0x06, 0x13, 0xD4, 0xCA, 0x1E, 0x27, 0x9E, 0x77, 0x19, 0xFC, 0xEA, 0xDF, - 0x61, 0xE8, 0x6B, 0x7F, 0xDC, 0x28, 0x9C, 0xE1, 0xAF, 0x54, 0x35, 0x11, - 0xEB, 0x3E, 0x98, 0x2D, 0xA2, 0x69, 0x6E, 0x1D, 0xA5, 0x50, 0x7A, 0x7A, - 0xAF, 0xB9, 0x49, 0xB6, 0x16, 0x00, 0x29, 0xEA, 0x0E, 0x23, 0xD5, 0xD8, - 0x56, 0x8A, 0xA5, 0x4D, 0xD2, 0x1D, 0x61, 0x00, 0xEC, 0xB2, 0xCB, 0xE8, - 0x89, 0x1C, 0x0B, 0x13, 0xE5, 0x75, 0x46, 0xE8, 0x2B, 0xC5, 0xDC, 0xE5, - 0x22, 0x03, 0x07, 0xD2, 0xC4, 0xB3, 0xA1, 0x5B, 0x9A, 0x7D, 0xAE, 0x24, - 0xBF, 0xD8, 0x15, 0x8F, 0xFC, 0x4C, 0xB5, 0x3E, 0xD5, 0x9F, 0x67, 0xFC, - 0xD4, 0x32, 0x6E, 0xCD, 0x0F, 0x62, 0xE4, 0x6F, 0xD0, 0xF0, 0x57, 0x0C, - 0x7E, 0x65, 0x09, 0x1C, 0x4B, 0x5B, 0x64, 0xBA, 0xE3, 0xF4, 0xED, 0x4F, - 0xB3, 0xFD, 0x58, 0x07, 0x2D, 0x7D, 0xD1, 0xFA, 0x71, 0x6A, 0xE3, 0x44, - 0x99, 0x8D, 0xCE, 0x07, 0x08, 0x82, 0x48, 0x48, 0x21, 0x4D, 0xAC, 0x44, - 0x1B, 0xB5, 0x7C, 0x1E, 0x67, 0x79, 0x11, 0x33, 0x9E, 0x42, 0xAC, 0x18, - 0xA3, 0x50, 0xAB, 0x09, 0xF1, 0x6B, 0xEA, 0xA0, 0xE9, 0x62, 0x96, 0x9A, - 0x7B, 0x81, 0xCD, 0x05, 0x40, 0x29, 0x0C, 0x2B, 0x42, 0x38, 0x13, 0x6C, - 0xFD, 0x28, 0x05, 0x66, 0x28, 0x08, 0xFA, 0x89, 0x24, 0x4D, 0x84, 0x08, - 0x7A, 0xB7, 0xCD, 0x5D, 0xBE, 0xD6, 0xA9, 0x26, 0x08, 0x3A, 0xC8, 0xD8, - 0x35, 0x9F, 0xF8, 0x4D, 0x36, 0x6C, 0x58, 0x89, 0x7E, 0xAB, 0x16, 0x5D, - 0xE6, 0xAF, 0x94, 0x99, 0xB9, 0x54, 0xE4, 0xD2, 0xBB, 0x8B, 0xCC, 0x5E, - 0x2A, 0xE2, 0x54, 0xFD, 0xAD, 0x47, 0xFC, 0xFA, 0x5A, 0x7E, 0x75, 0xD9, - 0x1B, 0x8C, 0xC0, 0x91, 0xA4, 0x49, 0x24, 0x11, 0x22, 0x1C, 0xB7, 0x48, - 0xB6, 0x86, 0xE8, 0xDE, 0x95, 0xA4, 0xEF, 0x40, 0x1B, 0xAD, 0x7D, 0xD1, - 0xE0, 0xBB, 0xDD, 0xEC, 0xAE, 0x45, 0x7D, 0x56, 0xE2, 0x39, 0x3E, 0x17, - 0xDE, 0x5A, 0x62, 0xE4, 0xC3, 0x12, 0xD5, 0x7C, 0x85, 0x4B, 0x3F, 0xFD, - 0xF7, 0xB8, 0x95, 0x65, 0x3A, 0x1F, 0x78, 0x92, 0x68, 0x47, 0x1F, 0x46, - 0x38, 0x86, 0x10, 0xC1, 0x6E, 0x8A, 0x5B, 0x2D, 0xA1, 0x7C, 0x1F, 0x01, - 0x84, 0xD2, 0xAD, 0x81, 0xAF, 0x40, 0xA3, 0xB9, 0xCB, 0x6C, 0x1D, 0x09, - 0x68, 0x5A, 0x58, 0xC9, 0x0C, 0xBE, 0xEB, 0x22, 0x50, 0x74, 0x6D, 0x8F, - 0x32, 0x78, 0x28, 0x15, 0xAC, 0x6B, 0xFD, 0xA0, 0x7F, 0xDB, 0xE2, 0x54, - 0x25, 0x28, 0x07, 0x55, 0x8F, 0x1B, 0x0F, 0x9C, 0x70, 0x82, 0x52, 0xDE, - 0xC6, 0xB5, 0x6F, 0x70, 0xAA, 0x5B, 0x37, 0x28, 0xE5, 0x2B, 0x96, 0x26, - 0x2B, 0x2C, 0x4D, 0x54, 0x98, 0xBE, 0x50, 0x64, 0xE4, 0xBD, 0xA5, 0x60, - 0x3B, 0xAF, 0xDE, 0x0F, 0x7E, 0x23, 0xC3, 0x5F, 0x29, 0x1A, 0xAA, 0x7C, - 0x45, 0x28, 0x66, 0x92, 0x6C, 0x0D, 0x11, 0x8A, 0x59, 0x98, 0x61, 0x93, - 0x68, 0xC2, 0x0C, 0x44, 0xAB, 0x33, 0x42, 0xB2, 0x2D, 0x46, 0xA2, 0x2D, - 0x4A, 0xC7, 0x60, 0x8C, 0x50, 0x54, 0x06, 0x42, 0x71, 0x0B, 0xDB, 0x95, - 0x52, 0x0A, 0xEC, 0x9A, 0xC7, 0xD2, 0x64, 0x8D, 0x99, 0x8B, 0x45, 0x4E, - 0xFE, 0x66, 0x81, 0xDC, 0x54, 0x0D, 0x69, 0x1A, 0x14, 0x27, 0xC7, 0x39, - 0xFD, 0x17, 0xFF, 0x8A, 0xA9, 0x37, 0x9E, 0x23, 0xB3, 0xE3, 0x20, 0x56, - 0x32, 0x8B, 0x10, 0x12, 0xB7, 0xBC, 0x4C, 0x2D, 0xBF, 0x80, 0xEF, 0x79, - 0x08, 0x21, 0x48, 0xF4, 0x6C, 0x63, 0xF8, 0xEB, 0x7F, 0x48, 0xAC, 0xAB, - 0x7F, 0xC3, 0xE8, 0x4A, 0x8D, 0xE6, 0xD3, 0x62, 0x4B, 0x01, 0x50, 0xBE, - 0x87, 0x5B, 0x2E, 0xE0, 0x96, 0x2B, 0xC4, 0xD2, 0x26, 0xDB, 0x1E, 0x4C, - 0xD1, 0xB3, 0x27, 0x89, 0xF2, 0x15, 0x95, 0x65, 0x97, 0xA5, 0xC9, 0x32, - 0x4E, 0xCD, 0x6B, 0x6C, 0xFD, 0xB5, 0xF4, 0x46, 0x99, 0x1F, 0x2D, 0x53, - 0x58, 0xA8, 0xD5, 0xE3, 0xC2, 0xAE, 0x57, 0x2E, 0x7C, 0x75, 0x9A, 0xBF, - 0x34, 0x59, 0x61, 0xEE, 0x4A, 0x89, 0x2B, 0x1F, 0xE4, 0x98, 0x3A, 0x57, - 0xA0, 0x30, 0x5F, 0x6B, 0x38, 0xF6, 0x36, 0x73, 0xEE, 0xF9, 0xEE, 0xCA, - 0x3A, 0x3E, 0x46, 0xBA, 0x33, 0x42, 0xA6, 0x3B, 0x4A, 0x4B, 0x5F, 0x94, - 0x68, 0x3A, 0x4A, 0x38, 0x16, 0x8C, 0xF6, 0x2B, 0x79, 0x09, 0x2B, 0xB3, - 0x01, 0xFF, 0x06, 0xA7, 0xF9, 0x9B, 0x5D, 0xEF, 0xF2, 0xBC, 0xCD, 0x85, - 0xB7, 0x97, 0xB8, 0xF4, 0x7E, 0x9E, 0xB9, 0xCB, 0x95, 0xC0, 0xF7, 0xB1, - 0x12, 0x61, 0x58, 0xCF, 0xA6, 0x59, 0xBA, 0x78, 0x9E, 0xC5, 0xF3, 0x67, - 0x56, 0xB7, 0xDD, 0xEA, 0xFE, 0x93, 0x46, 0x71, 0x1C, 0xC3, 0xA4, 0xF3, - 0xD8, 0xE7, 0x89, 0x75, 0xF6, 0xE9, 0x6D, 0x75, 0xCD, 0x5D, 0x65, 0x8B, - 0x38, 0x00, 0x81, 0x57, 0xAB, 0x50, 0x9A, 0x1E, 0xC5, 0xB5, 0x1D, 0x22, - 0xC9, 0x28, 0x99, 0xEE, 0x48, 0x3D, 0x76, 0x45, 0x90, 0x9B, 0xA9, 0xB0, - 0x34, 0x59, 0x09, 0x4A, 0x3B, 0x45, 0x4C, 0x76, 0x3F, 0xDE, 0xCE, 0x9E, - 0x27, 0xDA, 0xF9, 0xF0, 0x97, 0x53, 0x9C, 0x7E, 0x65, 0x76, 0xEB, 0xB6, - 0xA0, 0x32, 0x48, 0x6B, 0x2D, 0x2E, 0xD8, 0xCC, 0x5E, 0x2A, 0x31, 0x7D, - 0xBE, 0xC0, 0xD4, 0xF9, 0x02, 0x33, 0x17, 0x8B, 0xD8, 0x65, 0x2F, 0x48, - 0x6C, 0xD9, 0xA2, 0x86, 0x80, 0xF2, 0x15, 0x86, 0x25, 0xE9, 0xDC, 0x9E, - 0x60, 0xF0, 0x48, 0x1B, 0xDD, 0xBB, 0xD3, 0xB4, 0x0F, 0xC6, 0x1B, 0x5B, - 0x93, 0xC1, 0x16, 0x7E, 0x30, 0x23, 0xF1, 0xDC, 0x6B, 0xD7, 0xDA, 0xEB, - 0x3A, 0x55, 0xDF, 0xA0, 0x16, 0x08, 0x11, 0x14, 0xEC, 0x38, 0xF9, 0xE2, - 0x1C, 0x1F, 0xFE, 0x7C, 0x1E, 0xBB, 0xEA, 0x6D, 0xEC, 0x87, 0x58, 0x09, - 0xB9, 0x95, 0x46, 0xFD, 0xBF, 0xD7, 0x7E, 0x8F, 0x48, 0xA6, 0x95, 0x44, - 0xCF, 0x50, 0xE3, 0x18, 0x8D, 0xE6, 0x6E, 0xB1, 0xE5, 0x0C, 0xC0, 0xAD, - 0x94, 0x28, 0x4E, 0x5D, 0x41, 0x4A, 0x49, 0xAA, 0x2D, 0x4C, 0x6B, 0x5F, - 0x14, 0xA5, 0x14, 0xD2, 0x90, 0xE4, 0x67, 0xAB, 0x2C, 0x4E, 0x96, 0x91, - 0x52, 0x30, 0x78, 0x30, 0xCB, 0xF6, 0x87, 0x5A, 0x89, 0xB7, 0x84, 0x18, - 0x3A, 0x92, 0x65, 0xE2, 0xEC, 0x32, 0x9E, 0xED, 0xAD, 0xF3, 0x4A, 0xAF, - 0x8C, 0xF6, 0xBE, 0x17, 0x94, 0x9C, 0x9E, 0xBE, 0x50, 0x60, 0xE6, 0x7C, - 0x91, 0xC9, 0xD3, 0xCB, 0x2C, 0x4E, 0x54, 0x1A, 0xCB, 0x80, 0xEB, 0x39, - 0xF6, 0x7C, 0x4F, 0x11, 0xCF, 0x86, 0xD9, 0xFE, 0x70, 0x3B, 0xBB, 0x1F, - 0x6F, 0xA5, 0x63, 0x5B, 0x2A, 0x38, 0x6F, 0xBD, 0x32, 0xCE, 0x96, 0xD4, - 0x3F, 0xA3, 0x56, 0x76, 0xF1, 0xDC, 0x20, 0x7A, 0x31, 0x9A, 0xB4, 0x6E, - 0xA8, 0xA5, 0xB8, 0x90, 0x82, 0xD9, 0x2B, 0x65, 0x4E, 0xBD, 0x34, 0x8F, - 0x53, 0xF3, 0xD7, 0x5D, 0x67, 0x50, 0xAE, 0xDA, 0x43, 0xF9, 0x3E, 0x56, - 0x3C, 0x41, 0x38, 0x91, 0x44, 0x18, 0x81, 0xE1, 0x97, 0xE7, 0xE7, 0xF0, - 0xEC, 0x20, 0x8A, 0x72, 0xA5, 0xFD, 0x79, 0xE7, 0x83, 0x4F, 0x60, 0xC5, - 0x92, 0x77, 0xFB, 0xD9, 0x6B, 0x34, 0x9B, 0x0B, 0x80, 0x40, 0xE0, 0xBB, - 0x36, 0xF6, 0xF2, 0x12, 0x56, 0xC4, 0xA0, 0xA5, 0x2F, 0x46, 0x3C, 0x1B, - 0xC2, 0x73, 0x82, 0xF2, 0x53, 0xC5, 0x45, 0x9B, 0x6A, 0xD1, 0xA3, 0x6F, - 0x6F, 0x9A, 0x7D, 0x9F, 0x6F, 0x27, 0xD5, 0x11, 0xC6, 0x73, 0x7C, 0xDA, - 0x87, 0xE2, 0xA4, 0x3B, 0xC2, 0x54, 0x96, 0x5D, 0xCC, 0x7A, 0xA1, 0x08, - 0xC3, 0x14, 0x94, 0x72, 0x0E, 0x73, 0x97, 0xCB, 0x4C, 0x9E, 0x5D, 0x66, - 0xE6, 0x42, 0x91, 0xE9, 0xF3, 0x05, 0xAA, 0xC5, 0xA0, 0x1B, 0xCC, 0x8D, - 0x6E, 0x15, 0x2A, 0x05, 0xD9, 0x9E, 0x18, 0x07, 0xBF, 0xD2, 0xCB, 0xCE, - 0x47, 0xDB, 0x89, 0xA6, 0xCC, 0x20, 0xBB, 0xEE, 0x46, 0xA6, 0xF4, 0xF5, - 0x4E, 0xB7, 0x53, 0x67, 0x72, 0xCC, 0x5E, 0x2C, 0xE2, 0xD4, 0x7C, 0x84, - 0x80, 0x6C, 0x5F, 0x8C, 0xFE, 0x03, 0x69, 0x62, 0x29, 0x6B, 0x4B, 0x11, - 0x10, 0x42, 0xE1, 0xD8, 0x16, 0xD5, 0x6A, 0x0C, 0x44, 0xA1, 0x1E, 0x08, - 0xE4, 0x21, 0x0D, 0x83, 0x64, 0xDF, 0x10, 0xA9, 0xC1, 0x9D, 0xC4, 0xBB, - 0x06, 0x89, 0x75, 0xF4, 0x10, 0xAA, 0x0B, 0x80, 0x00, 0x4A, 0x73, 0xB3, - 0xD4, 0x96, 0xE6, 0xA8, 0xCC, 0x4F, 0x52, 0x5B, 0x5E, 0xC4, 0x8A, 0x27, - 0xD9, 0xF6, 0x5B, 0x7F, 0x84, 0x11, 0x89, 0xDE, 0xED, 0x67, 0xAF, 0xD1, - 0x5C, 0x2F, 0x0E, 0x20, 0x58, 0xC9, 0x1B, 0x96, 0x24, 0x94, 0x30, 0x1B, - 0x31, 0xFF, 0x95, 0x92, 0x4B, 0x71, 0xD1, 0x26, 0xD3, 0x19, 0x61, 0xFF, - 0xE7, 0x3B, 0xE8, 0x18, 0x4A, 0x34, 0x1C, 0x6A, 0x56, 0x44, 0xD2, 0xBD, - 0x33, 0xC5, 0xF2, 0x6C, 0x0D, 0xC3, 0x92, 0x08, 0x01, 0x67, 0x5F, 0x5B, - 0xE0, 0xCA, 0xF1, 0x25, 0xE6, 0x46, 0xCA, 0xCC, 0x5D, 0x29, 0xA1, 0x3C, - 0x85, 0xB8, 0x8E, 0x37, 0xDF, 0xAF, 0x8F, 0xCA, 0x52, 0xAE, 0xCE, 0x1C, - 0x32, 0x5D, 0x51, 0x1E, 0xFA, 0xED, 0x01, 0xB6, 0x1F, 0x6B, 0xC3, 0xB0, - 0xE4, 0xBA, 0xFD, 0xF9, 0xEB, 0x61, 0x57, 0x3C, 0xCE, 0xBD, 0x3E, 0xCB, - 0xC8, 0xBB, 0x4B, 0x14, 0x66, 0x6B, 0xA8, 0x7A, 0x16, 0x6D, 0x28, 0x96, - 0x67, 0x71, 0xBC, 0xCC, 0x9E, 0xA7, 0xDA, 0xC8, 0x74, 0xC5, 0x36, 0xFD, - 0x7D, 0x5F, 0x99, 0x64, 0x76, 0x1E, 0xA3, 0xEF, 0xC9, 0x0A, 0x97, 0x9F, - 0xFB, 0x6B, 0xCC, 0x48, 0x98, 0xF6, 0x3D, 0xC7, 0x68, 0x3B, 0xF8, 0x28, - 0xD9, 0x5D, 0x07, 0x49, 0xF6, 0x6D, 0x23, 0xD6, 0xD9, 0x8F, 0x19, 0x89, - 0x35, 0xFC, 0x0D, 0x50, 0xCF, 0x53, 0xA8, 0x14, 0xA9, 0xCC, 0x4F, 0x61, - 0x17, 0x72, 0x98, 0xD1, 0x18, 0x89, 0x9E, 0xED, 0xE8, 0x52, 0x49, 0x9A, - 0x7B, 0x81, 0x1B, 0xA8, 0x08, 0xB4, 0x9A, 0x3A, 0x2B, 0x04, 0x28, 0x21, - 0xA8, 0x16, 0x5D, 0x0C, 0xCB, 0x60, 0xFF, 0xE7, 0x3B, 0xE9, 0x3F, 0x90, - 0x46, 0x1A, 0x6B, 0x22, 0x4E, 0x3D, 0xC5, 0xC0, 0x81, 0x34, 0x4B, 0x93, - 0x55, 0xCC, 0xB0, 0x41, 0x71, 0xD1, 0xE6, 0xC3, 0x9F, 0x4F, 0x31, 0x79, - 0x26, 0x68, 0xF9, 0x2C, 0x0D, 0x81, 0xD8, 0x68, 0xC4, 0xAF, 0x3B, 0xE8, - 0xF0, 0x83, 0xC4, 0x99, 0xAE, 0xDD, 0x49, 0xE2, 0x19, 0x8B, 0xD9, 0x4B, - 0x25, 0xE6, 0x2F, 0x97, 0x88, 0x65, 0xC3, 0xEC, 0xFF, 0x62, 0x6F, 0x60, - 0xFC, 0xA6, 0xB8, 0x29, 0x0F, 0xBE, 0xF2, 0xE1, 0xE2, 0x3B, 0xF3, 0x9C, - 0x7D, 0x79, 0x96, 0x5A, 0xC9, 0x6F, 0xF8, 0x20, 0x00, 0xDC, 0xAA, 0xC7, - 0xC8, 0x3B, 0x8B, 0xB8, 0x55, 0x97, 0x87, 0xBE, 0xD3, 0x4F, 0x24, 0xBE, - 0x41, 0xA2, 0x8C, 0x72, 0xB1, 0x55, 0x0F, 0xA2, 0xFF, 0xB7, 0xD9, 0xF5, - 0xDD, 0x04, 0xD9, 0x5D, 0x07, 0x31, 0x43, 0x16, 0xE9, 0x6D, 0x7B, 0x49, - 0x0F, 0xEF, 0xC3, 0x88, 0xC4, 0xEA, 0xC1, 0x3F, 0x3E, 0x9E, 0x5D, 0xBB, - 0xF6, 0x16, 0x9A, 0x21, 0xE2, 0xDD, 0x43, 0xC4, 0x7B, 0xA4, 0x8E, 0xD2, - 0xD3, 0xDC, 0x53, 0x5C, 0x47, 0x00, 0x14, 0x02, 0x85, 0xE7, 0x42, 0x69, - 0x49, 0x61, 0x57, 0x7C, 0xCC, 0xB0, 0xC4, 0x30, 0x05, 0x43, 0x87, 0x33, - 0xB4, 0x0D, 0xC4, 0x08, 0xC5, 0xCC, 0x75, 0xC6, 0xA8, 0x14, 0x24, 0x5A, - 0xC3, 0x84, 0xE3, 0x26, 0x66, 0x58, 0xB2, 0x30, 0x56, 0xA6, 0x5A, 0x70, - 0xD6, 0x35, 0x02, 0x5D, 0x7B, 0xAC, 0xF2, 0x83, 0xD1, 0xD2, 0x8A, 0x18, - 0x74, 0x0D, 0x27, 0xE8, 0xDC, 0x1E, 0x0F, 0x1A, 0x5E, 0xF4, 0x47, 0x89, - 0x26, 0x2D, 0xAE, 0x7C, 0xB8, 0xC4, 0xDB, 0xDF, 0x1F, 0xA7, 0xFF, 0x40, - 0x0B, 0x7B, 0x9E, 0xEA, 0x08, 0x8C, 0xFF, 0x26, 0x9C, 0xF8, 0x42, 0x0A, - 0x46, 0x3F, 0x5A, 0xE0, 0xC2, 0x1B, 0x0B, 0xD8, 0x65, 0xB5, 0x2E, 0x4F, - 0xBE, 0x11, 0x20, 0xE4, 0xC3, 0xD8, 0x89, 0x65, 0x62, 0x2D, 0x73, 0x3C, - 0xF0, 0xF5, 0x9E, 0xF5, 0xE9, 0xB9, 0xC2, 0xC0, 0x09, 0x1D, 0x64, 0x39, - 0xFC, 0x2D, 0x6C, 0x73, 0x3F, 0xE9, 0xE1, 0x08, 0xD9, 0x1D, 0xFB, 0x03, - 0x27, 0x63, 0x7D, 0xED, 0xEF, 0x3B, 0xF6, 0x75, 0x6E, 0xE3, 0x4A, 0xE9, - 0x34, 0x1D, 0xFC, 0xA3, 0xB9, 0xB7, 0xD8, 0x54, 0x00, 0x14, 0x0A, 0x69, - 0x58, 0x58, 0xF1, 0x14, 0x42, 0x1A, 0x2C, 0x4E, 0x7B, 0x8C, 0x9F, 0x2E, - 0x33, 0x7C, 0x34, 0x41, 0x3C, 0x63, 0x11, 0xCF, 0x58, 0x41, 0x48, 0xF0, - 0x06, 0x23, 0xB1, 0x10, 0x10, 0xAA, 0x6F, 0xBF, 0xC5, 0x33, 0xA1, 0x75, - 0x6B, 0xFC, 0x15, 0x87, 0x9B, 0x52, 0x10, 0x4D, 0x9B, 0x74, 0x0C, 0x05, - 0x29, 0xBA, 0x5D, 0x3B, 0x12, 0xA4, 0x3A, 0x22, 0xA4, 0x3B, 0xC3, 0xC4, - 0x33, 0x56, 0x63, 0x8A, 0xDE, 0x7F, 0x30, 0x8D, 0x5D, 0x51, 0x74, 0xEF, - 0xCC, 0x10, 0x4D, 0x9A, 0x37, 0xBD, 0x85, 0x57, 0x29, 0x38, 0x5C, 0x78, - 0x73, 0x81, 0xE2, 0xBC, 0x1D, 0x9C, 0x93, 0x55, 0x87, 0x5F, 0xB2, 0x23, - 0x4C, 0xA2, 0xC5, 0x24, 0x96, 0x0E, 0x11, 0x4D, 0x87, 0x69, 0xED, 0x8F, - 0xAF, 0xD9, 0x95, 0xF3, 0x41, 0x84, 0xA9, 0x46, 0x1F, 0xA5, 0x18, 0xF9, - 0x16, 0x8E, 0xB1, 0x2D, 0xF8, 0x5D, 0xDF, 0xC3, 0xD3, 0x23, 0xB8, 0xE6, - 0x3E, 0x61, 0xCB, 0x19, 0x80, 0x11, 0x0A, 0x13, 0x6D, 0xEB, 0x42, 0x5A, - 0x06, 0x85, 0x79, 0x87, 0x91, 0x0F, 0x8B, 0x74, 0xEF, 0x08, 0x46, 0xF7, - 0xEB, 0x76, 0xED, 0xAD, 0xFF, 0x55, 0x2C, 0x6D, 0xD1, 0xB7, 0x3F, 0x4D, - 0x6E, 0xAA, 0x8A, 0xF2, 0xA1, 0x63, 0x7B, 0x82, 0xD6, 0xFE, 0x28, 0xAD, - 0x03, 0x71, 0xD2, 0x9D, 0x61, 0x92, 0x6D, 0x61, 0xE2, 0xD9, 0x50, 0x50, - 0x44, 0xB4, 0x7E, 0x4E, 0x6F, 0xCD, 0xDA, 0x3E, 0x96, 0x0E, 0xB1, 0xFB, - 0x89, 0x76, 0xAC, 0x48, 0xE8, 0xA6, 0x8D, 0x5F, 0x48, 0xC1, 0xD9, 0xD7, - 0xE6, 0x99, 0xBB, 0x5C, 0xC6, 0x8A, 0x4A, 0x92, 0xED, 0x16, 0xB1, 0x6C, - 0x8C, 0x54, 0x6B, 0x88, 0x74, 0x47, 0x84, 0x68, 0xDA, 0x24, 0x1C, 0x37, - 0xEA, 0x19, 0x80, 0x26, 0xE1, 0x58, 0x3D, 0xC3, 0x11, 0x85, 0x67, 0x75, - 0x51, 0x0C, 0x7F, 0x95, 0x5A, 0xF8, 0x61, 0x1C, 0xD9, 0x8B, 0xC0, 0xBD, - 0xA9, 0xCF, 0xD6, 0x68, 0x3E, 0x0B, 0x6C, 0x19, 0x0A, 0x6C, 0xC6, 0x12, - 0x24, 0xFB, 0x77, 0x21, 0x0D, 0x13, 0xCF, 0x83, 0xA5, 0x29, 0x87, 0x85, - 0x71, 0x9B, 0xDE, 0x3D, 0xD6, 0x8D, 0x67, 0xF9, 0x09, 0x38, 0xF2, 0xB5, - 0x6E, 0x06, 0x0E, 0x06, 0x25, 0xA5, 0xE3, 0xD9, 0x10, 0xB1, 0x94, 0x45, - 0x2C, 0x6D, 0x61, 0x86, 0x65, 0x23, 0x7C, 0x77, 0x33, 0x87, 0x9E, 0x61, - 0x09, 0xA2, 0x69, 0x13, 0xDF, 0x15, 0xAB, 0x3D, 0xE6, 0xD4, 0x6A, 0xE5, - 0xDA, 0x2D, 0x51, 0x8A, 0xD6, 0x81, 0x38, 0x8F, 0xFE, 0xC1, 0x20, 0xA1, - 0x98, 0x41, 0x38, 0x26, 0xB1, 0x22, 0x16, 0xE1, 0xB8, 0x41, 0x24, 0x66, - 0x36, 0x6A, 0xFA, 0xAD, 0x04, 0xEC, 0xF8, 0x9E, 0x07, 0xC2, 0xA2, 0x1A, - 0x39, 0x46, 0x29, 0xFC, 0x65, 0x6C, 0x73, 0x37, 0x4A, 0x44, 0xB5, 0xF1, - 0x6B, 0xEE, 0x5B, 0xB6, 0x0E, 0x05, 0x36, 0x2C, 0xC2, 0xD9, 0x4E, 0xC2, - 0x99, 0x4E, 0xEC, 0xE2, 0x12, 0x95, 0xA2, 0x47, 0x7E, 0xCE, 0xA1, 0x77, - 0xEF, 0x4D, 0x7C, 0x82, 0x22, 0x88, 0xD2, 0xEB, 0x8A, 0xD4, 0xAB, 0x6B, - 0xD6, 0x13, 0x0C, 0x6F, 0x20, 0x22, 0x4F, 0x08, 0xB0, 0x2B, 0x3E, 0xA3, - 0x27, 0x8A, 0x4C, 0x9E, 0xAB, 0x60, 0x97, 0x3D, 0x96, 0xE7, 0x6D, 0x42, - 0x51, 0xD8, 0xF1, 0x70, 0x86, 0xED, 0x0F, 0xB5, 0x6C, 0xFD, 0xD1, 0x0A, - 0x7A, 0x76, 0x25, 0x30, 0x4C, 0xD9, 0xE8, 0x75, 0xB7, 0x32, 0xFF, 0xF7, - 0x1B, 0xE2, 0x51, 0x57, 0x00, 0x61, 0x62, 0x47, 0x1F, 0xA2, 0x6C, 0x3D, - 0x86, 0x63, 0xED, 0xC6, 0x95, 0x5D, 0xF5, 0xBF, 0xD7, 0xEB, 0x76, 0xCD, - 0xFD, 0xCB, 0x75, 0x6A, 0x02, 0xFA, 0x84, 0x92, 0x59, 0xD2, 0x3B, 0x0E, - 0x32, 0xFB, 0xC1, 0x8B, 0xF8, 0x9E, 0x11, 0x74, 0x8D, 0xBD, 0xC9, 0x1D, - 0x2C, 0xE5, 0xDF, 0x42, 0xA2, 0xAA, 0x00, 0xA7, 0xEA, 0x73, 0xEE, 0x8D, - 0x65, 0xDE, 0xFE, 0xE1, 0x2C, 0x95, 0xA2, 0x8B, 0xEF, 0x2A, 0xEC, 0xAA, - 0x8F, 0x10, 0x0A, 0xA5, 0x04, 0xED, 0x83, 0x09, 0xD2, 0x9D, 0xE1, 0x2D, - 0x67, 0x02, 0x41, 0x8E, 0x81, 0xBF, 0x41, 0xAA, 0x6C, 0xBD, 0xD6, 0x5D, - 0xA8, 0x8F, 0x9A, 0xB9, 0x9B, 0x9A, 0x79, 0x10, 0xC7, 0xDA, 0x81, 0x2B, - 0xDB, 0x01, 0x0B, 0x6D, 0xF8, 0x9A, 0x66, 0xE0, 0x3A, 0xB9, 0x00, 0x8A, - 0x48, 0x6B, 0x17, 0x1D, 0x0F, 0x3C, 0xCD, 0xDC, 0xF1, 0x97, 0xD9, 0xA8, - 0x70, 0xC5, 0x86, 0x95, 0xA6, 0xAE, 0x57, 0x8E, 0xFB, 0x06, 0xF0, 0x5D, - 0x18, 0x3F, 0x5D, 0xE1, 0x9D, 0x1F, 0xCF, 0x92, 0x9B, 0xAD, 0x21, 0xEB, - 0xA5, 0xB7, 0x0C, 0x53, 0xE0, 0x7B, 0x50, 0x58, 0xA8, 0x52, 0x5A, 0xAA, - 0x90, 0xE9, 0x0A, 0x6F, 0xF0, 0x31, 0xAB, 0x85, 0x36, 0x94, 0xD5, 0x89, - 0x6B, 0xF6, 0xE0, 0x89, 0x16, 0x3C, 0x91, 0xC6, 0x25, 0x05, 0x48, 0x40, - 0xE0, 0x99, 0xDD, 0xF8, 0x46, 0x2B, 0xBE, 0x48, 0xE1, 0xC9, 0x14, 0xAB, - 0x86, 0xAF, 0x8D, 0x5F, 0xD3, 0x1C, 0x5C, 0x77, 0x1B, 0x50, 0x5A, 0x21, - 0x3A, 0x8E, 0x7E, 0x81, 0xCA, 0xFC, 0x14, 0x33, 0xAF, 0xFD, 0x05, 0x2B, - 0x56, 0x2D, 0xA4, 0x60, 0x61, 0xAC, 0xCC, 0xF4, 0x85, 0x22, 0x2D, 0x3D, - 0x51, 0x3A, 0x86, 0xE3, 0x20, 0xA1, 0x30, 0x57, 0xC3, 0xAE, 0x04, 0x5E, - 0xF2, 0x48, 0x32, 0xD8, 0x2D, 0xB8, 0x95, 0x82, 0x1D, 0x33, 0x17, 0xCA, - 0xBC, 0xF2, 0xE7, 0x53, 0xE4, 0x67, 0xED, 0x6B, 0xCA, 0x8D, 0x0B, 0x01, - 0xD5, 0x82, 0x4B, 0x79, 0xD9, 0x41, 0x88, 0xB5, 0x15, 0x75, 0x14, 0x18, - 0x51, 0x5C, 0x6B, 0x88, 0x8A, 0x71, 0x08, 0xC7, 0xDC, 0x8E, 0x6F, 0xB4, - 0xA1, 0x44, 0x14, 0x85, 0x85, 0x12, 0x26, 0x8A, 0x95, 0x7D, 0x7E, 0x81, - 0x12, 0x61, 0x02, 0x31, 0x58, 0x39, 0x87, 0x36, 0x7C, 0x4D, 0x73, 0x71, - 0x03, 0x15, 0x81, 0x14, 0xA1, 0x54, 0x0B, 0xC3, 0x5F, 0xFF, 0xBB, 0xB4, - 0xED, 0xD9, 0x4D, 0xD2, 0xFE, 0x3E, 0xCA, 0x9F, 0x41, 0x08, 0x89, 0x5D, - 0xF1, 0xB8, 0xF0, 0xE6, 0x02, 0x4B, 0x13, 0x15, 0xC2, 0x71, 0x23, 0x08, - 0xB7, 0xB5, 0x57, 0xD3, 0x6C, 0x85, 0x14, 0xF4, 0xEF, 0x4F, 0x73, 0xE4, - 0xEB, 0xDD, 0x41, 0x11, 0x91, 0x1B, 0xD4, 0x81, 0xA5, 0xC9, 0x2A, 0xAF, - 0xFD, 0xF5, 0x24, 0x8B, 0x93, 0xD5, 0x0D, 0x2E, 0x47, 0x11, 0xC9, 0x66, - 0xE8, 0x78, 0xE4, 0x2B, 0xC8, 0x3D, 0x4F, 0xB2, 0x1C, 0x2D, 0xE1, 0xFB, - 0x02, 0x4F, 0xA4, 0xF1, 0x8D, 0x6C, 0xDD, 0xE0, 0x63, 0x78, 0x22, 0x51, - 0xEF, 0x4E, 0xB3, 0x55, 0xC2, 0x8D, 0x36, 0x7A, 0x4D, 0x73, 0x73, 0x83, - 0xED, 0xC1, 0xC1, 0x8C, 0xA7, 0xC8, 0xEC, 0x7B, 0x86, 0x58, 0xB9, 0x86, - 0xE7, 0xFD, 0x7F, 0x18, 0x46, 0x10, 0xF1, 0xE6, 0x54, 0x3D, 0x72, 0x33, - 0xD5, 0x46, 0x5F, 0xB9, 0xAB, 0x53, 0xED, 0x8A, 0x0B, 0x35, 0x16, 0x27, - 0x2B, 0x7C, 0xF1, 0x1F, 0x6D, 0x23, 0xDD, 0x11, 0xDE, 0x32, 0x88, 0xC7, - 0x77, 0x15, 0x93, 0xE7, 0x2B, 0xBC, 0xF6, 0x57, 0x93, 0xCC, 0x5E, 0xBC, - 0xD6, 0xF8, 0x65, 0x28, 0x4C, 0xDB, 0xFE, 0xA3, 0xEC, 0xF8, 0xE6, 0x1F, - 0xD3, 0xB2, 0xEF, 0x61, 0xAC, 0x58, 0x8C, 0xA2, 0x74, 0xEB, 0x6D, 0x2C, - 0x0C, 0x94, 0x30, 0x59, 0x6F, 0xF0, 0x9F, 0xBC, 0xDE, 0x9E, 0x46, 0x73, - 0x3F, 0x73, 0xC3, 0x02, 0x80, 0xF2, 0x11, 0x32, 0x8C, 0x13, 0x7B, 0x90, - 0x4A, 0xE5, 0x14, 0x09, 0xFF, 0x75, 0xA2, 0x29, 0x8B, 0x68, 0xCA, 0x0A, - 0x32, 0x06, 0x36, 0xCA, 0xD9, 0x17, 0x02, 0xD7, 0xF6, 0x99, 0x3C, 0xB3, - 0xCC, 0xD9, 0xD7, 0x16, 0x38, 0xFC, 0x6C, 0x4F, 0x10, 0x20, 0x74, 0x95, - 0x4D, 0xFA, 0xBE, 0x62, 0xFE, 0x4A, 0x95, 0x73, 0xAF, 0x2F, 0x70, 0xF6, - 0xF5, 0x65, 0x4A, 0x79, 0x87, 0xB5, 0x15, 0xB3, 0x8C, 0x50, 0x98, 0x96, - 0xBD, 0x47, 0xD8, 0xF1, 0xCD, 0x3F, 0xA2, 0x65, 0xEF, 0xC3, 0x58, 0x89, - 0x14, 0xD2, 0x0A, 0x05, 0x8D, 0x4B, 0x08, 0xB3, 0xFE, 0x84, 0xDA, 0xE0, - 0x35, 0x9A, 0x1B, 0xE5, 0xC6, 0x05, 0x00, 0x00, 0x1F, 0x57, 0xF6, 0x50, - 0x0A, 0x3F, 0x8B, 0x55, 0x9B, 0x25, 0x9E, 0xB9, 0x40, 0x3C, 0x1B, 0x6E, - 0x14, 0xBC, 0xD8, 0x6C, 0x78, 0x57, 0x9E, 0xCF, 0x7C, 0xE5, 0x09, 0xA6, - 0xA2, 0x7F, 0x46, 0x28, 0x99, 0xB9, 0xEA, 0xB8, 0x20, 0x59, 0xE6, 0xE4, - 0x9B, 0xFF, 0x2B, 0x23, 0x2F, 0x5C, 0xC2, 0x2E, 0xBB, 0xF5, 0x1C, 0x24, - 0x81, 0x34, 0x0C, 0x52, 0xFD, 0x83, 0x0C, 0x7D, 0xED, 0x7B, 0x74, 0x3F, - 0xF2, 0x15, 0xC2, 0x99, 0xB6, 0x86, 0xE1, 0xAF, 0x9E, 0x43, 0x1B, 0xBC, - 0x46, 0x73, 0xAB, 0xDC, 0xA4, 0x00, 0x04, 0x54, 0xCD, 0xC3, 0xE4, 0x95, - 0x43, 0xD2, 0x78, 0x9E, 0x96, 0x3D, 0x5D, 0x74, 0x4E, 0xCF, 0xE2, 0xD9, - 0x35, 0xCA, 0x73, 0x13, 0x38, 0xC5, 0x20, 0xE9, 0xA7, 0x11, 0x28, 0xA4, - 0x7C, 0x94, 0x52, 0x18, 0xF1, 0x0E, 0x3C, 0xB3, 0x13, 0x57, 0xA6, 0xAF, - 0xB1, 0x59, 0x15, 0x6D, 0xA3, 0xF7, 0x2B, 0xFF, 0x88, 0x99, 0x93, 0x23, - 0xB8, 0x63, 0x97, 0x10, 0x12, 0x12, 0xDD, 0xBD, 0x0C, 0x7D, 0xF5, 0x6F, - 0xD1, 0xF3, 0xE8, 0xB3, 0x84, 0xD2, 0x2D, 0x18, 0xA1, 0x7A, 0x25, 0x5E, - 0x5D, 0xDF, 0x5E, 0xA3, 0xB9, 0x6D, 0x88, 0xBF, 0x1C, 0xAB, 0xAA, 0xE7, - 0x66, 0x6D, 0x6E, 0x22, 0xB3, 0x36, 0xF8, 0x45, 0x5C, 0x84, 0xB2, 0xF1, - 0x1C, 0xAF, 0x5E, 0x88, 0x23, 0x88, 0x93, 0x57, 0x0A, 0x9C, 0xE5, 0x05, - 0xCA, 0x73, 0x53, 0xF8, 0xAE, 0x4D, 0x61, 0xFC, 0x02, 0x6E, 0xB9, 0x48, - 0xDF, 0xE7, 0xBE, 0x4D, 0xA2, 0x6F, 0xC7, 0x86, 0x15, 0x72, 0x20, 0x28, - 0xAA, 0x51, 0xCB, 0xCD, 0x93, 0xBB, 0xF0, 0x11, 0x46, 0x38, 0x4A, 0x7A, - 0xDB, 0x7E, 0x8C, 0x70, 0x14, 0x23, 0x14, 0xBE, 0xDB, 0xF7, 0x48, 0xA3, - 0xB9, 0x6F, 0xB9, 0x65, 0x01, 0xD8, 0x12, 0x15, 0x64, 0xCA, 0xAD, 0x8A, - 0x82, 0x42, 0x9A, 0xA1, 0x4D, 0x8D, 0x7F, 0xDD, 0xAF, 0x7A, 0x6E, 0x50, - 0x39, 0x47, 0x97, 0xCB, 0xD2, 0x68, 0xEE, 0x38, 0xB7, 0xB4, 0x04, 0xB8, - 0x2E, 0x42, 0x20, 0x8C, 0x7A, 0x4D, 0x3C, 0xE3, 0xE6, 0x3E, 0xE2, 0x66, - 0x8F, 0xD7, 0x68, 0x34, 0xB7, 0x8E, 0xAE, 0x49, 0xAD, 0xD1, 0x34, 0x31, - 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, - 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, - 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, - 0x8D, 0xA6, 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, - 0x9A, 0x26, 0x46, 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, - 0x9A, 0x18, 0x2D, 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, - 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, - 0xD1, 0x02, 0xA0, 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, - 0x0B, 0x80, 0x46, 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, - 0x00, 0x1A, 0x4D, 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, - 0x68, 0x34, 0x4D, 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, 0xA0, - 0xD1, 0x34, 0x31, 0x5A, 0x00, 0x34, 0x9A, 0x26, 0x46, 0x0B, 0x80, 0x46, - 0xD3, 0xC4, 0x68, 0x01, 0xD0, 0x68, 0x9A, 0x18, 0x2D, 0x00, 0x1A, 0x4D, - 0x13, 0xA3, 0x05, 0x40, 0xA3, 0x69, 0x62, 0xB4, 0x00, 0x68, 0x34, 0x4D, - 0x8C, 0x16, 0x00, 0x8D, 0xA6, 0x89, 0xD1, 0x02, 0xA0, 0xD1, 0x68, 0x34, - 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, - 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, - 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, - 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, - 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, - 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, - 0x46, 0xA3, 0xD1, 0x68, 0x34, 0x1A, 0x8D, 0x46, 0xA3, 0xD1, 0x68, 0x34, - 0x1A, 0xCD, 0xED, 0xE4, 0xFF, 0x07, 0xBD, 0x5B, 0xCF, 0x15, 0x8D, 0x7D, - 0x6A, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, - 0x60, 0x82, -} diff --git a/src/win/icon.ico b/src/win/icon.ico deleted file mode 100644 index 61da00924c34e0870905c32075012e5504c33c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36278 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 TP-lsM3z!}~)YGieu!;O1LZj?K diff --git a/src/win/icon.rc b/src/win/icon.rc deleted file mode 100644 index b20115c0..00000000 --- a/src/win/icon.rc +++ /dev/null @@ -1 +0,0 @@ -IDI_ICON1 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/src/win/icon_windows_386.syso b/src/win/icon_windows_386.syso deleted file mode 100644 index 5289d69e5a9ab512055d2777d48c29fc2ab95f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36790 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 AZU6uP diff --git a/src/win/icon_windows_amd64.syso b/src/win/icon_windows_amd64.syso deleted file mode 100644 index 72330be138130f538f02e55d57dfb6637e98540b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36790 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 1 { - cli.Run() - return - } - - var isWorking bool - app := widgets.NewQApplication(len(os.Args), os.Args) - - window := widgets.NewQMainWindow(nil, 0) - if runtime.GOOS == "windows" { - window.SetFixedSize2(300, 150) - window.SetWindowTitle("croc " + Version) - } else { - window.SetFixedSize2(400, 150) - window.SetWindowTitle("🐊📦 croc " + Version) - } - - widget := widgets.NewQWidget(nil, 0) - widget.SetLayout(widgets.NewQVBoxLayout()) - window.SetCentralWidget(widget) - - labels := make([]*CustomLabel, 3) - for i := range labels { - label := NewCustomLabel(nil, 0) - label.SetAlignment(core.Qt__AlignCenter) - widget.Layout().AddWidget(label) - labels[i] = label - } - labels[0].SetText("secure data transfer") - labels[1].SetText("Click 'Send' or 'Receive' to start") - - button := widgets.NewQPushButton2("Send", nil) - button.ConnectClicked(func(bool) { - if isWorking { - dialog("Can only do one send or receive at a time") - return - } - isWorking = true - - var fileDialog = widgets.NewQFileDialog2(window, "Open file to send...", "", "") - fileDialog.SetAcceptMode(widgets.QFileDialog__AcceptOpen) - fileDialog.SetFileMode(widgets.QFileDialog__AnyFile) - if fileDialog.Exec() != int(widgets.QDialog__Accepted) { - isWorking = false - return - } - var fn = fileDialog.SelectedFiles()[0] - if len(fn) == 0 { - dialog(fmt.Sprintf("No file selected")) - isWorking = false - return - } - - go func() { - cr := croc.Init(false) - done := make(chan bool) - codePhrase := utils.GetRandomName() - _, fname := filepath.Split(fn) - labels[0].UpdateTextFromGoroutine(fmt.Sprintf("Sending '%s'", fname)) - labels[1].UpdateTextFromGoroutine(fmt.Sprintf("Code phrase: %s", codePhrase)) - - go func(done chan bool) { - for { - if cr.OtherIP != "" && cr.FileInfo.SentName != "" { - bytesString := humanize.Bytes(uint64(cr.FileInfo.Size)) - fileOrFolder := "file" - if cr.FileInfo.IsDir { - fileOrFolder = "folder" - } - labels[0].UpdateTextFromGoroutine(fmt.Sprintf("Sending %s %s '%s' to %s", bytesString, fileOrFolder, cr.FileInfo.SentName, cr.OtherIP)) - } - if cr.Bar != nil { - barState := cr.Bar.State() - labels[1].UpdateTextFromGoroutine(fmt.Sprintf("%2.1f%% [%2.0fs:%2.0fs]", barState.CurrentPercent*100, barState.SecondsSince, barState.SecondsLeft)) - } - labels[2].UpdateTextFromGoroutine(cr.StateString) - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].UpdateTextFromGoroutine(cr.StateString) - return - default: - continue - } - } - }(done) - - cr.Send(fn, codePhrase) - done <- true - isWorking = false - }() - }) - widget.Layout().AddWidget(button) - - receiveButton := widgets.NewQPushButton2("Receive", nil) - receiveButton.ConnectClicked(func(bool) { - if isWorking { - dialog("Can only do one send or receive at a time") - return - } - labels[1].SetText("") - labels[2].SetText("please wait...") - isWorking = true - defer func() { - isWorking = false - }() - - // determine the folder to save the file - var folderDialog = widgets.NewQFileDialog2(window, "Open folder to receive file...", "", "") - folderDialog.SetAcceptMode(widgets.QFileDialog__AcceptOpen) - folderDialog.SetFileMode(widgets.QFileDialog__DirectoryOnly) - if folderDialog.Exec() != int(widgets.QDialog__Accepted) { - return - } - var fn = folderDialog.SelectedFiles()[0] - if len(fn) == 0 { - labels[2].SetText(fmt.Sprintf("No folder selected")) - return - } - - var codePhrase = widgets.QInputDialog_GetText(window, "croc", "Enter code phrase:", - widgets.QLineEdit__Normal, "", true, core.Qt__Dialog, core.Qt__ImhNone) - if len(codePhrase) < 3 { - labels[2].SetText(fmt.Sprintf("Invalid codephrase: '%s'", codePhrase)) - return - } - - cr := croc.Init(false) - cr.WindowRecipientPrompt = true - - done := make(chan bool) - go func() { - // change into the receiving directory - cwd, _ := os.Getwd() - defer os.Chdir(cwd) - os.Chdir(fn) - err := cr.Receive(codePhrase) - if err == nil { - open.Run(fn) - } - done <- true - done <- true - isWorking = false - }() - go func() { - for { - if cr.Bar != nil { - barState := cr.Bar.State() - labels[1].UpdateTextFromGoroutine(fmt.Sprintf("%2.1f%% [%2.0fs:%2.0fs]", barState.CurrentPercent*100, barState.SecondsSince, barState.SecondsLeft)) - } - if cr.StateString != "" { - labels[2].UpdateTextFromGoroutine(cr.StateString) - } - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].UpdateTextFromGoroutine(cr.StateString) - return - default: - continue - } - } - }() - - for { - if cr.WindowReceivingString != "" { - var question = widgets.QMessageBox_Question(window, "croc", fmt.Sprintf("%s?", cr.WindowReceivingString), widgets.QMessageBox__Yes|widgets.QMessageBox__No, 0) - if question == widgets.QMessageBox__Yes { - cr.WindowRecipientAccept = true - labels[0].SetText(cr.WindowReceivingString) - } else { - cr.WindowRecipientAccept = false - labels[2].SetText("canceled") - } - cr.WindowRecipientPrompt = false - cr.WindowReceivingString = "" - break - } - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].SetText(cr.StateString) - return - default: - continue - } - } - - }) - widget.Layout().AddWidget(receiveButton) - - window.Show() - app.Exec() -} - -func dialog(s string) { - var info = widgets.NewQMessageBox(nil) - info.SetWindowTitle("Info") - info.SetText(s) - info.Exec() -} diff --git a/src/win/main_windows.go b/src/win/main_windows.go deleted file mode 100644 index 1e9e584b..00000000 --- a/src/win/main_windows.go +++ /dev/null @@ -1,250 +0,0 @@ -package main - -import ( - "fmt" - "os" - "path/filepath" - "runtime" - "time" - - humanize "github.com/dustin/go-humanize" - "github.com/gonutz/w32" - "github.com/gonutz/wui" - "github.com/schollz/croc/src/cli" - "github.com/schollz/croc/src/croc" - "github.com/schollz/croc/src/utils" - "github.com/skratchdot/open-golang/open" -) - -var Version string - -func main() { - if len(os.Args) > 1 { - cli.Run() - return - } - - var isWorking bool - - font, _ := wui.NewFont(wui.FontDesc{ - Name: "Tahoma", - Height: -11, - }) - - window := wui.NewWindow() - window.SetFont(font) - window.SetIconFromMem(icon) - window.SetStyle(w32.WS_OVERLAPPED | w32.WS_CAPTION | w32.WS_SYSMENU | w32.WS_MINIMIZEBOX) - if runtime.GOOS == "windows" { - window.SetClientSize(300, 150) - window.SetTitle("croc " + Version) - } else { - window.SetClientSize(400, 150) - window.SetTitle("🐊📦 croc " + Version) - } - - labels := make([]*wui.Label, 3) - for i := range labels { - label := wui.NewLabel() - label.SetCenterAlign() - label.SetBounds(0, 10+i*20, window.ClientWidth(), 20) - window.Add(label) - labels[i] = label - } - labels[0].SetText("secure data transfer") - labels[1].SetText("Click 'Send' or 'Receive' to start") - - button := wui.NewButton() - button.SetText("Send") - window.Add(button) - button.SetBounds(10, window.ClientHeight()-70, window.ClientWidth()-20, 25) - button.SetOnClick(func() { - if isWorking { - wui.MessageBoxError(window, "Error", "Can only do one send or receive at a time") - return - } - isWorking = true - - fileDialog := wui.NewFileOpenDialog() - fileDialog.SetTitle("Open file to send...") - accepted, fn := fileDialog.ExecuteSingleSelection(window) - if !accepted { - isWorking = false - return - } - if fn == "" { - wui.MessageBoxError(window, "Error", "No file selected") - isWorking = false - return - } - - go func() { - cr := croc.Init(false) - done := make(chan bool) - codePhrase := utils.GetRandomName() - _, fname := filepath.Split(fn) - labels[0].SetText(fmt.Sprintf("Sending '%s'", fname)) - labels[1].SetText(fmt.Sprintf("Code phrase: %s", codePhrase)) - - go func(done chan bool) { - for { - if cr.OtherIP != "" && cr.FileInfo.SentName != "" { - bytesString := humanize.Bytes(uint64(cr.FileInfo.Size)) - fileOrFolder := "file" - if cr.FileInfo.IsDir { - fileOrFolder = "folder" - } - labels[0].SetText(fmt.Sprintf("Sending %s %s '%s' to %s", bytesString, fileOrFolder, cr.FileInfo.SentName, cr.OtherIP)) - } - if cr.Bar != nil { - barState := cr.Bar.State() - labels[1].SetText(fmt.Sprintf("%2.1f%% [%2.0fs:%2.0fs]", barState.CurrentPercent*100, barState.SecondsSince, barState.SecondsLeft)) - } - labels[2].SetText(cr.StateString) - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].SetText(cr.StateString) - return - default: - continue - } - } - }(done) - - cr.Send(fn, codePhrase) - done <- true - isWorking = false - }() - }) - - receiveButton := wui.NewButton() - receiveButton.SetText("Receive") - window.Add(receiveButton) - receiveButton.SetBounds(10, window.ClientHeight()-35, window.ClientWidth()-20, 25) - receiveButton.SetOnClick(func() { - if isWorking { - wui.MessageBoxError(window, "Error", "Can only do one send or receive at a time") - return - } - labels[1].SetText("") - labels[2].SetText("please wait...") - isWorking = true - defer func() { - isWorking = false - }() - - // determine the folder to save the file - folderDialog := wui.NewFolderSelectDialog() - folderDialog.SetTitle("Open folder to receive file...") - accepted, fn := folderDialog.Execute(window) - if !accepted { - return - } - if len(fn) == 0 { - labels[2].SetText(fmt.Sprintf("No folder selected")) - return - } - - passDlg := wui.NewDialogWindow() - passDlg.SetTitle("Enter code phrase") - passDlg.SetClientSize(window.ClientWidth()-20, 40) - pass := wui.NewEditLine() - passDlg.Add(pass) - pass.SetPassword(true) - pass.SetBounds(10, 10, passDlg.ClientWidth()-20, 20) - var passAccepted bool - passDlg.SetShortcut(wui.ShortcutKeys{Key: w32.VK_RETURN}, func() { - passAccepted = true - passDlg.Close() - }) - passDlg.SetShortcut(wui.ShortcutKeys{Key: w32.VK_ESCAPE}, func() { - passDlg.Close() - }) - var codePhrase string - passDlg.SetOnShow(func() { - passDlg.SetX(window.X() + (window.Width()-passDlg.Width())/2) - passDlg.SetY(window.Y() + (window.Height()-passDlg.Height())/2) - pass.Focus() - }) - passDlg.SetOnClose(func() { - if passAccepted { - codePhrase = pass.Text() - } - }) - passDlg.ShowModal(window) - passDlg.Destroy() - if len(codePhrase) < 3 { - labels[2].SetText(fmt.Sprintf("Invalid codephrase: '%s'", codePhrase)) - return - } - - cr := croc.Init(false) - cr.WindowRecipientPrompt = true - - done := make(chan bool) - go func() { - // change into the receiving directory - cwd, _ := os.Getwd() - defer os.Chdir(cwd) - os.Chdir(fn) - err := cr.Receive(codePhrase) - if err == nil { - open.Run(fn) - } - done <- true - done <- true - isWorking = false - }() - go func() { - for { - if cr.Bar != nil { - barState := cr.Bar.State() - labels[1].SetText(fmt.Sprintf("%2.1f%% [%2.0fs:%2.0fs]", barState.CurrentPercent*100, barState.SecondsSince, barState.SecondsLeft)) - } - if cr.StateString != "" { - labels[2].SetText(cr.StateString) - } - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].SetText(cr.StateString) - return - default: - continue - } - } - }() - - for { - if cr.WindowReceivingString != "" { - question := wui.MessageBoxYesNo( - window, - "croc", - fmt.Sprintf("%s?", cr.WindowReceivingString), - ) - if question { - cr.WindowRecipientAccept = true - labels[0].SetText(cr.WindowReceivingString) - } else { - cr.WindowRecipientAccept = false - labels[2].SetText("canceled") - } - cr.WindowRecipientPrompt = false - cr.WindowReceivingString = "" - break - } - time.Sleep(100 * time.Millisecond) - select { - case _ = <-done: - labels[2].SetText(cr.StateString) - return - default: - continue - } - } - - }) - - window.Show() -} diff --git a/src/zipper/zip.go b/src/zipper/zip.go deleted file mode 100644 index f91d4207..00000000 --- a/src/zipper/zip.go +++ /dev/null @@ -1,230 +0,0 @@ -package zipper - -import ( - "archive/zip" - "compress/flate" - "fmt" - "io" - "os" - "path" - "path/filepath" - "strings" - - log "github.com/cihub/seelog" - "github.com/schollz/croc/src/logger" -) - -var DebugLevel string - -func init() { - DebugLevel = "info" -} - -// UnzipFile will unzip the src directory into the dest -func UnzipFile(src, dest string) (err error) { - logger.SetLogLevel(DebugLevel) - - r, err := zip.OpenReader(src) - if err != nil { - return - } - defer r.Close() - - for _, f := range r.File { - var rc io.ReadCloser - rc, err = f.Open() - if err != nil { - return - } - defer rc.Close() - - // Store filename/path for returning and using later on - fpath := filepath.Join(dest, f.Name) - log.Debugf("unzipping %s", fpath) - fpath = filepath.FromSlash(fpath) - - if f.FileInfo().IsDir() { - - // Make Folder - os.MkdirAll(fpath, os.ModePerm) - - } else { - - // Make File - if err = os.MkdirAll(filepath.Dir(fpath), os.ModePerm); err != nil { - return - } - - var outFile *os.File - outFile, err = os.OpenFile(fpath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode()) - if err != nil { - return - } - - _, err = io.Copy(outFile, rc) - - // Close the file without defer to close before next iteration of loop - outFile.Close() - - if err != nil { - return - } - - } - } - if err == nil { - log.Debugf("unzipped %s to %s", src, dest) - } - return -} - -// ZipFiles will zip all the files and the folders as if they were in the same directory -func ZipFiles(fnames []string, compress bool) (writtenFilename string, err error) { - logger.SetLogLevel(DebugLevel) - if len(fnames) == 0 { - err = fmt.Errorf("must provide files to zip") - return - } - - log.Debugf("zipping %s with compression? %v", fnames, compress) - writtenFilename = fmt.Sprintf("%d_files.croc.zip", len(fnames)) - err = makeZip(writtenFilename, fnames, compress) - return -} - -// ZipFile will zip the folder -func ZipFile(fname string, compress bool) (writtenFilename string, err error) { - logger.SetLogLevel(DebugLevel) - - // get path to file and the filename - _, filename := filepath.Split(fname) - writtenFilename = filename + ".croc.zip" - err = makeZip(writtenFilename, []string{fname}, compress) - return -} - -func makeZip(writtenFilename string, fnames []string, compress bool) (err error) { - log.Debugf("creating file: %s", writtenFilename) - f, err := os.Create(writtenFilename) - if err != nil { - log.Error(err) - return - } - defer f.Close() - - zipWriter := zip.NewWriter(f) - zipWriter.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) { - if compress { - return flate.NewWriter(out, flate.BestSpeed) - } else { - return flate.NewWriter(out, flate.NoCompression) - } - }) - defer zipWriter.Close() - - err = zipFiles(fnames, compress, zipWriter) - if err == nil { - log.Debugf("wrote zip file to %s", writtenFilename) - } else { - log.Error(err) - } - return -} - -func zipFiles(fnames []string, compress bool, zipWriter *zip.Writer) (err error) { - for _, fname := range fnames { - // get absolute filename - absPath, err := filepath.Abs(filepath.Clean(fname)) - if err != nil { - log.Error(err) - return err - } - absPath = filepath.ToSlash(absPath) - - // get path to file and the filename - fpath, fname := filepath.Split(absPath) - - // Get the file information for the target - log.Debugf("checking %s", absPath) - ftarget, err := os.Open(absPath) - if err != nil { - log.Error(err) - return err - } - defer ftarget.Close() - info, err := ftarget.Stat() - if err != nil { - log.Error(err) - return err - } - - // write header informaiton - header, err := zip.FileInfoHeader(info) - if err != nil { - log.Error(err) - return err - } - - var writer io.Writer - if info.IsDir() { - baseDir := filepath.Clean(path.Join(fpath, fname)) - log.Debugf("walking base dir: %s", baseDir) - filepath.Walk(baseDir, func(curpath string, info os.FileInfo, err error) error { - curpath = filepath.Clean(curpath) - - if err != nil { - log.Error(err) - return err - } - - header, err := zip.FileInfoHeader(info) - if err != nil { - log.Error(err) - return err - } - - if baseDir != "" { - header.Name = path.Join(fname, strings.TrimPrefix(curpath, baseDir)) - } - header.Name = filepath.ToSlash(filepath.Clean(header.Name)) - log.Debug(header.Name) - - if info.IsDir() { - header.Name += "/" - } else { - header.Method = zip.Deflate - } - - writer, err = zipWriter.CreateHeader(header) - if err != nil { - return err - } - - if info.IsDir() { - return nil - } - - file, err := os.Open(curpath) - if err != nil { - log.Error(err) - return err - } - defer file.Close() - _, err = io.Copy(writer, file) - return err - }) - } else { - writer, err = zipWriter.CreateHeader(header) - if err != nil { - log.Error(err) - return err - } - _, err = io.Copy(writer, ftarget) - if err != nil { - log.Error(err) - return err - } - } - } - return nil -} diff --git a/src/zipper/zip_test.go b/src/zipper/zip_test.go deleted file mode 100644 index 23cfbea3..00000000 --- a/src/zipper/zip_test.go +++ /dev/null @@ -1,47 +0,0 @@ -package zipper - -import ( - "os" - "path" - "testing" - - log "github.com/cihub/seelog" - "github.com/schollz/croc/src/utils" - "github.com/stretchr/testify/assert" -) - -func TestZip(t *testing.T) { - defer log.Flush() - DebugLevel = "debug" - writtenFilename1, err := ZipFile("../croc", true) - assert.Nil(t, err) - err = UnzipFile(writtenFilename1, ".") - assert.Nil(t, err) - assert.True(t, utils.Exists("croc")) - - writtenFilename2, err := ZipFile("../../README.md", false) - assert.Nil(t, err) - err = UnzipFile(writtenFilename2, ".") - assert.Nil(t, err) - assert.True(t, utils.Exists("README.md")) - - os.Remove("README.md") - os.RemoveAll("croc") - os.Remove(writtenFilename1) - os.Remove(writtenFilename2) -} - -func TestZipFiles(t *testing.T) { - defer log.Flush() - DebugLevel = "debug" - writtenFilename, err := ZipFiles([]string{"../../LICENSE", "../win/Makefile", "../utils"}, true) - assert.Nil(t, err) - err = UnzipFile(writtenFilename, "zipfilestest") - assert.Nil(t, err) - assert.True(t, utils.Exists("zipfilestest/LICENSE")) - assert.True(t, utils.Exists("zipfilestest/Makefile")) - assert.True(t, utils.Exists("zipfilestest/utils/exists.go")) - os.RemoveAll("zipfilestest") - err = os.Remove(path.Join(".", writtenFilename)) - assert.Nil(t, err) -}