Add Windows support

This commit is contained in:
NBTX 2019-12-18 18:04:25 +00:00 committed by NBTX
parent 4dbf18243f
commit aae90e6b5f
25 changed files with 4779 additions and 552 deletions

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored
View file

@ -1 +1,2 @@
.idea .idea
.DS_Store

View file

@ -34,7 +34,7 @@ $ ./build.sh windows
- For servers: - For servers:
```bash ```bash
$ go build server.go $ go build server/server.go
``` ```
## Usage ## Usage

View file

@ -22,7 +22,7 @@ else
exit 3 exit 3
fi fi
[ -d "out/$PLATFORM" ] || mkdir "out/" [ -d "out/" ] || mkdir "out/"
[ -d "out/$PLATFORM" ] && rm -r "out/$PLATFORM" [ -d "out/$PLATFORM" ] && rm -r "out/$PLATFORM"
mkdir "out/$PLATFORM" mkdir "out/$PLATFORM"
cp -r "resources/$PLATFORM" "out" cp -r "resources/$PLATFORM" "out"
@ -33,8 +33,19 @@ if [ "$PLATFORM" == "darwin" ]; then
cp icons/icon.png out/darwin/PostwomanProxy.app/Contents/MacOS/icons/ cp icons/icon.png out/darwin/PostwomanProxy.app/Contents/MacOS/icons/
GOOS="darwin" go build -o "out/darwin/PostwomanProxy.app/Contents/MacOS/postwoman-proxy" GOOS="darwin" go build -o "out/darwin/PostwomanProxy.app/Contents/MacOS/postwoman-proxy"
elif [ "$PLATFORM" == "windows" ]; then elif [ "$PLATFORM" == "windows" ]; then
echo "NOTICE: postwoman-proxy is untested and currently unsupported on Windows." [ -f "rsrc.syso" ] && rm rsrc.syso
GOOS="windows" go build -o "out/windows/postwoman-proxy.exe" go get github.com/akavel/rsrc
rsrc -manifest="out/windows/postwoman-proxy.manifest" -ico="icons/icon.ico" -o rsrc.syso
GOOS="windows" go build -ldflags -H=windowsgui -o "out/windows/postwoman-proxy.exe"
mkdir out/windows/icons
cp icons/icon.png "out/windows/icons/icon.png"
mkdir out/windows/data
rm out/windows/postwoman-proxy.manifest
rm rsrc.syso
elif [ "$PLATFORM" == "linux" ]; then elif [ "$PLATFORM" == "linux" ]; then
echo "NOTICE: postwoman-proxy is untested and currently unsupported on Linux." echo "NOTICE: postwoman-proxy is untested and currently unsupported on Linux."
GOOS="linux" go build -o "out/linux/postwoman" GOOS="linux" go build -o "out/linux/postwoman"

14
go.mod
View file

@ -3,15 +3,25 @@ module postwoman.io/proxy
go 1.12 go 1.12
require ( require (
github.com/40a/go-powershell v0.0.0-20170206184816-8a975e1f46d2 // indirect
github.com/KnicKnic/go-powershell v0.0.8 // indirect
github.com/akavel/rsrc v0.8.0 // indirect
github.com/atotto/clipboard v0.1.2 github.com/atotto/clipboard v0.1.2
github.com/bhendo/go-powershell v0.0.0-20190719160123-219e7fb4e41e
github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa // indirect github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa // indirect
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb
github.com/gen2brain/dlgs v0.0.0-20191023125645-8832682fb7f8 github.com/gen2brain/dlgs v0.0.0-20191023125645-8832682fb7f8
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306 github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306
github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 // indirect
github.com/markbates/pkger v0.12.8 github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de // indirect
github.com/juju/errors v0.0.0-20190930114154-d42613fe1ab9 // indirect
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 // indirect
github.com/juju/testing v0.0.0-20191001232224-ce9dec17d28b // indirect
github.com/markbates/pkger v0.12.8 // indirect
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3 github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 // indirect golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 // indirect
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect
gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2
) )

42
go.sum
View file

@ -1,8 +1,22 @@
github.com/40a/go-powershell v0.0.0-20170206184816-8a975e1f46d2 h1:9LnA0Z25ZTpefsrnrn68HcJmYwYHeE1PLluCHjtimCY=
github.com/40a/go-powershell v0.0.0-20170206184816-8a975e1f46d2/go.mod h1:tTEeIDGdOajdi66pRHWKAPyS8AAPv85NdSrWcZpHkVY=
github.com/BurntSushi/freetype-go v0.0.0-20160129220410-b763ddbfe298/go.mod h1:D+QujdIlUNfa0igpNMk6UIvlb6C252URs4yupRUV4lQ=
github.com/BurntSushi/graphics-go v0.0.0-20160129215708-b43f31a4a966/go.mod h1:Mid70uvE93zn9wgF92A/r5ixgnvX8Lh68fxp9KQBaI0=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/BurntSushi/xgbutil v0.0.0-20160919175755-f7c97cef3b4e/go.mod h1:uw9h2sd4WWHOPdJ13MQpwK5qYWKYDumDqxWWIknEQ+k=
github.com/KnicKnic/go-powershell v0.0.8 h1:u5DslQzoYTDg7w+hCMNEfUnk0cchOU0Pj4Ie1PkGwwM=
github.com/KnicKnic/go-powershell v0.0.8/go.mod h1:1NuEA+s0LRuwaus0jBS5CT5diK5nhds8LdJtYgC0I7U=
github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf/go.mod h1:peYoMncQljjNS6tZwI9WVyQB3qZS6u79/N3mBOcnd3I=
github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw=
github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY= github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY=
github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
github.com/bhendo/go-powershell v0.0.0-20190719160123-219e7fb4e41e h1:KCjb01YiNoRaJ5c+SbnPLWjVzU9vqRYHg3e5JcN50nM=
github.com/bhendo/go-powershell v0.0.0-20190719160123-219e7fb4e41e/go.mod h1:f7vw6ObmmNcyFQLhZX9eUGBJGpnwTJFDvVjqZxIxHWY=
github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa h1:Wg+722vs7a2zQH5lR9QWYsVbplKeffaQFIs5FTdfNNo= github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa h1:Wg+722vs7a2zQH5lR9QWYsVbplKeffaQFIs5FTdfNNo=
github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa/go.mod h1:6Arca19mRx58CA7OWEd7Wu1NpC1rd3uDnNs6s1pj/DI= github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa/go.mod h1:6Arca19mRx58CA7OWEd7Wu1NpC1rd3uDnNs6s1pj/DI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb h1:6S+TKObz6+Io2c8IOkcbK4Sz7nj6RpEVU7TkvmsZZcw= github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb h1:6S+TKObz6+Io2c8IOkcbK4Sz7nj6RpEVU7TkvmsZZcw=
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb/go.mod h1:wf3nKtOnQqCp7kp9xB7hHnNlZ6m3NoiOxjrB9hFRq4Y= github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb/go.mod h1:wf3nKtOnQqCp7kp9xB7hHnNlZ6m3NoiOxjrB9hFRq4Y=
@ -22,12 +36,24 @@ github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f h1:wrYrQttPS8FHIRSl
github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA= github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA=
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306 h1:E2nuJCbj40KrULBPU5oymEkfdb1LUR2nZuP0XMW/geY= github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306 h1:E2nuJCbj40KrULBPU5oymEkfdb1LUR2nZuP0XMW/geY=
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306/go.mod h1:4yRvwNSBNJtSOi3dRLNxhG40wXg9nEwdDjX2IrGZJo8= github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306/go.mod h1:4yRvwNSBNJtSOi3dRLNxhG40wXg9nEwdDjX2IrGZJo8=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 h1:qZNfIGkIANxGv/OqtnntR4DfOY2+BgwR60cAcu/i3SE= github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 h1:qZNfIGkIANxGv/OqtnntR4DfOY2+BgwR60cAcu/i3SE=
github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4/go.mod h1:kW3HQ4UdaAyrUCSSDR4xUzBKW6O2iA4uHhk7AtyYp10= github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4/go.mod h1:kW3HQ4UdaAyrUCSSDR4xUzBKW6O2iA4uHhk7AtyYp10=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de h1:F7WD09S8QB4LrkEpka0dFPLSotH11HRpCsLIbIcJ7sU=
github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/juju/errors v0.0.0-20190930114154-d42613fe1ab9 h1:hJix6idebFclqlfZCHE7EUX7uqLCyb70nHNHH1XKGBg=
github.com/juju/errors v0.0.0-20190930114154-d42613fe1ab9/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 h1:UUHMLvzt/31azWTN/ifGWef4WUqvXk0iRqdhdy/2uzI=
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
github.com/juju/testing v0.0.0-20191001232224-ce9dec17d28b h1:Rrp0ByJXEjhREMPGTt3aWYjoIsUGCbt21ekbeJcTWv0=
github.com/juju/testing v0.0.0-20191001232224-ce9dec17d28b/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/lxn/walk v0.0.0-20191113135339-bf589de20b3c h1:4pJw1uBKndwiBBJpcbqP1Bf90YfqTJUsHG9DVoAfIQ8= github.com/lxn/walk v0.0.0-20191113135339-bf589de20b3c h1:4pJw1uBKndwiBBJpcbqP1Bf90YfqTJUsHG9DVoAfIQ8=
github.com/lxn/walk v0.0.0-20191113135339-bf589de20b3c/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ= github.com/lxn/walk v0.0.0-20191113135339-bf589de20b3c/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ=
@ -37,15 +63,22 @@ github.com/markbates/pkger v0.12.8 h1:4mEUzWb1HzRnxPwUevBX8g8ntsQ4rWw2R8CRB2QdZV
github.com/markbates/pkger v0.12.8/go.mod h1:C7e5A6bnWZT+nXkUwkvysGW7sxl/IGd63HEa6N/JY8s= github.com/markbates/pkger v0.12.8/go.mod h1:C7e5A6bnWZT+nXkUwkvysGW7sxl/IGd63HEa6N/JY8s=
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3 h1:teGYw72DnPQhz2p9tyWfPJBrgMud6TsW6SAGf/UNbrE= github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3 h1:teGYw72DnPQhz2p9tyWfPJBrgMud6TsW6SAGf/UNbrE=
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3/go.mod h1:NzLiokHFxkMAoDQlhgRFNCM7PmhTzJAjenmXrYSX/oU= github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3/go.mod h1:NzLiokHFxkMAoDQlhgRFNCM7PmhTzJAjenmXrYSX/oU=
github.com/mattn/go-gtk v0.0.0-20180216084204-5a311a1830ab/go.mod h1:PwzwfeB5syFHXORC3MtPylVcjIoTDT/9cvkKpEndGVI=
github.com/mattn/go-pointer v0.0.0-20171114154726-1d30dc4b6f28/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc=
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ=
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U=
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw= github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw=
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0= github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/skelterjohn/go.wde v0.0.0-20180104102407-a0324cbf3ffe/go.mod h1:zXxNsJHeUYIqpg890APBNEn9GoCbA4Cdnvuv3mx4fBk=
github.com/sqweek/dialog v0.0.0-20190728103509-6254ed5b0d3c h1:nQyaARR8WzWW4/AoxpyPA82gJcvuZUxLxnMqVbmW50A=
github.com/sqweek/dialog v0.0.0-20190728103509-6254ed5b0d3c/go.mod h1:QSrNdZLZB8VoFPGlZ2vDuA2oNaVdhld3g0PZLc7soX8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g=
@ -56,10 +89,19 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190919044723-0c1ff786ef13 h1:/zi0zzlPHWXYXrO1LjNRByFu8sdGgCkj2JLDdBIB84k= golang.org/x/sys v0.0.0-20190919044723-0c1ff786ef13 h1:/zi0zzlPHWXYXrO1LjNRByFu8sdGgCkj2JLDdBIB84k=
golang.org/x/sys v0.0.0-20190919044723-0c1ff786ef13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190919044723-0c1ff786ef13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191104094858-e8c54fb511f6 h1:ZJUmhYTp8GbGC0ViZRc2U+MIYQ8xx9MscsdXnclfIhw=
golang.org/x/sys v0.0.0-20191104094858-e8c54fb511f6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
gopkg.in/Knetic/govaluate.v3 v3.0.0 h1:18mUyIt4ZlRlFZAAfVetz4/rzlJs9yhN+U02F4u1AOc= gopkg.in/Knetic/govaluate.v3 v3.0.0 h1:18mUyIt4ZlRlFZAAfVetz4/rzlJs9yhN+U02F4u1AOc=
gopkg.in/Knetic/govaluate.v3 v3.0.0/go.mod h1:csKLBORsPbafmSCGTEh3U7Ozmsuq8ZSIlKk1bcqph0E= gopkg.in/Knetic/govaluate.v3 v3.0.0/go.mod h1:csKLBORsPbafmSCGTEh3U7Ozmsuq8ZSIlKk1bcqph0E=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 h1:MZF6J7CV6s/h0HBkfqebrYfKCVEo5iN+wzE4QhV3Evo=
gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2/go.mod h1:s1Sn2yZos05Qfs7NKt867Xe18emOmtsO3eAKbDaon0o=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5 h1:ymVxjfMaHvXD8RqPRmzHHsB3VvucivSkIAvJFDI5O3c=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=

