diff --git a/.gitignore b/.gitignore index 003a9b7..8bef108 100644 --- a/.gitignore +++ b/.gitignore @@ -27,8 +27,11 @@ main .DS_Store .swp +.release main super-graph +supergraph *-fuzz.zip crashers -suppressions \ No newline at end of file +suppressions +release \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 805cc0d..116f387 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,13 +6,13 @@ RUN yarn RUN yarn build # stage: 2 -FROM golang:1.13beta1-alpine as go-build +FROM golang:1.13.4-alpine as go-build RUN apk update && \ + apk add --no-cache make && \ apk add --no-cache git && \ apk add --no-cache upx=3.95-r2 -RUN go get -u github.com/rafaelsq/wtc && \ - go get -u github.com/GeertJohan/go.rice/rice +RUN go get -u github.com/rafaelsq/wtc WORKDIR /app COPY . /app @@ -20,11 +20,9 @@ COPY . /app RUN mkdir -p /app/web/build COPY --from=react-build /web/build/ ./web/build/ -ENV GO111MODULE=on RUN go mod vendor -RUN go generate ./... && \ - CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o super-graph && \ - echo "Compressing binary, will take a bit of time..." && \ +RUN make build +RUN echo "Compressing binary, will take a bit of time..." && \ upx --ultra-brute -qq super-graph && \ upx -t super-graph diff --git a/LICENSE b/LICENSE index 24e4f98..2bb9ad2 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,176 @@ -The MIT License (MIT) + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2019-present Vikram Rangnekar. twitter.com/dosco + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Definitions. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bd9e0d1 --- /dev/null +++ b/Makefile @@ -0,0 +1,93 @@ +BUILD ?= $(shell git rev-parse --short HEAD) +BUILD_DATE ?= $(shell git log -1 --format=%ci) +BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) +BUILD_VERSION ?= $(shell git describe --always --tags) + +PKGS := $(shell go list ./... | grep -v /vendor) +GOPATH ?= $(shell go env GOPATH) + +ifndef GOPATH +override GOPATH = $(HOME)/go +endif + +export GO111MODULE := on + +# Build-time Go variables +version = github.com/dosco/super-graph/serv.version +gitBranch = github.com/dosco/super-graph/serv.gitBranch +lastCommitSHA = github.com/dosco/super-graph/serv.lastCommitSHA +lastCommitTime = github.com/dosco/super-graph/serv.lastCommitTime + +BUILD_FLAGS ?= -ldflags '-s -w -X ${lastCommitSHA}=${BUILD} -X "${lastCommitTime}=${BUILD_DATE}" -X "${version}=${BUILD_VERSION}" -X ${gitBranch}=${BUILD_BRANCH}' + +.PHONY: all build gen clean test run lint release version help $(PLATFORMS) $(BINARY) + +test: lint + @go test -v $(PKGS) + +BIN_DIR := $(GOPATH)/bin +GOLANGCILINT := $(BIN_DIR)/golangci-lint + +$(GOLANGCILINT): + @curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(GOPATH)/bin v1.21.0 + +lint: $(GOMETALINTER) + @golangci-lint run ./... --skip-dirs-use-default + +BINARY := super-graph +LDFLAGS := -s -w +PLATFORMS := windows linux darwin +os = $(word 1, $@) + +$(PLATFORMS): gen + @mkdir -p release + @GOOS=$(os) GOARCH=amd64 go build $(BUILD_FLAGS) -o release/$(BINARY)-$(BUILD_VERSION)-$(os)-amd64 + +release: windows linux darwin + +all: $(BINARY) + +build: $(BINARY) + +gen: + @go install github.com/GeertJohan/go.rice/rice + @go generate ./... + +$(BINARY): clean gen + @go build $(BUILD_FLAGS) -o $(BINARY) + +clean: + @rm -f $(BINARY) + +run: clean + @go run $(BUILD_FLAGS) main.go $(ARGS) + +install: gen + @echo $(GOPATH) + @echo "Commit Hash: `git rev-parse HEAD`" + @echo "Old Hash: `shasum $(GOPATH)/bin/$(BINARY) 2>/dev/null | cut -c -32`" + @go install $(BUILD_FLAGS) + @echo "New Hash:" `shasum $(GOPATH)/bin/$(BINARY) 2>/dev/null | cut -c -32` + +uninstall: clean + @go clean -i -x + +version: + @echo Super Graph ${BUILD_VERSION} + @echo Build: ${BUILD} + @echo Build date: ${BUILD_DATE} + @echo Branch: ${BUILD_BRANCH} + @echo Go version: $(shell go version) + +help: + @echo + @echo Build commands: + @echo " make build - Build supergraph binary" + @echo " make install - Install supergraph binary" + @echo " make uninstall - Uninstall supergraph binary" + @echo " make [platform] - Build for platform [linux|darwin|windows]" + @echo " make release - Build all platforms" + @echo " make run - Run supergraph (eg. make run ARGS=\"version\")" + @echo " make version - Show current build info" + @echo " make help - This help" + @echo \ No newline at end of file diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..0929899 --- /dev/null +++ b/NOTICE @@ -0,0 +1,13 @@ +Copyright 2019 Vikram Rangnekar + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md index 9337039..aea9dbe 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Super Graph - Instant GraphQL APIs for your apps. +# Super Graph -## Build web products faster. No code needed. GraphQL auto. transformed into efficient database queries. +### Build web products faster. Instant GraphQL API without writing any code. Works with Postgres. Also supports Rails apps. -![MIT license](https://img.shields.io/github/license/dosco/super-graph.svg) +![Apache Public License 2.0](https://img.shields.io/github/license/dosco/super-graph.svg) ![Docker build](https://img.shields.io/docker/cloud/build/dosco/super-graph.svg) ![Cloud native](https://img.shields.io/badge/cloud--native-enabled-blue.svg) [![Discord Chat](https://img.shields.io/discord/628796009539043348.svg)](https://discord.gg/6pSWCTZ) @@ -56,7 +56,7 @@ Twitter or Discord. ## License -[MIT](http://opensource.org/licenses/MIT) +[Apache Public License 2.0](https://opensource.org/licenses/Apache-2.0) Copyright (c) 2019-present Vikram Rangnekar diff --git a/config/allow.list b/config/allow.list index 92413d8..cb5fa57 100644 --- a/config/allow.list +++ b/config/allow.list @@ -156,6 +156,8 @@ query getProducts { products { id name + price + description } } diff --git a/docs/README.md b/docs/README.md index 2b686c6..f4b8654 100644 --- a/docs/README.md +++ b/docs/README.md @@ -26,5 +26,5 @@ features: - title: Free and Open Source details: Not a VC funded startup. Not even a startup just good old open source code -footer: MIT Licensed | Copyright © 2018-present Vikram Rangnekar +footer: Apache Public License 2.0 | Copyright © 2018-present Vikram Rangnekar --- diff --git a/docs/guide.md b/docs/guide.md index 863ac77..9cb3a75 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -147,9 +147,13 @@ Super Graph can generate your initial app for you. The generated app will have c You can then add your database schema to the migrations, maybe create some seed data using the seed script and launch Super Graph. You're now good to go and can start working on your UI frontend in React, Vue or whatever. ```bash -# use the below command to download and install Super Graph. You will need Go 1.13 or above -GO111MODULE=on go get -u github.com/dosco/super-graph +# Download and install Super Graph. You will need Go 1.13 or above +git clone https://github.com/dosco/super-graph && cd super-graph && make install +``` +And then create and launch you're new app + +```bash # create a new app and change to it's directory super-graph new blog; cd blog @@ -1396,9 +1400,6 @@ brew install yarn # yarn install dependencies and build the web ui (cd web && yarn install && yarn build) -# generate some stuff the go code needs -go generate ./... - # do this the only the time to setup the database docker-compose run rails_app rake db:create db:migrate db:seed @@ -1407,6 +1408,6 @@ docker-compose up ``` -## MIT License +## Apache License 2.0 -MIT Licensed | Copyright © 2018-present Vikram Rangnekar +Apache Public License 2.0 | Copyright © 2018-present Vikram Rangnekar diff --git a/go.sum b/go.sum index 848e404..bc241c3 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/GeertJohan/go.incremental v1.0.0 h1:7AH+pY1XUgQE4Y1HcXYaMqAI0m9yrFqo/jt0CW30vsg= github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= github.com/GeertJohan/go.rice v1.0.0 h1:KkI6O9uMaQU3VEKaj01ulavtF7o1fWT7+pk/4voiMLQ= github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0= @@ -13,6 +14,7 @@ github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/adjust/gorails v0.0.0-20171013043634-2786ed0c03d3 h1:+qz9Ga6l6lKw6fgvk5RMV5HQznSLvI8Zxajwdj4FhFg= github.com/adjust/gorails v0.0.0-20171013043634-2786ed0c03d3/go.mod h1:FlkD11RtgMTYjVuBnb7cxoHmQGqvPpCsr2atC88nl/M= +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/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -140,6 +142,7 @@ github.com/jackc/puddle v1.0.0 h1:rbjAshlgKscNa7j0jAM0uNQflis5o2XUogPMVAwtcsM= github.com/jackc/puddle v1.0.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/tern v1.8.2 h1:+d9eK83fRS0dbf6nt+2tjILYF4FKG1O5xTFB8Lzc66U= github.com/jackc/tern v1.8.2/go.mod h1:AMppp2oyCT6rYnJHLLMmPWwahfFvdIVi6mr9gH81Nxs= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -173,6 +176,7 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229 h1:E2B8qYyeSgv5MXpmzZXRNp8IAQ4vjxIjhpAf5hv/tAg= github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229/go.mod h1:0aYXnNPJ8l7uZxf45rWW1a/uME32OF0rhiYGNQ2oF2E= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= diff --git a/jsn/filter.go b/jsn/filter.go index 04f0cce..c8d95de 100644 --- a/jsn/filter.go +++ b/jsn/filter.go @@ -139,7 +139,7 @@ func Filter(w *bytes.Buffer, b []byte, keys []string) error { } if sk > 0 && sk < len(cb) { - _, err = w.Write(cb[sk:len(cb)]) + _, err = w.Write(cb[sk:]) } else { _, err = w.Write(cb) } diff --git a/jsn/fuzz_test.go b/jsn/fuzz_test.go index 5dd1217..bbf493b 100644 --- a/jsn/fuzz_test.go +++ b/jsn/fuzz_test.go @@ -55,6 +55,6 @@ func TestFuzzCrashers(t *testing.T) { } for _, f := range crashers { - unifiedTest([]byte(f)) + _ = unifiedTest([]byte(f)) } } diff --git a/jsn/json_test.go b/jsn/json_test.go index 08fb1fe..9760396 100644 --- a/jsn/json_test.go +++ b/jsn/json_test.go @@ -191,11 +191,11 @@ func TestGet(t *testing.T) { } for i := range expected { - if bytes.Equal(values[i].Key, expected[i].Key) == false { + if !bytes.Equal(values[i].Key, expected[i].Key) { t.Error(string(values[i].Key), " != ", string(expected[i].Key)) } - if bytes.Equal(values[i].Value, expected[i].Value) == false { + if !bytes.Equal(values[i].Value, expected[i].Value) { t.Error(string(values[i].Value), " != ", string(expected[i].Value)) } } @@ -225,7 +225,10 @@ func TestValue(t *testing.T) { func TestFilter1(t *testing.T) { var b bytes.Buffer - Filter(&b, []byte(input2), []string{"id", "full_name", "embed"}) + err := Filter(&b, []byte(input2), []string{"id", "full_name", "embed"}) + if err != nil { + t.Error(err) + } expected := `[{"id": 1,"full_name": "Sidney Stroman","embed": {"id": 8,"full_name": "Caroll Orn Sr.","email": "joannarau@hegmann.io","__twitter_id": "ABC123"}},{"id": 2,"full_name": "Jerry Dickinson"}]` @@ -238,7 +241,10 @@ func TestFilter2(t *testing.T) { value := `[{"id":1,"customer_id":"cus_2TbMGf3cl0","object":"charge","amount":100,"amount_refunded":0,"date":"01/01/2019","application":null,"billing_details":{"address":"1 Infinity Drive","zipcode":"94024"}}, {"id":2,"customer_id":"cus_2TbMGf3cl0","object":"charge","amount":150,"amount_refunded":0,"date":"02/18/2019","billing_details":{"address":"1 Infinity Drive","zipcode":"94024"}},{"id":3,"customer_id":"cus_2TbMGf3cl0","object":"charge","amount":150,"amount_refunded":50,"date":"03/21/2019","billing_details":{"address":"1 Infinity Drive","zipcode":"94024"}}]` var b bytes.Buffer - Filter(&b, []byte(value), []string{"id"}) + err := Filter(&b, []byte(value), []string{"id"}) + if err != nil { + t.Error(err) + } expected := `[{"id":1},{"id":2},{"id":3}]` @@ -253,7 +259,7 @@ func TestStrip(t *testing.T) { expected := []byte(`[{"id":1,"embed":{"id":8}},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":7},{"id":8},{"id":9},{"id":10},{"id":11},{"id":12},{"id":13}]`) - if bytes.Equal(value1, expected) == false { + if !bytes.Equal(value1, expected) { t.Log(value1) t.Error("[Valid path] Does not match expected json") } @@ -261,7 +267,7 @@ func TestStrip(t *testing.T) { path2 := [][]byte{[]byte("boo"), []byte("hoo")} value2 := Strip([]byte(input3), path2) - if bytes.Equal(value2, []byte(input3)) == false { + if !bytes.Equal(value2, []byte(input3)) { t.Log(value2) t.Error("[Invalid path] Does not match expected json") } diff --git a/jsn/replace.go b/jsn/replace.go index 0f5b67b..196590d 100644 --- a/jsn/replace.go +++ b/jsn/replace.go @@ -16,8 +16,12 @@ func Replace(w *bytes.Buffer, b []byte, from, to []Field) error { tmap := make(map[uint64]int, len(from)) for i, f := range from { - h.Write(f.Key) - h.Write(f.Value) + if _, err := h.Write(f.Key); err != nil { + return err + } + if _, err := h.Write(f.Value); err != nil { + return err + } tmap[h.Sum64()] = i h.Reset() @@ -50,7 +54,9 @@ func Replace(w *bytes.Buffer, b []byte, from, to []Field) error { case state == expectKeyClose && b[i] == '"': state = expectColon - h.Write(b[(s + 1):i]) + if _, err := h.Write(b[(s + 1):i]); err != nil { + return err + } we = s case state == expectColon && b[i] == ':': @@ -106,7 +112,9 @@ func Replace(w *bytes.Buffer, b []byte, from, to []Field) error { if e != 0 { e++ - h.Write(b[s:e]) + if _, err := h.Write(b[s:e]); err != nil { + return err + } n, ok := tmap[h.Sum64()] h.Reset() diff --git a/jsn/validate.go b/jsn/validate.go index 731b6ba..a7be50b 100644 --- a/jsn/validate.go +++ b/jsn/validate.go @@ -2,7 +2,6 @@ package jsn import ( "fmt" - "reflect" "strconv" "strings" "unsafe" @@ -333,15 +332,6 @@ func b2s(b []byte) string { return *(*string)(unsafe.Pointer(&b)) } -func s2b(s string) []byte { - strh := (*reflect.StringHeader)(unsafe.Pointer(&s)) - var sh reflect.SliceHeader - sh.Data = strh.Data - sh.Len = strh.Len - sh.Cap = strh.Len - return *(*[]byte)(unsafe.Pointer(&sh)) -} - const maxStartEndStringLen = 80 func startEndString(s string) string { diff --git a/migrate/migrate.go b/migrate/migrate.go index b80e398..badae2f 100644 --- a/migrate/migrate.go +++ b/migrate/migrate.go @@ -244,7 +244,6 @@ func (m *Migrator) AppendMigration(name, upSQL, downSQL string) { UpSQL: upSQL, DownSQL: downSQL, }) - return } // Migrate runs pending migrations @@ -315,7 +314,7 @@ func (m *Migrator) MigrateTo(targetVersion int32) (err error) { if err != nil { return err } - defer tx.Rollback(ctx) + defer tx.Rollback(ctx) //nolint: errcheck // Fire on start callback if m.OnStart != nil { @@ -332,7 +331,9 @@ func (m *Migrator) MigrateTo(targetVersion int32) (err error) { } // Reset all database connection settings. Important to do before updating version as search_path may have been changed. - tx.Exec(ctx, "reset all") + if _, err := tx.Exec(ctx, "reset all"); err != nil { + return err + } // Add one to the version _, err = tx.Exec(ctx, "update "+m.versionTable+" set version=$1", sequence) diff --git a/psql/mutate.go b/psql/mutate.go index 403344f..14db587 100644 --- a/psql/mutate.go +++ b/psql/mutate.go @@ -1,3 +1,4 @@ +//nolint:errcheck package psql import ( diff --git a/psql/psql_test.go b/psql/psql_test.go index 41fb880..455b75d 100644 --- a/psql/psql_test.go +++ b/psql/psql_test.go @@ -27,8 +27,11 @@ func TestMain(m *testing.M) { "token", }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("user", "product", qcode.TRConfig{ + err = qcompile.AddRole("user", "product", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "name", "price", "users", "customers"}, Filters: []string{ @@ -54,27 +57,39 @@ func TestMain(m *testing.M) { }, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("anon", "product", qcode.TRConfig{ + err = qcompile.AddRole("anon", "product", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "name"}, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("anon1", "product", qcode.TRConfig{ + err = qcompile.AddRole("anon1", "product", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "name", "price"}, DisableFunctions: true, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("user", "users", qcode.TRConfig{ + err = qcompile.AddRole("user", "users", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "full_name", "avatar", "email", "products"}, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("bad_dude", "users", qcode.TRConfig{ + err = qcompile.AddRole("bad_dude", "users", qcode.TRConfig{ Query: qcode.QueryConfig{ Filters: []string{"false"}, DisableFunctions: true, @@ -86,8 +101,11 @@ func TestMain(m *testing.M) { Filters: []string{"false"}, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("user", "mes", qcode.TRConfig{ + err = qcompile.AddRole("user", "mes", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "full_name", "avatar"}, Filters: []string{ @@ -95,8 +113,11 @@ func TestMain(m *testing.M) { }, }, }) + if err != nil { + log.Fatal(err) + } - qcompile.AddRole("user", "customers", qcode.TRConfig{ + err = qcompile.AddRole("user", "customers", qcode.TRConfig{ Query: qcode.QueryConfig{ Columns: []string{"id", "email", "full_name", "products"}, }, @@ -167,7 +188,9 @@ func TestMain(m *testing.M) { } for i, t := range tables { - schema.updateSchema(t, columns[i], aliases) + if err := schema.updateSchema(t, columns[i], aliases); err != nil { + log.Fatal(err) + } } vars := NewVariables(map[string]string{ diff --git a/psql/query.go b/psql/query.go index 1d759b8..29cdee7 100644 --- a/psql/query.go +++ b/psql/query.go @@ -1,3 +1,4 @@ +//nolint:errcheck package psql import ( @@ -6,10 +7,8 @@ import ( "errors" "fmt" "io" - "math" "strings" - "github.com/cespare/xxhash/v2" "github.com/dosco/super-graph/qcode" "github.com/dosco/super-graph/util" ) @@ -249,7 +248,7 @@ func (c *compilerContext) renderSelect(sel *qcode.Select, ti *DBTableInfo) (uint hasOrder := len(sel.OrderBy) != 0 // SELECT - if ti.Singular == false { + if !ti.Singular { //fmt.Fprintf(w, `SELECT coalesce(json_agg("%s"`, c.sel.Table) io.WriteString(c.w, `SELECT coalesce(json_agg("`) io.WriteString(c.w, "json_") @@ -351,7 +350,7 @@ func (c *compilerContext) renderSelectClose(sel *qcode.Select, ti *DBTableInfo) io.WriteString(c.w, `') :: integer`) } - if ti.Singular == false { + if !ti.Singular { //fmt.Fprintf(w, `) AS "json_agg_%d"`, c.sel.ID) io.WriteString(c.w, `)`) aliasWithID(c.w, "json_agg", sel.ID) @@ -417,7 +416,7 @@ func (c *compilerContext) renderColumns(sel *qcode.Select, ti *DBTableInfo) { for _, col := range sel.Cols { n := funcPrefixLen(col.Name) if n != 0 { - if sel.Functions == false { + if !sel.Functions { continue } if len(sel.Allowed) != 0 { @@ -956,7 +955,7 @@ func (c *compilerContext) renderOp(ex *qcode.Exp, sel *qcode.Select, ti *DBTable if len(ti.TSVCol) == 0 { return fmt.Errorf("no tsv column defined for %s", ti.Name) } - if col, ok = ti.Columns[ti.TSVCol]; !ok { + if _, ok = ti.Columns[ti.TSVCol]; !ok { return fmt.Errorf("no tsv column '%s' found ", ti.TSVCol) } //fmt.Fprintf(w, `(("%s") @@ to_tsquery('%s'))`, c.ti.TSVCol, val.Val) @@ -1139,22 +1138,6 @@ func aliasWithIDSuffix(w io.Writer, alias string, id int32, suffix string) { io.WriteString(w, `"`) } -func colWithAlias(w io.Writer, col, alias string) { - io.WriteString(w, `"`) - io.WriteString(w, col) - io.WriteString(w, `" AS "`) - io.WriteString(w, alias) - io.WriteString(w, `"`) -} - -func tableWithAlias(w io.Writer, table, alias string) { - io.WriteString(w, `"`) - io.WriteString(w, table) - io.WriteString(w, `" AS "`) - io.WriteString(w, alias) - io.WriteString(w, `"`) -} - func colWithTable(w io.Writer, table, col string) { io.WriteString(w, `"`) io.WriteString(w, table) @@ -1185,20 +1168,6 @@ func colWithTableIDAlias(w io.Writer, table string, id int32, col, alias string) io.WriteString(w, `"`) } -func colWithTableIDSuffixAlias(w io.Writer, table string, id int32, - suffix, col, alias string) { - io.WriteString(w, `"`) - io.WriteString(w, table) - io.WriteString(w, `_`) - int2string(w, id) - io.WriteString(w, suffix) - io.WriteString(w, `"."`) - io.WriteString(w, col) - io.WriteString(w, `" AS "`) - io.WriteString(w, alias) - io.WriteString(w, `"`) -} - func tableIDColSuffix(w io.Writer, table string, id int32, col, suffix string) { io.WriteString(w, `"`) io.WriteString(w, table) @@ -1223,7 +1192,7 @@ func int2string(w io.Writer, val int32) { for val2 > 0 { temp *= 10 temp += val2 % 10 - val2 = int32(math.Floor(float64(val2 / 10))) + val2 = int32(float64(val2 / 10)) } val3 := temp @@ -1233,11 +1202,3 @@ func int2string(w io.Writer, val int32) { w.Write([]byte{charset[d]}) } } - -func relID(h *xxhash.Digest, child, parent string) uint64 { - h.WriteString(child) - h.WriteString(parent) - v := h.Sum64() - h.Reset() - return v -} diff --git a/psql/tables.go b/psql/tables.go index 0399eab..4c74bc6 100644 --- a/psql/tables.go +++ b/psql/tables.go @@ -199,7 +199,9 @@ func NewDBSchema(db *pgxpool.Pool, aliases map[string][]string) (*DBSchema, erro return nil, err } - schema.updateSchema(t, cols, aliases) + if err := schema.updateSchema(t, cols, aliases); err != nil { + return nil, err + } } return schema, nil @@ -208,7 +210,7 @@ func NewDBSchema(db *pgxpool.Pool, aliases map[string][]string) (*DBSchema, erro func (s *DBSchema) updateSchema( t *DBTable, cols []*DBColumn, - aliases map[string][]string) { + aliases map[string][]string) error { // Foreign key columns in current table colByID := make(map[int16]*DBColumn) @@ -281,12 +283,16 @@ func (s *DBSchema) updateSchema( // Belongs-to relation between current table and the // table in the foreign key rel1 := &DBRel{RelBelongTo, "", "", c.Name, fc.Name} - s.SetRel(ct, ft, rel1) + if err := s.SetRel(ct, ft, rel1); err != nil { + return err + } // One-to-many relation between the foreign key table and the // the current table rel2 := &DBRel{RelOneToMany, "", "", fc.Name, c.Name} - s.SetRel(ft, ct, rel2) + if err := s.SetRel(ft, ct, rel2); err != nil { + return err + } jcols = append(jcols, c) } @@ -301,42 +307,54 @@ func (s *DBSchema) updateSchema( if len(jcols) > 1 { for i := range jcols { for n := range jcols { - if n != i { - s.updateSchemaOTMT(ct, jcols[i], jcols[n], colByID) + if n == i { + continue + } + err := s.updateSchemaOTMT(ct, jcols[i], jcols[n], colByID) + if err != nil { + return err } } } } + + return nil } func (s *DBSchema) updateSchemaOTMT( ct string, col1, col2 *DBColumn, - colByID map[int16]*DBColumn) { + colByID map[int16]*DBColumn) error { t1 := strings.ToLower(col1.FKeyTable) t2 := strings.ToLower(col2.FKeyTable) fc1, ok := colByID[col1.FKeyColID[0]] if !ok { - return + return fmt.Errorf("expected column id '%d' not found", col1.FKeyColID[0]) } fc2, ok := colByID[col2.FKeyColID[0]] if !ok { - return + return fmt.Errorf("expected column id '%d' not found", col2.FKeyColID[0]) } // One-to-many-through relation between 1nd foreign key table and the // 2nd foreign key table //rel1 := &DBRel{RelOneToManyThrough, ct, fc1.Name, col1.Name} rel1 := &DBRel{RelOneToManyThrough, ct, col2.Name, fc2.Name, col1.Name} - s.SetRel(t1, t2, rel1) + if err := s.SetRel(t1, t2, rel1); err != nil { + return err + } // One-to-many-through relation between 2nd foreign key table and the // 1nd foreign key table //rel2 := &DBRel{RelOneToManyThrough, ct, col2.Name, fc2.Name} rel2 := &DBRel{RelOneToManyThrough, ct, col1.Name, fc1.Name, col2.Name} - s.SetRel(t2, t1, rel2) + if err := s.SetRel(t2, t1, rel2); err != nil { + return err + } + + return nil } func (s *DBSchema) GetTable(table string) (*DBTableInfo, error) { diff --git a/qcode/config.go b/qcode/config.go index e7e50dc..34a9d88 100644 --- a/qcode/config.go +++ b/qcode/config.go @@ -116,7 +116,7 @@ func listToMap(list []string) map[string]struct{} { func mapToList(m map[string]string) []string { list := []string{} - for k, _ := range m { + for k := range m { list = append(list, strings.ToLower(k)) } sort.Strings(list) diff --git a/qcode/lex.go b/qcode/lex.go index 5a529c8..4fd396f 100644 --- a/qcode/lex.go +++ b/qcode/lex.go @@ -461,7 +461,7 @@ func (i *item) String() string { case itemStringVal: v = "string" } - return fmt.Sprintf("%s", v) + return v } /* diff --git a/qcode/parse.go b/qcode/parse.go index 6600b79..2e6b574 100644 --- a/qcode/parse.go +++ b/qcode/parse.go @@ -85,7 +85,6 @@ type Parser struct { input []byte // the string being scanned pos int items []item - depth int err error } @@ -185,15 +184,6 @@ func (p *Parser) ignore() { p.pos = n } -func (p *Parser) current() item { - return p.items[p.pos] -} - -func (p *Parser) eof() bool { - n := p.pos + 1 - return p.items[n].typ == itemEOF -} - func (p *Parser) peek(types ...itemType) bool { n := p.pos + 1 if p.items[n].typ == itemEOF { @@ -250,7 +240,7 @@ func (p *Parser) parseOp() (*Operation, error) { p.ignore() for n := 0; n < 10; n++ { - if p.peek(itemName) == false { + if !p.peek(itemName) { break } @@ -275,7 +265,7 @@ func (p *Parser) parseQueryOp() (*Operation, error) { var err error for n := 0; n < 10; n++ { - if p.peek(itemName) == false { + if !p.peek(itemName) { break } @@ -306,7 +296,7 @@ func (p *Parser) parseFields(fields []Field) ([]Field, error) { continue } - if p.peek(itemName) == false { + if !p.peek(itemName) { return nil, errors.New("expecting an alias or field name") } @@ -374,13 +364,13 @@ func (p *Parser) parseArgs(args []Arg) ([]Arg, error) { p.ignore() break } - if p.peek(itemName) == false { + if !p.peek(itemName) { return nil, errors.New("expecting an argument name") } args = append(args, Arg{Name: p.val(p.next())}) arg := &args[(len(args) - 1)] - if p.peek(itemColon) == false { + if !p.peek(itemColon) { return nil, errors.New("missing ':' after argument name") } p.ignore() @@ -441,12 +431,12 @@ func (p *Parser) parseObj() (*Node, error) { break } - if p.peek(itemName) == false { + if !p.peek(itemName) { return nil, errors.New("expecting an argument name") } nodeName := p.val(p.next()) - if p.peek(itemColon) == false { + if !p.peek(itemColon) { return nil, errors.New("missing ':' after Field argument name") } p.ignore() diff --git a/qcode/parse_test.go b/qcode/parse_test.go index 4335583..e810db2 100644 --- a/qcode/parse_test.go +++ b/qcode/parse_test.go @@ -7,13 +7,16 @@ import ( func TestCompile1(t *testing.T) { qc, _ := NewCompiler(Config{}) - qc.AddRole("user", "product", TRConfig{ + err := qc.AddRole("user", "product", TRConfig{ Query: QueryConfig{ Columns: []string{"id", "Name"}, }, }) + if err != nil { + t.Error(err) + } - _, err := qc.Compile([]byte(` + _, err = qc.Compile([]byte(` { product(id: 15) { id name @@ -26,13 +29,16 @@ func TestCompile1(t *testing.T) { func TestCompile2(t *testing.T) { qc, _ := NewCompiler(Config{}) - qc.AddRole("user", "product", TRConfig{ + err := qc.AddRole("user", "product", TRConfig{ Query: QueryConfig{ Columns: []string{"ID"}, }, }) + if err != nil { + t.Error(err) + } - _, err := qc.Compile([]byte(` + _, err = qc.Compile([]byte(` query { product(id: 15) { id name @@ -45,13 +51,16 @@ func TestCompile2(t *testing.T) { func TestCompile3(t *testing.T) { qc, _ := NewCompiler(Config{}) - qc.AddRole("user", "product", TRConfig{ + err := qc.AddRole("user", "product", TRConfig{ Query: QueryConfig{ Columns: []string{"ID"}, }, }) + if err != nil { + t.Error(err) + } - _, err := qc.Compile([]byte(` + _, err = qc.Compile([]byte(` mutation { product(id: 15, name: "Test") { id diff --git a/serv/allow.go b/serv/allow.go index 0232b5b..da03f92 100644 --- a/serv/allow.go +++ b/serv/allow.go @@ -220,6 +220,8 @@ func (al *allowList) load() { } func (al *allowList) save(item *allowItem) { + var err error + item.hash = gqlHash(item.gql, item.vars, "") item.name = gqlName(item.gql) @@ -271,22 +273,35 @@ func (al *allowList) save(item *allowItem) { k := keys[i] v := urlMap[k] - f.WriteString(fmt.Sprintf("# %s\n\n", k)) + if _, err := f.WriteString(fmt.Sprintf("# %s\n\n", k)); err != nil { + logger.Error().Err(err).Send() + return + } for i := range v { - if len(v[i].vars) != 0 && bytes.Equal(v[i].vars, []byte("{}")) == false { + if len(v[i].vars) != 0 && !bytes.Equal(v[i].vars, []byte("{}")) { vj, err := json.MarshalIndent(v[i].vars, "", "\t") if err != nil { logger.Warn().Err(err).Msg("Failed to write allow list 'vars' to file") continue } - f.WriteString(fmt.Sprintf("variables %s\n\n", vj)) + + _, err = f.WriteString(fmt.Sprintf("variables %s\n\n", vj)) + if err != nil { + logger.Error().Err(err).Send() + return + } } if v[i].gql[0] == '{' { - f.WriteString(fmt.Sprintf("query %s\n\n", v[i].gql)) + _, err = f.WriteString(fmt.Sprintf("query %s\n\n", v[i].gql)) } else { - f.WriteString(fmt.Sprintf("%s\n\n", v[i].gql)) + _, err = f.WriteString(fmt.Sprintf("%s\n\n", v[i].gql)) + } + + if err != nil { + logger.Error().Err(err).Send() + return } } } diff --git a/serv/auth_jwt.go b/serv/auth_jwt.go index 326fd12..f20fde4 100644 --- a/serv/auth_jwt.go +++ b/serv/auth_jwt.go @@ -11,8 +11,7 @@ import ( const ( authHeader = "Authorization" - jwtBase int = iota - jwtAuth0 + jwtAuth0 int = iota + 1 ) func jwtHandler(next http.HandlerFunc) http.HandlerFunc { diff --git a/serv/cmd.go b/serv/cmd.go index c603d9f..e3ba53c 100644 --- a/serv/cmd.go +++ b/serv/cmd.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "runtime" "strings" "github.com/dosco/super-graph/psql" @@ -21,6 +22,14 @@ const ( serverName = "Super Graph" ) +var ( + // These variables are set using -ldflags + version string + gitBranch string + lastCommitSHA string + lastCommitTime string +) + var ( logger zerolog.Logger errlog zerolog.Logger @@ -133,6 +142,12 @@ e.g. db:migrate -+1 Run: cmdConfDump, }) + rootCmd.AddCommand(&cobra.Command{ + Use: "version", + Short: "Super Graph binary version information", + Run: cmdVersion, + }) + rootCmd.Flags().StringVar(&confPath, "path", "./config", "path to config files") @@ -169,7 +184,10 @@ func initConf() (*config, error) { } vi.SetConfigName(getConfigName()) - vi.MergeInConfig() + + if err := vi.MergeInConfig(); err != nil { + return nil, err + } } c := &config{} @@ -290,3 +308,28 @@ func initConfOnce() { } } } + +func cmdVersion(cmd *cobra.Command, args []string) { + fmt.Printf("\n%s\n", BuildDetails()) +} + +func BuildDetails() string { + return fmt.Sprintf(` +Super Graph %v + +Commit SHA-1 : %v +Commit timestamp : %v +Branch : %v +Go version : %v + +For documentation, visit https://supergraph.dev + +Licensed under the Apache Public License 2.0 +Copyright 2015-2019 Vikram Rangnekar. +`, + version, + lastCommitSHA, + lastCommitTime, + gitBranch, + runtime.Version()) +} diff --git a/serv/cmd_conf.go b/serv/cmd_conf.go index 2b93bef..1448204 100644 --- a/serv/cmd_conf.go +++ b/serv/cmd_conf.go @@ -9,7 +9,7 @@ import ( func cmdConfDump(cmd *cobra.Command, args []string) { if len(args) != 1 { - cmd.Help() + cmd.Help() //nolint: errcheck os.Exit(1) } diff --git a/serv/cmd_migrate.go b/serv/cmd_migrate.go index 2a7b030..6d88565 100644 --- a/serv/cmd_migrate.go +++ b/serv/cmd_migrate.go @@ -14,19 +14,6 @@ import ( "github.com/spf13/cobra" ) -var sampleMigration = `-- This is a sample migration. - -create table users( - id serial primary key, - fullname varchar not null, - email varchar not null -); - ----- create above / drop below ---- - -drop table users; -` - var newMigrationText = `-- Write your migrate up statements here ---- create above / drop below ---- @@ -48,7 +35,7 @@ func cmdDBSetup(cmd *cobra.Command, args []string) { return } - if os.IsNotExist(err) == false { + if !os.IsNotExist(err) { errlog.Fatal().Err(err).Msgf("unable to check if '%s' exists", sfile) } @@ -108,7 +95,7 @@ func cmdDBDrop(cmd *cobra.Command, args []string) { func cmdDBNew(cmd *cobra.Command, args []string) { if len(args) != 1 { - cmd.Help() + cmd.Help() //nolint: errcheck os.Exit(1) } @@ -142,7 +129,7 @@ func cmdDBNew(cmd *cobra.Command, args []string) { func cmdDBMigrate(cmd *cobra.Command, args []string) { if len(args) == 0 { - cmd.Help() + cmd.Help() //nolint: errcheck os.Exit(1) } @@ -211,7 +198,7 @@ func cmdDBMigrate(cmd *cobra.Command, args []string) { err = m.MigrateTo(currentVersion + mustParseDestination(dest[1:])) } else { - cmd.Help() + cmd.Help() //nolint: errcheck os.Exit(1) } diff --git a/serv/cmd_new.go b/serv/cmd_new.go index 3329c7b..1a649ae 100644 --- a/serv/cmd_new.go +++ b/serv/cmd_new.go @@ -16,7 +16,7 @@ import ( func cmdNew(cmd *cobra.Command, args []string) { if len(args) != 1 { - cmd.Help() + cmd.Help() //nolint: errcheck os.Exit(1) } @@ -115,13 +115,17 @@ func (t *Templ) get(name string) ([]byte, error) { b := bytes.Buffer{} tmpl := fasttemplate.New(v, "{%", "%}") - tmpl.ExecuteFunc(&b, func(w io.Writer, tag string) (int, error) { + _, err := tmpl.ExecuteFunc(&b, func(w io.Writer, tag string) (int, error) { if val, ok := t.data[strings.TrimSpace(tag)]; ok { return w.Write([]byte(val)) } return 0, fmt.Errorf("unknown template variable '%s'", tag) }) + if err != nil { + return nil, err + } + return b.Bytes(), nil } @@ -133,7 +137,7 @@ func ifNotExists(filePath string, doFn func(string) error) { return } - if os.IsNotExist(err) == false { + if !os.IsNotExist(err) { errlog.Fatal().Err(err).Msgf("unable to check if '%s' exists", filePath) } diff --git a/serv/cmd_seed.go b/serv/cmd_seed.go index 62682a8..627c3e7 100644 --- a/serv/cmd_seed.go +++ b/serv/cmd_seed.go @@ -43,7 +43,7 @@ func cmdDBSeed(cmd *cobra.Command, args []string) { vm.Set("graphql", graphQLFunc) console := vm.NewObject() - console.Set("log", logFunc) + console.Set("log", logFunc) //nolint: errcheck vm.Set("console", console) fake := vm.NewObject() @@ -100,7 +100,7 @@ func graphQLFunc(query string, data interface{}, opt map[string]string) map[stri if err != nil { errlog.Fatal().Err(err).Send() } - defer tx.Rollback(c) + defer tx.Rollback(c) //nolint: errcheck if conf.DB.SetUserID { if err := setLocalUserID(c, tx); err != nil { @@ -128,6 +128,7 @@ func graphQLFunc(query string, data interface{}, opt map[string]string) map[stri return val } +//nolint: errcheck func logFunc(args ...interface{}) { for _, arg := range args { if _, ok := arg.(map[string]interface{}); ok { @@ -144,6 +145,7 @@ func logFunc(args ...interface{}) { } } +//nolint: errcheck func setFakeFuncs(f *goja.Object) { gofakeit.Seed(0) diff --git a/serv/config.go b/serv/config.go index df1b6e3..b63de3a 100644 --- a/serv/config.go +++ b/serv/config.go @@ -173,9 +173,10 @@ func newConfig(name string) *viper.Viper { vi.SetDefault("database.schema", "public") vi.SetDefault("env", "development") - vi.BindEnv("env", "GO_ENV") - vi.BindEnv("HOST", "HOST") - vi.BindEnv("PORT", "PORT") + + vi.BindEnv("env", "GO_ENV") //nolint: errcheck + vi.BindEnv("HOST", "HOST") //nolint: errcheck + vi.BindEnv("PORT", "PORT") //nolint: errcheck vi.SetDefault("auth.rails.max_idle", 80) vi.SetDefault("auth.rails.max_active", 12000) diff --git a/serv/core.go b/serv/core.go index d83da60..2ec204a 100644 --- a/serv/core.go +++ b/serv/core.go @@ -16,10 +16,6 @@ import ( "github.com/valyala/fasttemplate" ) -const ( - empty = "" -) - type coreContext struct { req gqlReq res gqlResp @@ -88,7 +84,7 @@ func (c *coreContext) resolvePreparedSQL() ([]byte, *stmt, error) { if tx, err = db.Begin(c); err != nil { return nil, nil, err } - defer tx.Rollback(c) + defer tx.Rollback(c) //nolint: errcheck } if conf.DB.SetUserID { @@ -173,7 +169,7 @@ func (c *coreContext) resolveSQL() ([]byte, *stmt, error) { if tx, err = db.Begin(c); err != nil { return nil, nil, err } - defer tx.Rollback(c) + defer tx.Rollback(c) //nolint: errcheck } if conf.DB.SetUserID { @@ -246,7 +242,7 @@ func (c *coreContext) resolveSQL() ([]byte, *stmt, error) { } } - if conf.Production == false { + if !conf.Production { _allowList.add(&c.req) } @@ -348,7 +344,7 @@ func parentFieldIds(h *xxhash.Digest, sel []qcode.Select, skipped uint32) ( for i := range sel { s := &sel[i] - if isSkipped(skipped, uint32(s.ID)) == false { + if !isSkipped(skipped, uint32(s.ID)) { continue } diff --git a/serv/core_build.go b/serv/core_build.go index 8d6d90c..77fcab9 100644 --- a/serv/core_build.go +++ b/serv/core_build.go @@ -59,9 +59,7 @@ func buildRoleStmt(gql, vars []byte, role string) ([]stmt, error) { // For the 'anon' role in production only compile // queries for tables defined in the config file. - if conf.Production && - ro.Name == "anon" && - hasTablesWithConfig(qc, ro) == false { + if conf.Production && ro.Name == "anon" && !hasTablesWithConfig(qc, ro) { return nil, errors.New("query contains tables with no 'anon' role config") } @@ -126,6 +124,7 @@ func buildMultiStmt(gql, vars []byte) ([]stmt, error) { return stmts, nil } +//nolint: errcheck func renderUserQuery( stmts []stmt, vars map[string]json.RawMessage) (string, error) { diff --git a/serv/fuzz_test.go b/serv/fuzz_test.go index 2c543bb..8c4b715 100644 --- a/serv/fuzz_test.go +++ b/serv/fuzz_test.go @@ -10,7 +10,7 @@ func TestFuzzCrashers(t *testing.T) { } for _, f := range crashers { - gqlName(f) + _ = gqlName(f) gqlHash(f, nil, "") } } diff --git a/serv/http.go b/serv/http.go index 4f6fa99..448b71f 100644 --- a/serv/http.go +++ b/serv/http.go @@ -8,8 +8,6 @@ import ( "net/http" "strings" "time" - - "github.com/gorilla/websocket" ) const ( @@ -20,7 +18,6 @@ const ( ) var ( - upgrader = websocket.Upgrader{} errUnauthorized = errors.New("not authorized") ) @@ -33,8 +30,6 @@ type gqlReq struct { hdr http.Header } -type variables map[string]json.RawMessage - type gqlResp struct { Error string `json:"message,omitempty"` Data json.RawMessage `json:"data,omitempty"` @@ -69,7 +64,8 @@ type resolver struct { func apiv1Http(w http.ResponseWriter, r *http.Request) { ctx := &coreContext{Context: r.Context()} - if conf.AuthFailBlock && authCheck(ctx) == false { + //nolint: errcheck + if conf.AuthFailBlock && !authCheck(ctx) { w.WriteHeader(http.StatusUnauthorized) json.NewEncoder(w).Encode(gqlResp{Error: errUnauthorized.Error()}) return @@ -97,6 +93,7 @@ func apiv1Http(w http.ResponseWriter, r *http.Request) { err = ctx.handleReq(w, r) + //nolint: errcheck if err == errUnauthorized { w.WriteHeader(http.StatusUnauthorized) json.NewEncoder(w).Encode(gqlResp{Error: err.Error()}) @@ -110,6 +107,7 @@ func apiv1Http(w http.ResponseWriter, r *http.Request) { } } +//nolint: errcheck func errorResp(w http.ResponseWriter, err error) { json.NewEncoder(w).Encode(gqlResp{Error: err.Error()}) } diff --git a/serv/introsp.go b/serv/introsp.go index 2fbf26f..04f62e4 100644 --- a/serv/introsp.go +++ b/serv/introsp.go @@ -2,6 +2,7 @@ package serv import "net/http" +//nolint: errcheck func introspect(w http.ResponseWriter) { w.Header().Set("Content-Type", "application/json") w.Write([]byte(`{ diff --git a/serv/prepare.go b/serv/prepare.go index 00e48de..9255638 100644 --- a/serv/prepare.go +++ b/serv/prepare.go @@ -30,7 +30,7 @@ func initPreparedList() { if err != nil { errlog.Fatal().Err(err).Send() } - defer tx.Rollback(c) + defer tx.Rollback(c) //nolint: errcheck err = prepareRoleStmt(c, tx) if err != nil { @@ -74,7 +74,7 @@ func prepareStmt(c context.Context, gql string, vars []byte) error { if err != nil { return err } - defer tx.Rollback(c) + defer tx.Rollback(c) //nolint: errcheck switch qt { case qcode.QTQuery: @@ -141,6 +141,7 @@ func prepare(c context.Context, tx pgx.Tx, st *stmt, key string) error { return nil } +// nolint: errcheck func prepareRoleStmt(c context.Context, tx pgx.Tx) error { if len(conf.RolesQuery) == 0 { return nil diff --git a/serv/reload.go b/serv/reload.go index 0e92da2..a295df5 100644 --- a/serv/reload.go +++ b/serv/reload.go @@ -108,7 +108,7 @@ func Do(log func(string, ...interface{}), additional ...dir) error { // Ensure that we use the correct events, as they are not uniform across // platforms. See https://github.com/fsnotify/fsnotify/issues/74 - if conf.Production == false && strings.HasSuffix(event.Name, "/allow.list") { + if !conf.Production && strings.HasSuffix(event.Name, "/allow.list") { continue } diff --git a/serv/rice-box.go b/serv/rice-box.go new file mode 100644 index 0000000..5252894 --- /dev/null +++ b/serv/rice-box.go @@ -0,0 +1,345 @@ +package serv + +import ( + "time" + + "github.com/GeertJohan/go.rice/embedded" +) + +func init() { + + // define files + file2 := &embedded.EmbeddedFile{ + Filename: "0_init.sql", + FileModTime: time.Unix(1573367672, 0), + + Content: string("-- Write your migrate up statements here\n\nCREATE TABLE public.users (\n id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,\n full_name text,\n email text UNIQUE NOT NULL CHECK (length(email) < 255),\n created_at timestamptz NOT NULL NOT NULL DEFAULT NOW(),\n updated_at timestamptz NOT NULL NOT NULL DEFAULT NOW()\n);\n\n---- create above / drop below ----\n\n-- Write your down migrate statements here. If this migration is irreversible\n-- then delete the separator line above.\n\nDROP TABLE public.users\n\n"), + } + file3 := &embedded.EmbeddedFile{ + Filename: "Dockerfile", + FileModTime: time.Unix(1570334596, 0), + + Content: string("FROM dosco/super-graph:latest\nWORKDIR /\n\nCOPY config/* /config/"), + } + file4 := &embedded.EmbeddedFile{ + Filename: "dev.yml", + FileModTime: time.Unix(1574437979, 0), + + Content: string("app_name: \"{% app_name %} Development\"\nhost_port: 0.0.0.0:8080\nweb_ui: true\n\n# debug, info, warn, error, fatal, panic\nlog_level: \"info\"\n\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: false\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: false\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: true\n\n# Watch the config folder and reload Super Graph\n# with the new configs when a change is detected\nreload_on_config_change: true\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\nmigrations_path: ./config/migrations\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\n# inflections:\n# person: people\n# sheep: sheep\n\nauth:\n # Can be 'rails' or 'jwt'\n type: rails\n cookie: _{% app_name_slug %}_session\n\n # Comment this out if you want to disable setting\n # the user_id via a header for testing. \n # Disable in production\n creds_in_header: true\n\n rails:\n # Rails version this is used for reading the\n # various cookies formats.\n version: 5.2\n\n # Found in 'Rails.application.config.secret_key_base'\n secret_key_base: 0a248500a64c01184edb4d7ad3a805488f8097ac761b76aaa6c17c01dcb7af03a2f18ba61b2868134b9c7b79a122bc0dadff4367414a2d173297bfea92be5566\n\n # Remote cookie store. (memcache or redis)\n # url: redis://redis:6379\n # password: \"\"\n # max_idle: 80\n # max_active: 12000\n\n # In most cases you don't need these\n # salt: \"encrypted cookie\"\n # sign_salt: \"signed encrypted cookie\"\n # auth_salt: \"authenticated encrypted cookie\"\n\n # jwt:\n # provider: auth0\n # secret: abc335bfcfdb04e50db5bb0a4d67ab9\n # public_key_file: /secrets/public_key.pem\n # public_key_type: ecdsa #rsa\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_development\n user: postgres\n password: ''\n\n #schema: \"public\"\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\"\n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false\n\n # Define additional variables here to be used with filters\n variables:\n admin_account_id: \"5\"\n\n # Field and table names that you wish to block\n blocklist:\n - ar_internal_metadata\n - schema_migrations\n - secret\n - password\n - encrypted\n - token\n\ntables:\n - name: customers\n remotes:\n - name: payments\n id: stripe_id\n url: http://rails_app:3000/stripe/$id\n path: data\n # debug: true\n pass_headers: \n - cookie\n set_headers:\n - name: Host\n value: 0.0.0.0\n # - name: Authorization\n # value: Bearer \n\n - # You can create new fields that have a\n # real db table backing them\n name: me\n table: users\n\nroles_query: \"SELECT\u00a0* FROM users WHERE id = $user_id\"\n\nroles:\n - name: anon\n tables:\n - name: products\n limit: 10\n\n query:\n columns: [\"id\", \"name\", \"description\" ]\n aggregation: false\n\n insert:\n block: false\n \n update:\n block: false\n\n delete:\n block: false\n\n - name: user\n tables:\n - name: users\n query:\n filters: [\"{ id: { _eq: $user_id } }\"]\n\n - name: products\n query:\n limit: 50\n filters: [\"{ user_id: { eq: $user_id } }\"]\n columns: [\"id\", \"name\", \"description\" ]\n disable_functions: false\n\n insert:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n columns: [\"id\", \"name\", \"description\" ]\n presets:\n - created_at: \"now\"\n \n update:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n columns:\n - id\n - name\n presets:\n - updated_at: \"now\"\n\n delete:\n block: true\n\n - name: admin\n match: id = 1000\n tables:\n - name: users\n filters: []\n"), + } + file5 := &embedded.EmbeddedFile{ + Filename: "docker-compose.yml", + FileModTime: time.Unix(1573541863, 0), + + Content: string("version: '3.4'\nservices:\n db:\n image: postgres\n ports:\n - \"5432:5432\"\n\n {% app_name_slug %}_api:\n image: dosco/super-graph:latest\n environment:\n GO_ENV: \"development\"\n volumes:\n - ./config:/config\n ports:\n - \"8080:8080\"\n depends_on:\n - db"), + } + file6 := &embedded.EmbeddedFile{ + Filename: "prod.yml", + FileModTime: time.Unix(1574401792, 0), + + Content: string("# Inherit config from this other config file\n# so I only need to overwrite some values\ninherits: dev\n\napp_name: \"{% app_name %} Production\"\nhost_port: 0.0.0.0:8080\nweb_ui: false\n\n# debug, info, warn, error, fatal, panic, disable\nlog_level: \"warn\"\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: true\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: true\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: true\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\n# migrations_path: migrations\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_development\n user: postgres\n password: ''\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\" \n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false"), + } + file7 := &embedded.EmbeddedFile{ + Filename: "seed.js", + FileModTime: time.Unix(1570334602, 0), + + Content: string("// Example script to seed database\n\nvar users = [];\n\nfor (i = 0; i < 10; i++) {\n\tvar data = {\n\t\tfull_name: fake.name(),\n\t\temail: fake.email()\n\t}\n\n\tvar res = graphql(\" \\\n\tmutation { \\\n\t\tuser(insert: $data) { \\\n\t\t\tid \\\n\t\t} \\\n\t}\", { data: data })\n\n\tusers.push(res.user)\n}"), + } + + // define dirs + dir1 := &embedded.EmbeddedDir{ + Filename: "", + DirModTime: time.Unix(1573367672, 0), + ChildFiles: []*embedded.EmbeddedFile{ + file2, // "0_init.sql" + file3, // "Dockerfile" + file4, // "dev.yml" + file5, // "docker-compose.yml" + file6, // "prod.yml" + file7, // "seed.js" + + }, + } + + // link ChildDirs + dir1.ChildDirs = []*embedded.EmbeddedDir{} + + // register embeddedBox + embedded.RegisterEmbeddedBox(`../tmpl`, &embedded.EmbeddedBox{ + Name: `../tmpl`, + Time: time.Unix(1573367672, 0), + Dirs: map[string]*embedded.EmbeddedDir{ + "": dir1, + }, + Files: map[string]*embedded.EmbeddedFile{ + "0_init.sql": file2, + "Dockerfile": file3, + "dev.yml": file4, + "docker-compose.yml": file5, + "prod.yml": file6, + "seed.js": file7, + }, + }) +} + +func init() { + + // define files + file9 := &embedded.EmbeddedFile{ + Filename: ".DS_Store", + FileModTime: time.Unix(1554134728, 0), + + Content: string("\x00\x00\x00\x01Bud1\x00\x00\x10\x00\x00\x00\b\x00\x00\x00\x10\x00\x00\x00\x01\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x10\x00\x00c\x00o\x00n\x00.\x00i\x00c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\v\x00f\x00a\x00v\x00i\x00c\x00o\x00n\x00.\x00i\x00c\x00oIlocblob\x00\x00\x00\x10\x00\x00\x00;\x00\x00\x00/\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\n\x00i\x00n\x00d\x00e\x00x\x00.\x00h\x00t\x00m\x00lIlocblob\x00\x00\x00\x10\x00\x00\x00\xa9\x00\x00\x00/\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\r\x00m\x00a\x00n\x00i\x00f\x00e\x00s\x00t\x00.\x00j\x00s\x00o\x00nIlocblob\x00\x00\x00\x10\x00\x00\x01\x17\x00\x00\x00/\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x16\x00s\x00u\x00p\x00e\x00r\x00-\x00g\x00r\x00a\x00p\x00h\x00-\x00w\x00e\x00b\x00-\x00u\x00i\x00.\x00p\x00n\x00gIlocblob\x00\x00\x00\x10\x00\x00\x01\x83\x00\x00\x00(\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\b\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00 \x00\x00\x00\x01\x00\x00\x00@\x00\x00\x00\x01\x00\x00\x00\x80\x00\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x10\x00\x00\x00\x00\x01\x00\x00 \x00\x00\x00\x00\x01\x00\x00@\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x00\x00\x01\x00\b\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x01\x00@\x00\x00\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x01\x04\x00\x00\x00\x00\x00\x00\x01\b\x00\x00\x00\x00\x00\x00\x01\x10\x00\x00\x00\x00\x00\x00\x01 \x00\x00\x00\x00\x00\x00\x01@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x10\v\x00\x00\x00E\x00\x00\x01\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x04DSDB\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00 \x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x04\x00\x00\x00\x00\x02\x00\x00\b\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00 \x00\x00\x00\x00\x01\x00\x00@\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x00\x00\x01\x00\b\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x01\x00@\x00\x00\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x01\x04\x00\x00\x00\x00\x00\x00\x01\b\x00\x00\x00\x00\x00\x00\x01\x10\x00\x00\x00\x00\x00\x00\x01 \x00\x00\x00\x00\x00\x00\x01@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), + } + filea := &embedded.EmbeddedFile{ + Filename: "asset-manifest.json", + FileModTime: time.Unix(1564378073, 0), + + Content: string("{\n \"main.css\": \"/static/css/main.846b53ca.chunk.css\",\n \"main.js\": \"/static/js/main.b305b953.chunk.js\",\n \"main.js.map\": \"/static/js/main.b305b953.chunk.js.map\",\n \"runtime~main.js\": \"/static/js/runtime~main.42ac5946.js\",\n \"runtime~main.js.map\": \"/static/js/runtime~main.42ac5946.js.map\",\n \"static/js/2.f93b5a0b.chunk.js\": \"/static/js/2.f93b5a0b.chunk.js\",\n \"static/js/2.f93b5a0b.chunk.js.map\": \"/static/js/2.f93b5a0b.chunk.js.map\",\n \"index.html\": \"/index.html\",\n \"precache-manifest.f3df8236952c9fbcbf50ad9621711c03.js\": \"/precache-manifest.f3df8236952c9fbcbf50ad9621711c03.js\",\n \"service-worker.js\": \"/service-worker.js\",\n \"static/css/main.846b53ca.chunk.css.map\": \"/static/css/main.846b53ca.chunk.css.map\",\n \"static/media/GraphQLLanguageService.js.flow\": \"/static/media/GraphQLLanguageService.js.5ab204b9.flow\",\n \"static/media/autocompleteUtils.js.flow\": \"/static/media/autocompleteUtils.js.4ce7ba19.flow\",\n \"static/media/getAutocompleteSuggestions.js.flow\": \"/static/media/getAutocompleteSuggestions.js.7f98f032.flow\",\n \"static/media/getDefinition.js.flow\": \"/static/media/getDefinition.js.4dbec62f.flow\",\n \"static/media/getDiagnostics.js.flow\": \"/static/media/getDiagnostics.js.65b0979a.flow\",\n \"static/media/getHoverInformation.js.flow\": \"/static/media/getHoverInformation.js.d9411837.flow\",\n \"static/media/getOutline.js.flow\": \"/static/media/getOutline.js.c04e3998.flow\",\n \"static/media/index.js.flow\": \"/static/media/index.js.02c24280.flow\",\n \"static/media/logo.png\": \"/static/media/logo.57ee3b60.png\"\n}"), + } + fileb := &embedded.EmbeddedFile{ + Filename: "favicon.ico", + FileModTime: time.Unix(1553402253, 0), + + Content: string("\x00\x00\x01\x00\x03\x0000\x00\x00\x01\x00 \x00\xa8%\x00\x006\x00\x00\x00 \x00\x00\x01\x00 \x00\xa8\x10\x00\x00\xde%\x00\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\x00\x866\x00\x00(\x00\x00\x000\x00\x00\x00`\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x18\xaeRW&\xaeRW3\xaeRW>\xaeRWG\xaeRWM\xaeRWP\xaeRWP\xaeRWM\xaeRWG\xaeRW>\xaeRW3\xaeRW&\xaeRW\x18\xaeRW\f\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW*\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRWծRW\xe2\xaeRW\xeb\xaeRW\xf1\xaeRW\xf4\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe2\xaeRWծRW\xc1\xaeRW\xa4\xaeRW\u007f\xaeRWT\xaeRW*\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x81\xaeRW\xbe\xaeRW\xe4\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe4\xaeRW\xbe\xaeRW\x81\xaeRW<\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb8\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xed\xaeRW\xb8\xaeRW[\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xaf\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf6\xaeRW\xaf\xaeRW+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1e\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRWĮRW\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWi\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xf7\xaeRW\xee\xaeRW\xe3\xaeRWخRW̮RW®RW\xbb\xaeRW\xb7\xaeRW\xb5\xaeRW\xb5\xaeRW\xb7\xaeRW\xbc\xaeRW®RW̮RWخRW\xe3\xaeRW\xee\xaeRW\xf7\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xf7\xaeRW\xe2\xaeRW\xbf\xaeRW\x97\xaeRWq\xaeRWQ\xaeRW8\xaeRW&\xaeRW\x1a\xaeRW\x12\xaeRW\f\xaeRW\t\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\t\xaeRW\f\xaeRW\x12\xaeRW\x1a\xaeRW&\xaeRW8\xaeRWQ\xaeRWq\xaeRW\x97\xaeRW\xbf\xaeRW\xe2\xaeRW\xf7\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf9\xaeRW\u05eeRW\x99\xaeRWX\xaeRW'\xaeRW\f\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\f\xaeRW'\xaeRWX\xaeRW\x99\xaeRW\u05eeRW\xf9\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x81\xaeRW\xfb\xaeRW®RWe\xaeRW\x1e\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x06\xaeRW\x12\xaeRW!\xaeRW1\xaeRW?\xaeRWL\xaeRWU\xaeRW[\xaeRW_\xaeRW_\xaeRW[\xaeRWU\xaeRWL\xaeRW?\xaeRW1\xaeRW!\xaeRW\x12\xaeRW\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x1e\xaeRWf\xaeRW®RW\xfb\xaeRW\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWa\xaeRWl\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\x12\xaeRW5\xaeRWb\xaeRW\x8d\xaeRW\xb1\xaeRW̮RWޮRW\xea\xaeRW\xf1\xaeRW\xf6\xaeRW\xf8\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf8\xaeRW\xf6\xaeRW\xf1\xaeRW\xea\xaeRWޮRW̮RW\xb1\xaeRW\x8d\xaeRWb\xaeRW5\xaeRW\x12\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWl\xaeRWa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\a\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x11\xaeRWI\xaeRW\x8f\xaeRWɮRW\xeb\xaeRW\xfa\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfa\xaeRW\xeb\xaeRWɮRW\x8f\xaeRWI\xaeRW\x11\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWh\xaeRWĮRW\xf2\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfe\xaeRW\xf2\xaeRWĮRWh\xaeRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW4\xaeRW\xbb\xaeRW\xf9\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xf9\xaeRW\xba\xaeRW4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW#\xaeRW̮RW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW̮RW#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWl\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWl\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf3\xaeRW\xe9\xaeRWܮRWϮRWîRW\xb9\xaeRW\xb1\xaeRW\xac\xaeRW\xa9\xaeRW\xa9\xaeRW\xac\xaeRW\xb1\xaeRW\xb9\xaeRWîRWϮRWܮRW\xe9\xaeRW\xf3\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfe\xaeRW\xf4\xaeRWۮRW\xb5\xaeRW\x8b\xaeRWe\xaeRWE\xaeRW/\xaeRW\x1f\xaeRW\x14\xaeRW\r\xaeRW\b\xaeRW\x05\xaeRW\x04\xaeRW\x03\xaeRW\x03\xaeRW\x04\xaeRW\x05\xaeRW\b\xaeRW\r\xaeRW\x14\xaeRW\x1f\xaeRW/\xaeRWE\xaeRWe\xaeRW\x8b\xaeRW\xb5\xaeRWۮRW\xf4\xaeRW\xfe\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRWϮRW\x8e\xaeRWL\xaeRW \xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW \xaeRWM\xaeRW\x8e\xaeRWЮRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x82\xaeRW\xf8\xaeRW\xb8\xaeRW[\xaeRW\x18\xaeQW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\b\xaeRW\x16\xaeRW'\xaeRW8\xaeRWH\xaeRWV\xaeRWa\xaeRWh\xaeRWk\xaeRWl\xaeRWi\xaeRWc\xaeRWY\xaeRWL\xaeRW<\xaeRW+\xaeRW\x19\xaeRW\v\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\x18\xaeRW[\xaeRW\xb8\xaeRW\xf8\xaeRW\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\\\xaeRWa\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x16\xaeRW<\xaeRWi\xaeRW\x94\xaeRW\xb8\xaeRWҮRW\xe3\xaeRW\xee\xaeRW\xf4\xaeRW\xf8\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xf9\xaeRW\xf6\xaeRW\xf0\xaeRW\xe6\xaeRW֮RW\xbe\xaeRW\x9b\xaeRWp\xaeRWA\xaeRW\x19\xaeRW\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRWa\xaeRW\\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x17\xaeRWS\xaeRW\x9a\xaeRWЮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xf1\xaeRWԮRW\x9d\xaeRWV\xaeRW\x18\xaeQV\x01\x00\x00\x00\x00\xaeRW\x01\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x18\xaeRWr\xaeRW̮RW\xf6\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xf6\xaeRWήRWv\xaeRW\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRW®RW\xfa\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfb\xaeRWŮRW=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRWѮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRWӮRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWo\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRWo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xc1\xaeRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xb0\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf5\xaeRW\xaa\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb9\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xec\xaeRW\xb5\xaeRWW\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x82\xaeRW\xbe\xaeRW\xe5\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf5\xaeRW\xe1\xaeRW\xba\xaeRW~\xaeRW;\xaeRW\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW+\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRW֮RW\xe3\xaeRW\xec\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe1\xaeRWӮRW\xbd\xaeRW\x9f\xaeRWx\xaeRWM\xaeRW&\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x19\xaeRW&\xaeRW3\xaeRW>\xaeRWH\xaeRWN\xaeRWP\xaeRWP\xaeRWM\xaeRWF\xaeRW>\xaeRW2\xaeRW$\xaeRW\x17\xaeRW\n\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xff\xc0\x00\x00\a\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\n\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWw\xaeRW\x95\xaeRW\xaa\xaeRW\xb9\xaeRW\xc1\xaeRWŮRWŮRW\xc1\xaeRW\xb9\xaeRW\xaa\xaeRW\x95\xaeRWw\xaeRWS\xaeRW,\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\u007f\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe6\xaeRW\xc0\xaeRW\u007f\xaeRW3\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfd\xaeRW\xe7\xaeRW\x91\xaeRW\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xa2\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfc\xaeRW\xfe\xaeRW\xfb\xaeRW\xef\xaeRWڮRWîRW\xad\xaeRW\x9a\xaeRW\x8c\xaeRW\x83\xaeRW\x80\xaeRW\x80\xaeRW\x83\xaeRW\x8c\xaeRW\x9a\xaeRW\xad\xaeRWîRWڮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfc\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW߮RW\xfd\xaeRW\xe0\xaeRW\xa8\xaeRWk\xaeRW;\xaeRW\x1c\xaeRW\t\xaeQV\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQW\x01\xaeRW\t\xaeRW\x1c\xaeRW;\xaeRWk\xaeRW\xa8\xaeRW\xe0\xaeRW\xfd\xaeRW߮RW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW\xbc\xaeRW}\xaeRW'\xaeRW\x03\x00\x00\x00\x00\xaeRW\a\xaeRW\x1f\xaeRW<\xaeRWW\xaeRWm\xaeRW}\xaeRW\x88\xaeRW\x8d\xaeRW\x8d\xaeRW\x88\xaeRW}\xaeRWm\xaeRWW\xaeRW<\xaeRW\x1f\xaeRW\a\x00\x00\x00\x00\xaeRW\x03\xaeRW'\xaeRW}\xaeRW\xbc\xaeRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\n\xaeRW\x1d\xaeQW\x01\xaeRW\x0e\xaeRWC\xaeRW\x86\xaeRW\xbb\xaeRWݮRW\xf0\xaeRW\xf8\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xf8\xaeRW\xf0\xaeRWݮRW\xbb\xaeRW\x86\xaeRWC\xaeRW\x0e\xaeRW\x01\xaeRW\x1d\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRWX\xaeRW\xbf\xaeRW\xf1\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf1\xaeRW\xbe\xaeRWX\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRWz\xaeRW\xf3\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf3\xaeRWz\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x19\xaeRW\u05eeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\u05eeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xeb\xaeRWޮRWҮRWǮRW\xc0\xaeRW\xbd\xaeRW\xbd\xaeRW\xc0\xaeRWǮRWҮRWޮRW\xeb\xaeRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xff\xaeRW\xf8\xaeRWڮRW\xaa\xaeRWx\xaeRWO\xaeRW2\xaeRW\x1f\xaeRW\x12\xaeRW\v\xaeRW\a\xaeRW\x05\xaeRW\x05\xaeRW\a\xaeRW\v\xaeRW\x12\xaeRW\x1f\xaeRW2\xaeRWO\xaeRWx\xaeRW\xaa\xaeRWڮRW\xf8\xaeRW\xff\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW \xaeRW֮RW\xb9\xaeRW^\xaeRW\x1e\xaeRW\x03\x00\x00\x00\x00\xaeRW\x01\xaeRW\r\xaeRW\x1f\xaeRW0\xaeRW>\xaeRWH\xaeRWL\xaeRWM\xaeRWI\xaeRW@\xaeRW2\xaeRW!\xaeRW\x0f\xaeRW\x02\x00\x00\x00\x00\xaeRW\x03\xaeRW\x1e\xaeRW^\xaeRW\xb9\xaeRW֮RW \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWH\xaeRW\r\x00\x00\x00\x00\xaeRW\x15\xaeRWF\xaeRW{\xaeRW\xa9\xaeRWɮRWޮRW\xea\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf6\xaeRW\xf5\xaeRW\xf2\xaeRW\xec\xaeRW\xe0\xaeRWͮRW\xad\xaeRW\x80\xaeRWI\xaeRW\x16\x00\x00\x00\x00\xaeRW\r\xaeRWH\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRW\x83\xaeRWϮRW\xf2\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf3\xaeRWЮRW\x86\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWL\xaeRW֮RW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfd\xaeRWخRWN\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWɮRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRWʮRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xa0\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xe6\xaeRW\x8e\xaeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\x80\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xe4\xaeRW\xbe\xaeRW~\xaeRW1\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWx\xaeRW\x95\xaeRW\xab\xaeRW\xb9\xaeRW®RWŮRWŮRW\xc1\xaeRW\xb8\xaeRW\xa9\xaeRW\x93\xaeRWt\xaeRWN\xaeRW)\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\t\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xe0\a\xff\xfe\x00\x00\u007f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe1\xff\xff\x87\xef\xfc?\xf7\xfe\x00\x00\u007f\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\xff\xff\a\xe7\xff\xff\xe7\xff\x80\x00\xff\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xf0\x00\x00\x0f\xfc\x00\x00\u007f\xff\xe0\a\xff\xff\xff\xff\xff(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW3\xaeRWW\xaeRWo\xaeRW{\xaeRW{\xaeRWo\xaeRWW\xaeRW3\xaeRW\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf4\xaeRW\xe5\xaeRW\xbf\xaeRWl\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfa\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf7\xaeRW\xf5\xaeRW\xf5\xaeRW\xf7\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xeb\xaeRW\xb4\xaeRW\x83\xaeRWe\xaeRWV\xaeRWQ\xaeRWQ\xaeRWV\xaeRWe\xaeRW\x83\xaeRW\xb4\xaeRW\xeb\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRWF\xaeRWF\xaeRWp\xaeRW\x95\xaeRW\xaa\xaeRW\xb4\xaeRW\xb4\xaeRW\xaa\xaeRW\x95\xaeRWp\xaeRWF\xaeRWF\xaeRW:\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW)\xaeRW\xb0\xaeRW\xee\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xee\xaeRW\xb0\xaeRW)\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWx\xaeRW\xff\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xff\xaeRWx\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfb\xaeRW\xef\xaeRW߮RWҮRWˮRWˮRWҮRW߮RW\xef\xaeRW\xfb\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWt\xaeRW\xb8\xaeRWl\xaeRWG\xaeRW?\xaeRWB\xaeRWE\xaeRWF\xaeRWC\xaeRW@\xaeRWH\xaeRWl\xaeRW\xb8\xaeRWt\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1c\xaeRWC\xaeRW\x81\xaeRW\xb7\xaeRW֮RW\xe4\xaeRW\xea\xaeRW\xea\xaeRW\xe5\xaeRW\u05eeRW\xb9\xaeRW\x83\xaeRWD\xaeRW\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWK\xaeRW\xe4\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xe5\xaeRWL\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf9\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf3\xaeRW\xe4\xaeRW\xbe\xaeRWk\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW4\xaeRWW\xaeRWp\xaeRW{\xaeRW{\xaeRWo\xaeRWU\xaeRW2\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc7\xe3\x00\x00\xf8\x1f\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xdf\xfb\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xe0\a\x00\x00\xff\xff\x00\x00"), + } + filec := &embedded.EmbeddedFile{ + Filename: "index.html", + FileModTime: time.Unix(1564378073, 0), + + Content: string("Super Graph - GraphQL API for Rails
"), + } + filed := &embedded.EmbeddedFile{ + Filename: "manifest.json", + FileModTime: time.Unix(1553402546, 0), + + Content: string("{\n \"short_name\": \"Super Graph\",\n \"name\": \"Super Graph - GraphQL API for Rails\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n \"sizes\": \"64x64 32x32 24x24 16x16\",\n \"type\": \"image/x-icon\"\n }\n ],\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\"\n}\n"), + } + filee := &embedded.EmbeddedFile{ + Filename: "precache-manifest.f3df8236952c9fbcbf50ad9621711c03.js", + FileModTime: time.Unix(1564378073, 0), + + Content: string("self.__precacheManifest = [\n {\n \"revision\": \"4dbec62f1d8e8417afb9cbd19f1268c3\",\n \"url\": \"/static/media/getDefinition.js.4dbec62f.flow\"\n },\n {\n \"revision\": \"b305b9532b78fef8a675\",\n \"url\": \"/static/css/main.846b53ca.chunk.css\"\n },\n {\n \"revision\": \"42ac5946195a7306e2a5\",\n \"url\": \"/static/js/runtime~main.42ac5946.js\"\n },\n {\n \"revision\": \"f93b5a0bf8455aa6027e\",\n \"url\": \"/static/js/2.f93b5a0b.chunk.js\"\n },\n {\n \"revision\": \"5ab204b9b95c06640dbefae9a65b1db2\",\n \"url\": \"/static/media/GraphQLLanguageService.js.5ab204b9.flow\"\n },\n {\n \"revision\": \"4ce7ba191f7ebee4426768f246b2f0e0\",\n \"url\": \"/static/media/autocompleteUtils.js.4ce7ba19.flow\"\n },\n {\n \"revision\": \"7f98f032085704c8943ec2d1925c7c84\",\n \"url\": \"/static/media/getAutocompleteSuggestions.js.7f98f032.flow\"\n },\n {\n \"revision\": \"b305b9532b78fef8a675\",\n \"url\": \"/static/js/main.b305b953.chunk.js\"\n },\n {\n \"revision\": \"65b0979ac23feca49e4411883fd8eaab\",\n \"url\": \"/static/media/getDiagnostics.js.65b0979a.flow\"\n },\n {\n \"revision\": \"d94118379d362fc161aa1246bcc14d43\",\n \"url\": \"/static/media/getHoverInformation.js.d9411837.flow\"\n },\n {\n \"revision\": \"c04e3998712b37a96f0bfd283fa06b52\",\n \"url\": \"/static/media/getOutline.js.c04e3998.flow\"\n },\n {\n \"revision\": \"02c24280c5e4a7eb3c6cfcb079a8f1e3\",\n \"url\": \"/static/media/index.js.02c24280.flow\"\n },\n {\n \"revision\": \"57ee3b6084cb9d3c754cc12d25a98035\",\n \"url\": \"/static/media/logo.57ee3b60.png\"\n },\n {\n \"revision\": \"f55d4acee289337d0ed4e8890b390ba6\",\n \"url\": \"/index.html\"\n }\n];"), + } + filef := &embedded.EmbeddedFile{ + Filename: "service-worker.js", + FileModTime: time.Unix(1564378073, 0), + + Content: string("/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app and you should\n * disable HTTP caching for this file too.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\nimportScripts(\"https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js\");\n\nimportScripts(\n \"/precache-manifest.f3df8236952c9fbcbf50ad9621711c03.js\"\n);\n\nworkbox.clientsClaim();\n\n/**\n * The workboxSW.precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nself.__precacheManifest = [].concat(self.__precacheManifest || []);\nworkbox.precaching.suppressWarnings();\nworkbox.precaching.precacheAndRoute(self.__precacheManifest, {});\n\nworkbox.routing.registerNavigationRoute(\"/index.html\", {\n \n blacklist: [/^\\/_/,/\\/[^\\/]+\\.[^\\/]+$/],\n});\n"), + } + filei := &embedded.EmbeddedFile{ + Filename: "static/css/main.846b53ca.chunk.css", + FileModTime: time.Unix(1564378073, 0), + + Content: string("body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f202d}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.playground>div:nth-child(2){height:calc(100vh - 131px)}\n/*# sourceMappingURL=main.846b53ca.chunk.css.map */"), + } + filej := &embedded.EmbeddedFile{ + Filename: "static/css/main.846b53ca.chunk.css.map", + FileModTime: time.Unix(1564378073, 0), + + Content: string("{\"version\":3,\"sources\":[\"/Users/vikram/src/super-graph/web/src/index.css\",\"main.846b53ca.chunk.css\"],\"names\":[],\"mappings\":\"AAAA,KACE,QAAA,CACA,SAAA,CACA,mICEY,CDCZ,kCAAA,CACA,iCAAA,CACA,wBCCF,CDEA,KACE,uECEF,CDEA,6BACE,0BCCF\",\"file\":\"main.846b53ca.chunk.css\",\"sourcesContent\":[\"body {\\n margin: 0;\\n padding: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\",\\n \\\"Ubuntu\\\", \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\",\\n sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n background-color: #0f202d;\\n}\\n\\ncode {\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\",\\n monospace;\\n}\\n\\n.playground > div:nth-child(2) {\\n height: calc(100vh - 131px);\\n}\\n\",\"body {\\n margin: 0;\\n padding: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\",\\n \\\"Ubuntu\\\", \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\",\\n sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n background-color: #0f202d;\\n}\\n\\ncode {\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\",\\n monospace;\\n}\\n\\n.playground > div:nth-child(2) {\\n height: calc(100vh - 131px);\\n}\\n\\n\"]}"), + } + filel := &embedded.EmbeddedFile{ + Filename: "static/js/2.f93b5a0b.chunk.js", + FileModTime: time.Unix(1564378073, 0), + + Content: string("(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){\"use strict\";var r=n(43),i=n(39),o=n(38);function a(e){return e}var s=n(41),u=n(3),c=n(6),l=n(33),p=n(27),f=n(45),d=n(24),h=n(1),m=n(100);function g(e){for(var t=1;t0?e:void 0}n.d(t,\"S\",function(){return y}),n.d(t,\"x\",function(){return b}),n.d(t,\"R\",function(){return x}),n.d(t,\"w\",function(){return E}),n.d(t,\"N\",function(){return C}),n.d(t,\"u\",function(){return w}),n.d(t,\"H\",function(){return D}),n.d(t,\"o\",function(){return S}),n.d(t,\"T\",function(){return k}),n.d(t,\"y\",function(){return A}),n.d(t,\"E\",function(){return T}),n.d(t,\"l\",function(){return _}),n.d(t,\"F\",function(){return O}),n.d(t,\"m\",function(){return F}),n.d(t,\"J\",function(){return N}),n.d(t,\"q\",function(){return I}),n.d(t,\"L\",function(){return M}),n.d(t,\"s\",function(){return j}),n.d(t,\"G\",function(){return P}),n.d(t,\"n\",function(){return L}),n.d(t,\"O\",function(){return R}),n.d(t,\"v\",function(){return B}),n.d(t,\"I\",function(){return U}),n.d(t,\"p\",function(){return z}),n.d(t,\"D\",function(){return V}),n.d(t,\"k\",function(){return q}),n.d(t,\"C\",function(){return H}),n.d(t,\"j\",function(){return W}),n.d(t,\"d\",function(){return G}),n.d(t,\"e\",function(){return K}),n.d(t,\"U\",function(){return J}),n.d(t,\"z\",function(){return Q}),n.d(t,\"M\",function(){return Y}),n.d(t,\"t\",function(){return $}),n.d(t,\"B\",function(){return X}),n.d(t,\"K\",function(){return Z}),n.d(t,\"r\",function(){return ee}),n.d(t,\"A\",function(){return te}),n.d(t,\"g\",function(){return ie}),n.d(t,\"f\",function(){return oe}),n.d(t,\"i\",function(){return ce}),n.d(t,\"P\",function(){return le}),n.d(t,\"c\",function(){return pe}),n.d(t,\"h\",function(){return fe}),n.d(t,\"a\",function(){return de}),n.d(t,\"b\",function(){return he}),n.d(t,\"Q\",function(){return me}),G.prototype.toString=function(){return\"[\"+String(this.ofType)+\"]\"},Object(o.a)(G),Object(i.a)(G),K.prototype.toString=function(){return String(this.ofType)+\"!\"},Object(o.a)(K),Object(i.a)(K);var ie=function(){function e(e){var t=this;this.name=e.name,this.description=e.description,this.serialize=e.serialize||a,this.parseValue=e.parseValue||a,this.parseLiteral=e.parseLiteral||function(e){return t.parseValue(Object(m.a)(e))},this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\"),null!=e.serialize&&\"function\"!==typeof e.serialize&&Object(c.a)(0,\"\".concat(this.name,' must provide \"serialize\" function. If this custom Scalar is also used as an input type, ensure \"parseValue\" and \"parseLiteral\" functions are also provided.')),e.parseLiteral&&(\"function\"!==typeof e.parseValue||\"function\"!==typeof e.parseLiteral)&&Object(c.a)(0,\"\".concat(this.name,' must provide both \"parseValue\" and \"parseLiteral\" functions.'))}var t=e.prototype;return t.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(o.a)(ie),Object(i.a)(ie);var oe=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),this.isTypeOf=e.isTypeOf,this._fields=ae.bind(void 0,e),this._interfaces=function(e){var t=ne(e.interfaces)||[];return Array.isArray(t)||Object(c.a)(0,\"\".concat(e.name,\" interfaces must be an Array or a function which returns an Array.\")),t}.bind(void 0,e),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\"),null!=e.isTypeOf&&\"function\"!==typeof e.isTypeOf&&Object(c.a)(0,\"\".concat(this.name,' must provide \"isTypeOf\" as a function, ')+\"but got: \".concat(Object(u.a)(e.isTypeOf),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return\"function\"===typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,isTypeOf:this.isTypeOf,interfaces:this.getInterfaces(),fields:ue(this.getFields()),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ae(e){var t=ne(e.fields)||{};return se(t)||Object(c.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(f.a)(t,function(t,n){se(t)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field config must be an object\")),\"isDeprecated\"in t&&Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),null!=t.resolve&&\"function\"!==typeof t.resolve&&Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field resolver must be a function if \")+\"provided, but got: \".concat(Object(u.a)(t.resolve),\".\"));var i=t.args||{};se(i)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" args must be an object with argument names as keys.\"));var o=Object(r.a)(i).map(function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,astNode:n.astNode}});return g({},t,{isDeprecated:Boolean(t.deprecationReason),name:n,args:o})})}function se(e){return Object(d.a)(e)&&!Array.isArray(e)}function ue(e){return Object(f.a)(e,function(e){return{type:e.type,args:ce(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})}function ce(e){return Object(p.a)(e,function(e){return e.name},function(e){return{type:e.type,defaultValue:e.defaultValue,description:e.description,astNode:e.astNode}})}function le(e){return M(e.type)&&void 0===e.defaultValue}Object(o.a)(oe),Object(i.a)(oe);var pe=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),this.resolveType=e.resolveType,this._fields=ae.bind(void 0,e),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\"),null!=e.resolveType&&\"function\"!==typeof e.resolveType&&Object(c.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(u.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){return{name:this.name,description:this.description,resolveType:this.resolveType,fields:ue(this.getFields()),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(o.a)(pe),Object(i.a)(pe);var fe=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),this.resolveType=e.resolveType,this._types=function(e){var t=ne(e.types)||[];return Array.isArray(t)||Object(c.a)(0,\"Must provide Array of types or a function which returns such an array for Union \".concat(e.name,\".\")),t}.bind(void 0,e),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\"),null!=e.resolveType&&\"function\"!==typeof e.resolveType&&Object(c.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(u.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getTypes=function(){return\"function\"===typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){return{name:this.name,description:this.description,resolveType:this.resolveType,types:this.getTypes(),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(o.a)(fe),Object(i.a)(fe);var de=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),this._values=(t=this,se(n=e.values)||Object(c.a)(0,\"\".concat(t.name,\" values must be an object with value names as keys.\")),Object(r.a)(n).map(function(e){var n=e[0],r=e[1];return se(r)||Object(c.a)(0,\"\".concat(t.name,\".\").concat(n,' must refer to an object with a \"value\" key ')+\"representing an internal value but got: \".concat(Object(u.a)(r),\".\")),\"isDeprecated\"in r&&Object(c.a)(0,\"\".concat(t.name,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),{name:n,description:r.description,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,astNode:r.astNode,value:\"value\"in r?r.value:n}})),this._valueLookup=new Map(this._values.map(function(e){return[e.value,e]})),this._nameLookup=Object(l.a)(this._values,function(e){return e.name}),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(t)return t.name},t.parseValue=function(e){if(\"string\"===typeof e){var t=this.getValue(e);if(t)return t.value}},t.parseLiteral=function(e,t){if(e.kind===h.a.ENUM){var n=this.getValue(e.value);if(n)return n.value}},t.toConfig=function(){var e=Object(p.a)(this.getValues(),function(e){return e.name},function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,astNode:e.astNode}});return{name:this.name,description:this.description,values:e,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(o.a)(de),Object(i.a)(de);var he=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=re(e.extensionASTNodes),this._fields=function(e){var t=ne(e.fields)||{};return se(t)||Object(c.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(f.a)(t,function(t,n){return\"resolve\"in t&&Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field has a resolve property, but Input Types cannot define resolvers.\")),g({},t,{name:n})})}.bind(void 0,e),\"string\"!==typeof e.name&&Object(c.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e=Object(f.a)(this.getFields(),function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,astNode:e.astNode}});return{name:this.name,description:this.description,fields:e,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function me(e){return M(e.type)&&void 0===e.defaultValue}Object(o.a)(he),Object(i.a)(he)},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return r});var r=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"})},function(e,t,n){\"use strict\";n.d(t,\"x\",function(){return o}),n.d(t,\"e\",function(){return a}),n.d(t,\"b\",function(){return u}),n.d(t,\"a\",function(){return c}),n.d(t,\"c\",function(){return l}),n.d(t,\"d\",function(){return p}),n.d(t,\"r\",function(){return d}),n.d(t,\"u\",function(){return h}),n.d(t,\"o\",function(){return m}),n.d(t,\"h\",function(){return g}),n.d(t,\"q\",function(){return b}),n.d(t,\"v\",function(){return x}),n.d(t,\"w\",function(){return E}),n.d(t,\"f\",function(){return C}),n.d(t,\"l\",function(){return w}),n.d(t,\"g\",function(){return D}),n.d(t,\"m\",function(){return S}),n.d(t,\"j\",function(){return k}),n.d(t,\"y\",function(){return T}),n.d(t,\"t\",function(){return F}),n.d(t,\"s\",function(){return N}),n.d(t,\"n\",function(){return I}),n.d(t,\"z\",function(){return M}),n.d(t,\"p\",function(){return j}),n.d(t,\"k\",function(){return P}),n.d(t,\"A\",function(){return L}),n.d(t,\"i\",function(){return R});var r=Object.assign||function(e){for(var t=1;t=0&&e.splice(n,1)}var C={from:function(e){var t=Array(e.length);for(var n in e)y(e,n)&&(t[n]=e[n]);return t}};function w(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r({},e),n=new Promise(function(e,n){t.resolve=e,t.reject=n});return t.promise=n,t}function D(e){for(var t=[],n=0;n1&&void 0!==arguments[1])||arguments[1],n=void 0,r=new Promise(function(r){n=setTimeout(function(){return r(t)},e)});return r[c]=function(){return clearTimeout(n)},r}function k(){var e,t=!0,n=void 0,r=void 0;return(e={})[a]=!0,e.isRunning=function(){return t},e.result=function(){return n},e.error=function(){return r},e.setRunning=function(e){return t=e},e.setResult=function(e){return n=e},e.setError=function(e){return r=e},e}function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(){return++e}}var T=A(),_=function(e){throw e},O=function(e){return{value:e,done:!0}};function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=arguments[3],i={name:n,next:e,throw:t,return:O};return r&&(i[s]=!0),\"undefined\"!==typeof Symbol&&(i[Symbol.iterator]=function(){return i}),i}function N(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";\"undefined\"===typeof window?console.log(\"redux-saga \"+e+\": \"+t+\"\\n\"+(n&&n.stack||n)):console[e](t,n)}function I(e,t){return function(){return e.apply(void 0,arguments)}}var M=function(e,t){return e+\" has been deprecated in favor of \"+t+\", please update your code\"},j=function(e){return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \"+e+\"\\n\")},P=function(e,t){return(e?e+\".\":\"\")+\"setContext(props): argument \"+t+\" is not a plain object\"},L=function(e){return function(t){return e(Object.defineProperty(t,l,{value:!0}))}},R=function e(t){return function(){for(var n=arguments.length,r=Array(n),i=0;ia)return\"[Array]\";for(var n=Math.min(o,e.length),r=e.length-n,i=[],s=0;s1&&i.push(\"... \".concat(r,\" more items\"));return\"[\"+i.join(\", \")+\"]\"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return\"{}\";if(t.length>a)return\"[\"+function(e){var t=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===t&&\"function\"===typeof e.constructor){var n=e.constructor.name;if(\"string\"===typeof n)return n}return t}(e)+\"]\";return\"{ \"+n.map(function(n){var r=u(e[n],t);return n+\": \"+r}).join(\", \")+\" }\"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return a}),n.d(t,\"b\",function(){return s});var r=n(24),i=n(58),o=n(65);function a(e,t,n,o,s,u,c){var l=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,p=n;if(!p&&l){var f=l[0];p=f&&f.loc&&f.loc.source}var d,h=o;!h&&l&&(h=l.reduce(function(e,t){return t.loc&&e.push(t.loc.start),e},[])),h&&0===h.length&&(h=void 0),o&&n?d=o.map(function(e){return Object(i.a)(n,e)}):l&&(d=l.reduce(function(e,t){return t.loc&&e.push(Object(i.a)(t.loc.source,t.loc.start)),e},[]));var m=c;if(null==m&&null!=u){var g=u.extensions;Object(r.a)(g)&&(m=g)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:s||void 0,enumerable:Boolean(s)},nodes:{value:l||void 0},source:{value:p||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,\"stack\",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,\"stack\",{value:Error().stack,writable:!0,configurable:!0})}function s(e){var t=e.message;if(e.nodes){var n=!0,r=!1,i=void 0;try{for(var a,s=e.nodes[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var u=a.value;u.loc&&(t+=\"\\n\\n\"+Object(o.a)(u.loc))}}catch(m){r=!0,i=m}finally{try{n||null==s.return||s.return()}finally{if(r)throw i}}}else if(e.source&&e.locations){var c=!0,l=!1,p=void 0;try{for(var f,d=e.locations[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var h=f.value;t+=\"\\n\\n\"+Object(o.b)(e.source,h)}}catch(m){l=!0,p=m}finally{try{c||null==d.return||d.return()}finally{if(l)throw p}}}return t}a.prototype=Object.create(Error.prototype,{constructor:{value:a},name:{value:\"GraphQLError\"},toString:{value:function(){return s(this)}}})},function(e,t,n){\"use strict\";e.exports=n(209)},function(e,t,n){\"use strict\";function r(e,t){if(!Boolean(e))throw new Error(t)}n.d(t,\"a\",function(){return r})},function(e,t,n){\"use strict\";n.d(t,\"i\",function(){return C}),n.d(t,\"s\",function(){return w}),n.d(t,\"t\",function(){return D}),n.d(t,\"n\",function(){return S}),n.d(t,\"b\",function(){return k}),n.d(t,\"o\",function(){return A}),n.d(t,\"e\",function(){return _}),n.d(t,\"c\",function(){return O}),n.d(t,\"h\",function(){return F}),n.d(t,\"k\",function(){return N}),n.d(t,\"r\",function(){return I}),n.d(t,\"m\",function(){return M}),n.d(t,\"f\",function(){return j}),n.d(t,\"p\",function(){return P}),n.d(t,\"a\",function(){return L}),n.d(t,\"g\",function(){return R}),n.d(t,\"j\",function(){return B}),n.d(t,\"l\",function(){return U}),n.d(t,\"q\",function(){return z}),n.d(t,\"d\",function(){return q});var r=n(2),i=Object(r.x)(\"IO\"),o=\"TAKE\",a=\"PUT\",s=\"ALL\",u=\"RACE\",c=\"CALL\",l=\"CPS\",p=\"FORK\",f=\"JOIN\",d=\"CANCEL\",h=\"SELECT\",m=\"ACTION_CHANNEL\",g=\"CANCELLED\",v=\"FLUSH\",y=\"GET_CONTEXT\",b=\"SET_CONTEXT\",x=\"\\n(HINT: if you are getting this errors in tests, consider using createMockTask from redux-saga/utils)\",E=function(e,t){var n;return(n={})[i]=!0,n[e]=t,n},C=function(e){return Object(r.h)(q.fork(e),r.q.object,\"detach(eff): argument must be a fork effect\"),e[p].detached=!0,e};function w(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"*\";if(arguments.length&&Object(r.h)(arguments[0],r.q.notUndef,\"take(patternOrChannel): patternOrChannel is undefined\"),r.q.pattern(e))return E(o,{pattern:e});if(r.q.channel(e))return E(o,{channel:e});throw new Error(\"take(patternOrChannel): argument \"+String(e)+\" is not valid channel or a valid pattern\")}w.maybe=function(){var e=w.apply(void 0,arguments);return e[o].maybe=!0,e};var D=Object(r.n)(w.maybe,Object(r.z)(\"takem\",\"take.maybe\"));function S(e,t){return arguments.length>1?(Object(r.h)(e,r.q.notUndef,\"put(channel, action): argument channel is undefined\"),Object(r.h)(e,r.q.channel,\"put(channel, action): argument \"+e+\" is not a valid channel\"),Object(r.h)(t,r.q.notUndef,\"put(channel, action): argument action is undefined\")):(Object(r.h)(e,r.q.notUndef,\"put(action): argument action is undefined\"),t=e,e=null),E(a,{channel:e,action:t})}function k(e){return E(s,e)}function A(e){return E(u,e)}function T(e,t,n){Object(r.h)(t,r.q.notUndef,e+\": argument fn is undefined\");var i=null;if(r.q.array(t)){var o=t;i=o[0],t=o[1]}else if(t.fn){var a=t;i=a.context,t=a.fn}return i&&r.q.string(t)&&r.q.func(i[t])&&(t=i[t]),Object(r.h)(t,r.q.func,e+\": argument \"+t+\" is not a function\"),{context:i,fn:t,args:n}}function _(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:[];return E(c,T(\"apply\",{context:e,fn:t},n))}function F(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1)return k(t.map(function(e){return M(e)}));var i=t[0];return Object(r.h)(i,r.q.notUndef,\"join(task): argument task is undefined\"),Object(r.h)(i,r.q.task,\"join(task): argument \"+i+\" is not a valid Task object \"+x),E(f,i)}function j(){for(var e=arguments.length,t=Array(e),n=0;n1)return k(t.map(function(e){return j(e)}));var i=t[0];return 1===t.length&&(Object(r.h)(i,r.q.notUndef,\"cancel(task): argument task is undefined\"),Object(r.h)(i,r.q.task,\"cancel(task): argument \"+i+\" is not a valid Task object \"+x)),E(d,i||r.d)}function P(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i1&&(Object(r.h)(t,r.q.notUndef,\"actionChannel(pattern, buffer): argument buffer is undefined\"),Object(r.h)(t,r.q.buffer,\"actionChannel(pattern, buffer): argument \"+t+\" is not a valid buffer\")),E(m,{pattern:e,buffer:t})}function R(){return E(g,{})}function B(e){return Object(r.h)(e,r.q.channel,\"flush(channel): argument \"+e+\" is not valid channel\"),E(v,e)}function U(e){return Object(r.h)(e,r.q.string,\"getContext(prop): argument \"+e+\" is not a string\"),E(y,e)}function z(e){return Object(r.h)(e,r.q.object,Object(r.k)(null,e)),E(b,e)}S.resolve=function(){var e=S.apply(void 0,arguments);return e[a].resolve=!0,e},S.sync=Object(r.n)(S.resolve,Object(r.z)(\"put.sync\",\"put.resolve\"));var V=function(e){return function(t){return t&&t[i]&&t[e]}},q={take:V(o),put:V(a),all:V(s),race:V(u),call:V(c),cps:V(l),fork:V(p),join:V(f),cancel:V(d),select:V(h),actionChannel:V(m),cancelled:V(g),flush:V(v),getContext:V(y),setContext:V(b)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(87));var r=n(87);t.styled=r.default},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"__Schema\",function(){return l}),n.d(t,\"__Directive\",function(){return p}),n.d(t,\"__DirectiveLocation\",function(){return f}),n.d(t,\"__Type\",function(){return d}),n.d(t,\"__Field\",function(){return h}),n.d(t,\"__InputValue\",function(){return m}),n.d(t,\"__EnumValue\",function(){return g}),n.d(t,\"TypeKind\",function(){return v}),n.d(t,\"__TypeKind\",function(){return y}),n.d(t,\"SchemaMetaFieldDef\",function(){return b}),n.d(t,\"TypeMetaFieldDef\",function(){return x}),n.d(t,\"TypeNameMetaFieldDef\",function(){return E}),n.d(t,\"introspectionTypes\",function(){return C}),n.d(t,\"isIntrospectionType\",function(){return w});var r=n(12),i=n(3),o=n(46),a=n(15),s=n(0),u=n(11),c=n(10),l=new s.f({name:\"__Schema\",description:\"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.\",fields:function(){return{types:{description:\"A list of all types supported by this server.\",type:Object(s.e)(Object(s.d)(Object(s.e)(d))),resolve:function(e){return Object(r.a)(e.getTypeMap())}},queryType:{description:\"The type that query operations will be rooted at.\",type:Object(s.e)(d),resolve:function(e){return e.getQueryType()}},mutationType:{description:\"If this server supports mutation, the type that mutation operations will be rooted at.\",type:d,resolve:function(e){return e.getMutationType()}},subscriptionType:{description:\"If this server support subscription, the type that subscription operations will be rooted at.\",type:d,resolve:function(e){return e.getSubscriptionType()}},directives:{description:\"A list of all directives supported by this server.\",type:Object(s.e)(Object(s.d)(Object(s.e)(p))),resolve:function(e){return e.getDirectives()}}}}}),p=new s.f({name:\"__Directive\",description:\"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\\n\\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.\",fields:function(){return{name:{type:Object(s.e)(u.e),resolve:function(e){return e.name}},description:{type:u.e,resolve:function(e){return e.description}},locations:{type:Object(s.e)(Object(s.d)(Object(s.e)(f))),resolve:function(e){return e.locations}},args:{type:Object(s.e)(Object(s.d)(Object(s.e)(m))),resolve:function(e){return e.args}}}}}),f=new s.a({name:\"__DirectiveLocation\",description:\"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.\",values:{QUERY:{value:c.a.QUERY,description:\"Location adjacent to a query operation.\"},MUTATION:{value:c.a.MUTATION,description:\"Location adjacent to a mutation operation.\"},SUBSCRIPTION:{value:c.a.SUBSCRIPTION,description:\"Location adjacent to a subscription operation.\"},FIELD:{value:c.a.FIELD,description:\"Location adjacent to a field.\"},FRAGMENT_DEFINITION:{value:c.a.FRAGMENT_DEFINITION,description:\"Location adjacent to a fragment definition.\"},FRAGMENT_SPREAD:{value:c.a.FRAGMENT_SPREAD,description:\"Location adjacent to a fragment spread.\"},INLINE_FRAGMENT:{value:c.a.INLINE_FRAGMENT,description:\"Location adjacent to an inline fragment.\"},VARIABLE_DEFINITION:{value:c.a.VARIABLE_DEFINITION,description:\"Location adjacent to a variable definition.\"},SCHEMA:{value:c.a.SCHEMA,description:\"Location adjacent to a schema definition.\"},SCALAR:{value:c.a.SCALAR,description:\"Location adjacent to a scalar definition.\"},OBJECT:{value:c.a.OBJECT,description:\"Location adjacent to an object type definition.\"},FIELD_DEFINITION:{value:c.a.FIELD_DEFINITION,description:\"Location adjacent to a field definition.\"},ARGUMENT_DEFINITION:{value:c.a.ARGUMENT_DEFINITION,description:\"Location adjacent to an argument definition.\"},INTERFACE:{value:c.a.INTERFACE,description:\"Location adjacent to an interface definition.\"},UNION:{value:c.a.UNION,description:\"Location adjacent to a union definition.\"},ENUM:{value:c.a.ENUM,description:\"Location adjacent to an enum definition.\"},ENUM_VALUE:{value:c.a.ENUM_VALUE,description:\"Location adjacent to an enum value definition.\"},INPUT_OBJECT:{value:c.a.INPUT_OBJECT,description:\"Location adjacent to an input object type definition.\"},INPUT_FIELD_DEFINITION:{value:c.a.INPUT_FIELD_DEFINITION,description:\"Location adjacent to an input object field definition.\"}}}),d=new s.f({name:\"__Type\",description:\"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\\n\\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.\",fields:function(){return{kind:{type:Object(s.e)(y),resolve:function(e){if(Object(s.R)(e))return v.SCALAR;if(Object(s.N)(e))return v.OBJECT;if(Object(s.H)(e))return v.INTERFACE;if(Object(s.T)(e))return v.UNION;if(Object(s.E)(e))return v.ENUM;if(Object(s.F)(e))return v.INPUT_OBJECT;if(Object(s.J)(e))return v.LIST;if(Object(s.L)(e))return v.NON_NULL;throw new Error('Unexpected type: \"'.concat(Object(i.a)(e),'\".'))}},name:{type:u.e,resolve:function(e){return void 0!==e.name?e.name:void 0}},description:{type:u.e,resolve:function(e){return void 0!==e.description?e.description:void 0}},fields:{type:Object(s.d)(Object(s.e)(h)),args:{includeDeprecated:{type:u.a,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if(Object(s.N)(e)||Object(s.H)(e)){var i=Object(r.a)(e.getFields());return n||(i=i.filter(function(e){return!e.deprecationReason})),i}return null}},interfaces:{type:Object(s.d)(Object(s.e)(d)),resolve:function(e){if(Object(s.N)(e))return e.getInterfaces()}},possibleTypes:{type:Object(s.d)(Object(s.e)(d)),resolve:function(e,t,n,r){var i=r.schema;if(Object(s.C)(e))return i.getPossibleTypes(e)}},enumValues:{type:Object(s.d)(Object(s.e)(g)),args:{includeDeprecated:{type:u.a,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if(Object(s.E)(e)){var r=e.getValues();return n||(r=r.filter(function(e){return!e.deprecationReason})),r}}},inputFields:{type:Object(s.d)(Object(s.e)(m)),resolve:function(e){if(Object(s.F)(e))return Object(r.a)(e.getFields())}},ofType:{type:d,resolve:function(e){return void 0!==e.ofType?e.ofType:void 0}}}}}),h=new s.f({name:\"__Field\",description:\"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.\",fields:function(){return{name:{type:Object(s.e)(u.e),resolve:function(e){return e.name}},description:{type:u.e,resolve:function(e){return e.description}},args:{type:Object(s.e)(Object(s.d)(Object(s.e)(m))),resolve:function(e){return e.args}},type:{type:Object(s.e)(d),resolve:function(e){return e.type}},isDeprecated:{type:Object(s.e)(u.a),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:u.e,resolve:function(e){return e.deprecationReason}}}}}),m=new s.f({name:\"__InputValue\",description:\"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.\",fields:function(){return{name:{type:Object(s.e)(u.e),resolve:function(e){return e.name}},description:{type:u.e,resolve:function(e){return e.description}},type:{type:Object(s.e)(d),resolve:function(e){return e.type}},defaultValue:{type:u.e,description:\"A GraphQL-formatted string representing the default value for this input value.\",resolve:function(e){var t=Object(o.a)(e.defaultValue,e.type);return t?Object(a.print)(t):null}}}}}),g=new s.f({name:\"__EnumValue\",description:\"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.\",fields:function(){return{name:{type:Object(s.e)(u.e),resolve:function(e){return e.name}},description:{type:u.e,resolve:function(e){return e.description}},isDeprecated:{type:Object(s.e)(u.a),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:u.e,resolve:function(e){return e.deprecationReason}}}}}),v=Object.freeze({SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",INPUT_OBJECT:\"INPUT_OBJECT\",LIST:\"LIST\",NON_NULL:\"NON_NULL\"}),y=new s.a({name:\"__TypeKind\",description:\"An enum describing what kind of type a given `__Type` is.\",values:{SCALAR:{value:v.SCALAR,description:\"Indicates this type is a scalar.\"},OBJECT:{value:v.OBJECT,description:\"Indicates this type is an object. `fields` and `interfaces` are valid fields.\"},INTERFACE:{value:v.INTERFACE,description:\"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.\"},UNION:{value:v.UNION,description:\"Indicates this type is a union. `possibleTypes` is a valid field.\"},ENUM:{value:v.ENUM,description:\"Indicates this type is an enum. `enumValues` is a valid field.\"},INPUT_OBJECT:{value:v.INPUT_OBJECT,description:\"Indicates this type is an input object. `inputFields` is a valid field.\"},LIST:{value:v.LIST,description:\"Indicates this type is a list. `ofType` is a valid field.\"},NON_NULL:{value:v.NON_NULL,description:\"Indicates this type is a non-null. `ofType` is a valid field.\"}}}),b={name:\"__schema\",type:Object(s.e)(l),description:\"Access the current type schema of this server.\",args:[],resolve:function(e,t,n,r){return r.schema}},x={name:\"__type\",type:d,description:\"Request the type information of a single type.\",args:[{name:\"name\",type:Object(s.e)(u.e)}],resolve:function(e,t,n,r){var i=t.name;return r.schema.getType(i)}},E={name:\"__typename\",type:Object(s.e)(u.e),description:\"The name of the current Object type at runtime.\",args:[],resolve:function(e,t,n,r){return r.parentType.name}},C=Object.freeze([l,p,f,d,h,m,g,y]);function w(e){return Object(s.K)(e)&&C.some(function(t){var n=t.name;return e.name===n})}},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return r});var r=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"})},function(e,t,n){\"use strict\";var r=Number.isFinite||function(e){return\"number\"===typeof e&&r(e)},i=r,o=Number.isInteger||function(e){return\"number\"===typeof e&&isFinite(e)&&Math.floor(e)===e},a=n(3),s=n(24),u=n(0),c=n(1);n.d(t,\"d\",function(){return f}),n.d(t,\"b\",function(){return d}),n.d(t,\"e\",function(){return m}),n.d(t,\"a\",function(){return g}),n.d(t,\"c\",function(){return v}),n.d(t,\"g\",function(){return y}),n.d(t,\"f\",function(){return b});var l=2147483647,p=-2147483648;var f=new u.g({name:\"Int\",description:\"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.\",serialize:function(e){if(\"boolean\"===typeof e)return e?1:0;var t=e;if(\"string\"===typeof e&&\"\"!==e&&(t=Number(e)),!o(t))throw new TypeError(\"Int cannot represent non-integer value: \".concat(Object(a.a)(e)));if(t>l||tl||e=p)return t}}});var d=new u.g({name:\"Float\",description:\"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).\",serialize:function(e){if(\"boolean\"===typeof e)return e?1:0;var t=e;if(\"string\"===typeof e&&\"\"!==e&&(t=Number(e)),!i(t))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(a.a)(e)));return t},parseValue:function(e){if(!i(e))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(a.a)(e)));return e},parseLiteral:function(e){return e.kind===c.a.FLOAT||e.kind===c.a.INT?parseFloat(e.value):void 0}});function h(e){if(Object(s.a)(e)){if(\"function\"===typeof e.valueOf){var t=e.valueOf();if(!Object(s.a)(t))return t}if(\"function\"===typeof e.toJSON)return e.toJSON()}return e}var m=new u.g({name:\"String\",description:\"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.\",serialize:function(e){var t=h(e);if(\"string\"===typeof t)return t;if(\"boolean\"===typeof t)return t?\"true\":\"false\";if(i(t))return t.toString();throw new TypeError(\"String cannot represent value: \".concat(Object(a.a)(e)))},parseValue:function(e){if(\"string\"!==typeof e)throw new TypeError(\"String cannot represent a non string value: \".concat(Object(a.a)(e)));return e},parseLiteral:function(e){return e.kind===c.a.STRING?e.value:void 0}});var g=new u.g({name:\"Boolean\",description:\"The `Boolean` scalar type represents `true` or `false`.\",serialize:function(e){if(\"boolean\"===typeof e)return e;if(i(e))return 0!==e;throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(a.a)(e)))},parseValue:function(e){if(\"boolean\"!==typeof e)throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(a.a)(e)));return e},parseLiteral:function(e){return e.kind===c.a.BOOLEAN?e.value:void 0}});var v=new u.g({name:\"ID\",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=h(e);if(\"string\"===typeof t)return t;if(o(t))return String(t);throw new TypeError(\"ID cannot represent value: \".concat(Object(a.a)(e)))},parseValue:function(e){if(\"string\"===typeof e)return e;if(o(e))return e.toString();throw new TypeError(\"ID cannot represent value: \".concat(Object(a.a)(e)))},parseLiteral:function(e){return e.kind===c.a.STRING||e.kind===c.a.INT?e.value:void 0}}),y=Object.freeze([m,f,d,g,v]);function b(e){return Object(u.R)(e)&&y.some(function(t){var n=t.name;return e.name===n})}},function(e,t,n){\"use strict\";var r=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})};t.a=r},function(e,t,n){e.exports=function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,n=/gecko\\/\\d/i.test(e),r=/MSIE \\d/.test(e),i=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),o=/Edge\\/(\\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\\//.test(e),c=u&&/Qt\\/\\d+\\.\\d+/.test(e),l=!o&&/Chrome\\//.test(e),p=/Opera\\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),g=/Android/.test(e),v=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=m||/Mac/.test(t),b=/\\bCrOS\\b/.test(e),x=/win/i.test(t),E=p&&e.match(/Version\\/(\\d*\\.\\d*)/);E&&(E=Number(E[1])),E&&E>=15&&(p=!1,u=!0);var C=y&&(c||p&&(null==E||E<12.11)),w=n||a&&s>=9;function D(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var S,k=function(e,t){var n=e.className,r=D(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:\"\")}};function A(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return A(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(t){}});var B=function(){this.id=null};function U(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var K=[\"\"];function J(e){for(;K.length<=e;)K.push(Q(K)+\" \");return K[e]}function Q(e){return e[e.length-1]}function Y(e,t){for(var n=[],r=0;r\"\\x80\"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf(\"\\\\w\")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var re=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&re.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var se=null;function ue(e,t,n){var r;se=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:se=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:se=i)}return null!=r?r:se}var ce=function(){var e=\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\",t=\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\";var n=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,r=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,a=/[1n]/;function s(e,t,n){this.level=e,this.from=t,this.to=n}return function(u,c){var l,p=\"ltr\"==c?\"L\":\"R\";if(0==u.length||\"ltr\"==c&&!n.test(u))return!1;for(var f=u.length,d=[],h=0;h-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function me(e,t){var n=de(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function be(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){he(this,e,t)}}function xe(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ee(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ce(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function we(e){xe(e),Ee(e)}function De(e){return e.target||e.srcElement}function Se(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var ke,Ae,Te=function(){if(a&&s<9)return!1;var e=_(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();function _e(e){if(null==ke){var t=_(\"span\",\"\\u200b\");T(e,_(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(ke=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=ke?_(\"span\",\"\\u200b\"):_(\"span\",\"\\xa0\",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}function Oe(e){if(null!=Ae)return Ae;var t=T(e,document.createTextNode(\"A\\u062eA\")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return A(e),!(!n||n.left==n.right)&&(Ae=r.right-n.right<3)}var Fe=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),a=o.indexOf(\"\\r\");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Ne=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Ie=function(){var e=_(\"div\");return\"oncopy\"in e||(e.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof e.oncopy)}(),Me=null,je={},Pe={};function Le(e){if(\"string\"==typeof e&&Pe.hasOwnProperty(e))e=Pe[e];else if(e&&\"string\"==typeof e.name&&Pe.hasOwnProperty(e.name)){var t=Pe[e.name];\"string\"==typeof t&&(t={name:t}),(e=X(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Le(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Le(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Re(e,t){t=Le(t);var n=je[t.name];if(!n)return Re(e,\"text/plain\");var r=n(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Be={};function Ue(e,t){var n=Be.hasOwnProperty(e)?Be[e]:Be[e]={};L(t,n)}function ze(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function qe(e,t,n){return!e.startState||e.startState(t,n)}var He=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function We(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?Ze(n,We(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?Ze(e.line,t):n<0?Ze(e.line,0):e}(t,We(e,t.line).text.length)}function st(e,t){for(var n=[],r=0;r=this.string.length},He.prototype.sol=function(){return this.pos==this.lineStart},He.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},He.prototype.next=function(){if(this.post},He.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},He.prototype.skipToEnd=function(){this.pos=this.string.length},He.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},He.prototype.backUp=function(e){this.pos-=e},He.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);if(i(o)==i(e))return!1!==t&&(this.pos+=e.length),!0},He.prototype.current=function(){return this.string.slice(this.start,this.pos)},He.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},He.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},He.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function lt(e,t,n,r){var i=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,function(e,t){return i.push(e,t)},o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,c=0;n.state=!0,bt(e,t.text,s.mode,n,function(e,t){for(var n=u;ce&&i.splice(u,1,e,i[u+1],r),u+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,\"overlay \"+t),u=n+2;else for(;ne.options.maxHighlightLength&&ze(e.doc.mode,r.state),o=lt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function ft(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=We(o,s-1),c=u.stateAfter;if(c&&(!n||s+(c instanceof ut?c.lookAhead:0)<=o.modeFrontier))return s;var l=R(u.text,null,e.options.tabSize);(null==i||r>l)&&(i=s-1,r=l)}return i}(e,t,n),a=o>r.first&&We(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,qe(r.mode),o);return r.iter(o,t,function(n){dt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof ut?new ct(e,ze(e.mode,t.state),n,t.lookAhead):new ct(e,ze(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?ze(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function vt(e,t,n,r){var i,o=e.doc,a=o.mode;t=at(o,t);var s,u=We(o,t.line),c=ft(e,t.line,n),l=new He(u.text,e.options.tabSize,c);for(r&&(s=[]);(r||l.pose.options.maxHighlightLength?(s=!1,a&&dt(e,t,r,p.pos),p.pos=t.length,u=null):u=yt(mt(n,p,r.state,f),o),f){var d=f[0].name;d&&(u=\"m-\"+(u?d+\" \"+u:d))}if(!s||l!=u){for(;c=t:o.to>t);(r||(r=[])).push(new Ct(a,o.from,u?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t);if(s||o.from==t&&\"bookmark\"==a.type&&(!n||o.marker.insertLeft)){var u=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var x=0;xt)&&(!n||Ft(n,o.marker)<0)&&(n=o.marker)}return n}function Pt(e,t,n,r,i){var o=We(e,t),a=Et&&o.markedSpans;if(a)for(var s=0;s=0&&p<=0||l<=0&&p>=0)&&(l<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.to,n)>=0:et(c.to,n)>0)||l>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.from,r)<=0:et(c.from,r)<0)))return!0}}}function Lt(e){for(var t;t=It(e);)e=t.find(-1,!0).line;return e}function Rt(e,t){var n=We(e,t),r=Lt(n);return n==r?t:Qe(r)}function Bt(e,t){if(t>e.lastLine())return t;var n,r=We(e,t);if(!Ut(e,r))return t;for(;n=Mt(r);)r=n.find(1,!0).line;return Qe(r)+1}function Ut(e,t){var n=Et&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}var Wt=function(e,t,n){this.text=e,Tt(this,t),this.height=n?n(this):1};function Gt(e){e.parent=null,At(e)}Wt.prototype.lineNo=function(){return Qe(this)},be(Wt);var Kt={},Jt={};function Qt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?Jt:Kt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function Yt(e,t){var n=O(\"span\",null,null,u?\"padding-right: .1px\":null),r={pre:O(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Xt,Oe(e.display.measure)&&(a=le(o,e.doc.direction))&&(r.addToken=Zt(r.addToken,a)),r.map=[];var s=t!=e.display.externalMeasured&&Qe(o);tn(o,r,pt(e,o,s)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(_e(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var c=r.content.lastChild;(/\\bcm-tab\\b/.test(c.className)||c.querySelector&&c.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")}return me(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||\"\")),r}function $t(e){var t=_(\"span\",\"\\u2022\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Xt(e,t,n,r,i,o,u){if(t){var c,l=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r=\"\",i=0;ic&&p.from<=c);f++);if(p.to>=l)return e(n,r,i,o,a,s,u);e(n,r.slice(0,p.to-c),i,o,null,s,u),o=null,r=r.slice(p.to-c),c=p.to}}}function en(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement(\"span\"))),i.setAttribute(\"cm-marker\",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function tn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,c,l,p,f,d=i.length,h=0,m=1,g=\"\",v=0;;){if(v==h){u=c=l=s=\"\",f=null,p=null,v=1/0;for(var y=[],b=void 0,x=0;xh||C.collapsed&&E.to==h&&E.from==h)){if(null!=E.to&&E.to!=h&&v>E.to&&(v=E.to,c=\"\"),C.className&&(u+=\" \"+C.className),C.css&&(s=(s?s+\";\":\"\")+C.css),C.startStyle&&E.from==h&&(l+=\" \"+C.startStyle),C.endStyle&&E.to==v&&(b||(b=[])).push(C.endStyle,E.to),C.title&&((f||(f={})).title=C.title),C.attributes)for(var w in C.attributes)(f||(f={}))[w]=C.attributes[w];C.collapsed&&(!p||Ft(p.marker,C)<0)&&(p=E)}else E.from>h&&v>E.from&&(v=E.from)}if(b)for(var D=0;D=d)break;for(var k=Math.min(d,v);;){if(g){var A=h+g.length;if(!p){var T=A>k?g.slice(0,k-h):g;t.addToken(t,T,a?a+u:u,l,h+T.length==v?c:\"\",s,f)}if(A>=k){g=g.slice(k-h),h=k;break}h=A,l=\"\"}g=i.slice(o,o=n[m++]),a=Qt(n[m++],t.cm.options)}}else for(var _=1;_n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function _n(e,t,n,r){return Nn(e,Fn(e,t),n,r)}function On(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((u.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=jn(t.map,n,r),u=o.node,c=o.start,l=o.end,p=o.collapse;if(3==u.nodeType){for(var f=0;f<4;f++){for(;c&&ie(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+l1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;c>0&&(p=r=\"right\"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d[\"right\"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+tr(e.display),top:h.top,bottom:h.bottom}:Mn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,v=(m+g)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=u-s)-1,t>=u&&(a=\"right\")),null!=i){if(r=e[c+2],s==u&&n==(r.insertLeft?\"left\":\"right\")&&(a=n),\"left\"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a=\"left\";if(\"right\"==n&&i==u-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function Ln(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(u=r.text.length,c=\"before\"):u<=0&&(u=0,c=\"after\"),!s)return a(\"before\"==c?u-1:u,\"before\"==c);function l(e,t,n){var r=s[t],i=1==r.level;return a(n?e-1:e,i!=n)}var p=ue(s,u,c),f=se,d=l(u,p,\"before\"==c);return null!=f&&(d.other=l(u,f,\"before\"!=c)),d}function Kn(e,t){var n=0;t=at(e.doc,t),e.options.lineWrapping||(n=tr(e.display)*t.ch);var r=We(e.doc,t.line),i=Vt(r)+Cn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Jn(e,t,n,r,i){var o=Ze(e,t,n);return o.xRel=i,r&&(o.outside=!0),o}function Qn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Jn(r.first,0,null,!0,-1);var i=Ye(r,n),o=r.first+r.size-1;if(i>o)return Jn(r.first+r.size-1,We(r,o).text.length,null,!0,1);t<0&&(t=0);for(var a=We(r,i);;){var s=Zn(e,a,i,t,n),u=jt(a,s.ch+(s.xRel>0?1:0));if(!u)return s;var c=u.find(1);if(c.line==i)return c;a=We(r,i=c.line)}}function Yn(e,t,n,r){r-=Vn(t);var i=t.text.length,o=ae(function(t){return Nn(e,n,t-1).bottom<=r},i,0);return i=ae(function(t){return Nn(e,n,t).top>r},o,i),{begin:o,end:i}}function $n(e,t,n,r){n||(n=Fn(e,t));var i=qn(e,t,Nn(e,n,r),\"line\").top;return Yn(e,t,n,i)}function Xn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Zn(e,t,n,r,i){i-=Vt(t);var o=Fn(e,t),a=Vn(t),s=0,u=t.text.length,c=!0,l=le(t,e.doc.direction);if(l){var p=(e.options.lineWrapping?function(e,t,n,r,i,o,a){var s=Yn(e,t,r,a),u=s.begin,c=s.end;/\\s/.test(t.text.charAt(c-1))&&c--;for(var l=null,p=null,f=0;f=c||d.to<=u)){var h=1!=d.level,m=Nn(e,r,h?Math.min(c,d.to)-1:Math.max(u,d.from)).right,g=mg)&&(l=d,p=g)}}return l||(l=i[i.length-1]),l.fromc&&(l={from:l.from,to:c,level:l.level}),l}:function(e,t,n,r,i,o,a){var s=ae(function(s){var u=i[s],c=1!=u.level;return Xn(Gn(e,Ze(n,c?u.to:u.from,c?\"before\":\"after\"),\"line\",t,r),o,a,!0)},0,i.length-1),u=i[s];if(s>0){var c=1!=u.level,l=Gn(e,Ze(n,c?u.from:u.to,c?\"after\":\"before\"),\"line\",t,r);Xn(l,o,a,!0)&&l.top>a&&(u=i[s-1])}return u})(e,t,n,o,l,r,i);c=1!=p.level,s=c?p.from:p.to-1,u=c?p.to:p.from-1}var f,d,h=null,m=null,g=ae(function(t){var n=Nn(e,o,t);return n.top+=a,n.bottom+=a,!!Xn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)},s,u),v=!1;if(m){var y=r-m.left=x.bottom}return g=oe(t.text,g,1),Jn(n,g,d,v,r-f)}function er(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==In){In=_(\"pre\");for(var t=0;t<49;++t)In.appendChild(document.createTextNode(\"x\")),In.appendChild(_(\"br\"));In.appendChild(document.createTextNode(\"x\"))}T(e.measure,In);var n=In.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),A(e.measure),n||1}function tr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=_(\"span\",\"xxxxxxxxxx\"),n=_(\"pre\",[t]);T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function nr(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:rr(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function rr(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ir(e){var t=er(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/tr(e.display)-3);return function(i){if(Ut(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Et&&Rt(e.doc,t)i.viewFrom?lr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)lr(e);else if(t<=i.viewFrom){var o=pr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):lr(e)}else if(n>=i.viewTo){var a=pr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):lr(e)}else{var s=pr(e,t,t,-1),u=pr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(rn(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):lr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[sr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==U(a,n)&&a.push(n)}}}function lr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function pr(e,t,n,r){var i,o=sr(e,t),a=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Rt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function fr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(m,n||0,null==r?f:r,function(e,t,i,p){var g=\"ltr\"==i,v=d(e,g?\"left\":\"right\"),y=d(t-1,g?\"right\":\"left\"),b=null==n&&0==e,x=null==r&&t==f,E=0==p,C=!m||p==m.length-1;if(y.top-v.top<=3){var w=(c?b:x)&&E,D=(c?x:b)&&C,S=w?s:(g?v:y).left,k=D?u:(g?y:v).right;l(S,v.top,k-S,v.bottom)}else{var A,T,_,O;g?(A=c&&b&&E?s:v.left,T=c?u:h(e,i,\"before\"),_=c?s:h(t,i,\"after\"),O=c&&x&&C?u:y.right):(A=c?h(e,i,\"before\"):s,T=!c&&b&&E?u:v.right,_=!c&&x&&C?s:y.left,O=c?h(t,i,\"after\"):u),l(A,v.top,T-A,v.bottom),v.bottom0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\")}}function br(e){e.state.focused||(e.display.input.focus(),Er(e))}function xr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Cr(e))},100)}function Er(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(me(e,\"focus\",e,t),e.state.focused=!0,I(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),yr(e))}function Cr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(me(e,\"blur\",e,t),e.state.focused=!1,k(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function wr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||f<-.005)&&(Je(i.line,u),Dr(i.line),i.rest))for(var d=0;de.display.sizerWidth){var h=Math.ceil(c/tr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function Dr(e){if(e.widgets)for(var t=0;t=a&&(o=Ye(t,Vt(We(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function kr(e,t){var n=e.display,r=er(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=An(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+wn(n),u=t.tops-r;if(t.topi+o){var l=Math.min(t.top,(c?s:t.bottom)-o);l!=i&&(a.scrollTop=l)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=kn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.leftf+p-3&&(a.scrollLeft=t.right+(d?0:10)-f),a}function Ar(e,t){null!=t&&(Or(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Tr(e){Or(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function _r(e,t,n){null==t&&null==n||Or(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Or(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=Kn(e,t.from),r=Kn(e,t.to);Fr(e,n,r,t.margin)}}function Fr(e,t,n,r){var i=kr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});_r(e,i.scrollLeft,i.scrollTop)}function Nr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ii(e,{top:t}),Ir(e,t,!0),n&&ii(e),Zr(e,100))}function Ir(e,t,n){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Mr(e,t,n,r){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,si(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function jr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+wn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Sn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Pr=function(e,t,n){this.cm=n;var r=this.vert=_(\"div\",[_(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=_(\"div\",[_(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),fe(r,\"scroll\",function(){r.clientHeight&&t(r.scrollTop,\"vertical\")}),fe(i,\"scroll\",function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")}),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")};Pr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display=\"block\",this.vert.style.bottom=t?r+\"px\":\"0\";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+\"px\"}else this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\";if(t){this.horiz.style.display=\"block\",this.horiz.style.right=n?r+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+\"px\"}else this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Pr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Pr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Pr.prototype.zeroWidthHack=function(){var e=y&&!d?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new B,this.disableVert=new B},Pr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents=\"auto\",t.set(1e3,function r(){var i=e.getBoundingClientRect(),o=\"vert\"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.pointerEvents=\"none\":t.set(1e3,r)})},Pr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Lr=function(){};function Rr(e,t){t||(t=jr(e));var n=e.display.barWidth,r=e.display.barHeight;Br(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&wr(e),Br(e,jr(e)),n=e.display.barWidth,r=e.display.barHeight}function Br(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}Lr.prototype.update=function(){return{bottom:0,right:0}},Lr.prototype.setScrollLeft=function(){},Lr.prototype.setScrollTop=function(){},Lr.prototype.clear=function(){};var Ur={native:Pr,null:Lr};function zr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&k(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Ur[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,\"mousedown\",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute(\"cm-not-content\",\"true\")},function(t,n){\"horizontal\"==n?Mr(e,t):Nr(e,t)},e),e.display.scrollbars.addClass&&I(e.display.wrapper,e.display.scrollbars.addClass)}var Vr=0;function qr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Vr},t=e.curOp,on?on.ops.push(t):t.ownsGroup=on={ops:[t],delayedCallbacks:[]}}function Hr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ti(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Gr(e){var t=e.cm,n=t.display;e.updatedDisplay&&wr(t),e.barMeasure=jr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=_n(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Sn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-kn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Kr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft1&&(a=!0)),null!=c.scrollLeft&&(Mr(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-p)>1&&(a=!0)),!a)break}return i}(t,at(r,e.scrollToPos.from),at(r,e.scrollToPos.to),e.scrollToPos.margin);!function(e,t){if(!ge(e,\"scrollCursorIntoView\")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=_(\"div\",\"\\u200b\",null,\"position: absolute;\\n top: \"+(t.top-n.viewOffset-Cn(e.display))+\"px;\\n height: \"+(t.bottom-t.top+Sn(e)+n.barHeight)+\"px;\\n left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,i)}var o=e.maybeHiddenMarkers,a=e.maybeUnhiddenMarkers;if(o)for(var s=0;s=e.display.viewTo)){var n=+new Date+e.options.workTime,r=ft(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?ze(t.mode,r.state):null,u=lt(e,o,r,!0);s&&(r.state=s),o.styles=u.styles;var c=o.styleClasses,l=u.classes;l?o.styleClasses=l:c&&(o.styleClasses=null);for(var p=!a||a.length!=o.styles.length||c!=l&&(!c||!l||c.bgClass!=l.bgClass||c.textClass!=l.textClass),f=0;!p&&fn)return Zr(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Qr(e,function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==fr(e))return!1;ui(e)&&(lr(e),t.dims=nr(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Et&&(o=Rt(e.doc,o),a=Bt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=rn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=rn(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,sr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Vt(We(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";var c=fr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var l=function(e){if(e.hasFocus())return null;var t=N();if(!t||!F(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&F(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display=\"none\"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return u&&y&&e.display.currentWheelTarget==t?t.style.display=\"none\":t.parentNode.removeChild(t),n}for(var c=r.view,l=r.viewFrom,p=0;p-1&&(d=!1),cn(e,f,l,n)),d&&(A(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Xe(e.options,l)))),a=f.node.nextSibling}else{var h=gn(e,f,l,n);o.insertBefore(h,a)}l+=f.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=N()&&(e.activeElt.focus(),e.anchorNode&&F(document.body,e.anchorNode)&&F(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(l),A(n.cursorDiv),A(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,Zr(e,400)),n.updateLineNumbers=null,!0}function ri(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=kn(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+wn(e.display)-An(e),n.top)}),t.visible=Sr(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&ni(e,t);r=!1){wr(e);var i=jr(e);dr(e),Rr(e,i),ai(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ii(e,t){var n=new ti(e,t);if(ni(e,n)){wr(e),ri(e,n);var r=jr(e);dr(e),Rr(e,r),ai(e,r),n.finish()}}function oi(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\"}function ai(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Sn(e)+\"px\"}function si(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=rr(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",a=0;as.clientWidth,l=s.scrollHeight>s.clientHeight;if(i&&c||o&&l){if(o&&y&&u)e:for(var f=t.target,d=a.view;f!=s;f=f.parentNode)for(var h=0;h=0&&et(e,r.to())<=0)return n}return-1};var bi=function(e,t){this.anchor=e,this.head=t};function xi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(e,t){return et(e.from(),t.from())}),n=U(t,i);for(var o=1;o0:u>=0){var c=it(s.from(),a.from()),l=rt(s.to(),a.to()),p=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new bi(p?l:c,p?c:l))}}return new yi(t,n)}function Ei(e,t){return new yi([new bi(e,t||e)],0)}function Ci(e){return e.text?Ze(e.from.line+e.text.length-1,Q(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function wi(e,t){if(et(e,t.from)<0)return e;if(et(e,t.to)<=0)return Ci(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Ci(t).ch-t.to.ch),Ze(n,r)}function Di(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,h-1),e.insert(s.line+1,v)}sn(e,\"change\",e,t)}function Oi(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=function(e,t){return t?(ji(e.done),Q(e.done)):e.done.length&&!Q(e.done).ranges?Q(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Q(e.done)):void 0}(i,i.lastOp==r)))a=Q(o.changes),0==et(t.from,t.to)&&0==et(t.from,a.to)?a.to=Ci(t):o.changes.push(Mi(e,t));else{var u=Q(i.done);for(u&&u.ranges||Ri(e.sel,i.done),o={changes:[Mi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||me(e,\"historyAdded\")}function Li(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return\"*\"==i||\"+\"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,Q(i.done),t))?i.done[i.done.length-1]=t:Ri(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&ji(i.undone)}function Ri(e,t){var n=Q(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Bi(e,t,n,r){var i=t[\"spans_\"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t[\"spans_\"+e.id]={}))[o]=n.markedSpans),++o})}function Ui(e){if(!e)return null;for(var t,n=0;n-1&&(Q(s)[p]=c[p],delete c[p])}}}return r}function qi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=et(t,i)<0;o!=et(n,i)<0?(i=t,t=n):o!=et(t,n)<0&&(t=n)}return new bi(i,t)}return new bi(n||t,t)}function Hi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Qi(e,new yi([qi(e.sel.primary(),t,n,i)],0),r)}function Wi(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(me(u,\"beforeCursorEnter\"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var p=u.find(r<0?1:-1),f=void 0;if((r<0?l:c)&&(p=no(e,p,-r,p&&p.line==t.line?o:null)),p&&p.line==t.line&&(f=et(p,n))&&(r<0?f<0:f>0))return eo(e,p,t,r,i)}var d=u.find(r<0?-1:1);return(r<0?c:l)&&(d=no(e,d,r,d.line==t.line?o:null)),d?eo(e,d,t,r,i):null}}return t}function to(e,t,n,r,i){var o=r||1,a=eo(e,t,n,o,i)||!i&&eo(e,t,n,o,!0)||eo(e,t,n,-o,i)||!i&&eo(e,t,n,-o,!0);return a||(e.cantEdit=!0,Ze(e.first,0))}function no(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?at(e,Ze(t.line-1)):null:n>0&&t.ch==(r||We(e,t.line)).text.length?t.line0)){var l=[u,1],p=et(c.from,s.from),f=et(c.to,s.to);(p<0||!a.inclusiveLeft&&!p)&&l.push({from:c.from,to:s.from}),(f>0||!a.inclusiveRight&&!f)&&l.push({from:s.to,to:c.to}),i.splice.apply(i,l),u+=l.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)ao(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else ao(e,t)}}function ao(e,t){if(1!=t.text.length||\"\"!=t.text[0]||0!=et(t.from,t.to)){var n=Di(e,t);Pi(e,t,n,e.cm?e.cm.curOp.id:NaN),co(e,t,n,St(e,t));var r=[];Oi(e,function(e,n){n||-1!=U(r,e.history)||(ho(e.history,t),r.push(e.history)),co(e,t,null,St(e,t))})}}function so(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s=\"undo\"==t?o.done:o.undone,u=\"undo\"==t?o.undone:o.done,c=0;c=0;--d){var h=f(d);if(h)return h.v}}}}function uo(e,t){if(0!=t&&(e.first+=t,e.sel=new yi(Y(e.sel.ranges,function(e){return new bi(Ze(e.anchor.line+t,e.anchor.ch),Ze(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){ur(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Ze(o,We(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ge(e,t.from,t.to),n||(n=Di(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,u=o.line;e.options.lineWrapping||(u=Qe(Lt(We(r,o.line))),r.iter(u,a.line+1,function(e){if(e==i.maxLine)return s=!0,!0})),r.sel.contains(t.from,t.to)>-1&&ve(e),_i(r,t,n,ir(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,function(e){var t=qt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=We(e,r).stateAfter;if(i&&(!(i instanceof ut)||r+i.lookAhead1||!(this.children[0]instanceof go))){var s=[];this.collapse(s),this.children=[new go(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O(\"span\",[o.replacedWith],\"CodeMirror-widget\"),r.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Pt(e,t.line,t,n,o)||t.line!=n.line&&Pt(e,n.line,t,n,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");Et=!0}o.addToHistory&&Pi(e,{from:t,to:n,origin:\"markText\"},e.sel,NaN);var s,u=t.line,c=e.cm;if(e.iter(u,n.line+1,function(e){c&&o.collapsed&&!c.options.lineWrapping&&Lt(e)==c.display.maxLine&&(s=!0),o.collapsed&&u!=t.line&&Je(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new Ct(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u}),o.collapsed&&e.iter(t.line,n.line+1,function(t){Ut(e,t)&&Je(t,0)}),o.clearOnEnter&&fe(o,\"beforeCursorEnter\",function(){return o.clear()}),o.readOnly&&(xt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++xo,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)ur(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var l=t.line;l<=n.line;l++)cr(c,l,\"text\");o.atomic&&Xi(c.doc),sn(c,\"markerAdded\",c,o)}return o}Eo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&qr(e),ye(this,\"clear\")){var n=this.find();n&&sn(this,\"clear\",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=l,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&ur(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Xi(e.doc)),e&&sn(e,\"markerCleared\",e,this,r,i),t&&Hr(e),this.parent&&this.parent.clear()}},Eo.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i=0;u--)oo(this,r[u]);s?Ji(this,s):this.cm&&Tr(this.cm)}),undo:Xr(function(){so(this,\"undo\")}),redo:Xr(function(){so(this,\"redo\")}),undoSelection:Xr(function(){so(this,\"undo\",!0)}),redoSelection:Xr(function(){so(this,\"redo\",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=at(this,e),t=at(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var s=0;s=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n}),at(this,Ze(n,t))},indexFromPos:function(e){var t=(e=at(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var l=e.dataTransfer.getData(\"Text\");if(l){var p;if(t.state.draggingText&&!t.state.draggingText.copy&&(p=t.listSelections()),Yi(t.doc,Ei(n,n)),p)for(var f=0;f=0;t--)lo(e.doc,\"\",r[t].from,r[t].to,\"+delete\");Tr(e)})}function Jo(e,t,n){var r=oe(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Qo(e,t,n){var r=Jo(e,t.ch,n);return null==r?null:new Ze(t.line,r,n<0?\"after\":\"before\")}function Yo(e,t,n,r,i){if(e){var o=le(n,t.doc.direction);if(o){var a,s=i<0?Q(o):o[0],u=i<0==(1==s.level),c=u?\"after\":\"before\";if(s.level>0||\"rtl\"==t.doc.direction){var l=Fn(t,n);a=i<0?n.text.length-1:0;var p=Nn(t,l,a).top;a=ae(function(e){return Nn(t,l,e).top==p},i<0==(1==s.level)?s.from:s.to-1,a),\"before\"==c&&(a=Jo(n,a,1))}else a=i<0?s.to:s.from;return new Ze(r,a,c)}}return new Ze(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}Bo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Bo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Bo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Alt-F\":\"goWordRight\",\"Alt-B\":\"goWordLeft\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-D\":\"delWordAfter\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Bo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Bo.default=y?Bo.macDefault:Bo.pcDefault;var $o={selectAll:ro,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),q)},killLine:function(e){return Ko(e,function(t){if(t.empty()){var n=We(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Ze(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Ze(i.line,i.ch-2),i,\"+transpose\");else if(i.line>e.doc.first){var a=We(e.doc,i.line-1).text;a&&(i=new Ze(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Ze(i.line-1,a.length-1),i,\"+transpose\"))}n.push(new bi(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Qr(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,\"+input\");t=e.listSelections();for(var r=0;r-1&&(et((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(et(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=Yr(e,function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,he(i.wrapper.ownerDocument,\"mouseup\",c),he(i.wrapper.ownerDocument,\"mousemove\",l),he(i.scroller,\"dragstart\",p),he(i.scroller,\"drop\",c),o||(xe(t),r.addNew||Hi(e.doc,n,null,null,r.extend),u||a&&9==s?setTimeout(function(){i.wrapper.ownerDocument.body.focus(),i.input.focus()},20):i.input.focus())}),l=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},p=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),fe(i.wrapper.ownerDocument,\"mouseup\",c),fe(i.wrapper.ownerDocument,\"mousemove\",l),fe(i.scroller,\"dragstart\",p),fe(i.scroller,\"drop\",c),xr(e),setTimeout(function(){return i.input.focus()},20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;xe(t);var a,s,u=o.sel,c=u.ranges;if(r.addNew&&!r.extend?(s=o.sel.contains(n),a=s>-1?c[s]:new bi(n,n)):(a=o.sel.primary(),s=o.sel.primIndex),\"rectangle\"==r.unit)r.addNew||(a=new bi(n,n)),n=ar(e,t,!0,!0),s=-1;else{var l=da(e,n,r.unit);a=r.extend?qi(a,l.anchor,l.head,r.extend):l}r.addNew?-1==s?(s=c.length,Qi(o,xi(e,c.concat([a]),s),{scroll:!1,origin:\"*mouse\"})):c.length>1&&c[s].empty()&&\"char\"==r.unit&&!r.extend?(Qi(o,xi(e,c.slice(0,s).concat(c.slice(s+1)),0),{scroll:!1,origin:\"*mouse\"}),u=o.sel):Gi(o,s,a,H):(s=0,Qi(o,new yi([a],0),H),u=o.sel);var p=n;function f(t){if(0!=et(p,t))if(p=t,\"rectangle\"==r.unit){for(var i=[],c=e.options.tabSize,l=R(We(o,n.line).text,n.ch,c),f=R(We(o,t.line).text,t.ch,c),d=Math.min(l,f),h=Math.max(l,f),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var v=We(o,m).text,y=G(v,d,c);d==h?i.push(new bi(Ze(m,y),Ze(m,y))):v.length>y&&i.push(new bi(Ze(m,y),Ze(m,G(v,h,c))))}i.length||i.push(new bi(n,n)),Qi(o,xi(e,u.ranges.slice(0,s).concat(i),s),{origin:\"*mouse\",scroll:!1}),e.scrollIntoView(t)}else{var b,x=a,E=da(e,t,r.unit),C=x.anchor;et(E.anchor,C)>0?(b=E.head,C=it(x.from(),E.anchor)):(b=E.anchor,C=rt(x.to(),E.head));var w=u.ranges.slice(0);w[s]=function(e,t){var n=t.anchor,r=t.head,i=We(e.doc,n.line);if(0==et(n,r)&&n.sticky==r.sticky)return t;var o=le(i);if(!o)return t;var a=ue(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var u,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1)>0;else{var l=ue(o,r.ch,r.sticky),p=l-a||(r.ch-n.ch)*(1==s.level?-1:1);u=l==c-1||l==c?p<0:p>0}var f=o[c+(u?-1:0)],d=u==(1==f.level),h=d?f.from:f.to,m=d?\"after\":\"before\";return n.ch==h&&n.sticky==m?t:new bi(new Ze(n.line,h,m),r)}(e,new bi(at(o,C),b)),Qi(o,xi(e,w,s),H)}}var d=i.wrapper.getBoundingClientRect(),h=0;function m(t){e.state.selectingText=!1,h=1/0,t&&(xe(t),i.input.focus()),he(i.wrapper.ownerDocument,\"mousemove\",g),he(i.wrapper.ownerDocument,\"mouseup\",v),o.history.lastSelOrigin=null}var g=Yr(e,function(t){0!==t.buttons&&Se(t)?function t(n){var a=++h,s=ar(e,n,!0,\"rectangle\"==r.unit);if(s)if(0!=et(s,p)){e.curOp.focus=N(),f(s);var u=Sr(i,o);(s.line>=u.to||s.lined.bottom?20:0;c&&setTimeout(Yr(e,function(){h==a&&(i.scroller.scrollTop+=c,t(n))}),50)}}(t):m(t)}),v=Yr(e,m);e.state.selectingText=v,fe(i.wrapper.ownerDocument,\"mousemove\",g),fe(i.wrapper.ownerDocument,\"mouseup\",v)}(e,r,t,o)}(t,r,o,e):De(e)==n.scroller&&xe(e):2==i?(r&&Hi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):3==i&&(w?t.display.input.onContextMenu(e):xr(t)))}}function da(e,t,n){if(\"char\"==n)return new bi(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new bi(Ze(t.line,0),at(e.doc,Ze(t.line+1,0)));var r=n(e,t);return new bi(r.from,r.to)}function ha(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&xe(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,n))return Ce(t);o-=s.top-a.viewOffset;for(var u=0;u=i){var l=Ye(e.doc,o),p=e.display.gutterSpecs[u];return me(e,n,e,l,p.className,t),Ce(t)}}}function ma(e,t){return ha(e,t,\"gutterClick\",!0)}function ga(e,t){En(e.display,t)||function(e,t){return!!ye(e,\"gutterContextMenu\")&&ha(e,t,\"gutterContextMenu\",!1)}(e,t)||ge(e,t,\"contextmenu\")||w||e.display.input.onContextMenu(t)}function va(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),Bn(e)}pa.prototype.compare=function(e,t,n){return this.time+400>e&&0==et(t,this.pos)&&n==this.button};var ya={toString:function(){return\"CodeMirror.Init\"}},ba={},xa={};function Ea(e,t,n){var r=n&&n!=ya;if(!t!=!r){var i=e.display.dragFunctions,o=t?fe:he;o(e.display.scroller,\"dragstart\",i.start),o(e.display.scroller,\"dragenter\",i.enter),o(e.display.scroller,\"dragover\",i.over),o(e.display.scroller,\"dragleave\",i.leave),o(e.display.scroller,\"drop\",i.drop)}}function Ca(e){e.options.lineWrapping?(I(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(k(e.display.wrapper,\"CodeMirror-wrap\"),Ht(e)),or(e),ur(e),Bn(e),setTimeout(function(){return Rr(e)},100)}function wa(e,t){var n=this;if(!(this instanceof wa))return new wa(e,t);this.options=t=t?L(t):{},L(ba,t,!1);var r=t.value;\"string\"==typeof r?r=new Ao(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new wa.inputStyles[t.inputStyle](this),o=this.display=new fi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,va(this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),zr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},t.autofocus&&!v&&o.input.focus(),a&&s<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(e){var t=e.display;fe(t.scroller,\"mousedown\",Yr(e,fa)),fe(t.scroller,\"dblclick\",a&&s<11?Yr(e,function(t){if(!ge(e,t)){var n=ar(e,t);if(n&&!ma(e,t)&&!En(e.display,t)){xe(t);var r=e.findWordAt(n);Hi(e.doc,r.anchor,r.head)}}}):function(t){return ge(e,t)||xe(t)}),fe(t.scroller,\"contextmenu\",function(t){return ga(e,t)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}fe(t.scroller,\"touchstart\",function(i){if(!ge(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!ma(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),fe(t.scroller,\"touchmove\",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),fe(t.scroller,\"touchend\",function(n){var r=t.activeTouch;if(r&&!En(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,\"page\");a=!r.prev||o(r,r.prev)?new bi(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new bi(Ze(s.line,0),at(e.doc,Ze(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),xe(n)}i()}),fe(t.scroller,\"touchcancel\",i),fe(t.scroller,\"scroll\",function(){t.scroller.clientHeight&&(Nr(e,t.scroller.scrollTop),Mr(e,t.scroller.scrollLeft,!0),me(e,\"scroll\",e))}),fe(t.scroller,\"mousewheel\",function(t){return vi(e,t)}),fe(t.scroller,\"DOMMouseScroll\",function(t){return vi(e,t)}),fe(t.wrapper,\"scroll\",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){ge(e,t)||we(t)},over:function(t){ge(e,t)||(function(e,t){var n=ar(e,t);if(n){var r=document.createDocumentFragment();mr(e,n,r),e.display.dragCursor||(e.display.dragCursor=_(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,r)}}(e,t),we(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-To<100))we(t);else if(!ge(e,t)&&!En(e.display,t)&&(t.dataTransfer.setData(\"Text\",e.getSelection()),t.dataTransfer.effectAllowed=\"copyMove\",t.dataTransfer.setDragImage&&!f)){var n=_(\"img\",null,null,\"position: fixed; left: 0; top: 0;\");n.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:Yr(e,_o),leave:function(t){ge(e,t)||Oo(e)}};var u=t.input.getField();fe(u,\"keyup\",function(t){return sa.call(e,t)}),fe(u,\"keydown\",Yr(e,aa)),fe(u,\"keypress\",Yr(e,ua)),fe(u,\"focus\",function(t){return Er(e,t)}),fe(u,\"blur\",function(t){return Cr(e,t)})}(this),Io(),qr(this),this.curOp.forceUpdate=!0,Fi(this,r),t.autofocus&&!v||this.hasFocus()?setTimeout(P(Er,this),20):Cr(this),xa)xa.hasOwnProperty(c)&&xa[c](n,t[c],ya);ui(this),t.finishInit&&t.finishInit(this);for(var l=0;l150)){if(!r)return;n=\"prev\"}}else c=0,n=\"not\";\"prev\"==n?c=t>o.first?R(We(o,t-1).text,null,a):0:\"add\"==n?c=u+e.options.indentUnit:\"subtract\"==n?c=u-e.options.indentUnit:\"number\"==typeof n&&(c=u+n),c=Math.max(0,c);var p=\"\",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)f+=a,p+=\"\\t\";if(fa,u=Fe(t),c=null;if(s&&r.ranges.length>1)if(ka&&ka.text.join(\"\\n\")==t){if(r.ranges.length%ka.text.length==0){c=[];for(var l=0;l=0;f--){var d=r.ranges[f],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=Ze(h.line,h.ch-n):e.state.overwrite&&!s?m=Ze(m.line,Math.min(We(o,m.line).text.length,m.ch+Q(u).length)):s&&ka&&ka.lineWise&&ka.text.join(\"\\n\")==t&&(h=m=Ze(h.line,0)));var g={from:h,to:m,text:c?c[f%c.length]:u,origin:i||(s?\"paste\":e.state.cutIncoming>a?\"cut\":\"+input\")};oo(e.doc,g),sn(e,\"inputRead\",e,g)}t&&!s&&Oa(e,t),Tr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=p),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function _a(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Qr(t,function(){return Ta(t,n,0,null,\"paste\")}),!0}function Oa(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Sa(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(We(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Sa(e,i.head.line,\"smart\"));a&&sn(e,\"electricInput\",e,i.head.line)}}}function Fa(e){for(var t=[],n=[],r=0;r=t.text.length?(n.ch=t.text.length,n.sticky=\"before\"):n.ch<=0&&(n.ch=0,n.sticky=\"after\");var o=ue(i,n.ch,n.sticky),a=i[o];if(\"ltr\"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&f>=l.begin)){var d=p?\"before\":\"after\";return new Ze(n.line,f,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new Ze(n.line,u(e,1),\"before\"):new Ze(n.line,e,\"after\")};e>=0&&e0==(1!=a.level),c=s?r.begin:u(r.end,-1);if(a.from<=c&&c0?l.end:u(l.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,c(g)))?null:m}(e.cm,s,t,n):Qo(s,t,n))){if(r||!function(){var r=t.line+n;return!(r=e.first+e.size)&&(t=new Ze(r,t.ch,t.sticky),s=We(e,r))}())return!1;t=Yo(i,e.cm,s,t.line,n)}else t=o;return!0}if(\"char\"==r)u();else if(\"column\"==r)u(!0);else if(\"word\"==r||\"group\"==r)for(var c=null,l=\"group\"==r,p=e.cm&&e.cm.getHelper(t,\"wordChars\"),f=!0;!(n<0)||u(!f);f=!1){var d=s.text.charAt(t.ch)||\"\\n\",h=te(d,p)?\"w\":l&&\"\\n\"==d?\"n\":!l||/\\s/.test(d)?null:\"p\";if(!l||f||h||(h=\"s\"),c&&c!=h){n<0&&(n=1,u(),t.sticky=\"after\");break}if(h&&(c=h),n>0&&!u(!f))break}var m=to(e,t,o,a,!0);return tt(o,m)&&(m.hitSide=!0),m}function ja(e,t,n,r){var i,o,a=e.doc,s=t.left;if(\"page\"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(u-.5*er(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else\"line\"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Qn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Pa=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function La(e,t){var n=On(e,t.line);if(!n||n.hidden)return null;var r=We(e.doc,t.line),i=Tn(n,r,t.line),o=le(r,e.doc.direction),a=\"left\";if(o){var s=ue(o,t.ch);a=s%2?\"right\":\"left\"}var u=jn(i.map,t.ch,a);return u.offset=\"right\"==u.collapse?u.end:u.start,u}function Ra(e,t){return t&&(e.bad=!0),e}function Ba(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Ra(e.clipPos(Ze(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&La(t,i)||{node:u[0].measure.map[2],offset:0},l=o.liner.firstLine()&&(a=Ze(a.line-1,We(r.doc,a.line-1).length)),s.ch==We(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=sr(r,a.line))?(t=Qe(i.view[0].line),n=i.view[0].node):(t=Qe(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,c,l=sr(r,s.line);if(l==i.view.length-1?(u=i.viewTo-1,c=i.lineDiv.lastChild):(u=Qe(i.view[l+1].line)-1,c=i.view[l+1].node.previousSibling),!n)return!1;for(var p=r.doc.splitLines(function(e,t,n,r,i){var o=\"\",a=!1,s=e.doc.lineSeparator(),u=!1;function c(){a&&(o+=s,u&&(o+=s),a=u=!1)}function l(e){e&&(c(),o+=e)}function p(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)return void l(n);var o,f=t.getAttribute(\"cm-marker\");if(f){var d=e.findMarks(Ze(r,0),Ze(i+1,0),(g=+f,function(e){return e.id==g}));return void(d.length&&(o=d[0].find(0))&&l(Ge(e.doc,o.from,o.to).join(s)))}if(\"false\"==t.getAttribute(\"contenteditable\"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&c();for(var m=0;m1&&f.length>1;)if(Q(p)==Q(f))p.pop(),f.pop(),u--;else{if(p[0]!=f[0])break;p.shift(),f.shift(),t++}for(var d=0,h=0,m=p[0],g=f[0],v=Math.min(m.length,g.length);da.ch&&y.charCodeAt(y.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;p[p.length-1]=y.slice(0,y.length-h).replace(/^\\u200b+/,\"\"),p[0]=p[0].slice(d).replace(/\\u200b+$/,\"\");var E=Ze(t,d),C=Ze(u,f.length?Q(f).length-h:0);return p.length>1||p[0]||et(E,C)?(lo(r.doc,p,E,C,\"+input\"),!0):void 0},Pa.prototype.ensurePolled=function(){this.forceCompositionEnd()},Pa.prototype.reset=function(){this.forceCompositionEnd()},Pa.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Pa.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Pa.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Qr(this.cm,function(){return ur(e.cm)})},Pa.prototype.setUneditable=function(e){e.contentEditable=\"false\"},Pa.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Yr(this.cm,Ta)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Pa.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},Pa.prototype.onContextMenu=function(){},Pa.prototype.resetPosition=function(){},Pa.prototype.needsContentAttribute=!0;var za=function(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};za.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!ge(r,e)){if(r.somethingSelected())Aa({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Fa(r);Aa({lineWise:!0,text:t.text}),\"cut\"==e.type?r.setSelections(t.ranges,null,q):(n.prevInput=\"\",i.value=t.text.join(\"\\n\"),j(i))}\"cut\"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width=\"0px\"),fe(i,\"input\",function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),fe(i,\"paste\",function(e){ge(r,e)||_a(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())}),fe(i,\"cut\",o),fe(i,\"copy\",o),fe(e.scroller,\"paste\",function(t){if(!En(e,t)&&!ge(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event(\"paste\");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}}),fe(e.lineSpace,\"selectstart\",function(t){En(e,t)||xe(t)}),fe(i,\"compositionstart\",function(){var e=r.getCursor(\"from\");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}}),fe(i,\"compositionend\",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},za.prototype.createField=function(e){this.wrapper=Ia(),this.textarea=this.wrapper.firstChild},za.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=hr(e);if(e.options.moveInputWithCursor){var i=Gn(e,n.sel.primary().head,\"div\"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},za.prototype.showSelection=function(e){var t=this.cm,n=t.display;T(n.cursorDiv,e.cursors),T(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},za.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput=\"\";var n=t.getSelection();this.textarea.value=n,t.state.focused&&j(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value=\"\",a&&s>=9&&(this.hasSelection=null))}},za.prototype.getField=function(){return this.textarea},za.prototype.supportsTouch=function(){return!1},za.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!v||N()!=this.textarea))try{this.textarea.focus()}catch(e){}},za.prototype.blur=function(){this.textarea.blur()},za.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},za.prototype.receivedFocus=function(){this.slowPoll()},za.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},za.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function n(){var r=t.poll();r||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))})},za.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Ne(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||y&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"\\u200b\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var u=0,c=Math.min(r.length,i.length);u1e3||i.indexOf(\"\\n\")>-1?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))}),!0},za.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},za.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},za.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ar(n,e),c=r.scroller.scrollTop;if(o&&!p){var l=n.options.resetSelectionOnContextMenu;l&&-1==n.doc.sel.contains(o)&&Yr(n,Qi)(n.doc,Ei(o),q);var f,d=i.style.cssText,h=t.wrapper.style.cssText,m=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText=\"position: static\",i.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n top: \"+(e.clientY-m.top-5)+\"px; left: \"+(e.clientX-m.left-5)+\"px;\\n z-index: 1000; background: \"+(a?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",u&&(f=window.scrollY),r.input.focus(),u&&window.scrollTo(null,f),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=\" \"),t.contextMenuPending=v,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&g(),w?(we(e),fe(window,\"mouseup\",function e(){he(window,\"mouseup\",e),setTimeout(v,20)})):setTimeout(v,50)}function g(){if(null!=i.selectionStart){var e=n.somethingSelected(),o=\"\\u200b\"+(e?i.value:\"\");i.value=\"\\u21da\",i.value=o,t.prevInput=e?\"\":\"\\u200b\",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function v(){if(t.contextMenuPending==v&&(t.contextMenuPending=!1,t.wrapper.style.cssText=h,i.style.cssText=d,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&g();var e=0;r.detectingSelectAll=setTimeout(function o(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&\"\\u200b\"==t.prevInput?Yr(n,ro)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())},200)}}},za.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e},za.prototype.setUneditable=function(){},za.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=ya&&i(e,t,n)}:i)}e.defineOption=n,e.Init=ya,n(\"value\",\"\",function(e,t){return e.setValue(t)},!0),n(\"mode\",null,function(e,t){e.doc.modeOption=t,ki(e)},!0),n(\"indentUnit\",2,ki,!0),n(\"indentWithTabs\",!1),n(\"smartIndent\",!0),n(\"tabSize\",4,function(e){Ai(e),Bn(e),ur(e)},!0),n(\"lineSeparator\",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Ze(r,o))}r++});for(var i=n.length-1;i>=0;i--)lo(e.doc,t,n[i],Ze(n[i].line,n[i].ch+t.length))}}),n(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=ya&&e.refresh()}),n(\"specialCharPlaceholder\",$t,function(e){return e.refresh()},!0),n(\"electricChars\",!0),n(\"inputStyle\",v?\"contenteditable\":\"textarea\",function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")},!0),n(\"spellcheck\",!1,function(e,t){return e.getInputField().spellcheck=t},!0),n(\"autocorrect\",!1,function(e,t){return e.getInputField().autocorrect=t},!0),n(\"autocapitalize\",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),n(\"rtlMoveVisually\",!x),n(\"wholeLineUpdateBefore\",!0),n(\"theme\",\"default\",function(e){va(e),pi(e)},!0),n(\"keyMap\",\"default\",function(e,t,n){var r=Go(t),i=n!=ya&&Go(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),n(\"extraKeys\",null),n(\"configureMouse\",null),n(\"lineWrapping\",!1,Ca,!0),n(\"gutters\",[],function(e,t){e.display.gutterSpecs=ci(t,e.options.lineNumbers),pi(e)},!0),n(\"fixedGutter\",!0,function(e,t){e.display.gutters.style.left=t?rr(e.display)+\"px\":\"0\",e.refresh()},!0),n(\"coverGutterNextToScrollbar\",!1,function(e){return Rr(e)},!0),n(\"scrollbarStyle\",\"native\",function(e){zr(e),Rr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),n(\"lineNumbers\",!1,function(e,t){e.display.gutterSpecs=ci(e.options.gutters,t),pi(e)},!0),n(\"firstLineNumber\",1,pi,!0),n(\"lineNumberFormatter\",function(e){return e},pi,!0),n(\"showCursorWhenSelecting\",!1,dr,!0),n(\"resetSelectionOnContextMenu\",!0),n(\"lineWiseCopyCut\",!0),n(\"pasteLinesPerSelection\",!0),n(\"selectionsMayTouch\",!1),n(\"readOnly\",!1,function(e,t){\"nocursor\"==t&&(Cr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),n(\"disableInput\",!1,function(e,t){t||e.display.input.reset()},!0),n(\"dragDrop\",!0,Ea),n(\"allowDropFileTypes\",null),n(\"cursorBlinkRate\",530),n(\"cursorScrollMargin\",0),n(\"cursorHeight\",1,dr,!0),n(\"singleCursorHeightPerLine\",!0,dr,!0),n(\"workTime\",100),n(\"workDelay\",100),n(\"flattenSpans\",!0,Ai,!0),n(\"addModeClass\",!1,Ai,!0),n(\"pollInterval\",100),n(\"undoDepth\",200,function(e,t){return e.doc.history.undoDepth=t}),n(\"historyEventDelay\",1250),n(\"viewportMargin\",10,function(e){return e.refresh()},!0),n(\"maxHighlightLength\",1e4,Ai,!0),n(\"moveInputWithCursor\",!0,function(e,t){t||e.display.input.resetPosition()}),n(\"tabindex\",null,function(e,t){return e.display.input.getField().tabIndex=t||\"\"}),n(\"autofocus\",null),n(\"direction\",\"ltr\",function(e,t){return e.doc.setDirection(t)},!0),n(\"phrases\",null)}(wa),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&\"mode\"!=e||(r[e]=n,t.hasOwnProperty(e)&&Yr(this,t[e])(this,n,i),me(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Go(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Sa(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Tr(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=s;u0&&Gi(this.doc,r,new bi(o,c[r].to()),q)}}}),getTokenAt:function(e,t){return vt(this,e,t)},getLineTokens:function(e,t){return vt(this,Ze(e),t,!0)},getTokenTypeAt:function(e){e=at(this.doc,e);var t,n=pt(this,We(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=We(this.doc,e)}else r=e;return qn(this,r,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-Vt(r):0)},defaultTextHeight:function(){return er(this.display)},defaultCharWidth:function(){return tr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display,a=(e=Gn(this,at(this.doc,e))).bottom,s=e.left;if(t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),o.sizer.appendChild(t),\"over\"==r)a=e.top;else if(\"above\"==r||\"near\"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);(\"above\"==r||e.bottom+t.offsetHeight>u)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=u&&(a=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=a+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?s=0:\"middle\"==i&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+\"px\"),n&&function(e,t){var n=kr(e,t);null!=n.scrollTop&&Nr(e,n.scrollTop),null!=n.scrollLeft&&Mr(e,n.scrollLeft)}(this,{left:s,top:a,right:s+t.offsetWidth,bottom:a+t.offsetHeight})},triggerOnKeyDown:$r(aa),triggerOnKeyPress:$r(ua),triggerOnKeyUp:sa,triggerOnMouseDown:$r(fa),execCommand:function(e){if($o.hasOwnProperty(e))return $o[e].call(null,this)},triggerElectric:$r(function(e){Oa(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=at(this.doc,e),a=0;a0&&s(n.charAt(r-1));)--r;for(;i.5)&&or(this),me(this,\"refresh\",this)}),swapDoc:$r(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Fi(this,e),Bn(this),this.display.input.reset(),_r(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sn(this,\"swapDoc\",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},be(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(wa);var Va=\"iter insert remove copy getEditor constructor\".split(\" \");for(var qa in Ao.prototype)Ao.prototype.hasOwnProperty(qa)&&U(Va,qa)<0&&(wa.prototype[qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(Ao.prototype[qa]));return be(Ao),wa.inputStyles={textarea:za,contenteditable:Pa},wa.defineMode=function(e){wa.defaults.mode||\"null\"==e||(wa.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),je[e]=t}.apply(this,arguments)},wa.defineMIME=function(e,t){Pe[e]=t},wa.defineMode(\"null\",function(){return{token:function(e){return e.skipToEnd()}}}),wa.defineMIME(\"text/plain\",\"null\"),wa.defineExtension=function(e,t){wa.prototype[e]=t},wa.defineDocExtension=function(e,t){Ao.prototype[e]=t},wa.fromTextArea=function(e,t){if((t=t?L(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=N();t.autofocus=n==e||null!=e.getAttribute(\"autofocus\")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,\"submit\",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display=\"\",e.form&&(he(e.form,\"submit\",r),\"function\"==typeof e.form.submit&&(e.form.submit=i))}},e.style.display=\"none\";var s=wa(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return s},function(e){e.off=he,e.on=fe,e.wheelEventPixels=gi,e.Doc=Ao,e.splitLines=Fe,e.countColumn=R,e.findColumn=G,e.isWordChar=ee,e.Pass=V,e.signal=me,e.Line=Wt,e.changeEnd=Ci,e.scrollbarModel=Ur,e.Pos=Ze,e.cmpPos=et,e.modes=je,e.mimeModes=Pe,e.resolveMode=Le,e.getMode=Re,e.modeExtensions=Be,e.extendMode=Ue,e.copyState=ze,e.startState=qe,e.innerMode=Ve,e.commands=$o,e.keyMap=Bo,e.keyName=Wo,e.isModifierKey=qo,e.lookupKey=Vo,e.normalizeKeyMap=zo,e.StringStream=He,e.SharedTextMarker=wo,e.TextMarker=Eo,e.LineWidget=yo,e.e_preventDefault=xe,e.e_stopPropagation=Ee,e.e_stop=we,e.addClass=I,e.contains=F,e.rmClass=k,e.keyNames=jo}(wa),wa.version=\"5.48.2\",wa}()},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return o}),n.d(t,\"c\",function(){return a}),n.d(t,\"d\",function(){return u}),n.d(t,\"e\",function(){return c}),n.d(t,\"b\",function(){return l});var r=n(3),i={Name:[],Document:[\"definitions\"],OperationDefinition:[\"name\",\"variableDefinitions\",\"directives\",\"selectionSet\"],VariableDefinition:[\"variable\",\"type\",\"defaultValue\",\"directives\"],Variable:[\"name\"],SelectionSet:[\"selections\"],Field:[\"alias\",\"name\",\"arguments\",\"directives\",\"selectionSet\"],Argument:[\"name\",\"value\"],FragmentSpread:[\"name\",\"directives\"],InlineFragment:[\"typeCondition\",\"directives\",\"selectionSet\"],FragmentDefinition:[\"name\",\"variableDefinitions\",\"typeCondition\",\"directives\",\"selectionSet\"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:[\"values\"],ObjectValue:[\"fields\"],ObjectField:[\"name\",\"value\"],Directive:[\"name\",\"arguments\"],NamedType:[\"name\"],ListType:[\"type\"],NonNullType:[\"type\"],SchemaDefinition:[\"directives\",\"operationTypes\"],OperationTypeDefinition:[\"type\"],ScalarTypeDefinition:[\"description\",\"name\",\"directives\"],ObjectTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],FieldDefinition:[\"description\",\"name\",\"arguments\",\"type\",\"directives\"],InputValueDefinition:[\"description\",\"name\",\"type\",\"defaultValue\",\"directives\"],InterfaceTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],UnionTypeDefinition:[\"description\",\"name\",\"directives\",\"types\"],EnumTypeDefinition:[\"description\",\"name\",\"directives\",\"values\"],EnumValueDefinition:[\"description\",\"name\",\"directives\"],InputObjectTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],DirectiveDefinition:[\"description\",\"name\",\"arguments\",\"locations\"],SchemaExtension:[\"directives\",\"operationTypes\"],ScalarTypeExtension:[\"name\",\"directives\"],ObjectTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],InterfaceTypeExtension:[\"name\",\"directives\",\"fields\"],UnionTypeExtension:[\"name\",\"directives\",\"types\"],EnumTypeExtension:[\"name\",\"directives\",\"values\"],InputObjectTypeExtension:[\"name\",\"directives\",\"fields\"]},o=Object.freeze({});function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,a=void 0,u=Array.isArray(e),c=[e],p=-1,f=[],d=void 0,h=void 0,m=void 0,g=[],v=[],y=e;do{var b=++p===c.length,x=b&&0!==f.length;if(b){if(h=0===v.length?void 0:g[g.length-1],d=m,m=v.pop(),x){if(u)d=d.slice();else{for(var E={},C=0,w=Object.keys(d);C=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!==(65535&e)&&65534!==(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,u=new RegExp(s.source+\"|\"+/&([a-z#][a-z0-9]{1,31});/gi.source,\"gi\"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(149);var p=/[&<>\"]/,f=/[&<>\"]/g,d={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"};function h(e){return d[e]}var m=/[.?*+^$[\\]\\\\(){}|-]/g;var g=n(110);t.lib={},t.lib.mdurl=n(150),t.lib.ucmicro=n(260),t.assign=function(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(\"object\"!==typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e},t.isString=function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf(\"\\\\\")<0?e:e.replace(s,\"$1\")},t.unescapeAll=function(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(u,function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)})},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,\"\\\\$&\")},t.normalizeReference=function(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}},function(e,t,n){\"use strict\";n.r(t);var r=Object.freeze({major:14,minor:4,patch:2,preReleaseTag:null});function i(e){return Boolean(e&&\"function\"===typeof e.then)}var o=Array.prototype.find?function(e,t){return Array.prototype.find.call(e,t)}:function(e,t){for(var n=0;n1&&\"_\"===e[0]&&\"_\"===e[1]?new I.a('Name \"'.concat(e,'\" must not begin with \"__\", which is reserved by GraphQL introspection.'),t):M.test(e)?void 0:new I.a('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"'.concat(e,'\" does not.'),t)}function L(e,t){return e===t||(Object(c.L)(e)&&Object(c.L)(t)?L(e.ofType,t.ofType):!(!Object(c.J)(e)||!Object(c.J)(t))&&L(e.ofType,t.ofType))}function R(e,t,n){return t===n||(Object(c.L)(n)?!!Object(c.L)(t)&&R(e,t.ofType,n.ofType):Object(c.L)(t)?R(e,t.ofType,n):Object(c.J)(n)?!!Object(c.J)(t)&&R(e,t.ofType,n.ofType):!Object(c.J)(t)&&!!(Object(c.C)(n)&&Object(c.N)(t)&&e.isPossibleType(n,t)))}function B(e,t,n){return t===n||(Object(c.C)(t)?Object(c.C)(n)?e.getPossibleTypes(t).some(function(t){return e.isPossibleType(n,t)}):e.isPossibleType(t,n):!!Object(c.C)(n)&&e.isPossibleType(n,t))}function U(e){if(_(e),e.__validationErrors)return e.__validationErrors;var t=new V(e);!function(e){var t=e.schema,n=t.getQueryType();n?Object(c.N)(n)||e.reportError(\"Query root type must be Object type, it cannot be \".concat(Object(g.a)(n),\".\"),q(t,n,\"query\")):e.reportError(\"Query root type must be provided.\",t.astNode);var r=t.getMutationType();r&&!Object(c.N)(r)&&e.reportError(\"Mutation root type must be Object type if provided, it cannot be \"+\"\".concat(Object(g.a)(r),\".\"),q(t,r,\"mutation\"));var i=t.getSubscriptionType();i&&!Object(c.N)(i)&&e.reportError(\"Subscription root type must be Object type if provided, it cannot be \"+\"\".concat(Object(g.a)(i),\".\"),q(t,i,\"subscription\"))}(t),function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=e.schema.getDirectives()[Symbol.iterator]();!(t=(i=o.next()).done);t=!0){var a=i.value;if(y(a)){H(e,a);var s=Object.create(null),u=!0,l=!1,p=void 0;try{for(var f,d=function(){var t=f.value,n=t.name;if(H(e,t),s[n])return e.reportError(\"Argument @\".concat(a.name,\"(\").concat(n,\":) can only be defined once.\"),a.astNode&&a.args.filter(function(e){var t=e.name;return t===n}).map(function(e){var t=e.astNode;return t})),\"continue\";s[n]=!0,Object(c.G)(t.type)||e.reportError(\"The type of @\".concat(a.name,\"(\").concat(n,\":) must be Input Type \")+\"but got: \".concat(Object(g.a)(t.type),\".\"),t.astNode)},h=a.args[Symbol.iterator]();!(u=(f=h.next()).done);u=!0)d()}catch(m){l=!0,p=m}finally{try{u||null==h.return||h.return()}finally{if(l)throw p}}}else e.reportError(\"Expected directive but got: \".concat(Object(g.a)(a),\".\"),a&&a.astNode)}}catch(m){n=!0,r=m}finally{try{t||null==o.return||o.return()}finally{if(n)throw r}}}(t),function(e){var t=function(e){var t=Object.create(null),n=[],r=Object.create(null);return function i(o){if(t[o.name])return;t[o.name]=!0;r[o.name]=n.length;var a=Object(s.a)(o.getFields());var u=!0;var l=!1;var p=void 0;try{for(var f,d=a[Symbol.iterator]();!(u=(f=d.next()).done);u=!0){var h=f.value;if(Object(c.L)(h.type)&&Object(c.F)(h.type.ofType)){var m=h.type.ofType,g=r[m.name];if(n.push(h),void 0===g)i(m);else{var v=n.slice(g),y=v.map(function(e){return e.name}).join(\".\");e.reportError('Cannot reference Input Object \"'.concat(m.name,'\" within itself through a series of non-null fields: \"').concat(y,'\".'),v.map(function(e){return e.astNode}))}n.pop()}}}catch(b){l=!0,p=b}finally{try{u||null==d.return||d.return()}finally{if(l)throw p}}r[o.name]=void 0}}(e),n=e.schema.getTypeMap(),r=!0,i=!1,o=void 0;try{for(var a,u=Object(s.a)(n)[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var l=a.value;Object(c.K)(l)?(Object(A.isIntrospectionType)(l)||H(e,l),Object(c.N)(l)?(W(e,l),G(e,l)):Object(c.H)(l)?W(e,l):Object(c.T)(l)?J(e,l):Object(c.E)(l)?Q(e,l):Object(c.F)(l)&&(Y(e,l),t(l))):e.reportError(\"Expected GraphQL named type but got: \".concat(Object(g.a)(l),\".\"),l&&l.astNode)}}catch(p){i=!0,o=p}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}}(t);var n=t.getErrors();return e.__validationErrors=n,n}function z(e){var t=U(e);if(0!==t.length)throw new Error(t.map(function(e){return e.message}).join(\"\\n\\n\"))}var V=function(){function e(e){this._errors=[],this.schema=e}var t=e.prototype;return t.reportError=function(e,t){var n=Array.isArray(t)?t.filter(Boolean):t;this.addError(new I.a(e,n))},t.addError=function(e){this._errors.push(e)},t.getErrors=function(){return this._errors},e}();function q(e,t,n){var r=X(e,function(e){return e.operationTypes}),i=!0,o=!1,a=void 0;try{for(var s,u=r[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(c.operation===n)return c.type}}catch(l){o=!0,a=l}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}return t.astNode}function H(e,t){if(-1===e.schema.__allowedLegacyNames.indexOf(t.name)){var n=P(t.name,t.astNode||void 0);n&&e.addError(n)}}function W(e,t){var n=Object(s.a)(t.getFields());0===n.length&&e.reportError(\"Type \".concat(t.name,\" must define one or more fields.\"),$(t));var r=!0,i=!1,o=void 0;try{for(var a,u=n[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var l=a.value;H(e,l),Object(c.O)(l.type)||e.reportError(\"The type of \".concat(t.name,\".\").concat(l.name,\" must be Output Type \")+\"but got: \".concat(Object(g.a)(l.type),\".\"),l.astNode&&l.astNode.type);var p=Object.create(null),f=!0,d=!1,h=void 0;try{for(var m,v=function(){var n=m.value,r=n.name;H(e,n),p[r]&&e.reportError(\"Field argument \".concat(t.name,\".\").concat(l.name,\"(\").concat(r,\":) can only be defined once.\"),l.args.filter(function(e){return e.name===r}).map(function(e){return e.astNode})),p[r]=!0,Object(c.G)(n.type)||e.reportError(\"The type of \".concat(t.name,\".\").concat(l.name,\"(\").concat(r,\":) must be Input \")+\"Type but got: \".concat(Object(g.a)(n.type),\".\"),n.astNode&&n.astNode.type)},y=l.args[Symbol.iterator]();!(f=(m=y.next()).done);f=!0)v()}catch(b){d=!0,h=b}finally{try{f||null==y.return||y.return()}finally{if(d)throw h}}}}catch(b){i=!0,o=b}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}}function G(e,t){var n=Object.create(null),r=!0,i=!1,o=void 0;try{for(var a,s=t.getInterfaces()[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var u=a.value;Object(c.H)(u)?n[u.name]?e.reportError(\"Type \".concat(t.name,\" can only implement \").concat(u.name,\" once.\"),Z(t,u)):(n[u.name]=!0,K(e,t,u)):e.reportError(\"Type \".concat(Object(g.a)(t),\" must only implement Interface types, \")+\"it cannot implement \".concat(Object(g.a)(u),\".\"),Z(t,u))}}catch(l){i=!0,o=l}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}}function K(e,t,n){var r=t.getFields(),i=n.getFields(),a=!0,s=!1,l=void 0;try{for(var p,f=Object(u.a)(i)[Symbol.iterator]();!(a=(p=f.next()).done);a=!0){var d=p.value,h=d[0],m=d[1],v=r[h];if(v){R(e.schema,v.type,m.type)||e.reportError(\"Interface field \".concat(n.name,\".\").concat(h,\" expects type \")+\"\".concat(Object(g.a)(m.type),\" but \").concat(t.name,\".\").concat(h,\" \")+\"is type \".concat(Object(g.a)(v.type),\".\"),[m.astNode&&m.astNode.type,v.astNode&&v.astNode.type]);var y=!0,b=!1,x=void 0;try{for(var E,C=function(){var r=E.value,i=r.name,a=o(v.args,function(e){return e.name===i});if(!a)return e.reportError(\"Interface field argument \".concat(n.name,\".\").concat(h,\"(\").concat(i,\":) expected but \").concat(t.name,\".\").concat(h,\" does not provide it.\"),[r.astNode,v.astNode]),\"continue\";L(r.type,a.type)||e.reportError(\"Interface field argument \".concat(n.name,\".\").concat(h,\"(\").concat(i,\":) \")+\"expects type \".concat(Object(g.a)(r.type),\" but \")+\"\".concat(t.name,\".\").concat(h,\"(\").concat(i,\":) is type \")+\"\".concat(Object(g.a)(a.type),\".\"),[r.astNode&&r.astNode.type,a.astNode&&a.astNode.type])},w=m.args[Symbol.iterator]();!(y=(E=w.next()).done);y=!0)C()}catch(O){b=!0,x=O}finally{try{y||null==w.return||w.return()}finally{if(b)throw x}}var D=!0,S=!1,k=void 0;try{for(var A,T=function(){var r=A.value,i=r.name;!o(m.args,function(e){return e.name===i})&&Object(c.P)(r)&&e.reportError(\"Object field \".concat(t.name,\".\").concat(h,\" includes required argument \").concat(i,\" that is missing from the Interface field \").concat(n.name,\".\").concat(h,\".\"),[r.astNode,m.astNode])},_=v.args[Symbol.iterator]();!(D=(A=_.next()).done);D=!0)T()}catch(O){S=!0,k=O}finally{try{D||null==_.return||_.return()}finally{if(S)throw k}}}else e.reportError(\"Interface field \".concat(n.name,\".\").concat(h,\" expected but \").concat(t.name,\" does not provide it.\"),[m.astNode].concat($(t)))}}catch(O){s=!0,l=O}finally{try{a||null==f.return||f.return()}finally{if(s)throw l}}}function J(e,t){var n=t.getTypes();0===n.length&&e.reportError(\"Union type \".concat(t.name,\" must define one or more member types.\"),$(t));var r=Object.create(null),i=!0,o=!1,a=void 0;try{for(var s,u=n[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var l=s.value;r[l.name]?e.reportError(\"Union type \".concat(t.name,\" can only include type \").concat(l.name,\" once.\"),ee(t,l.name)):(r[l.name]=!0,Object(c.N)(l)||e.reportError(\"Union type \".concat(t.name,\" can only include Object types, \")+\"it cannot include \".concat(Object(g.a)(l),\".\"),ee(t,String(l))))}}catch(p){o=!0,a=p}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}}function Q(e,t){var n=t.getValues();0===n.length&&e.reportError(\"Enum type \".concat(t.name,\" must define one or more values.\"),$(t));var r=!0,i=!1,o=void 0;try{for(var a,s=n[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var u=a.value,c=u.name;H(e,u),\"true\"!==c&&\"false\"!==c&&\"null\"!==c||e.reportError(\"Enum type \".concat(t.name,\" cannot include value: \").concat(c,\".\"),u.astNode)}}catch(l){i=!0,o=l}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}}function Y(e,t){var n=Object(s.a)(t.getFields());0===n.length&&e.reportError(\"Input Object type \".concat(t.name,\" must define one or more fields.\"),$(t));var r=!0,i=!1,o=void 0;try{for(var a,u=n[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var l=a.value;H(e,l),Object(c.G)(l.type)||e.reportError(\"The type of \".concat(t.name,\".\").concat(l.name,\" must be Input Type \")+\"but got: \".concat(Object(g.a)(l.type),\".\"),l.astNode&&l.astNode.type)}}catch(p){i=!0,o=p}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}}function $(e){var t=e.astNode,n=e.extensionASTNodes;return t?n?[t].concat(n):[t]:n||[]}function X(e,t){return a($(e),function(e){return t(e)||[]})}function Z(e,t){return X(e,function(e){return e.interfaces}).filter(function(e){return e.name.value===t.name})}function ee(e,t){return X(e,function(e){return e.types}).filter(function(e){return e.name.value===t})}var te=function(e,t,n){this.body=e,this.name=t||\"GraphQL request\",this.locationOffset=n||{line:1,column:1},this.locationOffset.line>0||Object(m.a)(0,\"line in locationOffset is 1-indexed and must be positive\"),this.locationOffset.column>0||Object(m.a)(0,\"column in locationOffset is 1-indexed and must be positive\")};function ne(e,t,n){return new I.a(\"Syntax Error: \".concat(n),void 0,e,[t])}Object(f.a)(te);var re=Object.freeze({SOF:\"\",EOF:\"\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"}),ie=n(44);function oe(e,t){var n=new le(re.SOF,0,0,0,0,null);return{source:e,options:t,lastToken:n,token:n,line:1,lineStart:0,advance:ae,lookahead:se}}function ae(){return this.lastToken=this.token,this.token=this.lookahead()}function se(){var e=this.token;if(e.kind!==re.EOF)do{e=e.next||(e.next=fe(this,e))}while(e.kind===re.COMMENT);return e}function ue(e){var t=e.kind;return t===re.BANG||t===re.DOLLAR||t===re.AMP||t===re.PAREN_L||t===re.PAREN_R||t===re.SPREAD||t===re.COLON||t===re.EQUALS||t===re.AT||t===re.BRACKET_L||t===re.BRACKET_R||t===re.BRACE_L||t===re.PIPE||t===re.BRACE_R}function ce(e){var t=e.value;return t?\"\".concat(e.kind,' \"').concat(t,'\"'):e.kind}function le(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=a,this.prev=o,this.next=null}function pe(e){return isNaN(e)?re.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'\"\\\\u'.concat((\"00\"+e.toString(16).toUpperCase()).slice(-4),'\"')}function fe(e,t){var n=e.source,r=n.body,i=r.length,o=function(e,t,n){var r=e.length,i=t;for(;i=i)return new le(re.EOF,i,i,a,s,t);var u=r.charCodeAt(o);switch(u){case 33:return new le(re.BANG,o,o+1,a,s,t);case 35:return function(e,t,n,r,i){var o,a=e.body,s=t;do{o=a.charCodeAt(++s)}while(!isNaN(o)&&(o>31||9===o));return new le(re.COMMENT,t,s,n,r,i,a.slice(t+1,s))}(n,o,a,s,t);case 36:return new le(re.DOLLAR,o,o+1,a,s,t);case 38:return new le(re.AMP,o,o+1,a,s,t);case 40:return new le(re.PAREN_L,o,o+1,a,s,t);case 41:return new le(re.PAREN_R,o,o+1,a,s,t);case 46:if(46===r.charCodeAt(o+1)&&46===r.charCodeAt(o+2))return new le(re.SPREAD,o,o+3,a,s,t);break;case 58:return new le(re.COLON,o,o+1,a,s,t);case 61:return new le(re.EQUALS,o,o+1,a,s,t);case 64:return new le(re.AT,o,o+1,a,s,t);case 91:return new le(re.BRACKET_L,o,o+1,a,s,t);case 93:return new le(re.BRACKET_R,o,o+1,a,s,t);case 123:return new le(re.BRACE_L,o,o+1,a,s,t);case 124:return new le(re.PIPE,o,o+1,a,s,t);case 125:return new le(re.BRACE_R,o,o+1,a,s,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,a=o.length,s=t+1,u=0;for(;s!==a&&!isNaN(u=o.charCodeAt(s))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++s;return new le(re.NAME,t,s,n,r,i,o.slice(t,s))}(n,o,a,s,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,o){var a=e.body,s=n,u=t,c=!1;45===s&&(s=a.charCodeAt(++u));if(48===s){if((s=a.charCodeAt(++u))>=48&&s<=57)throw ne(e,u,\"Invalid number, unexpected digit after 0: \".concat(pe(s),\".\"))}else u=de(e,u,s),s=a.charCodeAt(u);46===s&&(c=!0,s=a.charCodeAt(++u),u=de(e,u,s),s=a.charCodeAt(u));69!==s&&101!==s||(c=!0,43!==(s=a.charCodeAt(++u))&&45!==s||(s=a.charCodeAt(++u)),u=de(e,u,s));return new le(c?re.FLOAT:re.INT,t,u,r,i,o,a.slice(t,u))}(n,o,u,a,s,t);case 34:return 34===r.charCodeAt(o+1)&&34===r.charCodeAt(o+2)?function(e,t,n,r,i,o){var a=e.body,s=t+3,u=s,c=0,l=\"\";for(;s=48&&o<=57){do{o=r.charCodeAt(++i)}while(o>=48&&o<=57);return i}throw ne(e,i,\"Invalid number, expected digit but got: \".concat(pe(o),\".\"))}function he(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}Object(d.a)(le,function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}});var me=n(1);function ge(e,t){var n=\"string\"===typeof e?new te(e):e;if(!(n instanceof te))throw new TypeError(\"Must provide Source. Received: \".concat(Object(g.a)(n)));return function(e){var t=e.token;return{kind:me.a.DOCUMENT,definitions:lt(e,re.SOF,xe,re.EOF),loc:tt(e,t)}}(oe(n,t||{}))}function ve(e,t){var n=oe(\"string\"===typeof e?new te(e):e,t||{});it(n,re.SOF);var r=Ie(n,!1);return it(n,re.EOF),r}function ye(e,t){var n=oe(\"string\"===typeof e?new te(e):e,t||{});it(n,re.SOF);var r=Be(n);return it(n,re.EOF),r}function be(e){var t=it(e,re.NAME);return{kind:me.a.NAME,value:t.value,loc:tt(e,t)}}function xe(e){if(rt(e,re.NAME))switch(e.token.value){case\"query\":case\"mutation\":case\"subscription\":case\"fragment\":return Ee(e);case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return ze(e);case\"extend\":return function(e){var t=e.lookahead();if(t.kind===re.NAME)switch(t.value){case\"schema\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"schema\");var n=Le(e,!0),r=rt(e,re.BRACE_L)?lt(e,re.BRACE_L,He,re.BRACE_R):[];if(0===n.length&&0===r.length)throw ut(e);return{kind:me.a.SCHEMA_EXTENSION,directives:n,operationTypes:r,loc:tt(e,t)}}(e);case\"scalar\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"scalar\");var n=be(e),r=Le(e,!0);if(0===r.length)throw ut(e);return{kind:me.a.SCALAR_TYPE_EXTENSION,name:n,directives:r,loc:tt(e,t)}}(e);case\"type\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"type\");var n=be(e),r=We(e),i=Le(e,!0),o=Ge(e);if(0===r.length&&0===i.length&&0===o.length)throw ut(e);return{kind:me.a.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o,loc:tt(e,t)}}(e);case\"interface\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"interface\");var n=be(e),r=Le(e,!0),i=Ge(e);if(0===r.length&&0===i.length)throw ut(e);return{kind:me.a.INTERFACE_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:tt(e,t)}}(e);case\"union\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"union\");var n=be(e),r=Le(e,!0),i=Ye(e);if(0===r.length&&0===i.length)throw ut(e);return{kind:me.a.UNION_TYPE_EXTENSION,name:n,directives:r,types:i,loc:tt(e,t)}}(e);case\"enum\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"enum\");var n=be(e),r=Le(e,!0),i=$e(e);if(0===r.length&&0===i.length)throw ut(e);return{kind:me.a.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i,loc:tt(e,t)}}(e);case\"input\":return function(e){var t=e.token;at(e,\"extend\"),at(e,\"input\");var n=be(e),r=Le(e,!0),i=Ze(e);if(0===r.length&&0===i.length)throw ut(e);return{kind:me.a.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:tt(e,t)}}(e)}throw ut(e,t)}(e)}else{if(rt(e,re.BRACE_L))return Ee(e);if(Ve(e))return ze(e)}throw ut(e)}function Ee(e){if(rt(e,re.NAME))switch(e.token.value){case\"query\":case\"mutation\":case\"subscription\":return Ce(e);case\"fragment\":return function(e){var t=e.token;if(at(e,\"fragment\"),e.options.experimentalFragmentVariables)return{kind:me.a.FRAGMENT_DEFINITION,name:Ne(e),variableDefinitions:De(e),typeCondition:(at(e,\"on\"),Ue(e)),directives:Le(e,!1),selectionSet:Ae(e),loc:tt(e,t)};return{kind:me.a.FRAGMENT_DEFINITION,name:Ne(e),typeCondition:(at(e,\"on\"),Ue(e)),directives:Le(e,!1),selectionSet:Ae(e),loc:tt(e,t)}}(e)}else if(rt(e,re.BRACE_L))return Ce(e);throw ut(e)}function Ce(e){var t=e.token;if(rt(e,re.BRACE_L))return{kind:me.a.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:Ae(e),loc:tt(e,t)};var n,r=we(e);return rt(e,re.NAME)&&(n=be(e)),{kind:me.a.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:De(e),directives:Le(e,!1),selectionSet:Ae(e),loc:tt(e,t)}}function we(e){var t=it(e,re.NAME);switch(t.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw ut(e,t)}function De(e){return rt(e,re.PAREN_L)?lt(e,re.PAREN_L,Se,re.PAREN_R):[]}function Se(e){var t=e.token;return{kind:me.a.VARIABLE_DEFINITION,variable:ke(e),type:(it(e,re.COLON),Be(e)),defaultValue:ot(e,re.EQUALS)?Ie(e,!0):void 0,directives:Le(e,!0),loc:tt(e,t)}}function ke(e){var t=e.token;return it(e,re.DOLLAR),{kind:me.a.VARIABLE,name:be(e),loc:tt(e,t)}}function Ae(e){var t=e.token;return{kind:me.a.SELECTION_SET,selections:lt(e,re.BRACE_L,Te,re.BRACE_R),loc:tt(e,t)}}function Te(e){return rt(e,re.SPREAD)?function(e){var t=e.token;it(e,re.SPREAD);var n=st(e,\"on\");if(!n&&rt(e,re.NAME))return{kind:me.a.FRAGMENT_SPREAD,name:Ne(e),directives:Le(e,!1),loc:tt(e,t)};return{kind:me.a.INLINE_FRAGMENT,typeCondition:n?Ue(e):void 0,directives:Le(e,!1),selectionSet:Ae(e),loc:tt(e,t)}}(e):function(e){var t,n,r=e.token,i=be(e);ot(e,re.COLON)?(t=i,n=be(e)):n=i;return{kind:me.a.FIELD,alias:t,name:n,arguments:_e(e,!1),directives:Le(e,!1),selectionSet:rt(e,re.BRACE_L)?Ae(e):void 0,loc:tt(e,r)}}(e)}function _e(e,t){var n=t?Fe:Oe;return rt(e,re.PAREN_L)?lt(e,re.PAREN_L,n,re.PAREN_R):[]}function Oe(e){var t=e.token,n=be(e);return it(e,re.COLON),{kind:me.a.ARGUMENT,name:n,value:Ie(e,!1),loc:tt(e,t)}}function Fe(e){var t=e.token;return{kind:me.a.ARGUMENT,name:be(e),value:(it(e,re.COLON),je(e)),loc:tt(e,t)}}function Ne(e){if(\"on\"===e.token.value)throw ut(e);return be(e)}function Ie(e,t){var n=e.token;switch(n.kind){case re.BRACKET_L:return function(e,t){var n=e.token,r=t?je:Pe;return{kind:me.a.LIST,values:ct(e,re.BRACKET_L,r,re.BRACKET_R),loc:tt(e,n)}}(e,t);case re.BRACE_L:return function(e,t){var n=e.token;return{kind:me.a.OBJECT,fields:ct(e,re.BRACE_L,function(){return function(e,t){var n=e.token,r=be(e);return it(e,re.COLON),{kind:me.a.OBJECT_FIELD,name:r,value:Ie(e,t),loc:tt(e,n)}}(e,t)},re.BRACE_R),loc:tt(e,n)}}(e,t);case re.INT:return e.advance(),{kind:me.a.INT,value:n.value,loc:tt(e,n)};case re.FLOAT:return e.advance(),{kind:me.a.FLOAT,value:n.value,loc:tt(e,n)};case re.STRING:case re.BLOCK_STRING:return Me(e);case re.NAME:return\"true\"===n.value||\"false\"===n.value?(e.advance(),{kind:me.a.BOOLEAN,value:\"true\"===n.value,loc:tt(e,n)}):\"null\"===n.value?(e.advance(),{kind:me.a.NULL,loc:tt(e,n)}):(e.advance(),{kind:me.a.ENUM,value:n.value,loc:tt(e,n)});case re.DOLLAR:if(!t)return ke(e)}throw ut(e)}function Me(e){var t=e.token;return e.advance(),{kind:me.a.STRING,value:t.value,block:t.kind===re.BLOCK_STRING,loc:tt(e,t)}}function je(e){return Ie(e,!0)}function Pe(e){return Ie(e,!1)}function Le(e,t){for(var n=[];rt(e,re.AT);)n.push(Re(e,t));return n}function Re(e,t){var n=e.token;return it(e,re.AT),{kind:me.a.DIRECTIVE,name:be(e),arguments:_e(e,t),loc:tt(e,n)}}function Be(e){var t,n=e.token;return ot(e,re.BRACKET_L)?(t=Be(e),it(e,re.BRACKET_R),t={kind:me.a.LIST_TYPE,type:t,loc:tt(e,n)}):t=Ue(e),ot(e,re.BANG)?{kind:me.a.NON_NULL_TYPE,type:t,loc:tt(e,n)}:t}function Ue(e){var t=e.token;return{kind:me.a.NAMED_TYPE,name:be(e),loc:tt(e,t)}}function ze(e){var t=Ve(e)?e.lookahead():e.token;if(t.kind===re.NAME)switch(t.value){case\"schema\":return function(e){var t=e.token;at(e,\"schema\");var n=Le(e,!0),r=lt(e,re.BRACE_L,He,re.BRACE_R);return{kind:me.a.SCHEMA_DEFINITION,directives:n,operationTypes:r,loc:tt(e,t)}}(e);case\"scalar\":return function(e){var t=e.token,n=qe(e);at(e,\"scalar\");var r=be(e),i=Le(e,!0);return{kind:me.a.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i,loc:tt(e,t)}}(e);case\"type\":return function(e){var t=e.token,n=qe(e);at(e,\"type\");var r=be(e),i=We(e),o=Le(e,!0),a=Ge(e);return{kind:me.a.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a,loc:tt(e,t)}}(e);case\"interface\":return function(e){var t=e.token,n=qe(e);at(e,\"interface\");var r=be(e),i=Le(e,!0),o=Ge(e);return{kind:me.a.INTERFACE_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:tt(e,t)}}(e);case\"union\":return function(e){var t=e.token,n=qe(e);at(e,\"union\");var r=be(e),i=Le(e,!0),o=Ye(e);return{kind:me.a.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o,loc:tt(e,t)}}(e);case\"enum\":return function(e){var t=e.token,n=qe(e);at(e,\"enum\");var r=be(e),i=Le(e,!0),o=$e(e);return{kind:me.a.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o,loc:tt(e,t)}}(e);case\"input\":return function(e){var t=e.token,n=qe(e);at(e,\"input\");var r=be(e),i=Le(e,!0),o=Ze(e);return{kind:me.a.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:tt(e,t)}}(e);case\"directive\":return function(e){var t=e.token,n=qe(e);at(e,\"directive\"),it(e,re.AT);var r=be(e),i=Je(e),o=st(e,\"repeatable\");at(e,\"on\");var a=function(e){ot(e,re.PIPE);var t=[];do{t.push(et(e))}while(ot(e,re.PIPE));return t}(e);return{kind:me.a.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:o,locations:a,loc:tt(e,t)}}(e)}throw ut(e,t)}function Ve(e){return rt(e,re.STRING)||rt(e,re.BLOCK_STRING)}function qe(e){if(Ve(e))return Me(e)}function He(e){var t=e.token,n=we(e);it(e,re.COLON);var r=Ue(e);return{kind:me.a.OPERATION_TYPE_DEFINITION,operation:n,type:r,loc:tt(e,t)}}function We(e){var t=[];if(st(e,\"implements\")){ot(e,re.AMP);do{t.push(Ue(e))}while(ot(e,re.AMP)||e.options.allowLegacySDLImplementsInterfaces&&rt(e,re.NAME))}return t}function Ge(e){return e.options.allowLegacySDLEmptyFields&&rt(e,re.BRACE_L)&&e.lookahead().kind===re.BRACE_R?(e.advance(),e.advance(),[]):rt(e,re.BRACE_L)?lt(e,re.BRACE_L,Ke,re.BRACE_R):[]}function Ke(e){var t=e.token,n=qe(e),r=be(e),i=Je(e);it(e,re.COLON);var o=Be(e),a=Le(e,!0);return{kind:me.a.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:a,loc:tt(e,t)}}function Je(e){return rt(e,re.PAREN_L)?lt(e,re.PAREN_L,Qe,re.PAREN_R):[]}function Qe(e){var t=e.token,n=qe(e),r=be(e);it(e,re.COLON);var i,o=Be(e);ot(e,re.EQUALS)&&(i=je(e));var a=Le(e,!0);return{kind:me.a.INPUT_VALUE_DEFINITION,description:n,name:r,type:o,defaultValue:i,directives:a,loc:tt(e,t)}}function Ye(e){var t=[];if(ot(e,re.EQUALS)){ot(e,re.PIPE);do{t.push(Ue(e))}while(ot(e,re.PIPE))}return t}function $e(e){return rt(e,re.BRACE_L)?lt(e,re.BRACE_L,Xe,re.BRACE_R):[]}function Xe(e){var t=e.token,n=qe(e),r=be(e),i=Le(e,!0);return{kind:me.a.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i,loc:tt(e,t)}}function Ze(e){return rt(e,re.BRACE_L)?lt(e,re.BRACE_L,Qe,re.BRACE_R):[]}function et(e){var t=e.token,n=be(e);if(void 0!==v.a[n.value])return n;throw ut(e,t)}function tt(e,t){if(!e.options.noLocation)return new nt(t,e.lastToken,e.source)}function nt(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function rt(e,t){return e.token.kind===t}function it(e,t){var n=e.token;if(n.kind===t)return e.advance(),n;throw ne(e.source,n.start,\"Expected \".concat(t,\", found \").concat(ce(n)))}function ot(e,t){var n=e.token;if(n.kind===t)return e.advance(),n}function at(e,t){var n=e.token;if(n.kind!==re.NAME||n.value!==t)throw ne(e.source,n.start,'Expected \"'.concat(t,'\", found ').concat(ce(n)));e.advance()}function st(e,t){var n=e.token;return n.kind===re.NAME&&n.value===t&&(e.advance(),!0)}function ut(e,t){var n=t||e.token;return ne(e.source,n.start,\"Unexpected \".concat(ce(n)))}function ct(e,t,n,r){it(e,t);for(var i=[];!ot(e,r);)i.push(n(e));return i}function lt(e,t,n,r){it(e,t);for(var i=[n(e)];!ot(e,r);)i.push(n(e));return i}Object(d.a)(nt,function(){return{start:this.start,end:this.end}});var pt=n(14);function ft(e,t){var n;if(t.kind===me.a.LIST_TYPE)return(n=ft(e,t.type))&&Object(c.d)(n);if(t.kind===me.a.NON_NULL_TYPE)return(n=ft(e,t.type))&&Object(c.e)(n);if(t.kind===me.a.NAMED_TYPE)return e.getType(t.name.value);throw new Error('Unexpected type node: \"'.concat(Object(g.a)(t),'\".'))}var dt=function(){function e(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=t||ht,n&&(Object(c.G)(n)&&this._inputTypeStack.push(n),Object(c.D)(n)&&this._parentTypeStack.push(n),Object(c.O)(n)&&this._typeStack.push(n))}var t=e.prototype;return t.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},t.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},t.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},t.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},t.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},t.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},t.getDirective=function(){return this._directive},t.getArgument=function(){return this._argument},t.getEnumValue=function(){return this._enumValue},t.enter=function(e){var t=this._schema;switch(e.kind){case me.a.SELECTION_SET:var n=Object(c.A)(this.getType());this._parentTypeStack.push(Object(c.D)(n)?n:void 0);break;case me.a.FIELD:var r,i,a=this.getParentType();a&&(r=this._getFieldDef(t,a,e))&&(i=r.type),this._fieldDefStack.push(r),this._typeStack.push(Object(c.O)(i)?i:void 0);break;case me.a.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case me.a.OPERATION_DEFINITION:var s;\"query\"===e.operation?s=t.getQueryType():\"mutation\"===e.operation?s=t.getMutationType():\"subscription\"===e.operation&&(s=t.getSubscriptionType()),this._typeStack.push(Object(c.N)(s)?s:void 0);break;case me.a.INLINE_FRAGMENT:case me.a.FRAGMENT_DEFINITION:var u=e.typeCondition,l=u?ft(t,u):Object(c.A)(this.getType());this._typeStack.push(Object(c.O)(l)?l:void 0);break;case me.a.VARIABLE_DEFINITION:var p=ft(t,e.type);this._inputTypeStack.push(Object(c.G)(p)?p:void 0);break;case me.a.ARGUMENT:var f,d,h=this.getDirective()||this.getFieldDef();h&&(f=o(h.args,function(t){return t.name===e.name.value}))&&(d=f.type),this._argument=f,this._defaultValueStack.push(f?f.defaultValue:void 0),this._inputTypeStack.push(Object(c.G)(d)?d:void 0);break;case me.a.LIST:var m=Object(c.B)(this.getInputType()),g=Object(c.J)(m)?m.ofType:m;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Object(c.G)(g)?g:void 0);break;case me.a.OBJECT_FIELD:var v,y,b=Object(c.A)(this.getInputType());Object(c.F)(b)&&(y=b.getFields()[e.name.value])&&(v=y.type),this._defaultValueStack.push(y?y.defaultValue:void 0),this._inputTypeStack.push(Object(c.G)(v)?v:void 0);break;case me.a.ENUM:var x,E=Object(c.A)(this.getInputType());Object(c.E)(E)&&(x=E.getValue(e.value)),this._enumValue=x}},t.leave=function(e){switch(e.kind){case me.a.SELECTION_SET:this._parentTypeStack.pop();break;case me.a.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case me.a.DIRECTIVE:this._directive=null;break;case me.a.OPERATION_DEFINITION:case me.a.INLINE_FRAGMENT:case me.a.FRAGMENT_DEFINITION:this._typeStack.pop();break;case me.a.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case me.a.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case me.a.LIST:case me.a.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case me.a.ENUM:this._enumValue=null}},e}();function ht(e,t,n){var r=n.name.value;return r===A.SchemaMetaFieldDef.name&&e.getQueryType()===t?A.SchemaMetaFieldDef:r===A.TypeMetaFieldDef.name&&e.getQueryType()===t?A.TypeMetaFieldDef:r===A.TypeNameMetaFieldDef.name&&Object(c.D)(t)?A.TypeNameMetaFieldDef:Object(c.N)(t)||Object(c.H)(t)?t.getFields()[r]:void 0}var mt=n(128);function gt(e){var t=Object.create(null);return{OperationDefinition:function(n){var r=n.name;return r&&(t[r.value]?e.reportError(new I.a(function(e){return'There can be only one operation named \"'.concat(e,'\".')}(r.value),[t[r.value],r])):t[r.value]=r),!1},FragmentDefinition:function(){return!1}}}function vt(e){var t=0;return{Document:function(e){t=e.definitions.filter(function(e){return e.kind===me.a.OPERATION_DEFINITION}).length},OperationDefinition:function(n){!n.name&&t>1&&e.reportError(new I.a(\"This anonymous operation must be the only defined operation.\",n))}}}function yt(e){return{OperationDefinition:function(t){var n;\"subscription\"===t.operation&&1!==t.selectionSet.selections.length&&e.reportError(new I.a((n=t.name&&t.name.value)?'Subscription \"'.concat(n,'\" must select only one top level field.'):\"Anonymous Subscription must select only one top level field.\",t.selectionSet.selections.slice(1)))}}}function bt(e,t){var n=Object.create(null),r=e.length/2,i=!0,o=!1,a=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value,l=xt(e,c);l<=Math.max(r,c.length/2,1)&&(n[c]=l)}}catch(p){o=!0,a=p}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}return Object.keys(n).sort(function(e,t){return n[e]-n[t]})}function xt(e,t){if(e===t)return 0;var n,r,i=[],o=e.toLowerCase(),a=t.toLowerCase(),s=o.length,u=a.length;if(o===a)return 1;for(n=0;n<=s;n++)i[n]=[n];for(r=1;r<=u;r++)i[0][r]=r;for(n=1;n<=s;n++)for(r=1;r<=u;r++){var c=o[n-1]===a[r-1]?0:1;i[n][r]=Math.min(i[n-1][r]+1,i[n][r-1]+1,i[n-1][r-1]+c),n>1&&r>1&&o[n-1]===a[r-2]&&o[n-2]===a[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+c))}return i[s][u]}var Et=5;function Ct(e,t){var n=\"string\"===typeof e?[e,t]:[void 0,e],r=n[0],i=n[1],o=\" Did you mean \";switch(r&&(o+=r+\" \"),i.length){case 0:return\"\";case 1:return o+i[0]+\"?\";case 2:return o+i[0]+\" or \"+i[1]+\"?\"}var a=i.slice(0,Et),s=a.pop();return o+a.join(\", \")+\", or \"+s+\"?\"}var wt=n(22);function Dt(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null),i=!0,o=!1,a=void 0;try{for(var s,u=e.getDocument().definitions[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;Object(wt.d)(c)&&(r[c.name.value]=!0)}}catch(p){o=!0,a=p}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}var l=Object.keys(n).concat(Object.keys(r));return{NamedType:function(t,i,o,a,s){var u,c=t.name.value;if(!n[c]&&!r[c]){var p=s[2]||o,f=(u=p,Boolean(u&&!Array.isArray(u)&&(Object(wt.g)(u)||Object(wt.h)(u))));if(f&&function(e){return-1!==St.indexOf(e)}(c))return;var d=bt(c,f?St.concat(l):l);e.reportError(new I.a(function(e,t){return'Unknown type \"'.concat(e,'\".')+Ct(t.map(function(e){return'\"'.concat(e,'\"')}))}(c,d),t))}}}}var St=p.g.map(function(e){return e.name});var kt=n(15);function At(e){return{InlineFragment:function(t){var n=t.typeCondition;if(n){var r=ft(e.getSchema(),n);r&&!Object(c.D)(r)&&e.reportError(new I.a(function(e){return'Fragment cannot condition on non composite type \"'.concat(e,'\".')}(Object(kt.print)(n)),n))}},FragmentDefinition:function(t){var n=ft(e.getSchema(),t.typeCondition);n&&!Object(c.D)(n)&&e.reportError(new I.a(function(e,t){return'Fragment \"'.concat(e,'\" cannot condition on non composite type \"').concat(t,'\".')}(t.name.value,Object(kt.print)(t.typeCondition)),t.typeCondition))}}}function Tt(e){return{VariableDefinition:function(t){var n=ft(e.getSchema(),t.type);if(n&&!Object(c.G)(n)){var r=t.variable.name.value;e.reportError(new I.a(function(e,t){return'Variable \"$'.concat(e,'\" cannot be non-input type \"').concat(t,'\".')}(r,Object(kt.print)(t.type)),t.type))}}}}function _t(e){return{Field:function(t){var n=e.getType(),r=t.selectionSet;n&&(Object(c.I)(Object(c.A)(n))?r&&e.reportError(new I.a(function(e,t){return'Field \"'.concat(e,'\" must not have a selection since type \"').concat(t,'\" has no subfields.')}(t.name.value,Object(g.a)(n)),r)):r||e.reportError(new I.a(function(e,t){return'Field \"'.concat(e,'\" of type \"').concat(t,'\" must have a selection of subfields. Did you mean \"').concat(e,' { ... }\"?')}(t.name.value,Object(g.a)(n)),t)))}}}function Ot(e){return{Field:function(t){var n=e.getParentType();if(n&&!e.getFieldDef()){var r=e.getSchema(),i=t.name.value,o=function(e,t,n){if(Object(c.C)(t)){var r=[],i=Object.create(null),o=!0,a=!1,s=void 0;try{for(var u,l=e.getPossibleTypes(t)[Symbol.iterator]();!(o=(u=l.next()).done);o=!0){var p=u.value;if(p.getFields()[n]){r.push(p.name);var f=!0,d=!1,h=void 0;try{for(var m,g=p.getInterfaces()[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var v=m.value;v.getFields()[n]&&(i[v.name]=(i[v.name]||0)+1)}}catch(b){d=!0,h=b}finally{try{f||null==g.return||g.return()}finally{if(d)throw h}}}}}catch(b){a=!0,s=b}finally{try{o||null==l.return||l.return()}finally{if(a)throw s}}var y=Object.keys(i).sort(function(e,t){return i[t]-i[e]});return y.concat(r)}return[]}(r,n,i),a=0!==o.length?[]:function(e,t,n){if(Object(c.N)(t)||Object(c.H)(t)){var r=Object.keys(t.getFields());return bt(n,r)}return[]}(0,n,i);e.reportError(new I.a(function(e,t,n,r){var i=n.map(function(e){return'\"'.concat(e,'\"')}),o=r.map(function(e){return'\"'.concat(e,'\"')});return'Cannot query field \"'.concat(e,'\" on type \"').concat(t,'\".')+(Ct(\"to use an inline fragment on\",i)||Ct(o))}(i,n.name,o,a),t))}}}}function Ft(e){var t=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(n){var r=n.name.value;return t[r]?e.reportError(new I.a('There can be only one fragment named \"'.concat(r,'\".'),[t[r],n.name])):t[r]=n.name,!1}}}var Nt=n(84),It=n(85);function Mt(e){return{InlineFragment:function(t){var n=e.getType(),r=e.getParentType();Object(c.D)(n)&&Object(c.D)(r)&&!B(e.getSchema(),n,r)&&e.reportError(new I.a(function(e,t){return'Fragment cannot be spread here as objects of type \"'.concat(e,'\" can never be of type \"').concat(t,'\".')}(Object(g.a)(r),Object(g.a)(n)),t))},FragmentSpread:function(t){var n=t.name.value,r=function(e,t){var n=e.getFragment(t);if(n){var r=ft(e.getSchema(),n.typeCondition);if(Object(c.D)(r))return r}}(e,n),i=e.getParentType();r&&i&&!B(e.getSchema(),r,i)&&e.reportError(new I.a(function(e,t,n){return'Fragment \"'.concat(e,'\" cannot be spread here as objects of type \"').concat(t,'\" can never be of type \"').concat(n,'\".')}(n,Object(g.a)(i),Object(g.a)(r)),t))}}}function jt(e,t){var n=t.length?\" via \"+t.join(\", \"):\"\";return'Cannot spread fragment \"'.concat(e,'\" within itself').concat(n,\".\")}function Pt(e){var t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(i){return function i(o){if(t[o.name.value])return;var a=o.name.value;t[a]=!0;var s=e.getFragmentSpreads(o.selectionSet);if(0===s.length)return;r[a]=n.length;var u=!0;var c=!1;var l=void 0;try{for(var p,f=s[Symbol.iterator]();!(u=(p=f.next()).done);u=!0){var d=p.value,h=d.name.value,m=r[h];if(n.push(d),void 0===m){var g=e.getFragment(h);g&&i(g)}else{var v=n.slice(m),y=v.slice(0,-1).map(function(e){return e.name.value});e.reportError(new I.a(jt(h,y),v))}n.pop()}}catch(b){c=!0,l=b}finally{try{u||null==f.return||f.return()}finally{if(c)throw l}}r[a]=void 0}(i),!1}}}function Lt(e){var t=Object.create(null);return{OperationDefinition:function(){t=Object.create(null)},VariableDefinition:function(n){var r=n.variable.name.value;t[r]?e.reportError(new I.a(function(e){return'There can be only one variable named \"'.concat(e,'\".')}(r),[t[r],n.variable.name])):t[r]=n.variable.name}}}function Rt(e,t){return t?'Variable \"$'.concat(e,'\" is not defined by operation \"').concat(t,'\".'):'Variable \"$'.concat(e,'\" is not defined.')}function Bt(e){var t=Object.create(null);return{OperationDefinition:{enter:function(){t=Object.create(null)},leave:function(n){var r=e.getRecursiveVariableUsages(n),i=!0,o=!1,a=void 0;try{for(var s,u=r[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value.node,l=c.name.value;!0!==t[l]&&e.reportError(new I.a(Rt(l,n.name&&n.name.value),[c,n]))}}catch(p){o=!0,a=p}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}}},VariableDefinition:function(e){t[e.variable.name.value]=!0}}}function Ut(e,t){return t?'Variable \"$'.concat(e,'\" is never used in operation \"').concat(t,'\".'):'Variable \"$'.concat(e,'\" is never used.')}function zt(e){var t=[];return{OperationDefinition:{enter:function(){t=[]},leave:function(n){var r=Object.create(null),i=e.getRecursiveVariableUsages(n),o=n.name?n.name.value:null,a=!0,s=!1,u=void 0;try{for(var c,l=i[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){r[c.value.node.name.value]=!0}}catch(m){s=!0,u=m}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}for(var p=0,f=t;p1)for(var h=0;h0)return[[t,e.map(function(e){var t=e[0];return t})],e.reduce(function(e,t){var n=t[1];return e.concat(n)},[n]),e.reduce(function(e,t){var n=t[2];return e.concat(n)},[r])]}(function(e,t,n,r,i,o,a,s){var u=[],c=yn(e,t,i,o),l=c[0],p=c[1],f=yn(e,t,a,s),d=f[0],h=f[1];if(gn(e,u,t,n,r,l,d),0!==h.length)for(var m=Object.create(null),g=0;g0&&e.reportError(new I.a(\"Must provide only one schema definition.\",t)),++r)}}},function(e){var t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(t){if(t.operationTypes){var i=!0,o=!1,a=void 0;try{for(var s,u=(t.operationTypes||[])[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value,l=c.operation,p=n[l];r[l]?e.reportError(new I.a(Sn(l),c)):p?e.reportError(new I.a(Dn(l),[p,c])):n[l]=c}}catch(f){o=!0,a=f}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}}return!1}},function(e){var t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(r){var i=r.name.value;if(!n||!n.getType(i))return t[i]?e.reportError(new I.a(function(e){return'There can be only one type named \"'.concat(e,'\".')}(i),[t[i],r.name])):t[i]=r.name,!1;e.reportError(new I.a(function(e){return'Type \"'.concat(e,'\" already exists in the schema. It cannot also be defined in this type definition.')}(i),r.name))}},function(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(t){var i=t.name.value;if(r[i]||(r[i]=Object.create(null)),t.values){var o=r[i],a=!0,s=!1,u=void 0;try{for(var l,p=t.values[Symbol.iterator]();!(a=(l=p.next()).done);a=!0){var f=l.value,d=f.name.value,h=n[i];Object(c.E)(h)&&h.getValue(d)?e.reportError(new I.a(An(i,d),f.name)):o[d]?e.reportError(new I.a(kn(i,d),[o[d],f.name])):o[d]=f.name}}catch(m){s=!0,u=m}finally{try{a||null==p.return||p.return()}finally{if(s)throw u}}}return!1}},function(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(t){var i=t.name.value;if(r[i]||(r[i]=Object.create(null)),t.fields){var o=r[i],a=!0,s=!1,u=void 0;try{for(var c,l=t.fields[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var p=c.value,f=p.name.value;On(n[i],f)?e.reportError(new I.a(_n(i,f),p.name)):o[f]?e.reportError(new I.a(Tn(i,f),[o[f],p.name])):o[f]=p.name}}catch(d){s=!0,u=d}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}return!1}},function(e){var t=Object.create(null),n=e.getSchema();return{DirectiveDefinition:function(r){var i=r.name.value;if(!n||!n.getDirective(i))return t[i]?e.reportError(new I.a(function(e){return'There can be only one directive named \"'.concat(e,'\".')}(i),[t[i],r.name])):t[i]=r.name,!1;e.reportError(new I.a(function(e){return'Directive \"'.concat(e,'\" already exists in the schema. It cannot be redefined.')}(i),r.name))}}},Dt,Vt,Ht,function(e){var t=e.getSchema(),n=Object.create(null),r=!0,i=!1,o=void 0;try{for(var a,s=e.getDocument().definitions[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var u=a.value;Object(wt.d)(u)&&(n[u.name.value]=u)}}catch(p){i=!0,o=p}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return{ScalarTypeExtension:l,ObjectTypeExtension:l,InterfaceTypeExtension:l,UnionTypeExtension:l,EnumTypeExtension:l,InputObjectTypeExtension:l};function l(r){var i,o=r.name.value,a=n[o],s=t&&t.getType(o);if(a){var u=In[a.kind];u!==r.kind&&e.reportError(new I.a(Nn(o,Mn(u)),[a,r]))}else if(s){var l=(i=s,Object(c.R)(i)?me.a.SCALAR_TYPE_EXTENSION:Object(c.N)(i)?me.a.OBJECT_TYPE_EXTENSION:Object(c.H)(i)?me.a.INTERFACE_TYPE_EXTENSION:Object(c.T)(i)?me.a.UNION_TYPE_EXTENSION:Object(c.E)(i)?me.a.ENUM_TYPE_EXTENSION:Object(c.F)(i)?me.a.INPUT_OBJECT_TYPE_EXTENSION:void 0);l!==r.kind&&e.reportError(new I.a(Nn(o,Mn(l)),r))}else{var p=Object.keys(n);t&&(p=p.concat(Object.keys(t.getTypeMap())));var f=bt(o,p);e.reportError(new I.a(function(e,t){return'Cannot extend type \"'.concat(e,'\" because it is not defined.')+Ct(t.map(function(e){return'\"'.concat(e,'\"')}))}(o,f),r.name))}}},Jt,Qt,wn,sn]);function Ln(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var Rn=function(){function e(e){this._ast=e,this._errors=[],this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map}var t=e.prototype;return t.reportError=function(e){this._errors.push(e)},t.getErrors=function(){return this._errors},t.getDocument=function(){return this._ast},t.getFragment=function(e){var t=this._fragments;return t||(this._fragments=t=this.getDocument().definitions.reduce(function(e,t){return t.kind===me.a.FRAGMENT_DEFINITION&&(e[t.name.value]=t),e},Object.create(null))),t[e]},t.getFragmentSpreads=function(e){var t=this._fragmentSpreads.get(e);if(!t){t=[];for(var n=[e];0!==n.length;){var r=n.pop(),i=!0,o=!1,a=void 0;try{for(var s,u=r.selections[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;c.kind===me.a.FRAGMENT_SPREAD?t.push(c):c.selectionSet&&n.push(c.selectionSet)}}catch(l){o=!0,a=l}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}}this._fragmentSpreads.set(e,t)}return t},t.getRecursivelyReferencedFragments=function(e){var t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];for(var n=Object.create(null),r=[e.selectionSet];0!==r.length;){var i=r.pop(),o=!0,a=!1,s=void 0;try{for(var u,c=this.getFragmentSpreads(i)[Symbol.iterator]();!(o=(u=c.next()).done);o=!0){var l=u.value.name.value;if(!0!==n[l]){n[l]=!0;var p=this.getFragment(l);p&&(t.push(p),r.push(p.selectionSet))}}}catch(f){a=!0,s=f}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}}this._recursivelyReferencedFragments.set(e,t)}return t},e}(),Bn=function(e){function t(t,n){var r;return(r=e.call(this,t)||this)._schema=n,r}return Ln(t,e),t.prototype.getSchema=function(){return this._schema},t}(Rn),Un=function(e){function t(t,n,r){var i;return(i=e.call(this,n)||this)._schema=t,i._typeInfo=r,i._variableUsages=new Map,i._recursiveVariableUsages=new Map,i}Ln(t,e);var n=t.prototype;return n.getSchema=function(){return this._schema},n.getVariableUsages=function(e){var t=this._variableUsages.get(e);if(!t){var n=[],r=new dt(this._schema);Object(pt.c)(e,Object(pt.e)(r,{VariableDefinition:function(){return!1},Variable:function(e){n.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),t=n,this._variableUsages.set(e,t)}return t},n.getRecursiveVariableUsages=function(e){var t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);var n=!0,r=!1,i=void 0;try{for(var o,a=this.getRecursivelyReferencedFragments(e)[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var s=o.value;t=t.concat(this.getVariableUsages(s))}}catch(u){r=!0,i=u}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}this._recursiveVariableUsages.set(e,t)}return t},n.getType=function(){return this._typeInfo.getType()},n.getParentType=function(){return this._typeInfo.getParentType()},n.getInputType=function(){return this._typeInfo.getInputType()},n.getParentInputType=function(){return this._typeInfo.getParentInputType()},n.getFieldDef=function(){return this._typeInfo.getFieldDef()},n.getDirective=function(){return this._typeInfo.getDirective()},n.getArgument=function(){return this._typeInfo.getArgument()},t}(Rn);function zn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jn,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new dt(e);t||Object(m.a)(0,\"Must provide document\"),z(e);var i=new Un(e,t,r),o=Object(pt.d)(n.map(function(e){return e(i)}));return Object(pt.c)(t,Object(pt.e)(r,o)),i.getErrors()}function Vn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Pn,r=new Bn(e,t),i=n.map(function(e){return e(r)});return Object(pt.c)(e,Object(pt.d)(i)),r.getErrors()}var qn=n(37);function Hn(e,t,n){return e&&Array.isArray(e.path)?e:new I.a(e&&e.message,e&&e.nodes||t,e&&e.source,e&&e.positions,n,e)}var Wn=n(103);function Gn(e,t){if(\"query\"===t.operation){var n=e.getQueryType();if(!n)throw new I.a(\"Schema does not define the required query root type.\",t);return n}if(\"mutation\"===t.operation){var r=e.getMutationType();if(!r)throw new I.a(\"Schema is not configured for mutations.\",t);return r}if(\"subscription\"===t.operation){var i=e.getSubscriptionType();if(!i)throw new I.a(\"Schema is not configured for subscriptions.\",t);return i}throw new I.a(\"Can only have query, mutation and subscription operations.\",t)}function Kn(e,t,n,r){if(Object(c.L)(t))return null==e?Qn([Xn(\"Expected non-nullable type \".concat(Object(g.a)(t),\" not to be null\"),n,r)]):Kn(e,t.ofType,n,r);if(null==e)return Jn(null);if(Object(c.R)(t))try{var i=t.parseValue(e);return Object(Yt.a)(i)?Qn([Xn(\"Expected type \".concat(t.name),n,r)]):Jn(i)}catch(O){return Qn([Xn(\"Expected type \".concat(t.name),n,r,\" \"+O.message,O)])}if(Object(c.E)(t)){if(\"string\"===typeof e){var o=t.getValue(e);if(o)return Jn(o.value)}var a=bt(String(e),t.getValues().map(function(e){return e.name}));return Qn([Xn(\"Expected type \".concat(t.name),n,r,Ct(a))])}if(Object(c.J)(t)){var u=t.ofType;if(Object(qn.e)(e)){var p,f=[];return Object(qn.b)(e,function(e,t){var i=Kn(e,u,n,$n(r,t));i.errors?p=Yn(p,i.errors):p||f.push(i.value)}),p?Qn(p):Jn(f)}var d=Kn(e,u,n);return d.errors?d:Jn([d.value])}if(Object(c.F)(t)){if(!Object(l.a)(e))return Qn([Xn(\"Expected type \".concat(t.name,\" to be an object\"),n,r)]);var h,m={},v=t.getFields(),y=!0,b=!1,x=void 0;try{for(var E,C=Object(s.a)(v)[Symbol.iterator]();!(y=(E=C.next()).done);y=!0){var w=E.value,D=e[w.name];if(Object(Yt.a)(D))Object(Yt.a)(w.defaultValue)?Object(c.L)(w.type)&&(h=Yn(h,Xn(\"Field \".concat(Zn($n(r,w.name)),\" of required \")+\"type \".concat(Object(g.a)(w.type),\" was not provided\"),n))):m[w.name]=w.defaultValue;else{var S=Kn(D,w.type,n,$n(r,w.name));S.errors?h=Yn(h,S.errors):h||(m[w.name]=S.value)}}}catch(F){b=!0,x=F}finally{try{y||null==C.return||C.return()}finally{if(b)throw x}}for(var k=0,A=Object.keys(e);k0)return{errors:l};try{t=ge(r)}catch(ne){return{errors:[ne]}}var p=zn(n,t);return p.length>0?{errors:p}:or({schema:n,document:t,rootValue:i,contextValue:o,variableValues:a,operationName:s,fieldResolver:u,typeResolver:c})}var Ir=n(58),Mr=n(65);function jr(e,t,n){var r,i,o,a,s,u,c=Object(qn.c)(e);function l(e){return e.done?e:Pr(e.value,t).then(Lr,i)}if(\"function\"===typeof c.return&&(r=c.return,i=function(e){var t=function(){return Promise.reject(e)};return r.call(c).then(t,t)}),n){var p=n;o=function(e){return Pr(e,p).then(Lr,i)}}return a={next:function(){return c.next().then(l,o)},return:function(){return r?r.call(c).then(l,o):Promise.resolve({value:void 0,done:!0})},throw:function(e){return\"function\"===typeof c.throw?c.throw(e).then(l,o):Promise.reject(e).catch(i)}},s=qn.a,u=function(){return this},s in a?Object.defineProperty(a,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[s]=u,a}function Pr(e,t){return new Promise(function(n){return n(t(e))})}function Lr(e){return{value:e,done:!1}}function Rr(e,t,n,r,i,o,a,s){return 1===arguments.length?Ur(e):Ur({schema:e,document:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,subscribeFieldResolver:s})}function Br(e){if(e instanceof I.a)return{errors:[e]};throw e}function Ur(e){var t=e.schema,n=e.document,r=e.rootValue,i=e.contextValue,o=e.variableValues,a=e.operationName,s=e.fieldResolver,u=e.subscribeFieldResolver,c=zr(t,n,r,i,o,a,u),l=function(e){return or(t,n,e,i,o,a,s)};return c.then(function(e){return Object(qn.d)(e)?jr(e,l,Br):e},Br)}function zr(e,t,n,r,i,o,a){cr(e,t,i);try{var s=lr(e,t,n,r,i,o,a);if(Array.isArray(s))return Promise.resolve({errors:s});var u=Gn(e,s.operation),c=fr(s,u,s.operation.selectionSet,Object.create(null),Object.create(null)),l=Object.keys(c)[0],p=c[l],f=p[0].name.value,d=_r(e,u,f);if(!d)throw new I.a('The subscription field \"'.concat(f,'\" is not defined.'),p);var h=d.subscribe||s.fieldResolver,m=ur(void 0,l),v=gr(s,d,p,u,m),y=vr(s,d,p,h,n,v);return Promise.resolve(y).then(function(e){if(e instanceof Error)throw Hn(e,p,sr(m));if(Object(qn.d)(e))return e;throw new Error(\"Subscription field must return Async Iterable. Received: \"+Object(g.a)(e))})}catch(b){return Promise.reject(b)}}function Vr(e){e||Object(m.a)(0,\"Received null or undefined error.\");var t=e.message||\"An unknown error occurred.\",n=e.locations,r=e.path,i=e.extensions;return i?{message:t,locations:n,path:r,extensions:i}:{message:t,locations:n,path:r}}function qr(e){var t=!(e&&!1===e.descriptions);return\"\\n query IntrospectionQuery {\\n __schema {\\n queryType { name }\\n mutationType { name }\\n subscriptionType { name }\\n types {\\n ...FullType\\n }\\n directives {\\n name\\n \".concat(t?\"description\":\"\",\"\\n locations\\n args {\\n ...InputValue\\n }\\n }\\n }\\n }\\n\\n fragment FullType on __Type {\\n kind\\n name\\n \").concat(t?\"description\":\"\",\"\\n fields(includeDeprecated: true) {\\n name\\n \").concat(t?\"description\":\"\",\"\\n args {\\n ...InputValue\\n }\\n type {\\n ...TypeRef\\n }\\n isDeprecated\\n deprecationReason\\n }\\n inputFields {\\n ...InputValue\\n }\\n interfaces {\\n ...TypeRef\\n }\\n enumValues(includeDeprecated: true) {\\n name\\n \").concat(t?\"description\":\"\",\"\\n isDeprecated\\n deprecationReason\\n }\\n possibleTypes {\\n ...TypeRef\\n }\\n }\\n\\n fragment InputValue on __InputValue {\\n name\\n \").concat(t?\"description\":\"\",\"\\n type { ...TypeRef }\\n defaultValue\\n }\\n\\n fragment TypeRef on __Type {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n \")}var Hr=qr(),Wr=n(105);function Gr(e,t){var n=or(e,ge(qr(t)));return(i(n)||n.errors||!n.data)&&Object(m.a)(0),n.data}var Kr=n(27);function Jr(e,t){Object(l.a)(e)&&Object(l.a)(e.__schema)||Object(m.a)(0,'Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: '+Object(g.a)(e));for(var n=e.__schema,r=Object(Kr.a)(n.types,function(e){return e.name},function(e){return function(e){if(e&&e.name&&e.kind)switch(e.kind){case A.TypeKind.SCALAR:return n=e,new c.g({name:n.name,description:n.description});case A.TypeKind.OBJECT:return function(e){if(!e.interfaces)throw new Error(\"Introspection result missing interfaces: \"+Object(g.a)(e));return new c.f({name:e.name,description:e.description,interfaces:function(){return e.interfaces.map(E)},fields:function(){return C(e)}})}(e);case A.TypeKind.INTERFACE:return t=e,new c.c({name:t.name,description:t.description,fields:function(){return C(t)}});case A.TypeKind.UNION:return function(e){if(!e.possibleTypes)throw new Error(\"Introspection result missing possibleTypes: \"+Object(g.a)(e));return new c.h({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(b)}})}(e);case A.TypeKind.ENUM:return function(e){if(!e.enumValues)throw new Error(\"Introspection result missing enumValues: \"+Object(g.a)(e));return new c.a({name:e.name,description:e.description,values:Object(Kr.a)(e.enumValues,function(e){return e.name},function(e){return{description:e.description,deprecationReason:e.deprecationReason}})})}(e);case A.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields)throw new Error(\"Introspection result missing inputFields: \"+Object(g.a)(e));return new c.b({name:e.name,description:e.description,fields:function(){return w(e.inputFields)}})}(e)}var t;var n;throw new Error(\"Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema:\"+Object(g.a)(e))}(e)}),i=0,o=[].concat(p.g,A.introspectionTypes);i0?function(){return n.map(function(e){return t.getNamedType(e)})}:[],o=r&&r.length>0?function(){return Xr(r,function(e){return t.buildField(e)})}:Object.create(null);return new c.f({name:e.name.value,description:ei(e,this._options),interfaces:i,fields:o,astNode:e})},t._makeInterfaceDef=function(e){var t=this,n=e.fields,r=n&&n.length>0?function(){return Xr(n,function(e){return t.buildField(e)})}:Object.create(null);return new c.c({name:e.name.value,description:ei(e,this._options),fields:r,astNode:e})},t._makeEnumDef=function(e){var t=this,n=e.values||[];return new c.a({name:e.name.value,description:ei(e,this._options),values:Xr(n,function(e){return t.buildEnumValue(e)}),astNode:e})},t._makeUnionDef=function(e){var t=this,n=e.types,r=n&&n.length>0?function(){return n.map(function(e){return t.getNamedType(e)})}:[];return new c.h({name:e.name.value,description:ei(e,this._options),types:r,astNode:e})},t._makeScalarDef=function(e){return new c.g({name:e.name.value,description:ei(e,this._options),astNode:e})},t._makeInputObjectDef=function(e){var t=this,n=e.fields;return new c.b({name:e.name.value,description:ei(e,this._options),fields:n?function(){return Xr(n,function(e){return t.buildInputField(e)})}:Object.create(null),astNode:e})},e}();function Xr(e,t){return Object(Kr.a)(e,function(e){return e.name.value},t)}function Zr(e){var t=rr(D,e);return t&&t.reason}function ei(e,t){if(e.description)return e.description.value;if(t&&t.commentDescriptions){var n=function(e){var t=e.loc;if(!t)return;var n=[],r=t.startToken.prev;for(;r&&r.kind===re.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);n.push(i),r=r.prev}return n.reverse().join(\"\\n\")}(e);if(void 0!==n)return Object(ie.a)(\"\\n\"+n)}}function ti(e,t){return Qr(ge(e,t),t)}var ni=n(45);function ri(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:\"\";return 0===t.length?\"\":t.every(function(e){return!e.description})?\"(\"+t.map(Ci).join(\", \")+\")\":\"(\\n\"+t.map(function(t,r){return Di(e,t,\" \"+n,!r)+\" \"+n+Ci(t)}).join(\"\\n\")+\"\\n\"+n+\")\"}function Ci(e){var t=Object(fi.a)(e.defaultValue,e.type),n=e.name+\": \"+String(e.type);return t&&(n+=\" = \".concat(Object(kt.print)(t))),n}function wi(e){if(!e.isDeprecated)return\"\";var t=e.deprecationReason,n=Object(fi.a)(t,p.e);return n&&\"\"!==t&&t!==w?\" @deprecated(reason: \"+Object(kt.print)(n)+\")\":\" @deprecated\"}function Di(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t.description)return\"\";var i=function(e,t){var n=e.split(\"\\n\");return a(n,function(e){return e.length70;return(n&&!r?\"\\n\"+n:n)+Object(ie.c)(o,\"\",s).replace(/\\n/g,\"\\n\"+n)+\"\\n\"}var Si=n(100);function ki(e,t){var n=Kn(e,t).errors;return n?n.map(function(e){return e.message}):[]}function Ai(e,t){var n=new O({}),r={kind:me.a.DOCUMENT,definitions:[]},i=new dt(n,void 0,e),o=new Un(n,r,i),a=en(o);return Object(pt.c)(t,Object(pt.e)(i,a)),o.getErrors()}function Ti(e){return{kind:\"Document\",definitions:a(e,function(e){return e.definitions})}}function _i(e){var t,n=[],r=Object.create(null),i=new Map,o=Object.create(null),a=0;Object(pt.c)(e,{OperationDefinition:function(e){t=Oi(e),n.push(e),i.set(e,a++)},FragmentDefinition:function(e){t=e.name.value,r[t]=e,i.set(e,a++)},FragmentSpread:function(e){var n=e.name.value;(o[t]||(o[t]=Object.create(null)))[n]=!0}});for(var s=Object.create(null),u=0,c=n;u0&&(n=\"\\n\"+n);var i=n[n.length-1];return('\"'===i&&'\\\\\"\"\"'!==n.slice(-4)||\"\\\\\"===i)&&(n+=\"\\n\"),'\"\"\"'+n+'\"\"\"'}var Mi=Object.freeze({TYPE_REMOVED:\"TYPE_REMOVED\",TYPE_CHANGED_KIND:\"TYPE_CHANGED_KIND\",TYPE_REMOVED_FROM_UNION:\"TYPE_REMOVED_FROM_UNION\",VALUE_REMOVED_FROM_ENUM:\"VALUE_REMOVED_FROM_ENUM\",REQUIRED_INPUT_FIELD_ADDED:\"REQUIRED_INPUT_FIELD_ADDED\",INTERFACE_REMOVED_FROM_OBJECT:\"INTERFACE_REMOVED_FROM_OBJECT\",FIELD_REMOVED:\"FIELD_REMOVED\",FIELD_CHANGED_KIND:\"FIELD_CHANGED_KIND\",REQUIRED_ARG_ADDED:\"REQUIRED_ARG_ADDED\",ARG_REMOVED:\"ARG_REMOVED\",ARG_CHANGED_KIND:\"ARG_CHANGED_KIND\",DIRECTIVE_REMOVED:\"DIRECTIVE_REMOVED\",DIRECTIVE_ARG_REMOVED:\"DIRECTIVE_ARG_REMOVED\",REQUIRED_DIRECTIVE_ARG_ADDED:\"REQUIRED_DIRECTIVE_ARG_ADDED\",DIRECTIVE_LOCATION_REMOVED:\"DIRECTIVE_LOCATION_REMOVED\"}),ji=Object.freeze({VALUE_ADDED_TO_ENUM:\"VALUE_ADDED_TO_ENUM\",TYPE_ADDED_TO_UNION:\"TYPE_ADDED_TO_UNION\",OPTIONAL_INPUT_FIELD_ADDED:\"OPTIONAL_INPUT_FIELD_ADDED\",OPTIONAL_ARG_ADDED:\"OPTIONAL_ARG_ADDED\",INTERFACE_ADDED_TO_OBJECT:\"INTERFACE_ADDED_TO_OBJECT\",ARG_DEFAULT_VALUE_CHANGE:\"ARG_DEFAULT_VALUE_CHANGE\"});function Pi(e,t){return Ri(e,t).filter(function(e){return e.type in Mi})}function Li(e,t){return Ri(e,t).filter(function(e){return e.type in ji})}function Ri(e,t){return[].concat(function(e,t){var n=[],r=Qi(Object(s.a)(e.getTypeMap()),Object(s.a)(t.getTypeMap())),i=!0,o=!1,a=void 0;try{for(var u,l=r.removed[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var p=u.value;n.push({type:Mi.TYPE_REMOVED,description:\"\".concat(p.name,\" was removed.\")})}}catch(x){o=!0,a=x}finally{try{i||null==l.return||l.return()}finally{if(o)throw a}}var f=!0,d=!1,h=void 0;try{for(var m,g=r.persisted[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var v=m.value,y=v[0],b=v[1];Object(c.E)(y)&&Object(c.E)(b)?n.push.apply(n,zi(y,b)):Object(c.T)(y)&&Object(c.T)(b)?n.push.apply(n,Ui(y,b)):Object(c.F)(y)&&Object(c.F)(b)?n.push.apply(n,Bi(y,b)):Object(c.N)(y)&&Object(c.N)(b)?n.push.apply(n,Vi(y,b)):Object(c.H)(y)&&Object(c.H)(b)?n.push.apply(n,qi(y,b)):y.constructor!==b.constructor&&n.push({type:Mi.TYPE_CHANGED_KIND,description:\"\".concat(y.name,\" changed from \")+\"\".concat(Ki(y),\" to \").concat(Ki(b),\".\")})}}catch(x){d=!0,h=x}finally{try{f||null==g.return||g.return()}finally{if(d)throw h}}return n}(e,t),function(e,t){var n=[],r=Qi(e.getDirectives(),t.getDirectives()),i=!0,o=!1,a=void 0;try{for(var s,u=r.removed[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var l=s.value;n.push({type:Mi.DIRECTIVE_REMOVED,description:\"\".concat(l.name,\" was removed.\")})}}catch(R){o=!0,a=R}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}var p=!0,f=!1,d=void 0;try{for(var h,m=r.persisted[Symbol.iterator]();!(p=(h=m.next()).done);p=!0){var g=h.value,v=g[0],y=g[1],b=Qi(v.args,y.args),x=!0,E=!1,C=void 0;try{for(var w,D=b.added[Symbol.iterator]();!(x=(w=D.next()).done);x=!0){var S=w.value;Object(c.P)(S)&&n.push({type:Mi.REQUIRED_DIRECTIVE_ARG_ADDED,description:\"A required arg \".concat(S.name,\" on directive \").concat(v.name,\" was added.\")})}}catch(R){E=!0,C=R}finally{try{x||null==D.return||D.return()}finally{if(E)throw C}}var k=!0,A=!1,T=void 0;try{for(var _,O=b.removed[Symbol.iterator]();!(k=(_=O.next()).done);k=!0){var F=_.value;n.push({type:Mi.DIRECTIVE_ARG_REMOVED,description:\"\".concat(F.name,\" was removed from \").concat(v.name,\".\")})}}catch(R){A=!0,T=R}finally{try{k||null==O.return||O.return()}finally{if(A)throw T}}var N=!0,I=!1,M=void 0;try{for(var j,P=v.locations[Symbol.iterator]();!(N=(j=P.next()).done);N=!0){var L=j.value;-1===y.locations.indexOf(L)&&n.push({type:Mi.DIRECTIVE_LOCATION_REMOVED,description:\"\".concat(L,\" was removed from \").concat(v.name,\".\")})}}catch(R){I=!0,M=R}finally{try{N||null==P.return||P.return()}finally{if(I)throw M}}}}catch(R){f=!0,d=R}finally{try{p||null==m.return||m.return()}finally{if(f)throw d}}return n}(e,t))}function Bi(e,t){var n=[],r=Qi(Object(s.a)(e.getFields()),Object(s.a)(t.getFields())),i=!0,o=!1,a=void 0;try{for(var u,l=r.added[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var p=u.value;Object(c.Q)(p)?n.push({type:Mi.REQUIRED_INPUT_FIELD_ADDED,description:\"A required field \".concat(p.name,\" on input type \").concat(e.name,\" was added.\")}):n.push({type:ji.OPTIONAL_INPUT_FIELD_ADDED,description:\"An optional field \".concat(p.name,\" on input type \").concat(e.name,\" was added.\")})}}catch(k){o=!0,a=k}finally{try{i||null==l.return||l.return()}finally{if(o)throw a}}var f=!0,d=!1,h=void 0;try{for(var m,g=r.removed[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var v=m.value;n.push({type:Mi.FIELD_REMOVED,description:\"\".concat(e.name,\".\").concat(v.name,\" was removed.\")})}}catch(k){d=!0,h=k}finally{try{f||null==g.return||g.return()}finally{if(d)throw h}}var y=!0,b=!1,x=void 0;try{for(var E,C=r.persisted[Symbol.iterator]();!(y=(E=C.next()).done);y=!0){var w=E.value,D=w[0],S=w[1];Gi(D.type,S.type)||n.push({type:Mi.FIELD_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(D.name,\" changed type from \")+\"\".concat(String(D.type),\" to \").concat(String(S.type),\".\")})}}catch(k){b=!0,x=k}finally{try{y||null==C.return||C.return()}finally{if(b)throw x}}return n}function Ui(e,t){var n=[],r=Qi(e.getTypes(),t.getTypes()),i=!0,o=!1,a=void 0;try{for(var s,u=r.added[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;n.push({type:ji.TYPE_ADDED_TO_UNION,description:\"\".concat(c.name,\" was added to union type \").concat(e.name,\".\")})}}catch(g){o=!0,a=g}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var d,h=r.removed[Symbol.iterator]();!(l=(d=h.next()).done);l=!0){var m=d.value;n.push({type:Mi.TYPE_REMOVED_FROM_UNION,description:\"\".concat(m.name,\" was removed from union type \").concat(e.name,\".\")})}}catch(g){p=!0,f=g}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return n}function zi(e,t){var n=[],r=Qi(e.getValues(),t.getValues()),i=!0,o=!1,a=void 0;try{for(var s,u=r.added[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;n.push({type:ji.VALUE_ADDED_TO_ENUM,description:\"\".concat(c.name,\" was added to enum type \").concat(e.name,\".\")})}}catch(g){o=!0,a=g}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var d,h=r.removed[Symbol.iterator]();!(l=(d=h.next()).done);l=!0){var m=d.value;n.push({type:Mi.VALUE_REMOVED_FROM_ENUM,description:\"\".concat(m.name,\" was removed from enum type \").concat(e.name,\".\")})}}catch(g){p=!0,f=g}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return n}function Vi(e,t){var n=qi(e,t),r=Qi(e.getInterfaces(),t.getInterfaces()),i=!0,o=!1,a=void 0;try{for(var s,u=r.added[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;n.push({type:ji.INTERFACE_ADDED_TO_OBJECT,description:\"\".concat(c.name,\" added to interfaces implemented by \").concat(e.name,\".\")})}}catch(g){o=!0,a=g}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var d,h=r.removed[Symbol.iterator]();!(l=(d=h.next()).done);l=!0){var m=d.value;n.push({type:Mi.INTERFACE_REMOVED_FROM_OBJECT,description:\"\".concat(e.name,\" no longer implements interface \").concat(m.name,\".\")})}}catch(g){p=!0,f=g}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return n}function qi(e,t){var n=[],r=Qi(Object(s.a)(e.getFields()),Object(s.a)(t.getFields())),i=!0,o=!1,a=void 0;try{for(var u,c=r.removed[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var l=u.value;n.push({type:Mi.FIELD_REMOVED,description:\"\".concat(e.name,\".\").concat(l.name,\" was removed.\")})}}catch(b){o=!0,a=b}finally{try{i||null==c.return||c.return()}finally{if(o)throw a}}var p=!0,f=!1,d=void 0;try{for(var h,m=r.persisted[Symbol.iterator]();!(p=(h=m.next()).done);p=!0){var g=h.value,v=g[0],y=g[1];n.push.apply(n,Hi(e,v,y)),Wi(v.type,y.type)||n.push({type:Mi.FIELD_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(v.name,\" changed type from \")+\"\".concat(String(v.type),\" to \").concat(String(y.type),\".\")})}}catch(b){f=!0,d=b}finally{try{p||null==m.return||m.return()}finally{if(f)throw d}}return n}function Hi(e,t,n){var r=[],i=Qi(t.args,n.args),o=!0,a=!1,s=void 0;try{for(var u,l=i.removed[Symbol.iterator]();!(o=(u=l.next()).done);o=!0){var p=u.value;r.push({type:Mi.ARG_REMOVED,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(p.name,\" was removed.\")})}}catch(T){a=!0,s=T}finally{try{o||null==l.return||l.return()}finally{if(a)throw s}}var f=!0,d=!1,h=void 0;try{for(var m,g=i.persisted[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var v=m.value,y=v[0],b=v[1];if(Gi(y.type,b.type)){if(void 0!==y.defaultValue)if(void 0===b.defaultValue)r.push({type:ji.ARG_DEFAULT_VALUE_CHANGE,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(y.name,\" defaultValue was removed.\")});else{var x=Ji(y.defaultValue,y.type),E=Ji(b.defaultValue,b.type);x!==E&&r.push({type:ji.ARG_DEFAULT_VALUE_CHANGE,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(y.name,\" has changed defaultValue from \").concat(x,\" to \").concat(E,\".\")})}}else r.push({type:Mi.ARG_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(y.name,\" has changed type from \")+\"\".concat(String(y.type),\" to \").concat(String(b.type),\".\")})}}catch(T){d=!0,h=T}finally{try{f||null==g.return||g.return()}finally{if(d)throw h}}var C=!0,w=!1,D=void 0;try{for(var S,k=i.added[Symbol.iterator]();!(C=(S=k.next()).done);C=!0){var A=S.value;Object(c.P)(A)?r.push({type:Mi.REQUIRED_ARG_ADDED,description:\"A required arg \".concat(A.name,\" on \").concat(e.name,\".\").concat(t.name,\" was added.\")}):r.push({type:ji.OPTIONAL_ARG_ADDED,description:\"An optional arg \".concat(A.name,\" on \").concat(e.name,\".\").concat(t.name,\" was added.\")})}}catch(T){w=!0,D=T}finally{try{C||null==k.return||k.return()}finally{if(w)throw D}}return r}function Wi(e,t){return Object(c.J)(e)?Object(c.J)(t)&&Wi(e.ofType,t.ofType)||Object(c.L)(t)&&Wi(e,t.ofType):Object(c.L)(e)?Object(c.L)(t)&&Wi(e.ofType,t.ofType):Object(c.K)(t)&&e.name===t.name||Object(c.L)(t)&&Wi(e,t.ofType)}function Gi(e,t){return Object(c.J)(e)?Object(c.J)(t)&&Gi(e.ofType,t.ofType):Object(c.L)(e)?Object(c.L)(t)&&Gi(e.ofType,t.ofType)||!Object(c.L)(t)&&Gi(e.ofType,t):Object(c.K)(t)&&e.name===t.name}function Ki(e){if(Object(c.R)(e))return\"a Scalar type\";if(Object(c.N)(e))return\"an Object type\";if(Object(c.H)(e))return\"an Interface type\";if(Object(c.T)(e))return\"a Union type\";if(Object(c.E)(e))return\"an Enum type\";if(Object(c.F)(e))return\"an Input type\";throw new TypeError(\"Unexpected type: \".concat(Object(g.a)(e),\".\"))}function Ji(e,t){var n=Object(fi.a)(e,t);return null==n&&Object(m.a)(0),Object(kt.print)(n)}function Qi(e,t){var n=[],r=[],i=[],o=Object($t.a)(e,function(e){return e.name}),a=Object($t.a)(t,function(e){return e.name}),s=!0,u=!1,c=void 0;try{for(var l,p=e[Symbol.iterator]();!(s=(l=p.next()).done);s=!0){var f=l.value,d=a[f.name];void 0===d?r.push(f):i.push([f,d])}}catch(x){u=!0,c=x}finally{try{s||null==p.return||p.return()}finally{if(u)throw c}}var h=!0,m=!1,g=void 0;try{for(var v,y=t[Symbol.iterator]();!(h=(v=y.next()).done);h=!0){var b=v.value;void 0===o[b.name]&&n.push(b)}}catch(x){m=!0,g=x}finally{try{h||null==y.return||y.return()}finally{if(m)throw g}}return{added:n,persisted:i,removed:r}}function Yi(e,t){var n=[],r=new dt(e);return Object(pt.c)(t,Object(pt.e)(r,{Field:function(e){var t=r.getFieldDef();if(t&&t.isDeprecated){var i=r.getParentType();if(i){var o=t.deprecationReason;n.push(new I.a(\"The field \".concat(i.name,\".\").concat(t.name,\" is deprecated.\")+(o?\" \"+o:\"\"),e))}}},EnumValue:function(e){var t=r.getEnumValue();if(t&&t.isDeprecated){var i=Object(c.A)(r.getInputType());if(i){var o=t.deprecationReason;n.push(new I.a(\"The enum value \".concat(i.name,\".\").concat(t.name,\" is deprecated.\")+(o?\" \"+o:\"\"),e))}}}})),n}n.d(t,\"version\",function(){return\"14.4.2\"}),n.d(t,\"versionInfo\",function(){return r}),n.d(t,\"graphql\",function(){return Or}),n.d(t,\"graphqlSync\",function(){return Fr}),n.d(t,\"GraphQLSchema\",function(){return O}),n.d(t,\"GraphQLDirective\",function(){return x}),n.d(t,\"GraphQLScalarType\",function(){return c.g}),n.d(t,\"GraphQLObjectType\",function(){return c.f}),n.d(t,\"GraphQLInterfaceType\",function(){return c.c}),n.d(t,\"GraphQLUnionType\",function(){return c.h}),n.d(t,\"GraphQLEnumType\",function(){return c.a}),n.d(t,\"GraphQLInputObjectType\",function(){return c.b}),n.d(t,\"GraphQLList\",function(){return c.d}),n.d(t,\"GraphQLNonNull\",function(){return c.e}),n.d(t,\"specifiedScalarTypes\",function(){return p.g}),n.d(t,\"GraphQLInt\",function(){return p.d}),n.d(t,\"GraphQLFloat\",function(){return p.b}),n.d(t,\"GraphQLString\",function(){return p.e}),n.d(t,\"GraphQLBoolean\",function(){return p.a}),n.d(t,\"GraphQLID\",function(){return p.c}),n.d(t,\"specifiedDirectives\",function(){return S}),n.d(t,\"GraphQLIncludeDirective\",function(){return E}),n.d(t,\"GraphQLSkipDirective\",function(){return C}),n.d(t,\"GraphQLDeprecatedDirective\",function(){return D}),n.d(t,\"TypeKind\",function(){return A.TypeKind}),n.d(t,\"DEFAULT_DEPRECATION_REASON\",function(){return w}),n.d(t,\"introspectionTypes\",function(){return A.introspectionTypes}),n.d(t,\"__Schema\",function(){return A.__Schema}),n.d(t,\"__Directive\",function(){return A.__Directive}),n.d(t,\"__DirectiveLocation\",function(){return A.__DirectiveLocation}),n.d(t,\"__Type\",function(){return A.__Type}),n.d(t,\"__Field\",function(){return A.__Field}),n.d(t,\"__InputValue\",function(){return A.__InputValue}),n.d(t,\"__EnumValue\",function(){return A.__EnumValue}),n.d(t,\"__TypeKind\",function(){return A.__TypeKind}),n.d(t,\"SchemaMetaFieldDef\",function(){return A.SchemaMetaFieldDef}),n.d(t,\"TypeMetaFieldDef\",function(){return A.TypeMetaFieldDef}),n.d(t,\"TypeNameMetaFieldDef\",function(){return A.TypeNameMetaFieldDef}),n.d(t,\"isSchema\",function(){return T}),n.d(t,\"isDirective\",function(){return y}),n.d(t,\"isType\",function(){return c.S}),n.d(t,\"isScalarType\",function(){return c.R}),n.d(t,\"isObjectType\",function(){return c.N}),n.d(t,\"isInterfaceType\",function(){return c.H}),n.d(t,\"isUnionType\",function(){return c.T}),n.d(t,\"isEnumType\",function(){return c.E}),n.d(t,\"isInputObjectType\",function(){return c.F}),n.d(t,\"isListType\",function(){return c.J}),n.d(t,\"isNonNullType\",function(){return c.L}),n.d(t,\"isInputType\",function(){return c.G}),n.d(t,\"isOutputType\",function(){return c.O}),n.d(t,\"isLeafType\",function(){return c.I}),n.d(t,\"isCompositeType\",function(){return c.D}),n.d(t,\"isAbstractType\",function(){return c.C}),n.d(t,\"isWrappingType\",function(){return c.U}),n.d(t,\"isNullableType\",function(){return c.M}),n.d(t,\"isNamedType\",function(){return c.K}),n.d(t,\"isRequiredArgument\",function(){return c.P}),n.d(t,\"isRequiredInputField\",function(){return c.Q}),n.d(t,\"isSpecifiedScalarType\",function(){return p.f}),n.d(t,\"isIntrospectionType\",function(){return A.isIntrospectionType}),n.d(t,\"isSpecifiedDirective\",function(){return k}),n.d(t,\"assertSchema\",function(){return _}),n.d(t,\"assertDirective\",function(){return b}),n.d(t,\"assertType\",function(){return c.x}),n.d(t,\"assertScalarType\",function(){return c.w}),n.d(t,\"assertObjectType\",function(){return c.u}),n.d(t,\"assertInterfaceType\",function(){return c.o}),n.d(t,\"assertUnionType\",function(){return c.y}),n.d(t,\"assertEnumType\",function(){return c.l}),n.d(t,\"assertInputObjectType\",function(){return c.m}),n.d(t,\"assertListType\",function(){return c.q}),n.d(t,\"assertNonNullType\",function(){return c.s}),n.d(t,\"assertInputType\",function(){return c.n}),n.d(t,\"assertOutputType\",function(){return c.v}),n.d(t,\"assertLeafType\",function(){return c.p}),n.d(t,\"assertCompositeType\",function(){return c.k}),n.d(t,\"assertAbstractType\",function(){return c.j}),n.d(t,\"assertWrappingType\",function(){return c.z}),n.d(t,\"assertNullableType\",function(){return c.t}),n.d(t,\"assertNamedType\",function(){return c.r}),n.d(t,\"getNullableType\",function(){return c.B}),n.d(t,\"getNamedType\",function(){return c.A}),n.d(t,\"validateSchema\",function(){return U}),n.d(t,\"assertValidSchema\",function(){return z}),n.d(t,\"Source\",function(){return te}),n.d(t,\"getLocation\",function(){return Ir.a}),n.d(t,\"printLocation\",function(){return Mr.a}),n.d(t,\"printSourceLocation\",function(){return Mr.b}),n.d(t,\"createLexer\",function(){return oe}),n.d(t,\"TokenKind\",function(){return re}),n.d(t,\"parse\",function(){return ge}),n.d(t,\"parseValue\",function(){return ve}),n.d(t,\"parseType\",function(){return ye}),n.d(t,\"print\",function(){return kt.print}),n.d(t,\"visit\",function(){return pt.c}),n.d(t,\"visitInParallel\",function(){return pt.d}),n.d(t,\"visitWithTypeInfo\",function(){return pt.e}),n.d(t,\"getVisitFn\",function(){return pt.b}),n.d(t,\"BREAK\",function(){return pt.a}),n.d(t,\"Kind\",function(){return me.a}),n.d(t,\"DirectiveLocation\",function(){return v.a}),n.d(t,\"isDefinitionNode\",function(){return wt.a}),n.d(t,\"isExecutableDefinitionNode\",function(){return wt.b}),n.d(t,\"isSelectionNode\",function(){return wt.c}),n.d(t,\"isValueNode\",function(){return wt.i}),n.d(t,\"isTypeNode\",function(){return wt.f}),n.d(t,\"isTypeSystemDefinitionNode\",function(){return wt.g}),n.d(t,\"isTypeDefinitionNode\",function(){return wt.d}),n.d(t,\"isTypeSystemExtensionNode\",function(){return wt.h}),n.d(t,\"isTypeExtensionNode\",function(){return wt.e}),n.d(t,\"execute\",function(){return or}),n.d(t,\"defaultFieldResolver\",function(){return Tr}),n.d(t,\"defaultTypeResolver\",function(){return Ar}),n.d(t,\"responsePathAsArray\",function(){return sr}),n.d(t,\"getDirectiveValues\",function(){return rr}),n.d(t,\"subscribe\",function(){return Rr}),n.d(t,\"createSourceEventStream\",function(){return zr}),n.d(t,\"validate\",function(){return zn}),n.d(t,\"ValidationContext\",function(){return Un}),n.d(t,\"specifiedRules\",function(){return jn}),n.d(t,\"FieldsOnCorrectTypeRule\",function(){return Ot}),n.d(t,\"FragmentsOnCompositeTypesRule\",function(){return At}),n.d(t,\"KnownArgumentNamesRule\",function(){return Kt}),n.d(t,\"KnownDirectivesRule\",function(){return Vt}),n.d(t,\"KnownFragmentNamesRule\",function(){return Nt.KnownFragmentNames}),n.d(t,\"KnownTypeNamesRule\",function(){return Dt}),n.d(t,\"LoneAnonymousOperationRule\",function(){return vt}),n.d(t,\"NoFragmentCyclesRule\",function(){return Pt}),n.d(t,\"NoUndefinedVariablesRule\",function(){return Bt}),n.d(t,\"NoUnusedFragmentsRule\",function(){return It.NoUnusedFragments}),n.d(t,\"NoUnusedVariablesRule\",function(){return zt}),n.d(t,\"OverlappingFieldsCanBeMergedRule\",function(){return dn}),n.d(t,\"PossibleFragmentSpreadsRule\",function(){return Mt}),n.d(t,\"ProvidedRequiredArgumentsRule\",function(){return an}),n.d(t,\"ScalarLeafsRule\",function(){return _t}),n.d(t,\"SingleFieldSubscriptionsRule\",function(){return yt}),n.d(t,\"UniqueArgumentNamesRule\",function(){return Qt}),n.d(t,\"UniqueDirectivesPerLocationRule\",function(){return Ht}),n.d(t,\"UniqueFragmentNamesRule\",function(){return Ft}),n.d(t,\"UniqueInputFieldNamesRule\",function(){return wn}),n.d(t,\"UniqueOperationNamesRule\",function(){return gt}),n.d(t,\"UniqueVariableNamesRule\",function(){return Lt}),n.d(t,\"ValuesOfCorrectTypeRule\",function(){return en}),n.d(t,\"VariablesAreInputTypesRule\",function(){return Tt}),n.d(t,\"VariablesInAllowedPositionRule\",function(){return ln}),n.d(t,\"GraphQLError\",function(){return I.a}),n.d(t,\"syntaxError\",function(){return ne}),n.d(t,\"locatedError\",function(){return Hn}),n.d(t,\"printError\",function(){return I.b}),n.d(t,\"formatError\",function(){return Vr}),n.d(t,\"getIntrospectionQuery\",function(){return qr}),n.d(t,\"introspectionQuery\",function(){return Hr}),n.d(t,\"getOperationAST\",function(){return Wr.getOperationAST}),n.d(t,\"getOperationRootType\",function(){return Gn}),n.d(t,\"introspectionFromSchema\",function(){return Gr}),n.d(t,\"buildClientSchema\",function(){return Jr}),n.d(t,\"buildASTSchema\",function(){return Qr}),n.d(t,\"buildSchema\",function(){return ti}),n.d(t,\"getDescription\",function(){return ei}),n.d(t,\"extendSchema\",function(){return oi}),n.d(t,\"lexicographicSortSchema\",function(){return ui}),n.d(t,\"printSchema\",function(){return di}),n.d(t,\"printType\",function(){return yi}),n.d(t,\"printIntrospectionSchema\",function(){return hi}),n.d(t,\"typeFromAST\",function(){return ft}),n.d(t,\"valueFromAST\",function(){return er}),n.d(t,\"valueFromASTUntyped\",function(){return Si.a}),n.d(t,\"astFromValue\",function(){return fi.a}),n.d(t,\"TypeInfo\",function(){return dt}),n.d(t,\"coerceValue\",function(){return Kn}),n.d(t,\"isValidJSValue\",function(){return ki}),n.d(t,\"isValidLiteralValue\",function(){return Ai}),n.d(t,\"concatAST\",function(){return Ti}),n.d(t,\"separateOperations\",function(){return _i}),n.d(t,\"stripIgnoredCharacters\",function(){return Ni}),n.d(t,\"isEqualType\",function(){return L}),n.d(t,\"isTypeSubTypeOf\",function(){return R}),n.d(t,\"doTypesOverlap\",function(){return B}),n.d(t,\"assertValidName\",function(){return j}),n.d(t,\"isValidNameError\",function(){return P}),n.d(t,\"BreakingChangeType\",function(){return Mi}),n.d(t,\"DangerousChangeType\",function(){return ji}),n.d(t,\"findBreakingChanges\",function(){return Pi}),n.d(t,\"findDangerousChanges\",function(){return Li}),n.d(t,\"findDeprecatedUsages\",function(){return Yi})},function(e,t,n){\"use strict\";n.d(t,\"b\",function(){return i}),n.d(t,\"a\",function(){return o}),n.d(t,\"c\",function(){return a});var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0||(i[n]=e[n]);return i}var h=n(195),m=n.n(h),g=n(26),v=n.n(g),y=n(66),b=null,x={notify:function(){}};var E=function(){function e(e,t,n){this.store=e,this.parentSub=t,this.onStateChange=n,this.unsubscribe=null,this.listeners=x}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.onStateChange):this.store.subscribe(this.onStateChange),this.listeners=function(){var e=[],t=[];return{clear:function(){t=b,e=b},notify:function(){for(var n=e=t,r=0;r, or explicitly pass \"'+T+'\" as a prop to \"'+o+'\".'),r.initSelector(),r.initSubscription(),r}r(s,n);var u=s.prototype;return u.getChildContext=function(){var e,t=this.propsMode?null:this.subscription;return(e={})[N]=t||this.context[N],e},u.componentDidMount=function(){k&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},u.componentWillReceiveProps=function(e){this.selector.run(e)},u.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},u.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=D,this.store=null,this.selector.run=D,this.selector.shouldComponentUpdate=!1},u.getWrappedInstance=function(){return v()(O,\"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the \"+g+\"() call.\"),this.wrappedInstance},u.setWrappedInstance=function(e){this.wrappedInstance=e},u.initSelector=function(){var t=e(this.store.dispatch,a);this.selector=function(e,t){var n={run:function(r){try{var i=e(t.getState(),r);(i!==n.props||n.error)&&(n.shouldComponentUpdate=!0,n.props=i,n.error=null)}catch(o){n.shouldComponentUpdate=!0,n.error=o}}};return n}(t,this.store),this.selector.run(this.props)},u.initSubscription=function(){if(k){var e=(this.propsMode?this.props:this.context)[N];this.subscription=new E(this.store,e,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},u.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(w)):this.notifyNestedSubs()},u.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},u.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},u.addExtraProps=function(e){if(!O&&!x&&(!this.propsMode||!this.subscription))return e;var t=f({},e);return O&&(t.ref=this.setWrappedInstance),x&&(t[x]=this.renderCount++),this.propsMode&&this.subscription&&(t[N]=this.subscription),t},u.render=function(){var e=this.selector;if(e.shouldComponentUpdate=!1,e.error)throw e.error;return Object(i.createElement)(t,this.addExtraProps(e.props))},s}(i.Component);return s.WrappedComponent=t,s.displayName=o,s.childContextTypes=j,s.contextTypes=M,s.propTypes=M,m()(s,t)}}var k=Object.prototype.hasOwnProperty;function A(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function T(e,t){if(A(e,t))return!0;if(\"object\"!==typeof e||null===e||\"object\"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error(\"Invalid value of type \"+typeof e+\" for \"+n+\" argument when connecting component \"+r.wrappedComponentName+\".\")}}function z(e,t){return e===t}var V=function(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?S:n,i=t.mapStateToPropsFactories,o=void 0===i?M:i,a=t.mapDispatchToPropsFactories,s=void 0===a?I:a,u=t.mergePropsFactories,c=void 0===u?P:u,l=t.selectorFactory,p=void 0===l?B:l;return function(e,t,n,i){void 0===i&&(i={});var a=i,u=a.pure,l=void 0===u||u,h=a.areStatesEqual,m=void 0===h?z:h,g=a.areOwnPropsEqual,v=void 0===g?T:g,y=a.areStatePropsEqual,b=void 0===y?T:y,x=a.areMergedPropsEqual,E=void 0===x?T:x,C=d(a,[\"pure\",\"areStatesEqual\",\"areOwnPropsEqual\",\"areStatePropsEqual\",\"areMergedPropsEqual\"]),w=U(e,o,\"mapStateToProps\"),D=U(t,s,\"mapDispatchToProps\"),S=U(n,c,\"mergeProps\");return r(p,f({methodName:\"connect\",getDisplayName:function(e){return\"Connect(\"+e+\")\"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:w,initMapDispatchToProps:D,initMergeProps:S,pure:l,areStatesEqual:m,areOwnPropsEqual:v,areStatePropsEqual:b,areMergedPropsEqual:E},C))}}();n.d(t,\"Provider\",function(){return l}),n.d(t,\"createProvider\",function(){return c}),n.d(t,\"connectAdvanced\",function(){return S}),n.d(t,\"connect\",function(){return V})},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",function(){return s}),n.d(t,\"b\",function(){return u});var r=n(18),i=\"Invariant Violation\",o=Object.setPrototypeOf,a=void 0===o?function(e,t){return e.__proto__=t,e}:o,s=function(e){function t(n){void 0===n&&(n=i);var r=e.call(this,\"number\"===typeof n?i+\": \"+n+\" (see https://github.com/apollographql/invariant-packages)\":n)||this;return r.framesToPop=1,r.name=i,a(r,t.prototype),r}return Object(r.b)(t,e),t}(Error);function u(e,t){if(!e)throw new s(t)}function c(e){return function(){return console[e].apply(console,arguments)}}!function(e){e.warn=c(\"warn\"),e.error=c(\"error\")}(u||(u={}));var l={env:{}};if(\"object\"===typeof e)l=e;else try{Function(\"stub\",\"process = stub\")(l)}catch(p){}}).call(this,n(69))},function(e,t,n){\"use strict\";function r(e,t){return e===t}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=null,i=null;return function(){return function(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,i=0;i1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:a;if(\"object\"!==typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map(function(t){return e[t]}),function(){for(var e=arguments.length,t=Array(e),r=0;r>>0;if(\"\"+n!==t||4294967295===n)return NaN;t=n}return t<0?c(e)+t:t}function p(){return!0}function f(e,t,n){return(0===e&&!g(e)||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function d(e,t){return m(e,t,0)}function h(e,t){return m(e,t,t)}function m(e,t,n){return void 0===e?n:g(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function g(e){return e<0||0===e&&1/e===-1/0}var v=\"@@__IMMUTABLE_ITERABLE__@@\";function y(e){return Boolean(e&&e[v])}var b=\"@@__IMMUTABLE_KEYED__@@\";function x(e){return Boolean(e&&e[b])}var E=\"@@__IMMUTABLE_INDEXED__@@\";function C(e){return Boolean(e&&e[E])}function w(e){return x(e)||C(e)}var D=function(e){return y(e)?e:Y(e)},S=function(e){function t(e){return x(e)?e:$(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(D),k=function(e){function t(e){return C(e)?e:X(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(D),A=function(e){function t(e){return y(e)&&!w(e)?e:Z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(D);D.Keyed=S,D.Indexed=k,D.Set=A;var T=\"@@__IMMUTABLE_SEQ__@@\";function _(e){return Boolean(e&&e[T])}var O=\"@@__IMMUTABLE_RECORD__@@\";function F(e){return Boolean(e&&e[O])}function N(e){return y(e)||F(e)}var I=\"@@__IMMUTABLE_ORDERED__@@\";function M(e){return Boolean(e&&e[I])}var j=0,P=1,L=2,R=\"function\"===typeof Symbol&&Symbol.iterator,B=\"@@iterator\",U=R||B,z=function(e){this.next=e};function V(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function q(){return{value:void 0,done:!0}}function H(e){return!!K(e)}function W(e){return e&&\"function\"===typeof e.next}function G(e){var t=K(e);return t&&t.call(e)}function K(e){var t=e&&(R&&e[R]||e[B]);if(\"function\"===typeof t)return t}z.prototype.toString=function(){return\"[Iterator]\"},z.KEYS=j,z.VALUES=P,z.ENTRIES=L,z.prototype.inspect=z.prototype.toSource=function(){return this.toString()},z.prototype[U]=function(){return this};var J=Object.prototype.hasOwnProperty;function Q(e){return!(!Array.isArray(e)&&\"string\"!==typeof e)||e&&\"object\"===typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var Y=function(e){function t(e){return null===e||void 0===e?ie():N(e)?e.toSeq():function(e){var t=se(e);if(t)return t;if(\"object\"===typeof e)return new te(e);throw new TypeError(\"Expected Array or collection object of values, or keyed object: \"+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var n=this._cache;if(n){for(var r=n.length,i=0;i!==r;){var o=n[t?r-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var n=this._cache;if(n){var r=n.length,i=0;return new z(function(){if(i===r)return{value:void 0,done:!0};var o=n[t?r-++i:i++];return V(e,o[0],o[1])})}return this.__iteratorUncached(e,t)},t}(D),$=function(e){function t(e){return null===e||void 0===e?ie().toKeyedSeq():y(e)?x(e)?e.toSeq():e.fromEntrySeq():F(e)?e.toSeq():oe(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(Y),X=function(e){function t(e){return null===e||void 0===e?ie():y(e)?x(e)?e.entrySeq():e.toIndexedSeq():F(e)?e.toSeq().entrySeq():ae(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},t}(Y),Z=function(e){function t(e){return(y(e)&&!w(e)?e:X(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(Y);Y.isSeq=_,Y.Keyed=$,Y.Set=Z,Y.Indexed=X,Y.prototype[T]=!0;var ee=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[l(this,e)]:t},t.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length,i=0;i!==r;){var o=t?r-++i:i++;if(!1===e(n[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var n=this._array,r=n.length,i=0;return new z(function(){if(i===r)return{value:void 0,done:!0};var o=t?r-++i:i++;return V(e,o,n[o])})},t}(X),te=function(e){function t(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return J.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length,o=0;o!==i;){var a=r[t?i-++o:o++];if(!1===e(n[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length,o=0;return new z(function(){if(o===i)return{value:void 0,done:!0};var a=r[t?i-++o:o++];return V(e,a,n[a])})},t}($);te.prototype[I]=!0;var ne,re=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=G(this._collection),r=0;if(W(n))for(var i;!(i=n.next()).done&&!1!==e(i.value,r++,this););return r},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=G(this._collection);if(!W(n))return new z(q);var r=0;return new z(function(){var t=n.next();return t.done?t:V(e,r++,t.value)})},t}(X);function ie(){return ne||(ne=new ee([]))}function oe(e){var t=Array.isArray(e)?new ee(e):H(e)?new re(e):void 0;if(t)return t.fromEntrySeq();if(\"object\"===typeof e)return new te(e);throw new TypeError(\"Expected Array or collection object of [k, v] entries, or keyed object: \"+e)}function ae(e){var t=se(e);if(t)return t;throw new TypeError(\"Expected Array or collection object of values: \"+e)}function se(e){return Q(e)?new ee(e):H(e)?new re(e):void 0}var ue=\"@@__IMMUTABLE_MAP__@@\";function ce(e){return Boolean(e&&e[ue])}function le(e){return ce(e)&&M(e)}function pe(e){return Boolean(e&&\"function\"===typeof e.equals&&\"function\"===typeof e.hashCode)}function fe(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if(\"function\"===typeof e.valueOf&&\"function\"===typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!!(pe(e)&&pe(t)&&e.equals(t))}var de=\"function\"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function he(e){return e>>>1&1073741824|3221225471&e}var me=Object.prototype.valueOf;function ge(e){switch(typeof e){case\"boolean\":return e?1108378657:1108378656;case\"number\":return function(e){if(e!==e||e===1/0)return 0;var t=0|e;t!==e&&(t^=4294967295*e);for(;e>4294967295;)t^=e/=4294967295;return he(t)}(e);case\"string\":return e.length>De?function(e){var t=Ae[e];void 0===t&&(t=ve(e),ke===Se&&(ke=0,Ae={}),ke++,Ae[e]=t);return t}(e):ve(e);case\"object\":case\"function\":return null===e?1108378658:\"function\"===typeof e.hashCode?he(e.hashCode(e)):(e.valueOf!==me&&\"function\"===typeof e.valueOf&&(e=e.valueOf(e)),function(e){var t;if(Ee&&void 0!==(t=xe.get(e)))return t;if(void 0!==(t=e[we]))return t;if(!be){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[we]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}t=++Ce,1073741824&Ce&&(Ce=0);if(Ee)xe.set(e,t);else{if(void 0!==ye&&!1===ye(e))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(be)Object.defineProperty(e,we,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[we]=t;else{if(void 0===e.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");e[we]=t}}return t}(e));case\"undefined\":return 1108378659;default:if(\"function\"===typeof e.toString)return ve(e.toString());throw new Error(\"Value type \"+typeof e+\" cannot be hashed.\")}}function ve(e){for(var t=0,n=0;n=0&&(c.get=function(t,n){return(t=l(this,t))>=0&&ts)return{value:void 0,done:!0};var e=i.next();return r||t===P||e.done?e:V(t,u-1,t===j?void 0:e.value[1],e)})},c}function Le(e,t,n,r){var i=Ge(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate(function(e,o,c){if(!s||!(s=t.call(n,e,o,c)))return u++,i(e,r?o:u-1,a)}),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(L,o),u=!0,c=0;return new z(function(){var e,o,l;do{if((e=s.next()).done)return r||i===P?e:V(i,c++,i===j?void 0:e.value[1],e);var p=e.value;o=p[0],l=p[1],u&&(u=t.call(n,l,o,a))}while(u);return i===L?e:V(i,o,l,e)})},i}function Re(e,t,n){var r=Ge(e);return r.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(u,c){u.__iterate(function(o,u){return(!t||c0}function Ve(e,t,n,r){var i=Ge(e),o=new ee(n).map(function(e){return e.size});return i.size=r?o.max():o.min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(P,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=n.map(function(e){return e=D(e),G(i?e.reverse():e)}),a=0,s=!1;return new z(function(){var n;return s||(n=o.map(function(e){return e.next()}),s=r?n.every(function(e){return e.done}):n.some(function(e){return e.done})),s?{value:void 0,done:!0}:V(e,a++,t.apply(null,n.map(function(e){return e.value})))})},i}function qe(e,t){return e===t?e:_(e)?t:e.constructor(t)}function He(e){if(e!==Object(e))throw new TypeError(\"Expected [K, V] tuple: \"+e)}function We(e){return x(e)?S:C(e)?k:A}function Ge(e){return Object.create((x(e)?$:C(e)?X:Z).prototype)}function Ke(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Y.prototype.cacheResult.call(this)}function Je(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[n]=arguments[n+1];if(\"function\"!==typeof e)throw new TypeError(\"Invalid merger function: \"+e);return vt(this,t,e)}function vt(e,t,n){for(var r=[],i=0;i0;)t[n]=arguments[n+1];return wt(e,t)}function bt(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return wt(t,n,e)}function xt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Ct(e,t)}function Et(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return Ct(t,n,e)}function Ct(e,t,n){return wt(e,t,function(e){return function t(n,r,i){return et(n)&&et(r)?wt(n,[r],t):e?e(n,r,i):r}}(n))}function wt(e,t,n){if(!et(e))throw new TypeError(\"Cannot merge into non-data-structure value: \"+e);if(N(e))return\"function\"===typeof n&&e.mergeWith?e.mergeWith.apply(e,[n].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var r=Array.isArray(e),i=e,o=r?k:S,a=r?function(t){i===e&&(i=it(i)),i.push(t)}:function(t,r){var o=J.call(i,r),a=o&&n?n(i[r],t,r):t;o&&a===i[r]||(i===e&&(i=it(i)),i[r]=a)},s=0;s0;)t[n]=arguments[n+1];return Ct(this,t,e)}function kt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return st(this,e,Ht(),function(e){return wt(e,t)})}function At(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return st(this,e,Ht(),function(e){return Ct(e,t)})}function Tt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function _t(){return this.__ownerID?this:this.__ensureOwner(new u)}function Ot(){return this.__ensureOwner()}function Ft(){return this.__altered}_e.prototype.cacheResult=Te.prototype.cacheResult=Oe.prototype.cacheResult=Fe.prototype.cacheResult=Ke;var Nt=function(e){function t(t){return null===t||void 0===t?Ht():ce(t)&&!M(t)?t:Ht().withMutations(function(n){var r=e(t);$e(r.size),r.forEach(function(e,t){return n.set(t,e)})})}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Ht().withMutations(function(t){for(var n=0;n=e.length)throw new Error(\"Missing value for key: \"+e[n]);t.set(e[n],e[n+1])}})},t.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return Wt(this,e,t)},t.prototype.remove=function(e){return Wt(this,e,a)},t.prototype.deleteAll=function(e){var t=D(e);return 0===t.size?this:this.withMutations(function(e){t.forEach(function(t){return e.remove(t)})})},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Ht()},t.prototype.sort=function(e){return vn(Be(this,e))},t.prototype.sortBy=function(e,t){return vn(Be(this,t,e))},t.prototype.map=function(e,t){return this.withMutations(function(n){n.forEach(function(r,i){n.set(i,e.call(t,r,i,n))})})},t.prototype.__iterator=function(e,t){return new Ut(this,e,t)},t.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?qt(this.size,this._root,e,this.__hash):0===this.size?Ht():(this.__ownerID=e,this.__altered=!1,this)},t}(S);Nt.isMap=ce;var It=Nt.prototype;It[ue]=!0,It.delete=It.remove,It.removeAll=It.deleteAll,It.setIn=ct,It.removeIn=It.deleteIn=pt,It.update=dt,It.updateIn=ht,It.merge=It.concat=mt,It.mergeWith=gt,It.mergeDeep=Dt,It.mergeDeepWith=St,It.mergeIn=kt,It.mergeDeepIn=At,It.withMutations=Tt,It.wasAltered=Ft,It.asImmutable=Ot,It[\"@@transducer/init\"]=It.asMutable=_t,It[\"@@transducer/step\"]=function(e,t){return e.set(t[0],t[1])},It[\"@@transducer/result\"]=function(e){return e.asImmutable()};var Mt=function(e,t){this.ownerID=e,this.entries=t};Mt.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o=$t)return function(e,t,n,r){e||(e=new u);for(var i=new Rt(e,ge(n),[n,r]),o=0;o>>e)&o),s=this.bitmap;return 0===(s&a)?i:this.nodes[Qt(s&a-1)].get(e+r,t,n,i)},jt.prototype.update=function(e,t,n,s,u,c,l){void 0===n&&(n=ge(s));var p=(0===t?n:n>>>t)&o,f=1<=Xt)return function(e,t,n,r,o){for(var a=0,s=new Array(i),u=0;0!==n;u++,n>>>=1)s[u]=1&n?t[a++]:void 0;return s[r]=o,new Pt(e,a+1,s)}(e,g,d,p,y);if(h&&!y&&2===g.length&&Kt(g[1^m]))return g[1^m];if(h&&y&&1===g.length&&Kt(y))return y;var b=e&&e===this.ownerID,x=h?y?d:d^f:d|f,E=h?y?Yt(g,m,y,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a>>e)&o,s=this.nodes[a];return s?s.get(e+r,t,n,i):i},Pt.prototype.update=function(e,t,n,i,s,u,c){void 0===n&&(n=ge(i));var l=(0===t?n:n>>>t)&o,p=s===a,f=this.nodes,d=f[l];if(p&&!d)return this;var h=Gt(d,e,t+r,n,i,s,u,c);if(h===d)return this;var m=this.count;if(d){if(!h&&--m>>n)&o,c=(0===n?i:i>>>n)&o,l=u===c?[Jt(e,t,n+r,i,a)]:(s=new Rt(t,i,a),u>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Yt(e,t,n,r){var i=r?e:Qe(e);return i[t]=n,i}var $t=i/4,Xt=i/2,Zt=i/4,en=\"@@__IMMUTABLE_LIST__@@\";function tn(e){return Boolean(e&&e[en])}var nn=function(e){function t(t){var n=ln();if(null===t||void 0===t)return n;if(tn(t))return t;var o=e(t),a=o.size;return 0===a?n:($e(a),a>0&&a=0&&e=e.size||t<0)return e.withMutations(function(e){t<0?hn(e,t).set(0,n):hn(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,i=e._root,o={value:!1};t>=mn(e._capacity)?r=pn(r,e.__ownerID,0,t,n,o):i=pn(i,e.__ownerID,e._level,t,n,o);if(!o.value)return e;if(e.__ownerID)return e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e;return cn(e._origin,e._capacity,e._level,i,r)}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=r,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):ln()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){hn(n,0,t+e.length);for(var r=0;r>>t&o;if(i>=this.array.length)return new on([],e);var a,s=0===i;if(t>0){var u=this.array[i];if((a=u&&u.removeBefore(e,t-r,n))===u&&s)return this}if(s&&!a)return this;var c=fn(this,e);if(!s)for(var l=0;l>>t&o;if(a>=this.array.length)return this;if(t>0){var s=this.array[a];if((i=s&&s.removeAfter(e,t-r,n))===s&&a===this.array.length-1)return this}var u=fn(this,e);return u.array.splice(a+1),i&&(u.array[a]=i),u};var an,sn={};function un(e,t){var n=e._origin,o=e._capacity,a=mn(o),s=e._tail;return u(e._root,e._level,0);function u(e,c,l){return 0===c?function(e,r){var u=r===a?s&&s.array:e&&e.array,c=r>n?0:n-r,l=o-r;l>i&&(l=i);return function(){if(c===l)return sn;var e=t?--l:c++;return u&&u[e]}}(e,l):function(e,a,s){var c,l=e&&e.array,p=s>n?0:n-s>>a,f=1+(o-s>>a);f>i&&(f=i);return function(){for(;;){if(c){var e=c();if(e!==sn)return e;c=null}if(p===f)return sn;var n=t?--f:p++;c=u(l&&l[n],a-r,s+(n<>>n&o,p=e&&l0){var f=e&&e.array[l],d=pn(f,t,n-r,i,a,u);return d===f?e:((c=fn(e,t)).array[l]=d,c)}return p&&e.array[l]===a?e:(u&&s(u),c=fn(e,t),void 0===a&&l===c.array.length-1?c.array.pop():c.array[l]=a,c)}function fn(e,t){return t&&e&&t===e.ownerID?e:new on(e?e.array.slice():[],t)}function dn(e,t){if(t>=mn(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>i&o],i-=r;return n}}function hn(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var i=e.__ownerID||new u,a=e._origin,s=e._capacity,c=a+t,l=void 0===n?s:n<0?s+n:a+n;if(c===a&&l===s)return e;if(c>=l)return e.clear();for(var p=e._level,f=e._root,d=0;c+d<0;)f=new on(f&&f.array.length?[void 0,f]:[],i),d+=1<<(p+=r);d&&(c+=d,a+=d,l+=d,s+=d);for(var h=mn(s),m=mn(l);m>=1<h?new on([],i):g;if(g&&m>h&&cr;b-=r){var x=h>>>b&o;y=y.array[x]=fn(y.array[x],i)}y.array[h>>>r&o]=g}if(l=m)c-=m,l-=m,p=r,f=null,v=v&&v.removeBefore(i,0,c);else if(c>a||m>>p&o;if(E!==m>>>p&o)break;E&&(d+=(1<a&&(f=f.removeBefore(i,p,c-d)),f&&m>>r<=i&&u.size>=2*s.size?(r=(o=u.filter(function(e,t){return void 0!==e&&c!==t})).toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=s.remove(t),o=c===u.size-1?u.pop():u.set(c,void 0))}else if(l){if(n===u.get(c)[1])return e;r=s,o=u.set(c,[t,n])}else r=s.set(t,u.size),o=u.set(u.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):yn(r,o)}vn.isOrderedMap=le,vn.prototype[I]=!0,vn.prototype.delete=vn.prototype.remove;var En=\"@@__IMMUTABLE_STACK__@@\";function Cn(e){return Boolean(e&&e[En])}var wn=function(e){function t(e){return null===e||void 0===e?An():Cn(e)?e:An().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},t.prototype.get=function(e,t){var n=this._head;for(e=l(this,e);n&&e--;)n=n.next;return n?n.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,n=this._head,r=arguments.length-1;r>=0;r--)n={value:e[r],next:n};return this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):kn(t,n)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&Cn(t))return t;$e(t.size);var n=this.size,r=this._head;return t.__iterate(function(e){n++,r={value:e,next:r}},!0),this.__ownerID?(this.size=n,this._head=r,this.__hash=void 0,this.__altered=!0,this):kn(n,r)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):An()},t.prototype.slice=function(t,n){if(f(t,n,this.size))return this;var r=d(t,this.size);if(h(n,this.size)!==this.size)return e.prototype.slice.call(this,t,n);for(var i=this.size-r,o=this._head;r--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):kn(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?kn(this.size,this._head,e,this.__hash):0===this.size?An():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var n=this;if(t)return new ee(this.toArray()).__iterate(function(t,r){return e(t,r,n)},t);for(var r=0,i=this._head;i&&!1!==e(i.value,r++,this);)i=i.next;return r},t.prototype.__iterator=function(e,t){if(t)return new ee(this.toArray()).__iterator(e,t);var n=0,r=this._head;return new z(function(){if(r){var t=r.value;return r=r.next,V(e,n++,t)}return{value:void 0,done:!0}})},t}(k);wn.isStack=Cn;var Dn,Sn=wn.prototype;function kn(e,t,n,r){var i=Object.create(Sn);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function An(){return Dn||(Dn=kn(0))}Sn[En]=!0,Sn.shift=Sn.pop,Sn.unshift=Sn.push,Sn.unshiftAll=Sn.pushAll,Sn.withMutations=Tt,Sn.wasAltered=Ft,Sn.asImmutable=Ot,Sn[\"@@transducer/init\"]=Sn.asMutable=_t,Sn[\"@@transducer/step\"]=function(e,t){return e.unshift(t)},Sn[\"@@transducer/result\"]=function(e){return e.asImmutable()};var Tn=\"@@__IMMUTABLE_SET__@@\";function _n(e){return Boolean(e&&e[Tn])}function On(e){return _n(e)&&M(e)}function Fn(e,t){if(e===t)return!0;if(!y(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||x(e)!==x(t)||C(e)!==C(t)||M(e)!==M(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!w(e);if(M(e)){var r=e.entries();return t.every(function(e,t){var i=r.next().value;return i&&fe(i[1],e)&&(n||fe(i[0],t))})&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)\"function\"===typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var s=!0,u=t.__iterate(function(t,r){if(n?!e.has(t):i?!fe(t,e.get(r,a)):!fe(e.get(r,a),t))return s=!1,!1});return s&&e.size===u}function Nn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}function In(e){if(!e||\"object\"!==typeof e)return e;if(!y(e)){if(!et(e))return e;e=Y(e)}if(x(e)){var t={};return e.__iterate(function(e,n){t[n]=In(e)}),t}var n=[];return e.__iterate(function(e){n.push(In(e))}),n}var Mn=function(e){function t(t){return null===t||void 0===t?Bn():_n(t)&&!M(t)?t:Bn().withMutations(function(n){var r=e(t);$e(r.size),r.forEach(function(e){return n.add(e)})})}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(S(e).keySeq())},t.intersect=function(e){return(e=D(e).toArray()).length?Pn.intersect.apply(t(e.pop()),e):Bn()},t.union=function(e){return(e=D(e).toArray()).length?Pn.union.apply(t(e.pop()),e):Bn()},t.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return Ln(this,this._map.set(e,e))},t.prototype.remove=function(e){return Ln(this,this._map.remove(e))},t.prototype.clear=function(){return Ln(this,this._map.clear())},t.prototype.map=function(e,t){var n=this,r=[],i=[];return this.forEach(function(o){var a=e.call(t,o,o,n);a!==o&&(r.push(o),i.push(a))}),this.withMutations(function(e){r.forEach(function(t){return e.remove(t)}),i.forEach(function(t){return e.add(t)})})},t.prototype.union=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(n){for(var r=0;r=0&&t=0&&n>>-15,461845907),t=de(t<<13|t>>>-13,5),t=de((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=he((t=de(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+nr(ge(e),ge(t))|0}:function(e,t){r=r+nr(ge(e),ge(t))|0}:t?function(e){r=31*r+ge(e)|0}:function(e){r=r+ge(e)|0}),r)}(this))}});var Gn=D.prototype;Gn[v]=!0,Gn[U]=Gn.values,Gn.toJSON=Gn.toArray,Gn.__toStringMapper=tt,Gn.inspect=Gn.toSource=function(){return this.toString()},Gn.chain=Gn.flatMap,Gn.contains=Gn.includes,Nn(S,{flip:function(){return qe(this,Ne(this))},mapEntries:function(e,t){var n=this,r=0;return qe(this,this.toSeq().map(function(i,o){return e.call(t,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return qe(this,this.toSeq().flip().map(function(r,i){return e.call(t,r,i,n)}).flip())}});var Kn=S.prototype;Kn[b]=!0,Kn[U]=Gn.entries,Kn.toJSON=Wn,Kn.__toStringMapper=function(e,t){return tt(t)+\": \"+tt(e)},Nn(k,{toKeyedSeq:function(){return new Te(this,!1)},filter:function(e,t){return qe(this,je(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return qe(this,Me(this,!1))},slice:function(e,t){return qe(this,Pe(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(t||0,0),0===n||2===n&&!t)return this;e=d(e,e<0?this.count():this.size);var r=this.slice(0,e);return qe(this,1===n?r:r.concat(Qe(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return qe(this,Re(this,e,!1))},get:function(e,t){return(e=l(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=l(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function nr(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}Jn[E]=!0,Jn[I]=!0,Nn(A,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),A.prototype.has=Gn.includes,A.prototype.contains=A.prototype.includes,Nn($,S.prototype),Nn(X,k.prototype),Nn(Z,A.prototype);var rr=function(e){function t(e){return null===e||void 0===e?sr():On(e)?e:sr().withMutations(function(t){var n=A(e);$e(n.size),n.forEach(function(e){return t.add(e)})})}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(S(e).keySeq())},t.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},t}(Mn);rr.isOrderedSet=On;var ir,or=rr.prototype;function ar(e,t){var n=Object.create(or);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function sr(){return ir||(ir=ar(bn()))}or[I]=!0,or.zip=Jn.zip,or.zipWith=Jn.zipWith,or.__empty=sr,or.__make=ar;var ur=function(e,t){var n,r=function(o){var a=this;if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var s=Object.keys(e),u=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var c=0;c2?[]:void 0,{\"\":e})}function vr(e,t){return x(t)?t.toMap():t.toList()}var yr=\"4.0.0-rc.11\",br={version:yr,Collection:D,Iterable:D,Seq:Y,Map:Nt,OrderedMap:vn,List:nn,Stack:wn,Set:Mn,OrderedSet:rr,Record:ur,Range:zn,Repeat:mr,is:fe,fromJS:gr,hash:ge,isImmutable:N,isCollection:y,isKeyed:x,isIndexed:C,isAssociative:w,isOrdered:M,isValueObject:pe,isSeq:_,isList:tn,isMap:ce,isOrderedMap:le,isStack:Cn,isSet:_n,isOrderedSet:On,isRecord:F,get:rt,getIn:Vn,has:nt,hasIn:Hn,merge:yt,mergeDeep:xt,mergeWith:bt,mergeDeepWith:Et,remove:ot,removeIn:lt,set:at,setIn:ut,update:ft,updateIn:st},xr=D;t.default=br},function(e,t,n){\"use strict\";var r=n(82),i=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],o=[\"scalar\",\"sequence\",\"mapping\"];e.exports=function(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===i.indexOf(t))throw new r('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}(t.styleAliases||null),-1===o.indexOf(this.kind))throw new r('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return s}),n.d(t,\"e\",function(){return u}),n.d(t,\"c\",function(){return c}),n.d(t,\"b\",function(){return f}),n.d(t,\"d\",function(){return d}),n.d(t,\"f\",function(){return h});var r=n(2),i=n(47),o=n(67),a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:i.a.fixed(),t=!1,n=[];function o(){if(t&&n.length)throw Object(r.p)(\"Cannot have a closed channel with pending takers\");if(n.length&&!e.isEmpty())throw Object(r.p)(\"Cannot have pending takers with non empty buffer\")}return Object(r.h)(e,r.q.buffer,l),{take:function(i){o(),Object(r.h)(i,r.q.func,\"channel.take's callback must be a function\"),t&&e.isEmpty()?i(s):e.isEmpty()?(n.push(i),i.cancel=function(){return Object(r.w)(n,i)}):i(e.take())},put:function(i){if(o(),Object(r.h)(i,r.q.notUndef,p),!t){if(!n.length)return e.put(i);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:i.a.none(),n=arguments[2];arguments.length>2&&Object(r.h)(n,r.q.func,\"Invalid match function passed to eventChannel\");var o=f(t),a=function(){o.__closed__||(s&&s(),o.close())},s=e(function(e){u(e)?a():n&&!n(e)||o.put(e)});if(o.__closed__&&s(),!r.q.func(s))throw new Error(\"in eventChannel: subscribe should return a function to unsubscribe\");return{take:o.take,flush:o.flush,close:a}}function h(e){var t=d(function(t){return e(function(e){e[r.c]?t(e):Object(o.a)(function(){return t(e)})})});return a({},t,{take:function(e,n){arguments.length>1&&(Object(r.h)(n,r.q.func,\"channel.take's matcher argument must be a function\"),e[r.b]=n),t.take(e)}})}},function(e,t,n){\"use strict\";function r(e,t){return e.reduce(function(e,n){return e[t(n)]=n,e},Object.create(null))}n.d(t,\"a\",function(){return r})},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(40);function o(e,t){return function(n){var r;return(r={})[e]=n||t,r}}t.editQuery=(r=i.createActions({EDIT_QUERY:function(e){return{query:e}},EDIT_HEADERS:o(\"headers\"),EDIT_ENDPOINT:o(\"endpoint\"),EDIT_VARIABLES:o(\"variables\"),SET_OPERATION_NAME:o(\"operationName\"),SET_VARIABLE_TO_TYPE:o(\"variableToType\"),SET_OPERATIONS:o(\"operations\"),SET_EDITOR_FLEX:o(\"editorFlex\"),EDIT_NAME:o(\"name\"),OPEN_QUERY_VARIABLES:function(){return{queryVariablesActive:!0}},CLOSE_QUERY_VARIABLES:function(){return{queryVariablesActive:!1}},SET_VARIABLE_EDITOR_HEIGHT:o(\"variableEditorHeight\"),SET_RESPONSE_TRACING_HEIGHT:o(\"responceTracingHeight\"),SET_TRACING_SUPPORTED:o(\"tracingSupported\"),SET_IS_QUERY_PLAN_SUPPORTED:o(\"isQueryPlanSupported\"),SET_SUBSCRIPTION_ACTIVE:o(\"subscriptionActive\"),SET_QUERY_TYPES:o(\"queryTypes\"),SET_RESPONSE_EXTENSIONS:o(\"responseExtensions\"),SET_CURRENT_QUERY_START_TIME:o(\"currentQueryStartTime\"),SET_CURRENT_QUERY_END_TIME:o(\"currentQueryEndTime\"),UPDATE_QUERY_FACTS:o(),PRETTIFY_QUERY:o(),INJECT_HEADERS:function(e,t){return{headers:e,endpoint:t}},CLOSE_TRACING:function(){},OPEN_TRACING:function(){},TOGGLE_TRACING:function(){},CLOSE_VARIABLES:o(\"variableEditorHeight\"),OPEN_VARIABLES:o(\"variableEditorHeight\"),TOGGLE_VARIABLES:o(),ADD_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},SET_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},CLEAR_RESPONSES:o(),FETCH_SCHEMA:o(),REFETCH_SCHEMA:o(),SET_ENDPOINT_UNREACHABLE:o(\"endpoint\"),SET_SCROLL_TOP:function(e,t){return{sessionId:e,scrollTop:t}},SCHEMA_FETCHING_SUCCESS:function(e,t,n,r){return{endpoint:e,tracingSupported:t,isQueryPlanSupported:n,isPollingSchema:r}},SCHEMA_FETCHING_ERROR:function(e,t){return{endpoint:e,error:t}},RENEW_STACKS:o(),RUN_QUERY:function(e){return{operationName:e}},QUERY_SUCCESS:o(),QUERY_ERROR:o(),RUN_QUERY_AT_POSITION:function(e){return{position:e}},START_QUERY:o(\"queryRunning\",!0),STOP_QUERY:function(e,t){return{workspaceId:t,sessionId:e}},OPEN_SETTINGS_TAB:function(){return{}},OPEN_CONFIG_TAB:function(){return{}},NEW_SESSION:function(e,t){return{endpoint:e,reuseHeaders:t}},NEW_SESSION_FROM_QUERY:function(e){return{query:e}},NEW_FILE_TAB:function(e,t,n){return{fileName:e,filePath:t,file:n}},DUPLICATE_SESSION:o(\"session\"),CLOSE_SELECTED_TAB:function(){return{}},SELECT_NEXT_TAB:function(){return{}},SELECT_PREV_TAB:function(){return{}},SELECT_TAB:o(\"sessionId\"),SELECT_TAB_INDEX:o(\"index\"),CLOSE_TAB:o(\"sessionId\"),REORDER_TABS:function(e,t){return{src:e,dest:t}},EDIT_SETTINGS:o(),SAVE_SETTINGS:o(),EDIT_CONFIG:o(),SAVE_CONFIG:o(),EDIT_FILE:o(),SAVE_FILE:o()})).editQuery,t.editVariables=r.editVariables,t.setOperationName=r.setOperationName,t.editHeaders=r.editHeaders,t.editEndpoint=r.editEndpoint,t.setVariableToType=r.setVariableToType,t.setOperations=r.setOperations,t.startQuery=r.startQuery,t.stopQuery=r.stopQuery,t.setEditorFlex=r.setEditorFlex,t.openQueryVariables=r.openQueryVariables,t.closeQueryVariables=r.closeQueryVariables,t.setVariableEditorHeight=r.setVariableEditorHeight,t.setResponseTracingHeight=r.setResponseTracingHeight,t.setTracingSupported=r.setTracingSupported,t.setIsQueryPlanSupported=r.setIsQueryPlanSupported,t.closeTracing=r.closeTracing,t.openTracing=r.openTracing,t.closeVariables=r.closeVariables,t.openVariables=r.openVariables,t.addResponse=r.addResponse,t.setResponse=r.setResponse,t.clearResponses=r.clearResponses,t.openSettingsTab=r.openSettingsTab,t.schemaFetchingSuccess=r.schemaFetchingSuccess,t.schemaFetchingError=r.schemaFetchingError,t.setEndpointUnreachable=r.setEndpointUnreachable,t.renewStacks=r.renewStacks,t.runQuery=r.runQuery,t.prettifyQuery=r.prettifyQuery,t.fetchSchema=r.fetchSchema,t.updateQueryFacts=r.updateQueryFacts,t.runQueryAtPosition=r.runQueryAtPosition,t.toggleTracing=r.toggleTracing,t.toggleVariables=r.toggleVariables,t.newSession=r.newSession,t.newSessionFromQuery=r.newSessionFromQuery,t.newFileTab=r.newFileTab,t.closeTab=r.closeTab,t.closeSelectedTab=r.closeSelectedTab,t.editSettings=r.editSettings,t.saveSettings=r.saveSettings,t.editConfig=r.editConfig,t.saveConfig=r.saveConfig,t.editFile=r.editFile,t.saveFile=r.saveFile,t.selectTab=r.selectTab,t.selectTabIndex=r.selectTabIndex,t.selectNextTab=r.selectNextTab,t.selectPrevTab=r.selectPrevTab,t.duplicateSession=r.duplicateSession,t.querySuccess=r.querySuccess,t.queryError=r.queryError,t.setSubscriptionActive=r.setSubscriptionActive,t.setQueryTypes=r.setQueryTypes,t.injectHeaders=r.injectHeaders,t.openConfigTab=r.openConfigTab,t.editName=r.editName,t.setResponseExtensions=r.setResponseExtensions,t.setCurrentQueryStartTime=r.setCurrentQueryStartTime,t.setCurrentQueryEndTime=r.setCurrentQueryEndTime,t.refetchSchema=r.refetchSchema,t.setScrollTop=r.setScrollTop,t.reorderTabs=r.reorderTabs},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0&&t%1===0}function s(e){return Object(e)===e&&(a(e)||function(e){return!!c(e)}(e))}function u(e){var t=c(e);if(t)return t.call(e)}function c(e){if(null!=e){var t=i&&e[i]||e[\"@@iterator\"];if(\"function\"===typeof t)return t}}function l(e){this._o=e,this._i=0}function p(e,t,n){if(null!=e){if(\"function\"===typeof e.forEach)return e.forEach(t,n);var r=0,i=u(e);if(i){for(var o;!(o=i.next()).done;)if(t.call(n,o.value,r++,e),r>9999999)throw new TypeError(\"Near-infinite iteration.\")}else if(a(e))for(;r=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var f=r&&r.asyncIterator,d=f||\"@@asyncIterator\";function h(e){return!!g(e)}function m(e){var t=g(e);if(t)return t.call(e)}function g(e){if(null!=e){var t=f&&e[f]||e[\"@@asyncIterator\"];if(\"function\"===typeof t)return t}}function v(e){this._i=e}v.prototype[d]=function(){return this},v.prototype.next=function(){var e=this._i.next();return Promise.resolve(e.value).then(function(t){return{value:t,done:e.done}})}},function(e,t,n){\"use strict\";function r(e){\"function\"===typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}n.d(t,\"a\",function(){return r})},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return i});var r=n(86);function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,r.a&&(e.prototype[r.a]=t)}},function(e,t,n){\"use strict\";n.r(t);var r=n(26),i=n.n(r),o=function(e){return\"function\"===typeof e},a=function(e){return\"symbol\"===typeof e||\"object\"===typeof e&&\"[object Symbol]\"===Object.prototype.toString.call(e)},s=function(e){return 0===e.length},u=function(e){return e.toString()},c=function(e){return\"string\"===typeof e},l=\"/\",p=\"||\";function f(e){return c(e)||o(e)||a(e)}function d(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),i=1;i1?t-1:0),r=1;r2?n-2:0),a=2;a0&&a(t[0]);)t.shift();for(;t.length>0&&a(t[t.length-1]);)t.pop();return t.join(\"\\n\")}function i(e){for(var t=null,n=1;n1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf(\"\\n\"),i=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=!r||o||n,s=\"\";return!a||r&&i||(s+=\"\\n\"+t),s+=t?e.replace(/\\n/g,\"\\n\"+t):e,a&&(s+=\"\\n\"),'\"\"\"'+s.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}n.d(t,\"a\",function(){return r}),n.d(t,\"b\",function(){return i}),n.d(t,\"c\",function(){return s})},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return i});var r=n(43);function i(e,t){var n=Object.create(null),i=!0,o=!1,a=void 0;try{for(var s,u=Object(r.a)(e)[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value,l=c[0],p=c[1];n[l]=t(p,l)}}catch(f){o=!0,a=f}finally{try{i||null==u.return||u.return()}finally{if(o)throw a}}return n}},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return f});var r=n(37),i=n(12),o=n(3),a=n(103),s=n(28),u=n(24),c=n(1),l=n(0),p=n(11);function f(e,t){if(Object(l.L)(t)){var n=f(e,t.ofType);return n&&n.kind===c.a.NULL?null:n}if(null===e)return{kind:c.a.NULL};if(Object(s.a)(e))return null;if(Object(l.J)(t)){var h=t.ofType;if(Object(r.e)(e)){var m=[];return Object(r.b)(e,function(e){var t=f(e,h);t&&m.push(t)}),{kind:c.a.LIST,values:m}}return f(e,h)}if(Object(l.F)(t)){if(!Object(u.a)(e))return null;var g=[],v=!0,y=!1,b=void 0;try{for(var x,E=Object(i.a)(t.getFields())[Symbol.iterator]();!(v=(x=E.next()).done);v=!0){var C=x.value,w=f(e[C.name],C.type);w&&g.push({kind:c.a.OBJECT_FIELD,name:{kind:c.a.NAME,value:C.name},value:w})}}catch(k){y=!0,b=k}finally{try{v||null==E.return||E.return()}finally{if(y)throw b}}return{kind:c.a.OBJECT,fields:g}}if(Object(l.I)(t)){var D=t.serialize(e);if(Object(a.a)(D))return null;if(\"boolean\"===typeof D)return{kind:c.a.BOOLEAN,value:D};if(\"number\"===typeof D){var S=String(D);return d.test(S)?{kind:c.a.INT,value:S}:{kind:c.a.FLOAT,value:S}}if(\"string\"===typeof D)return Object(l.E)(t)?{kind:c.a.ENUM,value:D}:t===p.c&&d.test(D)?{kind:c.a.INT,value:D}:{kind:c.a.STRING,value:D};throw new TypeError(\"Cannot convert value to AST: \".concat(Object(o.a)(D)))}throw new Error('Unexpected input type: \"'.concat(Object(o.a)(t),'\".'))}var d=/^-?(?:0|[1-9][0-9]*)$/},function(e,t,n){\"use strict\";n.d(t,\"a\",function(){return l});var r=n(2),i=\"Channel's Buffer overflow!\",o=1,a=3,s=4,u={isEmpty:r.r,put:r.u,take:r.u};function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=arguments[1],n=new Array(e),r=0,u=0,c=0,l=function(t){n[u]=t,u=(u+1)%e,r++},p=function(){if(0!=r){var t=n[c];return n[c]=null,r--,c=(c+1)%e,t}},f=function(){for(var e=[];r;)e.push(p());return e};return{isEmpty:function(){return 0==r},put:function(p){if(r>1,s=r(e.slice(0,a)).length;if(s==n)return a;s>n?o=a:i=a+1}}function u(e,u,c,l){var p;this.atOccurrence=!1,this.doc=e,c=c?e.clipPos(c):r(0,0),this.pos={from:c,to:c},\"object\"==typeof l?p=l.caseFold:(p=l,l=null),\"string\"==typeof u?(null==p&&(p=!1),this.matches=function(i,o){return(i?function(e,i,o,a){if(!i.length)return null;var u=a?t:n,c=u(i).split(/\\r|\\n\\r?/);e:for(var l=o.line,p=o.ch,f=e.firstLine()-1+c.length;l>=f;l--,p=-1){var d=e.getLine(l);p>-1&&(d=d.slice(0,p));var h=u(d);if(1==c.length){var m=h.lastIndexOf(c[0]);if(-1==m)continue e;return{from:r(l,s(d,h,m,u)),to:r(l,s(d,h,m+c[0].length,u))}}var g=c[c.length-1];if(h.slice(0,g.length)==g){for(var v=1,o=l-c.length+1;v=u;o--,s=-1){var c=e.getLine(o);s>-1&&(c=c.slice(0,s));var l=a(c,t);if(l)return{from:r(o,l.index),to:r(o,l.index+l[0].length),match:l}}}:o)(e,u,n)}:this.matches=function(t,n){return(t?function(e,t,n){t=i(t,\"gm\");for(var o,s=1,u=n.line,c=e.firstLine();u>=c;){for(var l=0;lc);l++){var p=e.getLine(u++);a=null==a?p:a+\"\\n\"+p}s*=2,t.lastIndex=n.ch;var f=t.exec(a);if(f){var d=a.slice(0,f.index).split(\"\\n\"),h=f[0].split(\"\\n\"),m=n.line+d.length-1,g=d[d.length-1].length;return{from:r(m,g),to:r(m+h.length-1,1==h.length?g+h[0].length:h[h.length-1].length),match:f}}}})(e,u,n)})}String.prototype.normalize?(t=function(e){return e.normalize(\"NFD\").toLowerCase()},n=function(e){return e.normalize(\"NFD\")}):(t=function(e){return e.toLowerCase()},n=function(e){return e}),u.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var n=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));n&&0==e.cmpPos(n.from,n.to);)t?n.from.ch?n.from=r(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(r(n.from.line-1))):n.to.ch0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}(n(13))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement(\"div\"))).className=r?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,\"dialog-opened\"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension(\"openDialog\",function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),s=!1,u=this;function c(t){if(\"string\"==typeof t)p.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),u.focus(),o.onClose&&o.onClose(a)}}var l,p=a.getElementsByTagName(\"input\")[0];return p?(p.focus(),o.value&&(p.value=o.value,!1!==o.selectValueOnOpen&&p.select()),o.onInput&&e.on(p,\"input\",function(e){o.onInput(e,p.value,c)}),o.onKeyUp&&e.on(p,\"keyup\",function(e){o.onKeyUp(e,p.value,c)}),e.on(p,\"keydown\",function(t){o&&o.onKeyDown&&o.onKeyDown(t,p.value,c)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(p.blur(),e.e_stop(t),c()),13==t.keyCode&&i(p.value,t))}),!1!==o.closeOnBlur&&e.on(p,\"blur\",c)):(l=a.getElementsByTagName(\"button\")[0])&&(e.on(l,\"click\",function(){c(),u.focus()}),!1!==o.closeOnBlur&&e.on(l,\"blur\",c),l.focus()),c}),e.defineExtension(\"openConfirm\",function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),s=a.getElementsByTagName(\"button\"),u=!1,c=this,l=1;function p(){u||(u=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),c.focus())}s[0].focus();for(var f=0;f2&&void 0!==arguments[2]?arguments[2]:\"iterator\",a=void 0,s=t;function u(t,n){if(s===o)return i;if(n)throw s=o,n;a&&a(t);var r=e[s](),u=r[0],c=r[1],l=r[2];return a=l,(s=u)===o?i:c}return Object(r.t)(u,function(e){return u(null,e)},n,!0)}var u=n(7),c=n(32);function l(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i2?n-2:0),i=2;i3?i-3:0),p=3;p