View file

@ -1,504 +0,0 @@
// File generated by 2goarray v0.1.0 (http://github.com/cratonica/2goarray)
package icon
var Data []byte = []byte{
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60,
0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x17,
0x11, 0x49, 0x44, 0x41, 0x54, 0x78, 0x5e, 0xed, 0x5d, 0x0b, 0x78, 0x13,
0x65, 0xd6, 0x3e, 0x33, 0x93, 0x4c, 0x92, 0x26, 0x6d, 0x7a, 0xa1, 0xe5,
0x5e, 0x6e, 0x96, 0x5b, 0xa9, 0xc0, 0xc2, 0x82, 0xd4, 0x0b, 0x5d, 0x45,
0x16, 0x44, 0x54, 0xf0, 0x86, 0x2c, 0x2a, 0xfe, 0x82, 0xb8, 0x8a, 0x0b,
0xb8, 0xa2, 0xcb, 0xef, 0xe2, 0x65, 0x45, 0x71, 0xd5, 0x45, 0x57, 0x57,
0x59, 0xf1, 0xb6, 0x22, 0xc8, 0xef, 0x22, 0x0b, 0x82, 0x16, 0x05, 0x91,
0xbb, 0x80, 0x88, 0xa0, 0x08, 0x02, 0xd6, 0x02, 0x85, 0xd2, 0x1b, 0x6d,
0xe9, 0x25, 0xf7, 0xc9, 0x7c, 0xff, 0x73, 0x92, 0x4c, 0x3b, 0x49, 0xe6,
0x96, 0x49, 0x7a, 0x71, 0x1f, 0xe7, 0x79, 0xf2, 0xb4, 0x49, 0x93, 0x6f,
0xbe, 0x39, 0xef, 0x39, 0xef, 0x79, 0xcf, 0xf9, 0xbe, 0x49, 0x29, 0xf8,
0xe5, 0x68, 0x53, 0x0b, 0x50, 0x6d, 0x7a, 0xf6, 0x5f, 0x4e, 0x0e, 0xbf,
0x00, 0xd0, 0xc6, 0x4e, 0xf0, 0x0b, 0x00, 0xbf, 0x00, 0xd0, 0xc6, 0x16,
0x68, 0xe3, 0xd3, 0xff, 0x9c, 0x22, 0x00, 0xe7, 0x2a, 0xcc, 0x57, 0x3c,
0x6f, 0xfc, 0x9d, 0x84, 0xec, 0x28, 0xf7, 0xb3, 0x8d, 0xcd, 0x2c, 0x7f,
0xfa, 0xf6, 0x0a, 0x00, 0x5d, 0xf0, 0x4e, 0x4f, 0x76, 0xf0, 0x6f, 0xbb,
0x65, 0x19, 0xed, 0xec, 0x60, 0xc6, 0xc0, 0x0c, 0xf0, 0x33, 0x9e, 0xbe,
0x3e, 0xf0, 0xf4, 0xe6, 0x69, 0x7f, 0x57, 0x42, 0xf1, 0x69, 0x04, 0x88,
0x8d, 0x00, 0x61, 0x83, 0x97, 0x46, 0xf9, 0x00, 0xc0, 0x41, 0xf1, 0x54,
0x1d, 0x4d, 0x98, 0x52, 0x06, 0x8c, 0xa7, 0x8c, 0x7e, 0xf3, 0x09, 0xde,
0x4f, 0x1d, 0x73, 0xd6, 0xba, 0x0f, 0x9f, 0xdf, 0x7d, 0xba, 0x64, 0xf5,
0xea, 0xb3, 0x5e, 0x58, 0x0d, 0xbc, 0x08, 0xac, 0x76, 0x01, 0x4a, 0xbb,
0x01, 0x60, 0xd8, 0xeb, 0x60, 0x1c, 0x3c, 0xfa, 0xd2, 0xcc, 0xf4, 0xae,
0xec, 0x65, 0xc4, 0xc4, 0x8d, 0xf3, 0x18, 0x5c, 0xa3, 0x39, 0xca, 0xdd,
0xdb, 0x0b, 0x6e, 0xf0, 0x82, 0x07, 0x78, 0xf0, 0x8b, 0x0c, 0x16, 0x74,
0x74, 0xc1, 0xdd, 0xc5, 0xbf, 0x05, 0x5f, 0x27, 0x40, 0x01, 0x0d, 0x46,
0x60, 0x81, 0x05, 0x33, 0x18, 0x88, 0xb9, 0x8c, 0xe5, 0x4d, 0x3b, 0x29,
0x8f, 0x79, 0x93, 0xa7, 0xd2, 0xbb, 0xe5, 0xd8, 0xb6, 0xf2, 0xf2, 0x6d,
0x77, 0x9d, 0xf2, 0xb4, 0x07, 0x30, 0xda, 0x1a, 0x00, 0xea, 0xb6, 0xaf,
0x87, 0x65, 0x74, 0xbe, 0x28, 0x69, 0x34, 0x6f, 0xe3, 0xa6, 0x7a, 0x19,
0xf7, 0x68, 0x37, 0x34, 0x66, 0x78, 0xc1, 0x15, 0x30, 0xa2, 0xf8, 0x88,
0x7c, 0x2e, 0x18, 0x3d, 0x12, 0x04, 0x39, 0x50, 0xf0, 0xfd, 0x46, 0x30,
0x81, 0x99, 0x58, 0x1b, 0x4d, 0xbc, 0x75, 0x0f, 0x38, 0x4d, 0xab, 0xdc,
0x27, 0xfd, 0x9b, 0xdf, 0x1c, 0xbc, 0xef, 0x1c, 0x40, 0x20, 0x32, 0xda,
0xe4, 0x68, 0x2b, 0x00, 0xa8, 0x7b, 0xbe, 0xbe, 0xbc, 0x93, 0xad, 0x1f,
0x7d, 0xb3, 0xcf, 0xea, 0x98, 0xe1, 0xa4, 0x1a, 0x06, 0x7a, 0xc1, 0xc9,
0xa0, 0x91, 0x23, 0x7d, 0x5b, 0xf0, 0xe8, 0x70, 0xeb, 0xa8, 0x47, 0x80,
0xf2, 0xfb, 0x01, 0x23, 0x83, 0x58, 0x48, 0x72, 0xb1, 0xc9, 0x95, 0xb4,
0xb2, 0xbe, 0x98, 0x5f, 0xfe, 0x6e, 0xde, 0x81, 0x93, 0x6d, 0x01, 0x44,
0x6b, 0x03, 0x40, 0x15, 0xfc, 0x3b, 0xd7, 0x3a, 0x74, 0x5c, 0xc6, 0xad,
0x3e, 0x9b, 0xe3, 0x41, 0x27, 0x55, 0xd7, 0xdf, 0x0b, 0x1e, 0x3a, 0x9a,
0x4c, 0xc2, 0xbd, 0x3f, 0x48, 0x2a, 0xe1, 0xf1, 0x20, 0x3c, 0x93, 0x86,
0x42, 0xfb, 0xe7, 0x19, 0x30, 0x12, 0x2b, 0x6f, 0x2f, 0x61, 0x1d, 0xb6,
0xd7, 0xcf, 0x7d, 0xd5, 0xb0, 0x6c, 0xed, 0x98, 0x63, 0xb5, 0xad, 0x09,
0x44, 0x6b, 0x02, 0x40, 0x3f, 0x70, 0xea, 0x8a, 0xc1, 0x74, 0x57, 0xef,
0x33, 0x8d, 0x4c, 0xcd, 0x95, 0x5e, 0xca, 0xc5, 0x6a, 0xa5, 0x0f, 0xad,
0xf4, 0xd3, 0x0c, 0x8a, 0x36, 0x00, 0xc4, 0xe7, 0x37, 0x10, 0xd6, 0x9f,
0xec, 0x4f, 0x3f, 0x40, 0xd7, 0xd8, 0x1e, 0x5d, 0xda, 0x71, 0xef, 0x36,
0x80, 0x40, 0xd2, 0x89, 0x1c, 0x28, 0xe1, 0x34, 0xd5, 0x3a, 0x00, 0x14,
0x80, 0x61, 0xee, 0xfa, 0x82, 0xe9, 0x6e, 0x5b, 0xf5, 0xb3, 0x0e, 0xaa,
0x2e, 0x1d, 0x80, 0x50, 0x4a, 0x09, 0x54, 0x0f, 0xf7, 0x2b, 0x19, 0x5f,
0x2d, 0x61, 0x8b, 0xcf, 0x67, 0x21, 0x36, 0x87, 0xcd, 0x95, 0xf9, 0xe2,
0xda, 0x79, 0xfb, 0x17, 0x9f, 0x5b, 0x06, 0xee, 0x96, 0x8e, 0x86, 0x96,
0x06, 0x80, 0x1a, 0x35, 0xaf, 0x9b, 0x79, 0xe4, 0xe2, 0x5e, 0xcf, 0x34,
0x98, 0x2a, 0xe6, 0xa2, 0xa2, 0x89, 0x85, 0x4e, 0x82, 0x86, 0xd1, 0x4e,
0x3f, 0x72, 0xf9, 0x42, 0x2b, 0x7d, 0x09, 0xe7, 0x63, 0xc0, 0x08, 0xa9,
0xde, 0x4e, 0xeb, 0x8b, 0xdf, 0x3b, 0x7f, 0xd7, 0x67, 0x33, 0xce, 0x5e,
0x68, 0x49, 0x10, 0x5a, 0x12, 0x00, 0xea, 0xb6, 0x0d, 0xc3, 0x32, 0x32,
0xc7, 0xb2, 0xaf, 0xd6, 0xb3, 0x15, 0x37, 0xfb, 0x81, 0xa3, 0xa2, 0x8d,
0xd9, 0xec, 0x9b, 0x5a, 0x23, 0x42, 0x4e, 0xfd, 0xc4, 0x1a, 0x01, 0x6a,
0xe7, 0xa3, 0x80, 0x82, 0x54, 0x5f, 0xa7, 0x3d, 0xd5, 0xfb, 0xa8, 0x69,
0x6b, 0x2e, 0x3f, 0x7c, 0x3a, 0x44, 0x49, 0x3f, 0x1b, 0x0a, 0xa2, 0x26,
0xfd, 0x67, 0x44, 0x7a, 0xb7, 0x09, 0xd4, 0x5b, 0x0d, 0x6c, 0xe5, 0x44,
0x3f, 0xf8, 0x69, 0x3d, 0xde, 0x1c, 0xbb, 0xf7, 0x87, 0x93, 0x8d, 0x9e,
0x73, 0x86, 0xc7, 0x1b, 0x45, 0x52, 0xb8, 0x0e, 0x07, 0xaa, 0x77, 0x70,
0x53, 0xd6, 0x5d, 0x55, 0x74, 0xaa, 0x25, 0x40, 0x68, 0x89, 0x08, 0xa0,
0xc6, 0x3c, 0xdb, 0x3b, 0xa5, 0xdf, 0xec, 0xcc, 0x97, 0x1c, 0xd6, 0xca,
0xdb, 0xfd, 0xe0, 0x67, 0x04, 0x43, 0xc4, 0xc2, 0xc5, 0xd2, 0xc6, 0x8b,
0x3d, 0x62, 0xe2, 0x4f, 0xe0, 0x40, 0x52, 0xdc, 0x59, 0x5f, 0x9c, 0x5b,
0xe3, 0x9b, 0xbe, 0x71, 0x5a, 0x51, 0x59, 0xa2, 0x41, 0x48, 0x3c, 0x00,
0xb9, 0xc0, 0xde, 0xbf, 0x7d, 0xc4, 0x43, 0xce, 0xf4, 0x9a, 0x27, 0x38,
0xca, 0x6b, 0x94, 0x36, 0xbe, 0x14, 0x14, 0xd1, 0x82, 0x23, 0x7e, 0xe3,
0xc9, 0xd7, 0x0b, 0x52, 0xf5, 0x86, 0x5c, 0xc4, 0xd1, 0x40, 0xf3, 0xd6,
0x86, 0xac, 0x77, 0x76, 0xfc, 0xbe, 0xfc, 0xc1, 0xa2, 0x95, 0x35, 0x8d,
0x89, 0xcc, 0x09, 0x89, 0x06, 0xc0, 0x30, 0xeb, 0xe4, 0xa8, 0x31, 0xfe,
0x1e, 0x35, 0xab, 0x3d, 0x94, 0xcb, 0x26, 0x6f, 0xfc, 0xd8, 0x3d, 0x39,
0x7e, 0xee, 0xd7, 0x02, 0xba, 0x7c, 0xc2, 0x37, 0x10, 0xd6, 0xc7, 0x9e,
0xcd, 0x9c, 0xf7, 0x6e, 0xf6, 0xe1, 0x37, 0x01, 0xc0, 0x9b, 0x28, 0x89,
0x9a, 0x48, 0x00, 0xe8, 0xab, 0xde, 0x18, 0x94, 0x99, 0x33, 0x9d, 0xda,
0xea, 0x30, 0xd4, 0x0d, 0x68, 0xce, 0x56, 0xd1, 0x7e, 0x1c, 0x7b, 0xe1,
0xa5, 0x07, 0x30, 0x79, 0x05, 0xa5, 0x96, 0x80, 0xc5, 0x73, 0x17, 0xc3,
0x66, 0xe6, 0x93, 0xaa, 0x1c, 0x9b, 0xed, 0x57, 0xaf, 0x1d, 0x77, 0xe4,
0x08, 0x00, 0x70, 0x89, 0xc8, 0xc8, 0x89, 0x04, 0x80, 0x9d, 0x75, 0x61,
0xf8, 0x22, 0xa7, 0xbd, 0x72, 0xbe, 0x16, 0xcf, 0x97, 0x57, 0x2d, 0xd2,
0x62, 0x32, 0xfe, 0x08, 0x50, 0xee, 0x2d, 0x05, 0x1b, 0x78, 0x4a, 0xae,
0x11, 0xfc, 0xbc, 0xb5, 0x31, 0x63, 0xfd, 0xbb, 0x97, 0x14, 0xfd, 0x0e,
0x8e, 0x80, 0x33, 0x11, 0x54, 0x94, 0x28, 0x00, 0x98, 0x1b, 0x37, 0x0c,
0xcb, 0x49, 0xbd, 0xb6, 0xfe, 0x80, 0x17, 0x3c, 0x49, 0x5a, 0x78, 0x5f,
0xca, 0xa7, 0x63, 0x95, 0x92, 0xb1, 0x81, 0x28, 0x5f, 0x77, 0x2b, 0xa9,
0xa5, 0x48, 0xd8, 0x0c, 0x60, 0xe0, 0xe1, 0x50, 0x87, 0xeb, 0xfe, 0x6f,
0xe8, 0x0f, 0x9b, 0x43, 0x54, 0x14, 0x57, 0x20, 0x24, 0x02, 0x00, 0x1c,
0xc3, 0x34, 0xab, 0x6e, 0xc8, 0xeb, 0xce, 0x94, 0x9a, 0x3b, 0xc4, 0x9e,
0x2a, 0xe5, 0x51, 0xcd, 0x46, 0x8b, 0xfe, 0x4d, 0xda, 0xf7, 0xd5, 0x1a,
0x6f, 0x89, 0x1a, 0x27, 0xba, 0x7d, 0x21, 0xa7, 0xda, 0x4c, 0x2e, 0xfb,
0xde, 0x4f, 0xf2, 0x4f, 0x8d, 0xbf, 0x70, 0x08, 0x1a, 0xe2, 0x55, 0x45,
0x89, 0x00, 0x80, 0xb9, 0x79, 0xd3, 0x90, 0x3c, 0xdb, 0x98, 0xc6, 0xed,
0x1c, 0xe5, 0x4d, 0x89, 0xa6, 0x8a, 0xf0, 0xcb, 0x50, 0x92, 0xa2, 0x7a,
0x0a, 0x35, 0x39, 0xd0, 0x62, 0xad, 0x7e, 0xd5, 0x35, 0x58, 0xf3, 0x3b,
0x28, 0x60, 0x38, 0xfa, 0x9b, 0x0e, 0xb7, 0x7e, 0x30, 0xec, 0xd8, 0x27,
0xf1, 0x26, 0xe4, 0x78, 0x01, 0xc0, 0xcf, 0xb3, 0x77, 0x57, 0xe4, 0x2d,
0xf6, 0x66, 0x5d, 0x98, 0x8b, 0x4b, 0x53, 0x52, 0x17, 0x22, 0x8e, 0x51,
0xa5, 0x7e, 0x7d, 0x34, 0x54, 0x7a, 0x92, 0xaf, 0x5a, 0xc4, 0x48, 0xf5,
0xd7, 0xe4, 0x85, 0x82, 0x34, 0x71, 0x11, 0x62, 0xaa, 0xb7, 0x7f, 0xfa,
0xbe, 0xfd, 0xf4, 0x2d, 0x00, 0xe0, 0x8a, 0x27, 0x0a, 0xe2, 0x05, 0x80,
0xbe, 0xf4, 0xe1, 0xee, 0x9d, 0xfa, 0x3e, 0x65, 0xd9, 0xc9, 0xb1, 0xae,
0xde, 0xfa, 0x8d, 0xaf, 0x37, 0xf1, 0x4a, 0x41, 0xa6, 0xd6, 0x3b, 0x92,
0x8a, 0x48, 0xed, 0xf4, 0x23, 0xcc, 0x94, 0xf1, 0x1b, 0x2f, 0x34, 0xbe,
0x9f, 0x7c, 0x75, 0xe1, 0x1d, 0xc5, 0xdf, 0xc5, 0x93, 0x0b, 0xe2, 0x05,
0xc0, 0x38, 0xed, 0xd0, 0xe0, 0x49, 0xf4, 0xc5, 0x75, 0xef, 0xf1, 0x94,
0x3f, 0xb4, 0x3e, 0x2b, 0xc7, 0xc9, 0xd2, 0xaf, 0xeb, 0x4f, 0xbc, 0x72,
0xf1, 0x12, 0xbb, 0x31, 0xc3, 0xb3, 0xa8, 0xb6, 0x08, 0xa2, 0x80, 0xe2,
0xa1, 0x28, 0x75, 0xe1, 0x87, 0x39, 0x27, 0x5f, 0x02, 0xd0, 0xdf, 0x35,
0x8d, 0x07, 0x00, 0xfc, 0xac, 0x79, 0x7a, 0xf9, 0xc0, 0x17, 0xb9, 0x8e,
0x0d, 0xb3, 0xa4, 0x2e, 0x42, 0x2d, 0xe1, 0x4a, 0xab, 0x0f, 0x39, 0x7d,
0x24, 0xc5, 0xea, 0xf1, 0x1a, 0x5b, 0x2a, 0xf2, 0xd4, 0x00, 0x68, 0x9e,
0x9f, 0xa1, 0xd6, 0xb6, 0xed, 0x83, 0xf4, 0xb3, 0x93, 0x00, 0x00, 0xab,
0x63, 0x5d, 0x75, 0x41, 0x3c, 0x00, 0x30, 0x7d, 0x27, 0x76, 0x49, 0x1b,
0xb5, 0xca, 0xba, 0xd9, 0x6f, 0x75, 0x0f, 0x69, 0x06, 0x40, 0x39, 0xfd,
0x45, 0x6a, 0x36, 0xb9, 0x76, 0x83, 0x1a, 0x78, 0xea, 0x6d, 0x0a, 0xb9,
0x74, 0xaf, 0x5c, 0x0f, 0xc4, 0x52, 0x6f, 0x30, 0x1e, 0xb6, 0xf4, 0xec,
0xb3, 0xa6, 0x71, 0x5f, 0x3e, 0x71, 0xe6, 0x84, 0x5e, 0x1a, 0x8a, 0x07,
0x00, 0xe3, 0xb8, 0x15, 0x7d, 0x87, 0x64, 0xdd, 0xca, 0x15, 0xf2, 0x06,
0x5f, 0x07, 0xa9, 0xc5, 0x23, 0xf9, 0x84, 0x2b, 0xef, 0xfb, 0xd2, 0x7b,
0x1d, 0xd4, 0x8c, 0xa6, 0x37, 0x87, 0xc4, 0x1a, 0x41, 0xe1, 0xa0, 0xd2,
0x84, 0xf6, 0x3a, 0x36, 0x25, 0x4f, 0x2d, 0x1c, 0x77, 0xba, 0x30, 0x44,
0x43, 0x52, 0x19, 0x3e, 0xd2, 0xe7, 0xc2, 0x9e, 0xc7, 0x03, 0x80, 0xe9,
0x96, 0x2f, 0x73, 0x27, 0x9b, 0x46, 0xd5, 0xaf, 0x20, 0x40, 0x42, 0xed,
0x66, 0xa9, 0x38, 0x90, 0x9e, 0x53, 0xe2, 0x3c, 0x5f, 0x0e, 0xcc, 0x66,
0x2a, 0x09, 0xd6, 0x23, 0x6a, 0x20, 0x46, 0xbe, 0x5f, 0x5b, 0x04, 0xf1,
0x47, 0x52, 0xfe, 0xb2, 0x76, 0x50, 0xc9, 0x0b, 0x00, 0x81, 0xca, 0x58,
0xbc, 0x77, 0x46, 0xd1, 0xf0, 0xc2, 0x1f, 0xf5, 0x02, 0x80, 0x9f, 0xb3,
0x4c, 0x3d, 0xd6, 0xef, 0x4f, 0x74, 0x3f, 0xc7, 0xc2, 0x68, 0x5a, 0x91,
0x4e, 0x90, 0xf2, 0x09, 0x57, 0xdb, 0xc5, 0x46, 0xb2, 0xb3, 0x18, 0x6e,
0x39, 0xe2, 0x93, 0xcb, 0x28, 0xea, 0x6b, 0x0d, 0xd1, 0xd7, 0x20, 0xe5,
0x34, 0x74, 0x99, 0x6d, 0xcd, 0xea, 0x2e, 0xa5, 0x33, 0xf4, 0xe6, 0x01,
0xbd, 0x00, 0xa0, 0xc7, 0x5b, 0xa7, 0x95, 0xf5, 0x7b, 0x1b, 0x3a, 0x39,
0x6e, 0x12, 0xa6, 0x2a, 0xe5, 0x69, 0x89, 0xe3, 0xfc, 0xe0, 0xbe, 0x44,
0x75, 0xee, 0xd7, 0x92, 0xac, 0xf5, 0x8c, 0x23, 0x4d, 0x57, 0x50, 0xcb,
0x1e, 0xd8, 0x7e, 0xa9, 0x63, 0xe2, 0xf9, 0x1f, 0x9c, 0xd5, 0x7a, 0xf2,
0x80, 0x5e, 0x00, 0x98, 0xae, 0xfd, 0x93, 0x53, 0x0b, 0xbe, 0xcc, 0x5c,
0x4f, 0xa5, 0x79, 0xf3, 0xd5, 0xb8, 0x5e, 0x89, 0xf1, 0xb5, 0x70, 0xbe,
0x92, 0x17, 0x4b, 0xf9, 0x69, 0xcb, 0x24, 0x70, 0xe9, 0x5a, 0x99, 0x6a,
0x60, 0x7f, 0x3a, 0xf1, 0x10, 0x7f, 0xed, 0xe1, 0x65, 0xd5, 0xb8, 0xaf,
0x28, 0xe6, 0x36, 0xb5, 0x5e, 0x00, 0x8c, 0xb9, 0x77, 0x74, 0xe9, 0x3c,
0xe4, 0x1f, 0xa6, 0x8f, 0x21, 0xd9, 0x9b, 0x27, 0xf8, 0xa6, 0x34, 0xe9,
0xc9, 0x11, 0x47, 0x62, 0xd4, 0x92, 0x5c, 0xf1, 0x27, 0xe7, 0x14, 0x4a,
0x11, 0xa4, 0xdc, 0xbb, 0x92, 0xce, 0x21, 0x94, 0xcb, 0x50, 0x79, 0x7a,
0x89, 0x71, 0xe2, 0xd7, 0x7f, 0x2e, 0x3f, 0xac, 0x27, 0x11, 0xeb, 0x05,
0x80, 0x1d, 0xfe, 0x70, 0x97, 0x5e, 0xfd, 0x16, 0x1a, 0x0b, 0xc1, 0xc6,
0xf5, 0x96, 0xcf, 0x36, 0x52, 0x25, 0xbe, 0x92, 0x7f, 0x6a, 0x4d, 0xd8,
0xca, 0xaa, 0x47, 0x3e, 0x62, 0x12, 0xaf, 0x96, 0x28, 0x1f, 0xd3, 0x50,
0xbe, 0x94, 0xbd, 0x7e, 0xf7, 0x9c, 0xf2, 0x7d, 0x7a, 0x0a, 0x32, 0xdd,
0x00, 0xe4, 0x3f, 0xdd, 0x73, 0x60, 0xef, 0x79, 0x64, 0x23, 0xb1, 0x70,
0x9d, 0xa4, 0x00, 0x88, 0xee, 0xaf, 0x47, 0x1b, 0x5e, 0x2e, 0xf5, 0x8a,
0xc7, 0x53, 0xe7, 0xfc, 0xf0, 0x71, 0x11, 0x42, 0xa5, 0x5c, 0xa4, 0x3e,
0x9e, 0x76, 0xb5, 0x84, 0x67, 0xa6, 0x78, 0xca, 0x57, 0xf5, 0x86, 0xf9,
0x86, 0x1d, 0xf7, 0x96, 0xef, 0x08, 0x29, 0xa1, 0x98, 0xf6, 0x99, 0xea,
0x05, 0xc0, 0x74, 0xd9, 0xe2, 0xec, 0x41, 0xd9, 0x73, 0xc9, 0xa7, 0x94,
0x99, 0xef, 0x10, 0x0e, 0x80, 0x36, 0xaf, 0xd7, 0x67, 0x7c, 0x75, 0xcf,
0x57, 0xf2, 0x7e, 0x75, 0xe3, 0x6b, 0x53, 0x3e, 0x11, 0x71, 0xea, 0xaf,
0x78, 0xc3, 0x3c, 0x79, 0xf7, 0x3d, 0x15, 0x5b, 0x71, 0x8b, 0x7c, 0xac,
0x8b, 0x34, 0x7a, 0x00, 0x08, 0xf4, 0xff, 0xf3, 0xff, 0xd2, 0x3d, 0xaf,
0xd7, 0x7c, 0xd8, 0x08, 0x66, 0x3e, 0x43, 0x30, 0x4b, 0x38, 0x87, 0xca,
0x8b, 0x53, 0x25, 0xae, 0x55, 0x96, 0xaa, 0xc2, 0xd6, 0x73, 0xa5, 0xad,
0xe9, 0x72, 0x91, 0xa6, 0x56, 0x74, 0x69, 0x8d, 0xa4, 0xa8, 0x56, 0x05,
0x5f, 0xf5, 0xa6, 0x65, 0xf2, 0xce, 0x99, 0x15, 0x5f, 0xb4, 0x2a, 0x00,
0x23, 0x17, 0x66, 0xe7, 0xf6, 0x59, 0xc0, 0x17, 0x52, 0x16, 0x3e, 0x4b,
0xb9, 0xfc, 0x53, 0xd2, 0x48, 0xb1, 0x70, 0xbe, 0x94, 0xf7, 0x6b, 0x4d,
0xe4, 0x5a, 0xda, 0xcd, 0xda, 0xbc, 0x3f, 0xf2, 0x5d, 0x84, 0x27, 0x5c,
0xd5, 0x1b, 0x96, 0xc9, 0xbb, 0xee, 0xad, 0xd8, 0x1e, 0x02, 0x20, 0xa6,
0x62, 0x4c, 0x77, 0x04, 0xfc, 0x7a, 0x7e, 0xd7, 0xfe, 0x7d, 0x1e, 0xa7,
0x3e, 0xa6, 0xad, 0x7c, 0x57, 0x25, 0xf5, 0x23, 0xf6, 0xab, 0x78, 0x3c,
0x5f, 0xbd, 0x47, 0x23, 0xef, 0xf9, 0xd2, 0x91, 0xa9, 0xd6, 0x74, 0x93,
0x72, 0x0e, 0x09, 0x20, 0x39, 0x70, 0x97, 0xbe, 0xc6, 0xde, 0xb8, 0x6f,
0x4e, 0xd5, 0xae, 0xd6, 0x04, 0x80, 0x1d, 0x34, 0x23, 0xa3, 0x77, 0xee,
0x0b, 0x49, 0x1b, 0x18, 0xbb, 0xbf, 0x4f, 0x64, 0x0e, 0x90, 0x26, 0x1f,
0x69, 0x03, 0x29, 0x27, 0x5c, 0xa5, 0x4c, 0x21, 0x15, 0x59, 0xd2, 0x5a,
0x3d, 0xda, 0x41, 0xd4, 0x8c, 0x1f, 0x1d, 0x0d, 0xd2, 0xd9, 0x87, 0x00,
0xef, 0xa6, 0xea, 0x4b, 0x9f, 0x33, 0x4c, 0xde, 0xff, 0x78, 0xf5, 0x57,
0xad, 0x45, 0x41, 0x38, 0x17, 0x53, 0xf6, 0x84, 0x8e, 0x5d, 0x47, 0xbd,
0xc7, 0xae, 0x63, 0xd2, 0xfc, 0x79, 0xc1, 0x0b, 0x8c, 0xa6, 0x03, 0x6d,
0x1e, 0xaf, 0xae, 0x5a, 0xf4, 0xac, 0x2d, 0xcb, 0xe7, 0x12, 0x2d, 0xc6,
0x97, 0xa6, 0x23, 0xa9, 0x79, 0xf0, 0x0e, 0xaa, 0xa2, 0xe8, 0x31, 0x66,
0xf2, 0xf7, 0x4b, 0x6a, 0x70, 0x61, 0x26, 0xe6, 0x9d, 0x12, 0x7a, 0x28,
0x08, 0x67, 0xc7, 0x26, 0xf5, 0x80, 0x8c, 0x09, 0x5f, 0x75, 0x5b, 0x63,
0xcc, 0xf2, 0x8f, 0x52, 0xf6, 0x78, 0x69, 0x6f, 0x52, 0x52, 0x2b, 0x62,
0x40, 0xe5, 0x0a, 0x2d, 0xa5, 0xd8, 0x10, 0x3e, 0xaf, 0x5e, 0xa4, 0x49,
0x3b, 0x4e, 0x74, 0x67, 0x57, 0xaa, 0x98, 0x0c, 0xbe, 0xe6, 0xbf, 0xc0,
0x14, 0x7d, 0x37, 0x03, 0x6e, 0x3c, 0xb9, 0xa6, 0xf6, 0xa7, 0xd0, 0xf2,
0x64, 0xab, 0xc8, 0x50, 0xdc, 0x72, 0x68, 0x9f, 0x5c, 0xdc, 0xfd, 0x2d,
0x73, 0x2f, 0xee, 0x3a, 0xe1, 0x32, 0xa2, 0x3d, 0x44, 0x5e, 0x17, 0xc9,
0x8b, 0xd5, 0xa0, 0x92, 0x57, 0xab, 0x23, 0xe2, 0xd7, 0xfb, 0xf2, 0x39,
0x43, 0x8a, 0x52, 0xe5, 0xd2, 0x3d, 0x57, 0x6e, 0x38, 0xb0, 0x69, 0x68,
0xcd, 0x4d, 0xee, 0x72, 0xa8, 0x0c, 0x01, 0xa0, 0xac, 0x49, 0x22, 0xbc,
0x55, 0x6f, 0x04, 0x20, 0x00, 0xc9, 0x13, 0xf7, 0x77, 0xff, 0xb3, 0x6d,
0x38, 0x37, 0x4f, 0x8e, 0x63, 0xa5, 0x93, 0xb3, 0xf4, 0xde, 0x87, 0xe6,
0xf7, 0xca, 0x41, 0xa3, 0x8d, 0xf3, 0xe5, 0xb8, 0x5a, 0xce, 0xdc, 0x5a,
0x72, 0x90, 0x52, 0x24, 0x79, 0x8e, 0x33, 0x1f, 0x15, 0xf6, 0xaf, 0xbd,
0x0f, 0x00, 0xf0, 0xd6, 0xa6, 0xe0, 0x0d, 0x10, 0x31, 0x1c, 0x7a, 0x01,
0xc0, 0x1d, 0xcf, 0xc9, 0xe3, 0x3e, 0xee, 0x3e, 0x35, 0xed, 0x1a, 0xee,
0xd5, 0xe0, 0xed, 0xd3, 0xcd, 0x3e, 0x29, 0x75, 0x7e, 0x35, 0x8f, 0x95,
0xde, 0xce, 0xa2, 0x94, 0x5b, 0xb4, 0x4a, 0x58, 0x6d, 0x52, 0x55, 0x1e,
0x76, 0xe5, 0xfa, 0xa1, 0x7e, 0x97, 0xe1, 0x6f, 0x5b, 0x2e, 0xaf, 0x79,
0x1e, 0x00, 0xf0, 0x46, 0x8e, 0x56, 0x6b, 0xc6, 0x21, 0x00, 0x49, 0xf9,
0x2f, 0x77, 0xba, 0xa2, 0xfb, 0x2c, 0xf8, 0x80, 0x66, 0xc1, 0xaa, 0x04,
0xba, 0x14, 0x83, 0xaa, 0x87, 0xb9, 0x1c, 0x3f, 0x2b, 0xe5, 0x14, 0x69,
0xe9, 0x18, 0xed, 0xfd, 0x52, 0xa0, 0x68, 0x91, 0x9d, 0xe1, 0x51, 0x48,
0xfc, 0xc4, 0x5f, 0xb5, 0xd2, 0x78, 0xef, 0xee, 0x3b, 0x6b, 0xd6, 0x01,
0x40, 0x7d, 0x6b, 0xb6, 0xa3, 0x71, 0x3d, 0xc0, 0x92, 0x33, 0x35, 0x35,
0x67, 0xc8, 0x6b, 0x96, 0x75, 0x06, 0x3b, 0xe9, 0x21, 0x95, 0x88, 0xb5,
0xac, 0x0f, 0xb4, 0x9c, 0xe7, 0x87, 0x9b, 0x5d, 0xae, 0x1c, 0x94, 0x2f,
0x13, 0xd5, 0xd5, 0x12, 0xef, 0x84, 0xea, 0xe2, 0xc7, 0xa9, 0x29, 0x87,
0x5f, 0xa8, 0x3b, 0x00, 0x10, 0xd8, 0x25, 0x17, 0xf3, 0xc2, 0xbc, 0x5e,
0x0a, 0x0a, 0xb4, 0x23, 0xc0, 0x02, 0x19, 0x93, 0x4f, 0x74, 0x59, 0x6d,
0xea, 0xc6, 0x87, 0x29, 0x21, 0x71, 0x38, 0xfb, 0x9d, 0x04, 0xbc, 0xd5,
0x04, 0x3c, 0xe7, 0x09, 0x70, 0x0d, 0x24, 0x60, 0x6f, 0x43, 0x32, 0x00,
0x9b, 0x45, 0x83, 0x31, 0x19, 0x7f, 0xa7, 0x00, 0x14, 0x16, 0x34, 0xd5,
0xd5, 0x8e, 0x52, 0x4e, 0x51, 0x31, 0x22, 0x21, 0xc0, 0x35, 0x02, 0x70,
0xf5, 0x7c, 0x60, 0x7e, 0xde, 0xda, 0xe0, 0xfc, 0x18, 0x2b, 0x80, 0x29,
0x13, 0x80, 0xcd, 0xa0, 0xc1, 0x90, 0x22, 0x98, 0x28, 0x1a, 0x2a, 0x5f,
0x05, 0xf5, 0xc3, 0xf6, 0xfc, 0xba, 0x1b, 0x1a, 0x8a, 0xa1, 0x5c, 0x4f,
0x11, 0x86, 0xd7, 0xa6, 0x17, 0x00, 0xfc, 0x2c, 0xee, 0x03, 0xb2, 0x5f,
0xfb, 0x4d, 0xa7, 0x27, 0x93, 0x87, 0xc2, 0xef, 0x83, 0xaa, 0x25, 0xa8,
0x5e, 0xc4, 0x47, 0xd1, 0x4b, 0x1e, 0x38, 0xfe, 0x94, 0x0f, 0xfc, 0xee,
0xf0, 0xd7, 0xf1, 0x22, 0x93, 0x7a, 0xd2, 0x60, 0x1f, 0x42, 0x41, 0xe7,
0xeb, 0x0c, 0x90, 0x3e, 0x8a, 0x09, 0x5c, 0xb0, 0x54, 0x3d, 0x21, 0xc8,
0x4a, 0xe9, 0xdc, 0x22, 0x97, 0xf3, 0xe4, 0x8d, 0xef, 0xab, 0x27, 0x50,
0x7b, 0xc0, 0x0f, 0x65, 0x6b, 0x39, 0xa8, 0xfd, 0xca, 0x0f, 0x8d, 0x45,
0x7e, 0xf0, 0x21, 0x83, 0x8b, 0x0e, 0xca, 0x40, 0x20, 0xfb, 0x2e, 0x23,
0x0c, 0x59, 0x6a, 0x0e, 0xbd, 0x1a, 0x3d, 0x9e, 0xeb, 0x28, 0xf3, 0xe1,
0xa7, 0xb9, 0x17, 0x50, 0x84, 0xd4, 0xe8, 0x69, 0x45, 0xc7, 0x0b, 0x80,
0x01, 0x13, 0x71, 0xc1, 0x87, 0x59, 0xb7, 0x66, 0x5d, 0x0f, 0xaf, 0xd0,
0x06, 0x0a, 0x9f, 0x47, 0x1d, 0xdf, 0xcc, 0x70, 0xc1, 0xd9, 0x55, 0xd2,
0x91, 0x49, 0x48, 0xc8, 0x78, 0x34, 0x40, 0xf2, 0x40, 0x0a, 0x7a, 0x4c,
0x37, 0x42, 0xf7, 0xdb, 0x8c, 0x60, 0x4c, 0x0b, 0xfa, 0x85, 0x3c, 0x3d,
0x08, 0x90, 0x68, 0x35, 0x7e, 0x70, 0x34, 0x8c, 0xc6, 0x73, 0x6b, 0x39,
0x38, 0xf9, 0xba, 0x17, 0x6a, 0xf7, 0xf3, 0x40, 0x38, 0x80, 0xa6, 0x39,
0x88, 0x66, 0x2e, 0xbc, 0x66, 0x1b, 0x48, 0xc1, 0x98, 0xef, 0x6c, 0x61,
0x1b, 0x2e, 0x9b, 0x60, 0xe0, 0x81, 0x3f, 0xbf, 0x91, 0x5e, 0xb8, 0xf3,
0xda, 0xba, 0xb7, 0x43, 0x09, 0x58, 0xd7, 0x77, 0x4f, 0xc4, 0x13, 0x01,
0x81, 0x44, 0x3c, 0xf0, 0xae, 0x8c, 0x81, 0xb9, 0xaf, 0x18, 0x3f, 0x61,
0xac, 0x24, 0xd0, 0x15, 0x8d, 0x3c, 0x76, 0x8f, 0x77, 0x42, 0xf5, 0x8e,
0xe6, 0xfe, 0x94, 0xd4, 0x05, 0x37, 0x7d, 0x86, 0x06, 0x48, 0x1b, 0x49,
0xc3, 0xc0, 0x45, 0x26, 0x48, 0xbf, 0x84, 0x06, 0xa0, 0xf4, 0xd6, 0x11,
0xd1, 0xe0, 0x35, 0x1c, 0xe3, 0xe1, 0xc8, 0x23, 0x6e, 0xa8, 0xd8, 0xec,
0x07, 0x82, 0xdf, 0xad, 0x22, 0xf8, 0xb5, 0xe0, 0x04, 0x12, 0xcf, 0x8d,
0xa9, 0x00, 0xe3, 0x2b, 0x6c, 0x40, 0x8b, 0x5c, 0x4b, 0x88, 0x70, 0xde,
0x43, 0x35, 0x1e, 0x7f, 0x04, 0x6e, 0x3a, 0xf6, 0xf7, 0xfa, 0xaf, 0x43,
0x09, 0x58, 0x34, 0xaa, 0x94, 0x25, 0xa4, 0x5f, 0x8b, 0x07, 0x00, 0xfc,
0xac, 0x05, 0x00, 0xd2, 0x6f, 0x38, 0xdd, 0x69, 0x95, 0x39, 0x9b, 0x5c,
0x16, 0x7d, 0x0a, 0x02, 0xdb, 0x2f, 0x75, 0x42, 0xdd, 0xa1, 0x60, 0x71,
0xa8, 0x68, 0x7c, 0xd1, 0xdf, 0x19, 0x1b, 0xc0, 0x80, 0x27, 0x4d, 0xd0,
0xfb, 0xbe, 0xd0, 0x2d, 0x66, 0x11, 0x03, 0x2b, 0x17, 0x71, 0xd1, 0x24,
0x56, 0xf6, 0x31, 0x07, 0x07, 0xef, 0x71, 0x83, 0xb7, 0x4a, 0x14, 0x53,
0x11, 0x86, 0x97, 0x9a, 0x9f, 0x21, 0x05, 0x60, 0x7c, 0xb9, 0x0d, 0x18,
0x93, 0x10, 0x71, 0xcd, 0x71, 0xe9, 0x39, 0x47, 0x1d, 0x2d, 0xec, 0x5d,
0x7f, 0x3d, 0x78, 0xa0, 0x2a, 0xb4, 0x23, 0x22, 0xa6, 0x2e, 0xa8, 0x70,
0x49, 0xf1, 0x00, 0x80, 0x63, 0xe0, 0xd4, 0x52, 0xc6, 0x6e, 0xcd, 0x9c,
0x93, 0x36, 0x9a, 0xfa, 0x5f, 0x8a, 0x42, 0x97, 0x6d, 0xe6, 0x4a, 0x1c,
0x7c, 0xe7, 0x58, 0x27, 0xd4, 0xee, 0xe6, 0x65, 0x8d, 0x2f, 0x07, 0x0a,
0x12, 0x5a, 0xce, 0x7c, 0x23, 0xf4, 0x7f, 0x2c, 0x74, 0xf5, 0x82, 0x87,
0xca, 0xd6, 0x39, 0xd2, 0x9c, 0x5f, 0xb2, 0xc2, 0x07, 0xdf, 0xce, 0x76,
0x83, 0x1f, 0x97, 0x4a, 0x24, 0x68, 0x46, 0x29, 0x12, 0x8c, 0x76, 0x0a,
0xae, 0xa9, 0xb2, 0x02, 0x6d, 0xc0, 0xdc, 0xd6, 0xf4, 0xce, 0x00, 0x0a,
0xb5, 0x7b, 0xc8, 0xab, 0xdb, 0xf2, 0x1b, 0xff, 0x1a, 0x0f, 0xff, 0xe3,
0x40, 0xf1, 0x02, 0x10, 0xc8, 0x03, 0x83, 0x1e, 0x4e, 0x1f, 0x3e, 0xe0,
0x29, 0xc3, 0x47, 0x0c, 0x1b, 0x88, 0x88, 0x30, 0x13, 0x1d, 0x9c, 0xe9,
0x82, 0x33, 0x2b, 0x55, 0x72, 0x80, 0x44, 0x74, 0x22, 0x30, 0x08, 0x42,
0xde, 0x0b, 0x26, 0xe8, 0x39, 0xcb, 0x18, 0x60, 0x23, 0xb9, 0xd2, 0x2b,
0xcc, 0x34, 0xcd, 0x16, 0x85, 0xca, 0xcf, 0x39, 0xd8, 0x77, 0x33, 0x1a,
0x3f, 0x42, 0xf7, 0x2b, 0xd0, 0x8e, 0x18, 0x90, 0xe4, 0x5c, 0x1a, 0xc6,
0x1c, 0xb6, 0x46, 0xe5, 0x22, 0xe2, 0x27, 0xbe, 0xa2, 0xc7, 0xfd, 0xb7,
0x7e, 0xff, 0xb4, 0x6b, 0x37, 0x00, 0xd4, 0x01, 0x00, 0xf2, 0xbf, 0xae,
0x23, 0x5e, 0x00, 0x50, 0xb6, 0xe0, 0x2d, 0x49, 0xe9, 0xd7, 0x97, 0x66,
0xae, 0x33, 0x77, 0xa1, 0x86, 0x46, 0xce, 0xe2, 0xf8, 0x33, 0x1e, 0x38,
0xbe, 0x08, 0x0b, 0xc4, 0x50, 0x18, 0xa3, 0x61, 0x29, 0x4a, 0x73, 0x44,
0x20, 0x0f, 0x8f, 0x5c, 0x6b, 0x09, 0xa8, 0x24, 0xe9, 0x43, 0xda, 0xf3,
0x1b, 0x8b, 0x78, 0xf8, 0x72, 0xbc, 0x13, 0x9c, 0xa7, 0x62, 0x37, 0xbe,
0x40, 0x47, 0xdd, 0xa6, 0x1a, 0x60, 0xf8, 0x8a, 0x80, 0x4f, 0x85, 0xb9,
0x95, 0xa7, 0x8c, 0x1c, 0x2b, 0xec, 0xd2, 0x88, 0x3d, 0x30, 0x81, 0x7e,
0x62, 0xd6, 0xff, 0xc2, 0xb5, 0xc4, 0x0b, 0x00, 0x8e, 0x83, 0x3a, 0xcd,
0x7e, 0xd5, 0x17, 0x19, 0x73, 0x3a, 0xfc, 0x86, 0x59, 0x10, 0x11, 0xe8,
0x50, 0xb9, 0x99, 0x83, 0xbd, 0x93, 0xdc, 0x81, 0xaf, 0x44, 0xd2, 0x9a,
0x03, 0x22, 0x0d, 0x9d, 0x3a, 0x82, 0x82, 0x51, 0x1b, 0x92, 0x00, 0x29,
0x21, 0xd2, 0x18, 0x91, 0x11, 0x87, 0x71, 0xc2, 0x7b, 0x01, 0xbe, 0x99,
0xe9, 0x82, 0xb3, 0xef, 0x87, 0xdb, 0x45, 0x49, 0xf1, 0x88, 0xcf, 0x29,
0xbc, 0x2f, 0x6f, 0x09, 0x0b, 0x7d, 0xe6, 0x22, 0x05, 0x86, 0x83, 0x58,
0xb5, 0x9d, 0x5f, 0xb2, 0xab, 0xc0, 0x81, 0xdb, 0xd2, 0x51, 0x7e, 0xe2,
0x0d, 0x1a, 0x31, 0x75, 0x40, 0xc5, 0xe7, 0x4a, 0x04, 0x00, 0x01, 0x1a,
0xea, 0x31, 0xc5, 0x32, 0x60, 0xc4, 0xbf, 0xac, 0x5b, 0x69, 0x13, 0x15,
0x76, 0x9f, 0x00, 0xd7, 0x48, 0x60, 0x53, 0x8e, 0x03, 0x7c, 0x17, 0xe4,
0x24, 0x63, 0x73, 0x64, 0x48, 0x79, 0x78, 0xc0, 0x18, 0x14, 0xc0, 0xe0,
0x57, 0x4c, 0xd0, 0x73, 0x26, 0x0e, 0xad, 0xde, 0xdb, 0xa9, 0xdc, 0xc2,
0xc1, 0xde, 0xeb, 0x5d, 0xc0, 0x8b, 0x88, 0x21, 0xd2, 0xf8, 0x72, 0xce,
0xd0, 0xf4, 0x3a, 0x05, 0x70, 0xf5, 0xf1, 0x24, 0xb0, 0x5e, 0x14, 0x5e,
0x25, 0x72, 0x2e, 0xe2, 0xf9, 0x76, 0x26, 0x37, 0xa1, 0x64, 0xa5, 0x1b,
0xf7, 0x01, 0xc5, 0x45, 0x3f, 0x78, 0xbd, 0x89, 0x00, 0x40, 0xa0, 0xa1,
0xb4, 0x6b, 0x8b, 0x3b, 0x2c, 0xb7, 0xf6, 0xa2, 0x0a, 0x22, 0x0d, 0x79,
0xf0, 0x5e, 0x17, 0x94, 0xbc, 0x1b, 0x1d, 0xa5, 0xb1, 0x44, 0x44, 0xca,
0x60, 0x1a, 0x2e, 0xdb, 0x6c, 0x69, 0x8a, 0x02, 0x39, 0x18, 0x78, 0x2f,
0x81, 0xfd, 0xbf, 0x73, 0x41, 0xd9, 0x3a, 0x65, 0xe9, 0xab, 0x16, 0x0d,
0xe9, 0xf9, 0x34, 0x5c, 0xb1, 0x23, 0x29, 0xaa, 0x4a, 0x77, 0x1c, 0x27,
0x5b, 0x37, 0x8d, 0x68, 0x9c, 0x05, 0xf5, 0xf1, 0xd3, 0x4f, 0xa2, 0x00,
0xc0, 0x71, 0x30, 0x4e, 0xed, 0x97, 0xbc, 0x65, 0x9f, 0x9c, 0x3d, 0x9d,
0x5d, 0x4a, 0x85, 0xbe, 0x03, 0x4b, 0xe8, 0x05, 0xd5, 0x7d, 0xcb, 0xc3,
0xf6, 0x7c, 0x67, 0x13, 0x0d, 0xa9, 0xe5, 0x00, 0xc9, 0xbf, 0x53, 0x00,
0xf9, 0x9f, 0x99, 0xa1, 0xc3, 0x68, 0x83, 0xe4, 0xfd, 0xbc, 0x02, 0xe8,
0xae, 0x52, 0x1e, 0x36, 0xf7, 0x77, 0x00, 0x8f, 0x8d, 0x61, 0x09, 0xe9,
0xab, 0xea, 0xf9, 0xa1, 0x81, 0x86, 0xbf, 0x6f, 0x82, 0x6e, 0x53, 0xc2,
0x65, 0x30, 0xcf, 0x11, 0x52, 0xf2, 0x1a, 0x7f, 0xdf, 0xc1, 0x39, 0xce,
0x0d, 0xa2, 0xf6, 0xb3, 0x6e, 0xfa, 0x49, 0x24, 0x00, 0x48, 0x43, 0xd6,
0xb4, 0xe1, 0x6c, 0xf7, 0xd1, 0x85, 0xb6, 0xf5, 0x6c, 0x26, 0xd3, 0x4b,
0xcc, 0xd5, 0xc4, 0x0f, 0x01, 0x1d, 0x7e, 0x66, 0xa5, 0x72, 0xad, 0xa2,
0x16, 0x11, 0xbd, 0xee, 0x33, 0x40, 0xde, 0x8b, 0x42, 0x6b, 0x20, 0x9a,
0xfd, 0xf1, 0x95, 0x13, 0x2f, 0x78, 0xe0, 0xe8, 0x82, 0x60, 0xd2, 0x57,
0xf3, 0x72, 0x01, 0xb4, 0xc8, 0xf7, 0xa5, 0x8e, 0xa0, 0xe1, 0xb2, 0x2d,
0x16, 0x30, 0x58, 0xc3, 0x09, 0xc2, 0x75, 0x96, 0x1c, 0xd9, 0xfb, 0x5b,
0xcf, 0xed, 0x17, 0x8e, 0xfa, 0x4a, 0x42, 0xcd, 0xb7, 0x66, 0x75, 0x21,
0xc5, 0x9f, 0x1a, 0x5e, 0x4b, 0x04, 0x05, 0x09, 0x40, 0xa2, 0x5c, 0x48,
0x2b, 0xd8, 0x92, 0xfa, 0x50, 0xd6, 0x95, 0x86, 0x39, 0x91, 0xf4, 0xe6,
0x3c, 0xc3, 0xc3, 0xce, 0x02, 0x27, 0xb8, 0x4b, 0x65, 0xc4, 0xa4, 0x44,
0x61, 0x24, 0x18, 0x51, 0x88, 0x88, 0xe4, 0x01, 0x34, 0x8c, 0xde, 0x93,
0x04, 0x4c, 0x52, 0x74, 0x85, 0x1c, 0x18, 0x95, 0x10, 0x38, 0x78, 0xaf,
0x1b, 0x4a, 0xde, 0xe6, 0xa2, 0x8c, 0xaf, 0xd5, 0xf3, 0xb1, 0x47, 0x95,
0xff, 0x99, 0x05, 0x32, 0xf2, 0xc3, 0x55, 0x17, 0x21, 0x84, 0x54, 0xac,
0x85, 0x45, 0x7b, 0x6e, 0x6c, 0x7c, 0x2b, 0x94, 0x7c, 0x75, 0xdd, 0x0f,
0x10, 0x89, 0x49, 0xa2, 0x00, 0xc0, 0x71, 0x31, 0x5e, 0x53, 0x72, 0xee,
0x4c, 0xcd, 0x1d, 0xf4, 0x32, 0xb3, 0xd6, 0x98, 0x42, 0xa5, 0x47, 0x2a,
0x8b, 0xd2, 0x0f, 0x39, 0x38, 0x38, 0xc3, 0xdd, 0x94, 0x1c, 0xd5, 0x3c,
0x5e, 0xea, 0xef, 0xd7, 0x54, 0xda, 0x00, 0xa5, 0x69, 0xe4, 0x81, 0x00,
0xf0, 0x1e, 0x02, 0x1b, 0xbb, 0x34, 0x82, 0xaf, 0x4e, 0x59, 0x7a, 0xca,
0x79, 0x3e, 0x30, 0x00, 0x03, 0x17, 0x19, 0x21, 0x67, 0xbe, 0x09, 0x90,
0x46, 0xc5, 0x87, 0xf7, 0x3c, 0x39, 0xf7, 0xdd, 0x74, 0x6e, 0xca, 0x99,
0x4f, 0xdc, 0xc7, 0x43, 0xc9, 0x37, 0xe6, 0xc5, 0x17, 0xa9, 0x80, 0x48,
0x24, 0x00, 0xc1, 0x64, 0x6c, 0x86, 0x8c, 0xb1, 0xdb, 0x32, 0x16, 0xd9,
0x47, 0x50, 0xd3, 0x02, 0xad, 0x9c, 0xd0, 0x81, 0xed, 0x03, 0x6c, 0x7e,
0x15, 0xbd, 0x18, 0xea, 0x8e, 0x7a, 0xf4, 0xa9, 0xa2, 0xf1, 0x95, 0x56,
0x60, 0x53, 0x9b, 0x07, 0x16, 0x57, 0xa8, 0xc8, 0xfb, 0x1b, 0xec, 0x0d,
0x80, 0x94, 0x27, 0x6b, 0x64, 0x61, 0x3e, 0x11, 0x11, 0x47, 0x31, 0x00,
0x3d, 0xee, 0x36, 0x40, 0xde, 0x12, 0x53, 0x28, 0xc2, 0x44, 0x63, 0xf0,
0x84, 0xd4, 0x6c, 0x85, 0x65, 0x3b, 0xc6, 0x34, 0x3e, 0x07, 0x00, 0x78,
0x1f, 0x00, 0xd6, 0xd5, 0xba, 0xb5, 0xbf, 0x18, 0x88, 0x44, 0x02, 0x80,
0xe3, 0x06, 0x5a, 0x13, 0x83, 0xe6, 0xa7, 0x8d, 0xbc, 0xe8, 0x51, 0x6a,
0x39, 0x6b, 0xa7, 0xd2, 0x22, 0x99, 0x1a, 0xbd, 0xf4, 0xc7, 0xbf, 0x79,
0xe1, 0xc4, 0x5f, 0xbd, 0x4d, 0x89, 0x32, 0x32, 0x52, 0xe4, 0xa8, 0x13,
0x23, 0xe2, 0x9a, 0x2a, 0x5b, 0x13, 0x00, 0x91, 0x25, 0x18, 0xb6, 0xbc,
0x37, 0xd8, 0xf0, 0x86, 0xc5, 0xe0, 0xa1, 0x95, 0x76, 0xd0, 0xf8, 0xd9,
0xff, 0x63, 0x80, 0x41, 0xcf, 0x99, 0x44, 0xb5, 0x46, 0xf3, 0x2c, 0xd0,
0xfb, 0x8f, 0xce, 0x23, 0xd3, 0x4f, 0xae, 0x70, 0x08, 0xd2, 0x33, 0xe6,
0xb5, 0x5f, 0xb9, 0x6b, 0x4a, 0x34, 0x00, 0x48, 0x9c, 0x56, 0xb3, 0x19,
0x32, 0xae, 0xd8, 0x9a, 0xb1, 0xc8, 0x3e, 0x12, 0xa6, 0x4a, 0x09, 0x5d,
0x9e, 0x03, 0x28, 0xfd, 0xb7, 0x17, 0x8e, 0x2e, 0xf4, 0x82, 0xfb, 0x6c,
0xc8, 0x8c, 0x32, 0x39, 0x20, 0xd2, 0x98, 0x02, 0x00, 0x52, 0x0d, 0x39,
0x31, 0x00, 0x5a, 0x8d, 0x8f, 0x74, 0x96, 0xb3, 0x80, 0x85, 0x3e, 0xf7,
0xb3, 0xc0, 0x84, 0xbe, 0x66, 0x24, 0xcc, 0x58, 0x3c, 0xe1, 0xab, 0x37,
0xc3, 0xd2, 0x1d, 0xe3, 0x1a, 0x5f, 0x14, 0x79, 0xbf, 0xae, 0xce, 0x67,
0x4b, 0x53, 0x10, 0x8e, 0x8f, 0x80, 0x06, 0x16, 0x6a, 0xfa, 0xce, 0x4e,
0x19, 0x96, 0xbb, 0xc8, 0xf0, 0xbe, 0xc1, 0x4e, 0x49, 0x32, 0x36, 0xda,
0xdb, 0x79, 0x9a, 0x87, 0xe3, 0x8b, 0x3d, 0x70, 0x76, 0x25, 0x17, 0xa8,
0x5e, 0x23, 0x0f, 0xc9, 0x1c, 0x50, 0x25, 0x9d, 0x03, 0xf0, 0xb3, 0x08,
0xc0, 0xc7, 0xa9, 0x8d, 0xc0, 0xfb, 0x34, 0x24, 0x7a, 0x1a, 0xa0, 0xd3,
0x04, 0x06, 0xfa, 0x3f, 0xc1, 0x82, 0x7d, 0x30, 0x13, 0xc5, 0xf9, 0xc2,
0x5c, 0x3c, 0x95, 0xa4, 0xec, 0xe0, 0x5d, 0xdc, 0x94, 0xb2, 0x42, 0xf7,
0x8f, 0xa2, 0xbe, 0x7f, 0x5c, 0xd2, 0xb3, 0x25, 0x29, 0x08, 0xc7, 0x0e,
0x44, 0x01, 0xf6, 0x87, 0xc6, 0xec, 0x49, 0x5b, 0x94, 0x3a, 0x92, 0x9e,
0x4a, 0xe1, 0x52, 0x59, 0xc4, 0xae, 0x09, 0x34, 0x11, 0xa2, 0xc5, 0x73,
0x04, 0x1a, 0x8e, 0xf2, 0x70, 0x72, 0x99, 0x0f, 0xce, 0xfd, 0xc7, 0x07,
0xde, 0xf3, 0xca, 0xf4, 0x81, 0xdd, 0x49, 0xa3, 0x28, 0x07, 0x88, 0x98,
0x1a, 0xfc, 0x1e, 0x08, 0x26, 0x61, 0x89, 0xaa, 0x5b, 0x00, 0x13, 0x5b,
0xdd, 0x9d, 0x26, 0x18, 0xa0, 0xd7, 0x7d, 0x46, 0x48, 0x1f, 0xc9, 0x00,
0x8d, 0xd2, 0x41, 0x86, 0x07, 0x08, 0x4f, 0xf8, 0x8a, 0x0d, 0x64, 0xc9,
0x9e, 0x1b, 0x1c, 0x4b, 0x43, 0xca, 0x47, 0xf7, 0x0d, 0xd9, 0xad, 0x45,
0x41, 0x61, 0x51, 0xd0, 0xfd, 0x16, 0x73, 0xff, 0x61, 0xff, 0xb4, 0xac,
0x35, 0xa6, 0x45, 0x28, 0x22, 0xc9, 0xd9, 0x90, 0x80, 0x07, 0xd7, 0xee,
0xf5, 0x43, 0xcd, 0x3e, 0x7f, 0x00, 0x14, 0x77, 0x39, 0x01, 0xbf, 0x87,
0x00, 0x6d, 0xa6, 0xc0, 0xdc, 0x91, 0x02, 0x94, 0xa1, 0x17, 0xcd, 0x63,
0x81, 0x0e, 0xef, 0x50, 0x37, 0xb5, 0x27, 0x30, 0xaa, 0x4a, 0xd7, 0xf8,
0xa0, 0xe2, 0x53, 0x0e, 0xdc, 0xe7, 0x08, 0x70, 0x8e, 0x60, 0x47, 0xd5,
0x94, 0x49, 0x81, 0xad, 0x1f, 0x0d, 0x69, 0x23, 0x18, 0xe8, 0x70, 0x05,
0x13, 0x58, 0x93, 0xd6, 0x72, 0x78, 0xce, 0xf1, 0x27, 0xb7, 0x8d, 0x72,
0xdc, 0xec, 0x2c, 0x81, 0x52, 0x51, 0xdb, 0x21, 0x61, 0xde, 0x2f, 0x18,
0x4b, 0xcb, 0x5c, 0x62, 0x7d, 0x4f, 0x60, 0xb5, 0x0c, 0xa3, 0xe0, 0xf2,
0x8d, 0x29, 0x73, 0x3a, 0x8e, 0x65, 0xe6, 0x00, 0x4d, 0xd1, 0xd2, 0xeb,
0x5b, 0xf2, 0x4d, 0xe6, 0x44, 0xef, 0xaa, 0x08, 0xc5, 0x96, 0xa6, 0x6b,
0xe1, 0x7d, 0x84, 0x3f, 0xbd, 0xcc, 0xf7, 0xc7, 0x43, 0xb3, 0x3d, 0x1f,
0x85, 0xbc, 0x3f, 0x61, 0xca, 0xa7, 0xa5, 0x29, 0x48, 0x1c, 0x05, 0xc9,
0xd6, 0x5e, 0xd0, 0xa5, 0x60, 0x5b, 0xda, 0x07, 0x96, 0x6c, 0xaa, 0xbf,
0x98, 0x2e, 0x94, 0xac, 0xa0, 0xb6, 0x16, 0x1c, 0x69, 0xc8, 0x68, 0x08,
0xd5, 0x1b, 0x76, 0x8a, 0xe7, 0x27, 0x80, 0xab, 0x78, 0x5b, 0xb6, 0xfe,
0xca, 0xf1, 0x07, 0x00, 0x40, 0x52, 0xc4, 0x3d, 0x3f, 0xba, 0xd6, 0x7c,
0xd5, 0xd0, 0x4e, 0xb4, 0x0a, 0x12, 0x9f, 0x0f, 0xa3, 0x00, 0xfb, 0x06,
0x69, 0x83, 0x9f, 0xb7, 0x5e, 0xdd, 0xfb, 0x7e, 0xe3, 0x3f, 0x19, 0x0b,
0xcd, 0xaa, 0xed, 0xdc, 0x53, 0xba, 0xc1, 0x49, 0x6c, 0x78, 0x21, 0x87,
0x24, 0xda, 0xf8, 0x78, 0x0e, 0x6f, 0x35, 0xa9, 0xfe, 0x7e, 0xae, 0xef,
0xce, 0xd3, 0x2b, 0x3c, 0x28, 0x3b, 0x71, 0xcb, 0x61, 0x42, 0xaa, 0xde,
0xd6, 0x50, 0x41, 0x91, 0xe7, 0xc0, 0x14, 0x67, 0x03, 0x13, 0x74, 0xf8,
0xcd, 0xe7, 0x29, 0x4f, 0xa6, 0xe7, 0x33, 0xb7, 0x45, 0x56, 0x98, 0xf8,
0x01, 0x6d, 0x1e, 0xdf, 0xfc, 0x4e, 0xf9, 0x12, 0x2e, 0x3e, 0xcf, 0xc7,
0x33, 0xf0, 0x5e, 0xc2, 0x97, 0xad, 0xe6, 0x17, 0x7f, 0x35, 0xcd, 0xb9,
0x3c, 0x24, 0x3b, 0x71, 0xc3, 0x15, 0xca, 0x4e, 0xe5, 0xca, 0x51, 0xcd,
0xd5, 0x65, 0xfe, 0xde, 0x92, 0x11, 0x80, 0xa7, 0xc4, 0xea, 0x38, 0xd0,
0x29, 0xed, 0x72, 0xb5, 0xa5, 0xcf, 0x90, 0x37, 0x8c, 0x6f, 0x27, 0xf5,
0x60, 0xfa, 0x0a, 0xa6, 0xd4, 0xc6, 0xf1, 0x82, 0xdf, 0x47, 0x7e, 0xab,
0xa1, 0x70, 0x45, 0xd2, 0xb1, 0xa0, 0x1d, 0x54, 0x11, 0x31, 0x22, 0xf5,
0x1c, 0xe4, 0x3f, 0xdf, 0x77, 0x8b, 0xe3, 0x4f, 0xce, 0x9f, 0x00, 0xff,
0xb3, 0x06, 0xf6, 0xfb, 0x5b, 0xf4, 0x1b, 0xd4, 0x5b, 0x1a, 0x00, 0xbc,
0x3a, 0xec, 0x94, 0x62, 0x42, 0x4e, 0x1d, 0xbc, 0x38, 0x79, 0x4c, 0xcf,
0xd9, 0xcc, 0x3f, 0x0c, 0x36, 0xca, 0xa2, 0xcd, 0xa1, 0x22, 0x6b, 0xdd,
0x48, 0x37, 0x52, 0x22, 0xa0, 0xd8, 0x1d, 0xd6, 0x5d, 0xce, 0x97, 0x1d,
0x79, 0x84, 0xbb, 0xa7, 0x64, 0x79, 0x18, 0xf5, 0x24, 0xa4, 0xe5, 0x20,
0x17, 0x20, 0xad, 0x01, 0x00, 0x9e, 0x43, 0xa0, 0xa2, 0x8c, 0x2b, 0xd6,
0x25, 0x3f, 0x94, 0x71, 0x15, 0x33, 0x93, 0x36, 0xca, 0xaa, 0xef, 0xa6,
0x3b, 0x7d, 0xc3, 0xe9, 0x49, 0xd9, 0xf8, 0xcd, 0x71, 0x10, 0xbb, 0xe1,
0x71, 0x64, 0xce, 0xc9, 0xbb, 0xcf, 0xbc, 0x0d, 0x0b, 0x0f, 0x3d, 0xe0,
0x10, 0x54, 0x0f, 0x6a, 0xfe, 0x84, 0x34, 0xdc, 0x94, 0xd8, 0xa9, 0x35,
0x00, 0x10, 0x53, 0x51, 0x8a, 0x3d, 0xcf, 0xd8, 0x6d, 0xc4, 0x2a, 0xcb,
0xcb, 0xc9, 0x03, 0xe9, 0x51, 0xc1, 0x02, 0x4d, 0x7c, 0xa8, 0x79, 0xbc,
0x34, 0x24, 0x7a, 0xe8, 0x26, 0xec, 0xac, 0x1c, 0xe1, 0xcf, 0xef, 0x20,
0x1f, 0xec, 0x1a, 0xef, 0x78, 0x06, 0xbc, 0x4d, 0xaa, 0xa7, 0x45, 0xa9,
0x47, 0x38, 0x7f, 0x6b, 0x01, 0x20, 0x50, 0x11, 0xae, 0x19, 0xd8, 0x7b,
0xdc, 0x6e, 0xba, 0x38, 0xf7, 0x59, 0xd3, 0x52, 0x4b, 0x67, 0x3a, 0x3b,
0xf8, 0x3d, 0x8b, 0x4a, 0x77, 0xc4, 0x88, 0xb9, 0x5e, 0xc4, 0xd7, 0x61,
0x71, 0xa2, 0x1c, 0x2b, 0x4a, 0x1e, 0x88, 0x7d, 0xfe, 0x86, 0xc3, 0xb0,
0x77, 0xff, 0x8d, 0x9e, 0x07, 0xeb, 0x8b, 0x7c, 0x58, 0x70, 0xe1, 0x2e,
0x51, 0x5c, 0x68, 0x6f, 0x51, 0xea, 0x69, 0x0b, 0x00, 0x10, 0xec, 0xc0,
0xca, 0x19, 0x4a, 0xd3, 0xbc, 0x67, 0x92, 0xc6, 0xf4, 0xb8, 0xc7, 0xf0,
0x9c, 0x29, 0x83, 0x4a, 0x55, 0x69, 0x4c, 0x47, 0xd9, 0x4f, 0x4e, 0xeb,
0xe8, 0x11, 0x22, 0xae, 0xd3, 0xa4, 0xf8, 0xdb, 0x3f, 0xb8, 0xef, 0x2f,
0x5b, 0xcf, 0xe1, 0xd7, 0x8e, 0xa1, 0xe4, 0xc4, 0x82, 0xab, 0xc5, 0x54,
0x4f, 0xe4, 0x1c, 0x5b, 0x33, 0x02, 0xf0, 0xdc, 0x42, 0xb3, 0x0e, 0x9b,
0x01, 0x69, 0xbf, 0x7a, 0xd5, 0x3a, 0xa9, 0xdb, 0x1d, 0xcc, 0x53, 0x06,
0x5b, 0xf8, 0x4e, 0x0a, 0x41, 0xf7, 0x48, 0x19, 0x34, 0x5e, 0xba, 0x11,
0x8f, 0xe9, 0x3a, 0xc7, 0x57, 0x1e, 0x7d, 0xcc, 0x37, 0xbb, 0xe4, 0x2d,
0xef, 0xa1, 0x90, 0xf1, 0x51, 0x72, 0xb6, 0x38, 0xef, 0x8b, 0xe7, 0xd0,
0xda, 0x00, 0x88, 0xf3, 0x41, 0x00, 0x84, 0x61, 0xff, 0x32, 0x4f, 0xeb,
0x7a, 0x13, 0xfb, 0x27, 0x83, 0x55, 0xd8, 0x5d, 0xad, 0x56, 0x5a, 0xe9,
0xa7, 0x1b, 0xf1, 0x85, 0xbb, 0xcb, 0xf9, 0xf3, 0x45, 0x4b, 0xfc, 0xf3,
0x7f, 0x7c, 0xde, 0xbd, 0x27, 0x64, 0x7c, 0x4c, 0xba, 0xad, 0xc2, 0xfb,
0x6d, 0x0d, 0x00, 0x9e, 0x5f, 0xa8, 0x92, 0x93, 0x81, 0x85, 0xf4, 0x5f,
0xbf, 0x69, 0xbe, 0xbd, 0xf3, 0x64, 0xe3, 0x43, 0xcd, 0x20, 0x84, 0x73,
0x7d, 0x73, 0x44, 0x48, 0x77, 0x93, 0x62, 0xa5, 0x1e, 0x4f, 0x15, 0xb9,
0x50, 0xfc, 0x77, 0xee, 0x91, 0x63, 0x4f, 0xbb, 0xf1, 0xee, 0x76, 0xdc,
0x5c, 0x85, 0x9e, 0x8f, 0xc6, 0xd7, 0xb5, 0xc1, 0x36, 0xd6, 0xf3, 0xb7,
0x07, 0x00, 0x84, 0xa4, 0x8c, 0xad, 0x0a, 0x8c, 0x84, 0xf4, 0x61, 0xcb,
0x2d, 0xd3, 0x3a, 0x5f, 0xc7, 0xcc, 0x65, 0x53, 0x68, 0x33, 0x89, 0x8a,
0x4b, 0x7d, 0xd2, 0x32, 0xd2, 0x30, 0x04, 0x08, 0xf1, 0x94, 0x91, 0xda,
0xe2, 0xa5, 0xde, 0x47, 0x8f, 0x3f, 0xe5, 0xc3, 0xaf, 0x97, 0x41, 0xce,
0x17, 0x8c, 0xdf, 0x2a, 0x49, 0xb7, 0xad, 0x73, 0x40, 0xe4, 0xf9, 0x31,
0x29, 0x23, 0x08, 0x29, 0x58, 0xa8, 0x5d, 0xfc, 0x92, 0x69, 0x42, 0xb7,
0xdb, 0x8c, 0x0b, 0x4c, 0x99, 0x74, 0x2a, 0x50, 0x08, 0x43, 0x62, 0x3c,
0x3e, 0x40, 0x5a, 0x3c, 0x21, 0x8e, 0x53, 0x7c, 0xc9, 0x8f, 0x8b, 0xb8,
0x05, 0xa7, 0xde, 0xf1, 0x7e, 0x1b, 0x52, 0x3b, 0xd8, 0x64, 0x43, 0xcf,
0x6f, 0x13, 0xe3, 0x0b, 0x49, 0x31, 0x9e, 0x08, 0x8a, 0xf7, 0xb3, 0x68,
0xe1, 0x66, 0x3a, 0x02, 0xb0, 0xf7, 0x79, 0xd0, 0x38, 0xa2, 0xd7, 0x2c,
0xf6, 0x51, 0x5b, 0x1f, 0x3a, 0x87, 0x62, 0x12, 0xb2, 0x73, 0x0f, 0xd7,
0x14, 0x48, 0xdd, 0x21, 0x7e, 0xf7, 0x91, 0xc7, 0x3d, 0xcf, 0x9e, 0xff,
0xcc, 0x5f, 0x1c, 0x32, 0xbe, 0x98, 0x76, 0x12, 0x13, 0x62, 0x3a, 0xac,
0xd1, 0x16, 0x49, 0x58, 0x6a, 0x9a, 0x18, 0x09, 0xd8, 0x33, 0xc2, 0xff,
0x3b, 0x63, 0xcf, 0xba, 0xd2, 0xd0, 0xb3, 0xdf, 0xa3, 0xec, 0x03, 0xf6,
0x61, 0xf4, 0x58, 0x43, 0x0a, 0xc5, 0x8a, 0x77, 0x57, 0xc4, 0x72, 0x8d,
0x84, 0x07, 0xbc, 0xf9, 0xae, 0xb1, 0x66, 0x07, 0xb7, 0xea, 0xbb, 0x3f,
0xba, 0xdf, 0x75, 0x95, 0x04, 0xb6, 0x13, 0x62, 0x7f, 0x07, 0x13, 0x2e,
0xb6, 0x97, 0x5b, 0xe5, 0xdf, 0x15, 0x2a, 0xcd, 0xb9, 0xbd, 0x00, 0x20,
0x24, 0x66, 0x04, 0x01, 0xfb, 0x46, 0x29, 0xc6, 0x24, 0x48, 0xed, 0xf7,
0x98, 0xe9, 0xca, 0xac, 0x6b, 0x0c, 0xd3, 0x6d, 0x17, 0x51, 0x03, 0x18,
0x33, 0x45, 0x6b, 0x8d, 0x07, 0x5c, 0x19, 0xf3, 0x3b, 0x08, 0xd7, 0x70,
0x8c, 0x3f, 0x70, 0x76, 0xa5, 0xef, 0xcd, 0xa2, 0x57, 0x7d, 0x07, 0xc0,
0x17, 0x30, 0x3c, 0x52, 0x0e, 0xb6, 0x96, 0x51, 0x6a, 0xb6, 0x19, 0xed,
0xb4, 0x97, 0x24, 0x2c, 0xe5, 0x18, 0xd8, 0x3d, 0xc5, 0xbe, 0x11, 0x82,
0x80, 0x05, 0x5b, 0x72, 0xea, 0x20, 0x43, 0xc7, 0xec, 0xbb, 0xe9, 0x82,
0x8c, 0x02, 0xc3, 0xa4, 0xa4, 0x1e, 0x74, 0xae, 0x31, 0x19, 0x18, 0xca,
0x20, 0xed, 0x37, 0x84, 0x23, 0xe0, 0xab, 0x07, 0xbf, 0xa3, 0xd8, 0x7f,
0xe8, 0xfc, 0xe7, 0xfe, 0x35, 0xa7, 0x97, 0x79, 0x77, 0x35, 0x9c, 0x0c,
0xec, 0xe3, 0x41, 0xba, 0x41, 0xaf, 0xc7, 0x0a, 0x17, 0x8d, 0x9f, 0xd0,
0x65, 0xc5, 0x58, 0xa2, 0xb2, 0xbd, 0x25, 0x61, 0xa9, 0xb9, 0x0b, 0x15,
0x33, 0x46, 0x03, 0xb6, 0x2e, 0x10, 0x08, 0xab, 0x25, 0x0b, 0xec, 0x99,
0x13, 0x8d, 0x7d, 0x32, 0x47, 0xd3, 0xf9, 0xd6, 0x1c, 0x7a, 0xa8, 0xa9,
0x03, 0xd5, 0x93, 0x36, 0x51, 0xa9, 0xd8, 0x4f, 0xf2, 0xbb, 0x49, 0x9d,
0xa7, 0x8a, 0x9c, 0x6c, 0x38, 0xc1, 0x1f, 0xa8, 0xfa, 0x9c, 0xdb, 0x5d,
0x5e, 0xe8, 0x2f, 0xe6, 0x6a, 0x02, 0x46, 0xc7, 0xaa, 0x16, 0x1f, 0x68,
0x78, 0xa4, 0x1c, 0xf4, 0xfa, 0x76, 0x63, 0xfc, 0xf6, 0x90, 0x84, 0x95,
0x9c, 0x07, 0x93, 0x33, 0x46, 0x03, 0x6e, 0x73, 0x41, 0xa5, 0x84, 0x60,
0xe0, 0x4f, 0x7c, 0xe0, 0xeb, 0x98, 0x37, 0x84, 0x0d, 0x84, 0x68, 0x54,
0xe4, 0x73, 0x6c, 0x21, 0xa0, 0xa1, 0x51, 0xd9, 0xa0, 0xd1, 0x05, 0xc3,
0xe3, 0xeb, 0xad, 0xae, 0xf1, 0xb5, 0x44, 0x46, 0x7b, 0xca, 0x01, 0x72,
0xd1, 0x80, 0x40, 0xe0, 0x03, 0x81, 0xc0, 0x07, 0x1a, 0x5f, 0x00, 0x40,
0xd8, 0x41, 0x8b, 0x00, 0xa0, 0x77, 0xe3, 0x03, 0x29, 0x46, 0x78, 0xe0,
0xf3, 0x36, 0x4f, 0xb4, 0x3f, 0x97, 0x24, 0xac, 0x36, 0x4f, 0xf4, 0x76,
0x7c, 0x08, 0x80, 0xe0, 0xef, 0xe8, 0x40, 0x42, 0xb1, 0x80, 0x86, 0x16,
0x80, 0xc0, 0x9f, 0xf8, 0x68, 0x33, 0x79, 0xa9, 0xc5, 0xfb, 0xdb, 0x3b,
0x05, 0xc9, 0x5d, 0x83, 0x10, 0xb5, 0x82, 0xf1, 0x03, 0x75, 0x56, 0xe8,
0xcd, 0xf8, 0xb3, 0xdd, 0x1b, 0xbd, 0x3d, 0xab, 0x20, 0xad, 0x8e, 0xf3,
0x5f, 0xf3, 0xbe, 0xf6, 0x9e, 0x03, 0xfe, 0x6b, 0x0c, 0x2d, 0x77, 0x21,
0xff, 0x0f, 0xe5, 0x1f, 0x96, 0x06, 0x00, 0xa2, 0x23, 0x7f, 0x00, 0x00,
0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
}

4642
icons/icon_win.go Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
package inputbox
import "github.com/martinlindhe/inputbox"
func InputBox(title string, message string, defaultInput string) (string, bool) {
return inputbox.InputBox(title, message, defaultInput);
}

View file

@ -0,0 +1,7 @@
package inputbox
import "github.com/martinlindhe/inputbox"
func InputBox(title string, message string, defaultInput string) (string, bool) {
return inputbox.InputBox(title, message, defaultInput);
}

View file

@ -0,0 +1,10 @@
package inputbox
import (
"github.com/gen2brain/dlgs"
)
func InputBox(title string, message string, defaultInput string) (string, bool) {
response, _, err := dlgs.Entry(title, message, defaultInput);
return response, err == nil;
}

View file

@ -95,16 +95,28 @@ func EnsurePrivateKeyInstalled () error {
// If the error is that the file does not exist, create the file // If the error is that the file does not exist, create the file
// and then return no error (unless one was thrown in the process of creating the key.) // and then return no error (unless one was thrown in the process of creating the key.)
if(os.IsNotExist(err)){ if os.IsNotExist(err) {
encodedPEM := CreateKeyPair(); encodedPEM := CreateKeyPair();
err = ioutil.WriteFile(GetDataPath() + "/cert.pem", encodedPEM[0].Bytes(), 0600); err = ioutil.WriteFile(GetDataPath() + "/cert.pem", encodedPEM[0].Bytes(), 0600);
err = ioutil.WriteFile(GetDataPath() + "/key.pem", encodedPEM[1].Bytes(), 0600); err = ioutil.WriteFile(GetDataPath() + "/key.pem", encodedPEM[1].Bytes(), 0600);
if runtime.GOOS == "windows" {
// Windows doesn't recognize .pem as certificates, but we can simply write the PEM data
// into a .cer file and it works just fine!
err = ioutil.WriteFile(GetDataPath() + "/cert.cer", encodedPEM[0].Bytes(), 0600);
}
if runtime.GOOS == "darwin" { if runtime.GOOS == "darwin" {
_ = exec.Command("open", GetDataPath()).Run(); _ = exec.Command("open", GetDataPath()).Run();
_, _ = dlgs.Warning("Postwoman Proxy", "Postwoman needs you to install a root certificate authority (cert.pem).\nPlease double-click the certificate file to open it in Keychain Access and follow the installation and trust process.\n\nFor more information about this process and why it's required, please click the Postwoman icon in the status tray and select 'Help'.\n\nClick OK when you have installed the certificate and marked it as trusted."); _, _ = dlgs.Warning("Postwoman Proxy", "Postwoman needs you to install a root certificate authority (cert.pem).\nPlease double-click the certificate file to open it in Keychain Access and follow the installation and trust process.\n\nFor more information about this process and why it's required, please click the Postwoman icon in the status tray and select 'Help'.\n\nClick OK when you have installed the certificate and marked it as trusted.");
} }
if runtime.GOOS == "windows" {
_ = exec.Command("explorer.exe", GetDataPath() + string(os.PathSeparator) + "cert.cer").Run();
_, _ = dlgs.Warning("Postwoman Proxy", "Postwoman needs you to install a root certificate authority (cert.cer).\nPlease install the certificate (opened) into the 'Trusted Root Certification Authorities' store for the Local Machine.\n\nFor more information about this process and why it's required, please click the Postwoman icon in the system tray and select 'Help'.\n\nClick OK when you have installed the certificate and marked it as trusted.");
}
return err; return err;
} }
// Otherwise return any errors that may have occurred. // Otherwise return any errors that may have occurred.
@ -127,5 +139,5 @@ func LoadKeyPair() error {
func GetDataPath() string { func GetDataPath() string {
dir, _ := filepath.Abs(filepath.Dir(os.Args[0])); dir, _ := filepath.Abs(filepath.Dir(os.Args[0]));
return dir + "/data"; return dir + string(os.PathSeparator) + "data";
} }

View file

@ -3,10 +3,10 @@ package main
import ( import (
"github.com/atotto/clipboard" "github.com/atotto/clipboard"
"github.com/getlantern/systray" "github.com/getlantern/systray"
"github.com/martinlindhe/inputbox"
"github.com/pkg/browser" "github.com/pkg/browser"
"postwoman.io/proxy/icons" "postwoman.io/proxy/icons"
"postwoman.io/proxy/inputbox"
"postwoman.io/proxy/libproxy" "postwoman.io/proxy/libproxy"
"postwoman.io/proxy/notifier" "postwoman.io/proxy/notifier"
); );
@ -70,7 +70,7 @@ func onReady() {
if success { if success {
libproxy.SetAccessToken(newAccessToken); libproxy.SetAccessToken(newAccessToken);
if(len(newAccessToken) == 0){ if len(newAccessToken) == 0 {
_ = notifier.Notify("Postwoman Proxy", "Proxy Access check disabled.", "**Anyone can access your proxy server!** The Proxy Access Token check has been disabled.", notifier.GetIcon()); _ = notifier.Notify("Postwoman Proxy", "Proxy Access check disabled.", "**Anyone can access your proxy server!** The Proxy Access Token check has been disabled.", notifier.GetIcon());
}else{ }else{
_ = notifier.Notify("Postwoman Proxy", "Proxy Access Token updated...", "The Proxy Access Token has been updated.", notifier.GetIcon()); _ = notifier.Notify("Postwoman Proxy", "Proxy Access Token updated...", "The Proxy Access Token has been updated.", notifier.GetIcon());

View file

@ -1,5 +1,15 @@
package notifier package notifier
import "gopkg.in/toast.v1"
func Notify(appName string, title string, message string, icon string) error { func Notify(appName string, title string, message string, icon string) error {
return nil; notification := toast.Notification{
AppID: appName,
Title: title,
Message: message,
Icon: icon,
};
err := notification.Push();
return err;
} }

BIN
out/.DS_Store vendored

Binary file not shown.

BIN
out/darwin/.DS_Store vendored

Binary file not shown.

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSBackgroundOnly</key>
<true/>
<key>CFBundleDisplayName</key>
<string>PostwomanProxy</string>
<key>CFBundleExecutable</key>
<string>postwoman-proxy</string>
<key>CFBundleIconFile</key>
<string>postwoman.icns</string>
<key>CFBundleIdentifier</key>
<string>io.postwoman.proxy</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>PostwomanProxy</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSMinimumSystemVersion</key>
<string>10.8.0</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>MIT License; The Postwoman Project</string>
</dict>
</plist>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

BIN
resources/.DS_Store vendored

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="App Name Here" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True</dpiAware>
</windowsSettings>
</application>
</assembly>

BIN
server

Binary file not shown.